We are no longer offering accounts on this server. Consider https://gitlab.freedesktop.org/ as a place to host projects.

default.php 17.1 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
<?php
/**
 * StatusNet, the distributed open-source microblogging tool
 *
 * Default settings for core configuration
 *
 * PHP version 5
 *
 * LICENCE: This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @category  Config
 * @package   StatusNet
 * @author    Evan Prodromou <evan@status.net>
 * @copyright 2008-9 StatusNet, Inc.
 * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
 * @link      http://status.net/
 */

$default =
Siebrand Mazeland's avatar
Siebrand Mazeland committed
31
    array('site' =>
32
        array('name' => 'Just another StatusNet microblog',
33 34
              'nickname' => 'statusnet',
              'wildcard' => null,
35
              'server' => $_server,
Evan Prodromou's avatar
Evan Prodromou committed
36
              'theme' => 'neo',
37 38 39
              'path' => $_path,
              'logfile' => null,
              'logo' => null,
40
              'ssllogo' => null,
41
              'logdebug' => false,
42 43
              'logperf' => false, // Enable to dump performance counters to syslog
              'logperf_detail' => false, // Enable to dump every counter hit
44 45
              'fancy' => false,
              'locale_path' => INSTALLDIR.'/locale',
Brion Vibber's avatar
Brion Vibber committed
46 47
              'language' => 'en',
              'langdetect' => true,
48 49 50 51 52 53 54
              'languages' => get_all_languages(),
              'email' =>
              array_key_exists('SERVER_ADMIN', $_SERVER) ? $_SERVER['SERVER_ADMIN'] : null,
              'broughtby' => null,
              'timezone' => 'UTC',
              'broughtbyurl' => null,
              'closed' => false,
Evan Prodromou's avatar
Evan Prodromou committed
55
              'inviteonly' => true,
Evan Prodromou's avatar
Evan Prodromou committed
56
              'private' => true,
57 58 59
              'ssl' => 'never',
              'sslserver' => null,
              'shorturllength' => 30,
60
              'dupelimit' => 60, // default for same person saying the same thing
61
              'textlimit' => 0, // in chars; 0 == no limit
62
              'indent' => true,
63
              'use_x_sendfile' => false,
64 65
              'notice' => null, // site wide notice text
              'build' => 1, // build number, for code-dependent cache
66
              'minify' => true, // true to use the minified versions of JS files; false to use orig files. Can aid during development
67 68 69 70 71 72 73 74 75 76 77
              ),
        'db' =>
        array('database' => 'YOU HAVE TO SET THIS IN config.php',
              'schema_location' => INSTALLDIR . '/classes',
              'class_location' => INSTALLDIR . '/classes',
              'require_prefix' => 'classes/',
              'class_prefix' => '',
              'mirror' => null,
              'utf8' => true,
              'db_driver' => 'DB', # XXX: JanRain libs only work with DB
              'quote_identifiers' => false,
Evan Prodromou's avatar
Evan Prodromou committed
78
              'type' => 'mysql',
79
              'schemacheck' => 'runtime', // 'runtime' or 'script'
80
              'annotate_queries' => false, // true to add caller comments to queries, eg /* POST Notice::saveNew */
81
              'log_queries' => false, // true to log all DB queries
82 83
              'log_slow_queries' => 0, // if set, log queries taking over N seconds
              'mysql_foreign_keys' => false), // if set, enables experimental foreign key support on MySQL
84 85 86 87 88 89 90 91
        'syslog' =>
        array('appname' => 'statusnet', # for syslog
              'priority' => 'debug', # XXX: currently ignored
              'facility' => LOG_USER),
        'queue' =>
        array('enabled' => false,
              'subsystem' => 'db', # default to database, or 'stomp'
              'stomp_server' => null,
92
              'queue_basename' => '/queue/statusnet/',
93
              'control_channel' => '/topic/statusnet/control', // broadcasts to all queue daemons
94 95
              'stomp_username' => null,
              'stomp_password' => null,
96
              'stomp_persistent' => true, // keep items across queue server restart, if persistence is enabled
97 98
              'stomp_transactions' => true, // use STOMP transactions to aid in detecting failures (supported by ActiveMQ, but not by all)
              'stomp_acks' => true, // send acknowledgements after successful processing (supported by ActiveMQ, but not by all)
99
              'stomp_manual_failover' => true, // if multiple servers are listed, treat them as separate (enqueue on one randomly, listen on all)
100 101
              'monitor' => null, // URL to monitor ping endpoint (work in progress)
              'softlimit' => '90%', // total size or % of memory_limit at which to restart queue threads gracefully
102
              'spawndelay' => 1, // Wait at least N seconds between (re)spawns of child processes to avoid slamming the queue server with subscription startup
103
              'debug_memory' => false, // true to spit memory usage to log
104
              'inboxes' => true, // true to do inbox distribution & output queueing from in background via 'distrib' queue
105 106 107 108 109 110 111
              'breakout' => array(), // List queue specifiers to break out when using Stomp queue.
                                     // Default will share all queues for all sites within each group.
                                     // Specify as <group>/<queue> or <group>/<queue>/<site>,
                                     // using nickname identifier as site.
                                     //
                                     // 'main/distrib' separate "distrib" queue covering all sites
                                     // 'xmpp/xmppout/mysite' separate "xmppout" queue covering just 'mysite'
112 113
              'max_retries' => 10, // drop messages after N failed attempts to process (Stomp)
              'dead_letter_dir' => false, // set to directory to save dropped messages into (Stomp)
114 115
              ),
        'license' =>
116 117 118
        array('type' => 'cc', # can be 'cc', 'allrightsreserved', 'private'
              'owner' => null, # can be name of content owner e.g. for enterprise
              'url' => 'http://creativecommons.org/licenses/by/3.0/',
119 120 121 122
              'title' => 'Creative Commons Attribution 3.0',
              'image' => 'http://i.creativecommons.org/l/by/3.0/80x15.png'),
        'mail' =>
        array('backend' => 'mail',
123 124
              'params' => null,
              'domain_check' => true),
125 126 127 128 129
        'nickname' =>
        array('blacklist' => array(),
              'featured' => array()),
        'profile' =>
        array('banned' => array(),
130 131 132
              'biolimit' => null,
              'backup' => true,
              'restore' => true,
133
              'delete' => false,
134
              'move' => true),
135 136 137
        'avatar' =>
        array('server' => null,
              'dir' => INSTALLDIR . '/avatar/',
138 139
              'path' => $_path . '/avatar/',
              'ssl' => null),
140 141 142
        'background' =>
        array('server' => null,
              'dir' => INSTALLDIR . '/background/',
143 144
              'path' => $_path . '/background/',
              'ssl' => null),
145 146 147 148 149 150 151
        'public' =>
        array('localonly' => true,
              'blacklist' => array(),
              'autosource' => array()),
        'theme' =>
        array('server' => null,
              'dir' => null,
152
              'path'=> null,
Evan Prodromou's avatar
Evan Prodromou committed
153
              'ssl' => null),
154 155
        'theme_upload' =>
        array('enabled' => extension_loaded('zip')),
156 157
        'javascript' =>
        array('server' => null,
158
              'path'=> null,
159 160
              'ssl' => null,
              'bustframes' => true),
161 162 163 164 165
        'local' => // To override path/server for themes in 'local' dir (not currently applied to local plugins)
        array('server' => null,
              'dir' => null,
              'path' => null,
              'ssl' => null),
166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
        'throttle' =>
        array('enabled' => false, // whether to throttle edits; false by default
              'count' => 20, // number of allowed messages in timespan
              'timespan' => 600), // timespan for throttling
        'xmpp' =>
        array('enabled' => false,
              'server' => 'INVALID SERVER',
              'port' => 5222,
              'user' => 'update',
              'encryption' => true,
              'resource' => 'uniquename',
              'password' => 'blahblahblah',
              'host' => null, # only set if != server
              'debug' => false, # print extra debug info
              'public' => array()), # JIDs of users who want to receive the public stream
        'invite' =>
        array('enabled' => true),
        'tag' =>
184 185
        array('dropoff' => 864000.0,   # controls weighting based on age
              'cutoff' => 86400 * 90), # only look at notices posted in last 90 days
186
        'popular' =>
187 188
        array('dropoff' => 864000.0,   # controls weighting based on age
              'cutoff' => 86400 * 90), # only look at notices favorited in last 90 days
189 190 191 192 193
        'daemon' =>
        array('piddir' => '/var/run',
              'user' => false,
              'group' => false),
        'emailpost' =>
194
        array('enabled' => false),
195
        'sms' =>
196
        array('enabled' => false),
197
        'twitterimport' =>
198 199 200
        array('enabled' => false),
        'integration' =>
        array('source' => 'StatusNet', # source attribute for Twitter
201
              'taguri' => null), # base for tag URIs
Evan Prodromou's avatar
Evan Prodromou committed
202
        'twitter' =>
203
        array('signin' => true,
204
              'consumer_key' => null,
Evan Prodromou's avatar
Evan Prodromou committed
205
              'consumer_secret' => null),
206 207
        'cache' =>
        array('base' => null),
Evan Prodromou's avatar
Evan Prodromou committed
208
        'ping' =>
209 210
        array('notify' => array(),
              'timeout' => 2),
211
        'inboxes' =>
Evan Prodromou's avatar
Evan Prodromou committed
212
        array('enabled' => true), # ignored after 0.9.x
213 214 215 216
        'newuser' =>
        array('default' => null,
              'welcome' => null),
        'snapshot' =>
217
        array('run' => 'web',
218 219 220 221 222 223
              'frequency' => 10000,
              'reporturl' => 'http://status.net/stats/report'),
        'attachments' =>
        array('server' => null,
              'dir' => INSTALLDIR . '/file/',
              'path' => $_path . '/file/',
224 225
              'sslserver' => null,
              'sslpath' => null,
Evan Prodromou's avatar
Evan Prodromou committed
226
              'ssl' => null,
227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257
              'supported' => array('image/png',
                                   'image/jpeg',
                                   'image/gif',
                                   'image/svg+xml',
                                   'audio/mpeg',
                                   'audio/x-speex',
                                   'application/ogg',
                                   'application/pdf',
                                   'application/vnd.oasis.opendocument.text',
                                   'application/vnd.oasis.opendocument.text-template',
                                   'application/vnd.oasis.opendocument.graphics',
                                   'application/vnd.oasis.opendocument.graphics-template',
                                   'application/vnd.oasis.opendocument.presentation',
                                   'application/vnd.oasis.opendocument.presentation-template',
                                   'application/vnd.oasis.opendocument.spreadsheet',
                                   'application/vnd.oasis.opendocument.spreadsheet-template',
                                   'application/vnd.oasis.opendocument.chart',
                                   'application/vnd.oasis.opendocument.chart-template',
                                   'application/vnd.oasis.opendocument.image',
                                   'application/vnd.oasis.opendocument.image-template',
                                   'application/vnd.oasis.opendocument.formula',
                                   'application/vnd.oasis.opendocument.formula-template',
                                   'application/vnd.oasis.opendocument.text-master',
                                   'application/vnd.oasis.opendocument.text-web',
                                   'application/x-zip',
                                   'application/zip',
                                   'text/plain',
                                   'video/mpeg',
                                   'video/mp4',
                                   'video/quicktime',
                                   'video/mpeg'),
Evan Prodromou's avatar
Evan Prodromou committed
258 259 260 261 262
              'file_quota' => 5000000,
              'user_quota' => 50000000,
              'monthly_quota' => 15000000,
              'uploads' => true,
              'filecommand' => '/usr/bin/file',
263
              'show_thumbs' => true, // show thumbnails in notice lists for uploaded images, and photos and videos linked remotely that provide oEmbed info
264 265
              'thumb_width' => 100,
              'thumb_height' => 75,
266
              'process_links' => true, // check linked resources for embeddable photos and videos; this will hit referenced external web sites when processing new messages.
Evan Prodromou's avatar
Evan Prodromou committed
267
              ),
268 269
        'application' =>
        array('desclimit' => null),
270 271
        'group' =>
        array('maxaliases' => 3,
272 273
              'desclimit' => null,
              'addtag' => false),
274 275 276 277 278
        'peopletag' =>
        array('maxtags' => 100, // maximum number of tags a user can create.
              'maxpeople' => 500, // maximum no. of people with the same tag by the same user
              'allow_tagging' => array('all' => true), // equivalent to array('local' => true, 'remote' => true)
              'desclimit' => null),
279
        'oembed' =>
280
        array('endpoint' => 'https://noembed.com/embed/',
Evan Prodromou's avatar
Evan Prodromou committed
281 282
              'order' => array('built-in', 'well-known', 'service', 'discovery'),
        ),
283
        'search' =>
284
        array('type' => 'like'),
285
        'sessions' =>
286 287 288
        array('handle' => false,   // whether to handle sessions ourselves
              'debug' => false,    // debugging output for sessions
              'gc_limit' => 1000), // max sessions to expire at a time
289
        'notice' =>
290
        array('contentlimit' => null,
291
              'defaultscope' => null), // null means 1 if site/private, 0 otherwise
292 293
        'message' =>
        array('contentlimit' => null),
294
        'location' =>
295 296
        array('share' => 'user', // whether to share location; 'always', 'user', 'never'
              'sharedefault' => true),
297 298
        'omb' =>
        array('timeout' => 5), // HTTP request timeout in seconds when contacting remote hosts for OMB updates
299 300
        'logincommand' =>
        array('disabled' => true),
301
        'plugins' =>
Evan Prodromou's avatar
Evan Prodromou committed
302
        array('default' => array('Geonames' => null,
303
                                 'ClientSideShorten' => null,
304
                                 'StrictTransportSecurity' => null,
Evan Prodromou's avatar
Evan Prodromou committed
305 306 307 308 309 310
                                 'Bookmark' => null,
                                 'Event' => null,
                                 'Poll' => null,
                                 'QnA' => null,
                                 'SearchSub' => null,
                                 'TagSub' => null,
311 312
                                 'OpenID' => null,
                                 'Directory' => null,
313 314
                                 'ExtendedProfile' => null,
                                 'Activity' => null),
315
              'locale_path' => false, // Set to a path to use *instead of* each plugin's own locale subdirectories
316 317 318
              'server' => null,
              'sslserver' => null,
              'path' => null,
319
              'sslpath' => null,
320
              ),
321
        'pluginlist' => array(),
322
        'admin' =>
323
        array('panels' => array('site', 'user', 'paths', 'access', 'sessions', 'sitenotice', 'license', 'plugins')),
Evan Prodromou's avatar
Evan Prodromou committed
324 325 326
        'singleuser' =>
        array('enabled' => false,
              'nickname' => null),
327 328 329 330
        'robotstxt' =>
        array('crawldelay' => 0,
              'disallow' => array('main', 'settings', 'admin', 'search', 'message')
              ),
Evan Prodromou's avatar
Evan Prodromou committed
331 332
        'api' =>
        array('realm' => null),
333 334 335
        'nofollow' =>
        array('subscribers' => true,
              'members' => true,
336
              'peopletag' => true,
337
              'external' => 'sometimes'), // Options: 'sometimes', 'never', default = 'sometimes'
338 339 340
        'url' =>
        array('shortener' => 'ur1.ca',
              'maxlength' => 25,
341
              'maxnoticelength' => -1),
342
        'http' => // HTTP client settings when contacting other sites
343 344
        array('ssl_cafile' => false, // To enable SSL cert validation, point to a CA bundle (eg '/usr/lib/ssl/certs/ca-certificates.crt')
              'curl' => false, // Use CURL backend for HTTP fetches if available. (If not, PHP's socket streams will be used.)
345 346 347 348 349
              'proxy_host' => null,
              'proxy_port' => null,
              'proxy_user' => null,
              'proxy_password' => null,
              'proxy_auth_scheme' => null,
350
              ),
Siebrand Mazeland's avatar
Siebrand Mazeland committed
351 352
        'router' =>
        array('cache' => true), // whether to cache the router object. Defaults to true, turn off for devel
353
        'discovery' =>
354
          array('cors' => false), // Allow Cross-Origin Resource Sharing for service discovery (host-meta, XRD, etc.)
355
        'performance' => array('high' => false) // disable some features for higher performance; default false
Siebrand Mazeland's avatar
Siebrand Mazeland committed
356
    );