Remove old-fashioned $wgLinkCacheMemcached stuff
[lhc/web/wiklou.git] / includes / DefaultSettings.php
1 <?php
2 /**
3 *
4 * NEVER EDIT THIS FILE
5 *
6 *
7 * To customize your installation, edit "LocalSettings.php". If you make
8 * changes here, they will be lost on next upgrade of MediaWiki!
9 *
10 * Note that since all these string interpolations are expanded
11 * before LocalSettings is included, if you localize something
12 * like $wgScriptPath, you must also localize everything that
13 * depends on it.
14 *
15 * Documentation is in the source and on:
16 * http://www.mediawiki.org/wiki/Manual:Configuration_settings
17 *
18 */
19
20 # This is not a valid entry point, perform no further processing unless MEDIAWIKI is defined
21 if( !defined( 'MEDIAWIKI' ) ) {
22 echo "This file is part of MediaWiki and is not a valid entry point\n";
23 die( 1 );
24 }
25
26 /**
27 * Create a site configuration object
28 * Not used for much in a default install
29 */
30 require_once( "$IP/includes/SiteConfiguration.php" );
31 $wgConf = new SiteConfiguration;
32
33 /** MediaWiki version number */
34 $wgVersion = '1.13alpha';
35
36 /** Name of the site. It must be changed in LocalSettings.php */
37 $wgSitename = 'MediaWiki';
38
39 /**
40 * Name of the project namespace. If left set to false, $wgSitename will be
41 * used instead.
42 */
43 $wgMetaNamespace = false;
44
45 /**
46 * Name of the project talk namespace. If left set to false, a name derived
47 * from the name of the project namespace will be used.
48 */
49 $wgMetaNamespaceTalk = false;
50
51
52 /** URL of the server. It will be automatically built including https mode */
53 $wgServer = '';
54
55 if( isset( $_SERVER['SERVER_NAME'] ) ) {
56 $wgServerName = $_SERVER['SERVER_NAME'];
57 } elseif( isset( $_SERVER['HOSTNAME'] ) ) {
58 $wgServerName = $_SERVER['HOSTNAME'];
59 } elseif( isset( $_SERVER['HTTP_HOST'] ) ) {
60 $wgServerName = $_SERVER['HTTP_HOST'];
61 } elseif( isset( $_SERVER['SERVER_ADDR'] ) ) {
62 $wgServerName = $_SERVER['SERVER_ADDR'];
63 } else {
64 $wgServerName = 'localhost';
65 }
66
67 # check if server use https:
68 $wgProto = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http';
69
70 $wgServer = $wgProto.'://' . $wgServerName;
71 # If the port is a non-standard one, add it to the URL
72 if( isset( $_SERVER['SERVER_PORT'] )
73 && !strpos( $wgServerName, ':' )
74 && ( ( $wgProto == 'http' && $_SERVER['SERVER_PORT'] != 80 )
75 || ( $wgProto == 'https' && $_SERVER['SERVER_PORT'] != 443 ) ) ) {
76
77 $wgServer .= ":" . $_SERVER['SERVER_PORT'];
78 }
79
80
81 /**
82 * The path we should point to.
83 * It might be a virtual path in case with use apache mod_rewrite for example
84 *
85 * This *needs* to be set correctly.
86 *
87 * Other paths will be set to defaults based on it unless they are directly
88 * set in LocalSettings.php
89 */
90 $wgScriptPath = '/wiki';
91
92 /**
93 * Whether to support URLs like index.php/Page_title
94 * These often break when PHP is set up in CGI mode.
95 * PATH_INFO *may* be correct if cgi.fix_pathinfo is
96 * set, but then again it may not; lighttpd converts
97 * incoming path data to lowercase on systems with
98 * case-insensitive filesystems, and there have been
99 * reports of problems on Apache as well.
100 *
101 * To be safe we'll continue to keep it off by default.
102 *
103 * Override this to false if $_SERVER['PATH_INFO']
104 * contains unexpectedly incorrect garbage, or to
105 * true if it is really correct.
106 *
107 * The default $wgArticlePath will be set based on
108 * this value at runtime, but if you have customized
109 * it, having this incorrectly set to true can
110 * cause redirect loops when "pretty URLs" are used.
111 *
112 */
113 $wgUsePathInfo =
114 ( strpos( php_sapi_name(), 'cgi' ) === false ) &&
115 ( strpos( php_sapi_name(), 'apache2filter' ) === false ) &&
116 ( strpos( php_sapi_name(), 'isapi' ) === false );
117
118
119 /**#@+
120 * Script users will request to get articles
121 * ATTN: Old installations used wiki.phtml and redirect.phtml -
122 * make sure that LocalSettings.php is correctly set!
123 *
124 * Will be set based on $wgScriptPath in Setup.php if not overridden
125 * in LocalSettings.php. Generally you should not need to change this
126 * unless you don't like seeing "index.php".
127 */
128 $wgScriptExtension = '.php'; /// extension to append to script names by default
129 $wgScript = false; /// defaults to "{$wgScriptPath}/index{$wgScriptExtension}"
130 $wgRedirectScript = false; /// defaults to "{$wgScriptPath}/redirect{$wgScriptExtension}"
131 /**#@-*/
132
133
134 /**#@+
135 * These various web and file path variables are set to their defaults
136 * in Setup.php if they are not explicitly set from LocalSettings.php.
137 * If you do override them, be sure to set them all!
138 *
139 * These will relatively rarely need to be set manually, unless you are
140 * splitting style sheets or images outside the main document root.
141 *
142 * @global string
143 */
144 /**
145 * style path as seen by users
146 */
147 $wgStylePath = false; /// defaults to "{$wgScriptPath}/skins"
148 /**
149 * filesystem stylesheets directory
150 */
151 $wgStyleDirectory = false; /// defaults to "{$IP}/skins"
152 $wgStyleSheetPath = &$wgStylePath;
153 $wgArticlePath = false; /// default to "{$wgScript}/$1" or "{$wgScript}?title=$1", depending on $wgUsePathInfo
154 $wgVariantArticlePath = false;
155 $wgUploadPath = false; /// defaults to "{$wgScriptPath}/images"
156 $wgUploadDirectory = false; /// defaults to "{$IP}/images"
157 $wgHashedUploadDirectory = true;
158 $wgLogo = false; /// defaults to "{$wgStylePath}/common/images/wiki.png"
159 $wgFavicon = '/favicon.ico';
160 $wgAppleTouchIcon = false; /// This one'll actually default to off. For iPhone and iPod Touch web app bookmarks
161 $wgMathPath = false; /// defaults to "{$wgUploadPath}/math"
162 $wgMathDirectory = false; /// defaults to "{$wgUploadDirectory}/math"
163 $wgTmpDirectory = false; /// defaults to "{$wgUploadDirectory}/tmp"
164 $wgUploadBaseUrl = "";
165 /**#@-*/
166
167 /**
168 * New file storage paths; currently used only for deleted files.
169 * Set it like this:
170 *
171 * $wgFileStore['deleted']['directory'] = '/var/wiki/private/deleted';
172 *
173 */
174 $wgFileStore = array();
175 $wgFileStore['deleted']['directory'] = false;// Defaults to $wgUploadDirectory/deleted
176 $wgFileStore['deleted']['url'] = null; // Private
177 $wgFileStore['deleted']['hash'] = 3; // 3-level subdirectory split
178
179 /**#@+
180 * File repository structures
181 *
182 * $wgLocalFileRepo is a single repository structure, and $wgForeignFileRepo is
183 * a an array of such structures. Each repository structure is an associative
184 * array of properties configuring the repository.
185 *
186 * Properties required for all repos:
187 * class The class name for the repository. May come from the core or an extension.
188 * The core repository classes are LocalRepo, ForeignDBRepo, FSRepo.
189 *
190 * name A unique name for the repository.
191 *
192 * For all core repos:
193 * url Base public URL
194 * hashLevels The number of directory levels for hash-based division of files
195 * thumbScriptUrl The URL for thumb.php (optional, not recommended)
196 * transformVia404 Whether to skip media file transformation on parse and rely on a 404
197 * handler instead.
198 * initialCapital Equivalent to $wgCapitalLinks, determines whether filenames implicitly
199 * start with a capital letter. The current implementation may give incorrect
200 * description page links when the local $wgCapitalLinks and initialCapital
201 * are mismatched.
202 * pathDisclosureProtection
203 * May be 'paranoid' to remove all parameters from error messages, 'none' to
204 * leave the paths in unchanged, or 'simple' to replace paths with
205 * placeholders. Default for LocalRepo is 'simple'.
206 *
207 * These settings describe a foreign MediaWiki installation. They are optional, and will be ignored
208 * for local repositories:
209 * descBaseUrl URL of image description pages, e.g. http://en.wikipedia.org/wiki/Image:
210 * scriptDirUrl URL of the MediaWiki installation, equivalent to $wgScriptPath, e.g.
211 * http://en.wikipedia.org/w
212 *
213 * articleUrl Equivalent to $wgArticlePath, e.g. http://en.wikipedia.org/wiki/$1
214 * fetchDescription Fetch the text of the remote file description page. Equivalent to
215 * $wgFetchCommonsDescriptions.
216 *
217 * ForeignDBRepo:
218 * dbType, dbServer, dbUser, dbPassword, dbName, dbFlags
219 * equivalent to the corresponding member of $wgDBservers
220 * tablePrefix Table prefix, the foreign wiki's $wgDBprefix
221 * hasSharedCache True if the wiki's shared cache is accessible via the local $wgMemc
222 *
223 * The default is to initialise these arrays from the MW<1.11 backwards compatible settings:
224 * $wgUploadPath, $wgThumbnailScriptPath, $wgSharedUploadDirectory, etc.
225 */
226 $wgLocalFileRepo = false;
227 $wgForeignFileRepos = array();
228 /**#@-*/
229
230 /**
231 * Allowed title characters -- regex character class
232 * Don't change this unless you know what you're doing
233 *
234 * Problematic punctuation:
235 * []{}|# Are needed for link syntax, never enable these
236 * <> Causes problems with HTML escaping, don't use
237 * % Enabled by default, minor problems with path to query rewrite rules, see below
238 * + Enabled by default, but doesn't work with path to query rewrite rules, corrupted by apache
239 * ? Enabled by default, but doesn't work with path to PATH_INFO rewrites
240 *
241 * All three of these punctuation problems can be avoided by using an alias, instead of a
242 * rewrite rule of either variety.
243 *
244 * The problem with % is that when using a path to query rewrite rule, URLs are
245 * double-unescaped: once by Apache's path conversion code, and again by PHP. So
246 * %253F, for example, becomes "?". Our code does not double-escape to compensate
247 * for this, indeed double escaping would break if the double-escaped title was
248 * passed in the query string rather than the path. This is a minor security issue
249 * because articles can be created such that they are hard to view or edit.
250 *
251 * In some rare cases you may wish to remove + for compatibility with old links.
252 *
253 * Theoretically 0x80-0x9F of ISO 8859-1 should be disallowed, but
254 * this breaks interlanguage links
255 */
256 $wgLegalTitleChars = " %!\"$&'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF+";
257
258
259 /**
260 * The external URL protocols
261 */
262 $wgUrlProtocols = array(
263 'http://',
264 'https://',
265 'ftp://',
266 'irc://',
267 'gopher://',
268 'telnet://', // Well if we're going to support the above.. -ævar
269 'nntp://', // @bug 3808 RFC 1738
270 'worldwind://',
271 'mailto:',
272 'news:'
273 );
274
275 /** internal name of virus scanner. This servers as a key to the $wgAntivirusSetup array.
276 * Set this to NULL to disable virus scanning. If not null, every file uploaded will be scanned for viruses.
277 * @global string $wgAntivirus
278 */
279 $wgAntivirus= NULL;
280
281 /** Configuration for different virus scanners. This an associative array of associative arrays:
282 * it contains on setup array per known scanner type. The entry is selected by $wgAntivirus, i.e.
283 * valid values for $wgAntivirus are the keys defined in this array.
284 *
285 * The configuration array for each scanner contains the following keys: "command", "codemap", "messagepattern";
286 *
287 * "command" is the full command to call the virus scanner - %f will be replaced with the name of the
288 * file to scan. If not present, the filename will be appended to the command. Note that this must be
289 * overwritten if the scanner is not in the system path; in that case, plase set
290 * $wgAntivirusSetup[$wgAntivirus]['command'] to the desired command with full path.
291 *
292 * "codemap" is a mapping of exit code to return codes of the detectVirus function in SpecialUpload.
293 * An exit code mapped to AV_SCAN_FAILED causes the function to consider the scan to be failed. This will pass
294 * the file if $wgAntivirusRequired is not set.
295 * An exit code mapped to AV_SCAN_ABORTED causes the function to consider the file to have an usupported format,
296 * which is probably imune to virusses. This causes the file to pass.
297 * An exit code mapped to AV_NO_VIRUS will cause the file to pass, meaning no virus was found.
298 * All other codes (like AV_VIRUS_FOUND) will cause the function to report a virus.
299 * You may use "*" as a key in the array to catch all exit codes not mapped otherwise.
300 *
301 * "messagepattern" is a perl regular expression to extract the meaningful part of the scanners
302 * output. The relevant part should be matched as group one (\1).
303 * If not defined or the pattern does not match, the full message is shown to the user.
304 *
305 * @global array $wgAntivirusSetup
306 */
307 $wgAntivirusSetup = array(
308
309 #setup for clamav
310 'clamav' => array (
311 'command' => "clamscan --no-summary ",
312
313 'codemap' => array (
314 "0" => AV_NO_VIRUS, # no virus
315 "1" => AV_VIRUS_FOUND, # virus found
316 "52" => AV_SCAN_ABORTED, # unsupported file format (probably imune)
317 "*" => AV_SCAN_FAILED, # else scan failed
318 ),
319
320 'messagepattern' => '/.*?:(.*)/sim',
321 ),
322
323 #setup for f-prot
324 'f-prot' => array (
325 'command' => "f-prot ",
326
327 'codemap' => array (
328 "0" => AV_NO_VIRUS, # no virus
329 "3" => AV_VIRUS_FOUND, # virus found
330 "6" => AV_VIRUS_FOUND, # virus found
331 "*" => AV_SCAN_FAILED, # else scan failed
332 ),
333
334 'messagepattern' => '/.*?Infection:(.*)$/m',
335 ),
336 );
337
338
339 /** Determines if a failed virus scan (AV_SCAN_FAILED) will cause the file to be rejected.
340 * @global boolean $wgAntivirusRequired
341 */
342 $wgAntivirusRequired= true;
343
344 /** Determines if the mime type of uploaded files should be checked
345 * @global boolean $wgVerifyMimeType
346 */
347 $wgVerifyMimeType= true;
348
349 /** Sets the mime type definition file to use by MimeMagic.php.
350 * @global string $wgMimeTypeFile
351 */
352 $wgMimeTypeFile= "includes/mime.types";
353 #$wgMimeTypeFile= "/etc/mime.types";
354 #$wgMimeTypeFile= NULL; #use built-in defaults only.
355
356 /** Sets the mime type info file to use by MimeMagic.php.
357 * @global string $wgMimeInfoFile
358 */
359 $wgMimeInfoFile= "includes/mime.info";
360 #$wgMimeInfoFile= NULL; #use built-in defaults only.
361
362 /** Switch for loading the FileInfo extension by PECL at runtime.
363 * This should be used only if fileinfo is installed as a shared object
364 * or a dynamic libary
365 * @global string $wgLoadFileinfoExtension
366 */
367 $wgLoadFileinfoExtension= false;
368
369 /** Sets an external mime detector program. The command must print only
370 * the mime type to standard output.
371 * The name of the file to process will be appended to the command given here.
372 * If not set or NULL, mime_content_type will be used if available.
373 */
374 $wgMimeDetectorCommand= NULL; # use internal mime_content_type function, available since php 4.3.0
375 #$wgMimeDetectorCommand= "file -bi"; #use external mime detector (Linux)
376
377 /** Switch for trivial mime detection. Used by thumb.php to disable all fance
378 * things, because only a few types of images are needed and file extensions
379 * can be trusted.
380 */
381 $wgTrivialMimeDetection= false;
382
383 /**
384 * To set 'pretty' URL paths for actions other than
385 * plain page views, add to this array. For instance:
386 * 'edit' => "$wgScriptPath/edit/$1"
387 *
388 * There must be an appropriate script or rewrite rule
389 * in place to handle these URLs.
390 */
391 $wgActionPaths = array();
392
393 /**
394 * If you operate multiple wikis, you can define a shared upload path here.
395 * Uploads to this wiki will NOT be put there - they will be put into
396 * $wgUploadDirectory.
397 * If $wgUseSharedUploads is set, the wiki will look in the shared repository if
398 * no file of the given name is found in the local repository (for [[Image:..]],
399 * [[Media:..]] links). Thumbnails will also be looked for and generated in this
400 * directory.
401 *
402 * Note that these configuration settings can now be defined on a per-
403 * repository basis for an arbitrary number of file repositories, using the
404 * $wgForeignFileRepos variable.
405 */
406 $wgUseSharedUploads = false;
407 /** Full path on the web server where shared uploads can be found */
408 $wgSharedUploadPath = "http://commons.wikimedia.org/shared/images";
409 /** Fetch commons image description pages and display them on the local wiki? */
410 $wgFetchCommonsDescriptions = false;
411 /** Path on the file system where shared uploads can be found. */
412 $wgSharedUploadDirectory = "/var/www/wiki3/images";
413 /** DB name with metadata about shared directory. Set this to false if the uploads do not come from a wiki. */
414 $wgSharedUploadDBname = false;
415 /** Optional table prefix used in database. */
416 $wgSharedUploadDBprefix = '';
417 /** Cache shared metadata in memcached. Don't do this if the commons wiki is in a different memcached domain */
418 $wgCacheSharedUploads = true;
419 /** Allow for upload to be copied from an URL. Requires Special:Upload?source=web */
420 $wgAllowCopyUploads = false;
421 /**
422 * Max size for uploads, in bytes. Currently only works for uploads from URL
423 * via CURL (see $wgAllowCopyUploads). The only way to impose limits on
424 * normal uploads is currently to edit php.ini.
425 */
426 $wgMaxUploadSize = 1024*1024*100; # 100MB
427
428 /**
429 * Point the upload navigation link to an external URL
430 * Useful if you want to use a shared repository by default
431 * without disabling local uploads (use $wgEnableUploads = false for that)
432 * e.g. $wgUploadNavigationUrl = 'http://commons.wikimedia.org/wiki/Special:Upload';
433 */
434 $wgUploadNavigationUrl = false;
435
436 /**
437 * Give a path here to use thumb.php for thumbnail generation on client request, instead of
438 * generating them on render and outputting a static URL. This is necessary if some of your
439 * apache servers don't have read/write access to the thumbnail path.
440 *
441 * Example:
442 * $wgThumbnailScriptPath = "{$wgScriptPath}/thumb{$wgScriptExtension}";
443 */
444 $wgThumbnailScriptPath = false;
445 $wgSharedThumbnailScriptPath = false;
446
447 /**
448 * Set the following to false especially if you have a set of files that need to
449 * be accessible by all wikis, and you do not want to use the hash (path/a/aa/)
450 * directory layout.
451 */
452 $wgHashedSharedUploadDirectory = true;
453
454 /**
455 * Base URL for a repository wiki. Leave this blank if uploads are just stored
456 * in a shared directory and not meant to be accessible through a separate wiki.
457 * Otherwise the image description pages on the local wiki will link to the
458 * image description page on this wiki.
459 *
460 * Please specify the namespace, as in the example below.
461 */
462 $wgRepositoryBaseUrl = "http://commons.wikimedia.org/wiki/Image:";
463
464 /**
465 * File redirects
466 * If enabled, MediaWiki checks redirects in Image: namespace.
467 */
468 $wgFileRedirects = false;
469
470 #
471 # Email settings
472 #
473
474 /**
475 * Site admin email address
476 * Default to wikiadmin@SERVER_NAME
477 * @global string $wgEmergencyContact
478 */
479 $wgEmergencyContact = 'wikiadmin@' . $wgServerName;
480
481 /**
482 * Password reminder email address
483 * The address we should use as sender when a user is requesting his password
484 * Default to apache@SERVER_NAME
485 * @global string $wgPasswordSender
486 */
487 $wgPasswordSender = 'MediaWiki Mail <apache@' . $wgServerName . '>';
488
489 /**
490 * dummy address which should be accepted during mail send action
491 * It might be necessay to adapt the address or to set it equal
492 * to the $wgEmergencyContact address
493 */
494 #$wgNoReplyAddress = $wgEmergencyContact;
495 $wgNoReplyAddress = 'reply@not.possible';
496
497 /**
498 * Set to true to enable the e-mail basic features:
499 * Password reminders, etc. If sending e-mail on your
500 * server doesn't work, you might want to disable this.
501 * @global bool $wgEnableEmail
502 */
503 $wgEnableEmail = true;
504
505 /**
506 * Set to true to enable user-to-user e-mail.
507 * This can potentially be abused, as it's hard to track.
508 * @global bool $wgEnableUserEmail
509 */
510 $wgEnableUserEmail = true;
511
512 /**
513 * Set to true to put the sending user's email in a Reply-To header
514 * instead of From. ($wgEmergencyContact will be used as From.)
515 *
516 * Some mailers (eg sSMTP) set the SMTP envelope sender to the From value,
517 * which can cause problems with SPF validation and leak recipient addressses
518 * when bounces are sent to the sender.
519 */
520 $wgUserEmailUseReplyTo = false;
521
522 /**
523 * Minimum time, in hours, which must elapse between password reminder
524 * emails for a given account. This is to prevent abuse by mail flooding.
525 */
526 $wgPasswordReminderResendTime = 24;
527
528 /**
529 * SMTP Mode
530 * For using a direct (authenticated) SMTP server connection.
531 * Default to false or fill an array :
532 * <code>
533 * "host" => 'SMTP domain',
534 * "IDHost" => 'domain for MessageID',
535 * "port" => "25",
536 * "auth" => true/false,
537 * "username" => user,
538 * "password" => password
539 * </code>
540 *
541 * @global mixed $wgSMTP
542 */
543 $wgSMTP = false;
544
545
546 /**#@+
547 * Database settings
548 */
549 /** database host name or ip address */
550 $wgDBserver = 'localhost';
551 /** database port number */
552 $wgDBport = '';
553 /** name of the database */
554 $wgDBname = 'wikidb';
555 /** */
556 $wgDBconnection = '';
557 /** Database username */
558 $wgDBuser = 'wikiuser';
559 /** Database type
560 */
561 $wgDBtype = "mysql";
562 /** Search type
563 * Leave as null to select the default search engine for the
564 * selected database type (eg SearchMySQL4), or set to a class
565 * name to override to a custom search engine.
566 */
567 $wgSearchType = null;
568 /** Table name prefix */
569 $wgDBprefix = '';
570 /** MySQL table options to use during installation or update */
571 $wgDBTableOptions = 'TYPE=InnoDB';
572
573 /**
574 * Make all database connections secretly go to localhost. Fool the load balancer
575 * thinking there is an arbitrarily large cluster of servers to connect to.
576 * Useful for debugging.
577 */
578 $wgAllDBsAreLocalhost = false;
579
580 /**#@-*/
581
582
583 /** Live high performance sites should disable this - some checks acquire giant mysql locks */
584 $wgCheckDBSchema = true;
585
586
587 /**
588 * Shared database for multiple wikis. Presently used for storing a user table
589 * for single sign-on. The server for this database must be the same as for the
590 * main database.
591 * EXPERIMENTAL
592 */
593 $wgSharedDB = null;
594
595 /**
596 * Database load balancer
597 * This is a two-dimensional array, an array of server info structures
598 * Fields are:
599 * host: Host name
600 * dbname: Default database name
601 * user: DB user
602 * password: DB password
603 * type: "mysql" or "postgres"
604 * load: ratio of DB_SLAVE load, must be >=0, the sum of all loads must be >0
605 * groupLoads: array of load ratios, the key is the query group name. A query may belong
606 * to several groups, the most specific group defined here is used.
607 *
608 * flags: bit field
609 * DBO_DEFAULT -- turns on DBO_TRX only if !$wgCommandLineMode (recommended)
610 * DBO_DEBUG -- equivalent of $wgDebugDumpSql
611 * DBO_TRX -- wrap entire request in a transaction
612 * DBO_IGNORE -- ignore errors (not useful in LocalSettings.php)
613 * DBO_NOBUFFER -- turn off buffering (not useful in LocalSettings.php)
614 *
615 * max lag: (optional) Maximum replication lag before a slave will taken out of rotation
616 * max threads: (optional) Maximum number of running threads
617 *
618 * These and any other user-defined properties will be assigned to the mLBInfo member
619 * variable of the Database object.
620 *
621 * Leave at false to use the single-server variables above. If you set this
622 * variable, the single-server variables will generally be ignored (except
623 * perhaps in some command-line scripts).
624 *
625 * The first server listed in this array (with key 0) will be the master. The
626 * rest of the servers will be slaves. To prevent writes to your slaves due to
627 * accidental misconfiguration or MediaWiki bugs, set read_only=1 on all your
628 * slaves in my.cnf. You can set read_only mode at runtime using:
629 *
630 * SET @@read_only=1;
631 *
632 * Since the effect of writing to a slave is so damaging and difficult to clean
633 * up, we at Wikimedia set read_only=1 in my.cnf on all our DB servers, even
634 * our masters, and then set read_only=0 on masters at runtime.
635 */
636 $wgDBservers = false;
637
638 /**
639 * Load balancer factory configuration
640 * To set up a multi-master wiki farm, set the class here to something that
641 * can return a LoadBalancer with an appropriate master on a call to getMainLB().
642 * The class identified here is responsible for reading $wgDBservers,
643 * $wgDBserver, etc., so overriding it may cause those globals to be ignored.
644 *
645 * The LBFactory_Multi class is provided for this purpose, please see
646 * includes/LBFactory_Multi.php for configuration information.
647 */
648 $wgLBFactoryConf = array( 'class' => 'LBFactory_Simple' );
649
650 /** How long to wait for a slave to catch up to the master */
651 $wgMasterWaitTimeout = 10;
652
653 /** File to log database errors to */
654 $wgDBerrorLog = false;
655
656 /** When to give an error message */
657 $wgDBClusterTimeout = 10;
658
659 /**
660 * Scale load balancer polling time so that under overload conditions, the database server
661 * receives a SHOW STATUS query at an average interval of this many microseconds
662 */
663 $wgDBAvgStatusPoll = 2000;
664
665 /**
666 * wgDBminWordLen :
667 * MySQL 3.x : used to discard words that MySQL will not return any results for
668 * shorter values configure mysql directly.
669 * MySQL 4.x : ignore it and configure mySQL
670 * See: http://dev.mysql.com/doc/mysql/en/Fulltext_Fine-tuning.html
671 */
672 $wgDBminWordLen = 4;
673 /** Set to true if using InnoDB tables */
674 $wgDBtransactions = false;
675 /** Set to true for compatibility with extensions that might be checking.
676 * MySQL 3.23.x is no longer supported. */
677 $wgDBmysql4 = true;
678
679 /**
680 * Set to true to engage MySQL 4.1/5.0 charset-related features;
681 * for now will just cause sending of 'SET NAMES=utf8' on connect.
682 *
683 * WARNING: THIS IS EXPERIMENTAL!
684 *
685 * May break if you're not using the table defs from mysql5/tables.sql.
686 * May break if you're upgrading an existing wiki if set differently.
687 * Broken symptoms likely to include incorrect behavior with page titles,
688 * usernames, comments etc containing non-ASCII characters.
689 * Might also cause failures on the object cache and other things.
690 *
691 * Even correct usage may cause failures with Unicode supplementary
692 * characters (those not in the Basic Multilingual Plane) unless MySQL
693 * has enhanced their Unicode support.
694 */
695 $wgDBmysql5 = false;
696
697 /**
698 * Other wikis on this site, can be administered from a single developer
699 * account.
700 * Array numeric key => database name
701 */
702 $wgLocalDatabases = array();
703
704 /**
705 * Object cache settings
706 * See Defines.php for types
707 */
708 $wgMainCacheType = CACHE_NONE;
709 $wgMessageCacheType = CACHE_ANYTHING;
710 $wgParserCacheType = CACHE_ANYTHING;
711
712 $wgParserCacheExpireTime = 86400;
713
714 $wgSessionsInMemcached = false;
715
716 /**
717 * Memcached-specific settings
718 * See docs/memcached.txt
719 */
720 $wgUseMemCached = false;
721 $wgMemCachedDebug = false; # Will be set to false in Setup.php, if the server isn't working
722 $wgMemCachedServers = array( '127.0.0.1:11000' );
723 $wgMemCachedPersistent = false;
724
725 /**
726 * Directory for local copy of message cache, for use in addition to memcached
727 */
728 $wgLocalMessageCache = false;
729 /**
730 * Defines format of local cache
731 * true - Serialized object
732 * false - PHP source file (Warning - security risk)
733 */
734 $wgLocalMessageCacheSerialized = true;
735
736 /**
737 * Directory for compiled constant message array databases
738 * WARNING: turning anything on will just break things, aaaaaah!!!!
739 */
740 $wgCachedMessageArrays = false;
741
742 # Language settings
743 #
744 /** Site language code, should be one of ./languages/Language(.*).php */
745 $wgLanguageCode = 'en';
746
747 /**
748 * Some languages need different word forms, usually for different cases.
749 * Used in Language::convertGrammar().
750 */
751 $wgGrammarForms = array();
752 #$wgGrammarForms['en']['genitive']['car'] = 'car\'s';
753
754 /** Treat language links as magic connectors, not inline links */
755 $wgInterwikiMagic = true;
756
757 /** Hide interlanguage links from the sidebar */
758 $wgHideInterlanguageLinks = false;
759
760 /** List of language names or overrides for default names in Names.php */
761 $wgExtraLanguageNames = array();
762
763 /** We speak UTF-8 all the time now, unless some oddities happen */
764 $wgInputEncoding = 'UTF-8';
765 $wgOutputEncoding = 'UTF-8';
766 $wgEditEncoding = '';
767
768 # Set this to eg 'ISO-8859-1' to perform character set
769 # conversion when loading old revisions not marked with
770 # "utf-8" flag. Use this when converting wiki to UTF-8
771 # without the burdensome mass conversion of old text data.
772 #
773 # NOTE! This DOES NOT touch any fields other than old_text.
774 # Titles, comments, user names, etc still must be converted
775 # en masse in the database before continuing as a UTF-8 wiki.
776 $wgLegacyEncoding = false;
777
778 /**
779 * If set to true, the MediaWiki 1.4 to 1.5 schema conversion will
780 * create stub reference rows in the text table instead of copying
781 * the full text of all current entries from 'cur' to 'text'.
782 *
783 * This will speed up the conversion step for large sites, but
784 * requires that the cur table be kept around for those revisions
785 * to remain viewable.
786 *
787 * maintenance/migrateCurStubs.php can be used to complete the
788 * migration in the background once the wiki is back online.
789 *
790 * This option affects the updaters *only*. Any present cur stub
791 * revisions will be readable at runtime regardless of this setting.
792 */
793 $wgLegacySchemaConversion = false;
794
795 $wgMimeType = 'text/html';
796 $wgJsMimeType = 'text/javascript';
797 $wgDocType = '-//W3C//DTD XHTML 1.0 Transitional//EN';
798 $wgDTD = 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd';
799 $wgXhtmlDefaultNamespace = 'http://www.w3.org/1999/xhtml';
800
801 # Permit other namespaces in addition to the w3.org default.
802 # Use the prefix for the key and the namespace for the value. For
803 # example:
804 # $wgXhtmlNamespaces['svg'] = 'http://www.w3.org/2000/svg';
805 # Normally we wouldn't have to define this in the root <html>
806 # element, but IE needs it there in some circumstances.
807 $wgXhtmlNamespaces = array();
808
809 /** Enable to allow rewriting dates in page text.
810 * DOES NOT FORMAT CORRECTLY FOR MOST LANGUAGES */
811 $wgUseDynamicDates = false;
812 /** Enable dates like 'May 12' instead of '12 May', this only takes effect if
813 * the interface is set to English
814 */
815 $wgAmericanDates = false;
816 /**
817 * For Hindi and Arabic use local numerals instead of Western style (0-9)
818 * numerals in interface.
819 */
820 $wgTranslateNumerals = true;
821
822 /**
823 * Translation using MediaWiki: namespace.
824 * This will increase load times by 25-60% unless memcached is installed.
825 * Interface messages will be loaded from the database.
826 */
827 $wgUseDatabaseMessages = true;
828
829 /**
830 * Expiry time for the message cache key
831 */
832 $wgMsgCacheExpiry = 86400;
833
834 /**
835 * Maximum entry size in the message cache, in bytes
836 */
837 $wgMaxMsgCacheEntrySize = 10000;
838
839 /**
840 * Set to false if you are thorough system admin who always remembers to keep
841 * serialized files up to date to save few mtime calls.
842 */
843 $wgCheckSerialized = true;
844
845 # Whether to enable language variant conversion.
846 $wgDisableLangConversion = false;
847
848 # Default variant code, if false, the default will be the language code
849 $wgDefaultLanguageVariant = false;
850
851 /**
852 * Show a bar of language selection links in the user login and user
853 * registration forms; edit the "loginlanguagelinks" message to
854 * customise these
855 */
856 $wgLoginLanguageSelector = false;
857
858 # Whether to use zhdaemon to perform Chinese text processing
859 # zhdaemon is under developement, so normally you don't want to
860 # use it unless for testing
861 $wgUseZhdaemon = false;
862 $wgZhdaemonHost="localhost";
863 $wgZhdaemonPort=2004;
864
865 /** Normally you can ignore this and it will be something
866 like $wgMetaNamespace . "_talk". In some languages, you
867 may want to set this manually for grammatical reasons.
868 It is currently only respected by those languages
869 where it might be relevant and where no automatic
870 grammar converter exists.
871 */
872 $wgMetaNamespaceTalk = false;
873
874 # Miscellaneous configuration settings
875 #
876
877 $wgLocalInterwiki = 'w';
878 $wgInterwikiExpiry = 10800; # Expiry time for cache of interwiki table
879
880 /** Interwiki caching settings.
881 $wgInterwikiCache specifies path to constant database file
882 This cdb database is generated by dumpInterwiki from maintenance
883 and has such key formats:
884 dbname:key - a simple key (e.g. enwiki:meta)
885 _sitename:key - site-scope key (e.g. wiktionary:meta)
886 __global:key - global-scope key (e.g. __global:meta)
887 __sites:dbname - site mapping (e.g. __sites:enwiki)
888 Sites mapping just specifies site name, other keys provide
889 "local url" data layout.
890 $wgInterwikiScopes specify number of domains to check for messages:
891 1 - Just wiki(db)-level
892 2 - wiki and global levels
893 3 - site levels
894 $wgInterwikiFallbackSite - if unable to resolve from cache
895 */
896 $wgInterwikiCache = false;
897 $wgInterwikiScopes = 3;
898 $wgInterwikiFallbackSite = 'wiki';
899
900 /**
901 * If local interwikis are set up which allow redirects,
902 * set this regexp to restrict URLs which will be displayed
903 * as 'redirected from' links.
904 *
905 * It might look something like this:
906 * $wgRedirectSources = '!^https?://[a-z-]+\.wikipedia\.org/!';
907 *
908 * Leave at false to avoid displaying any incoming redirect markers.
909 * This does not affect intra-wiki redirects, which don't change
910 * the URL.
911 */
912 $wgRedirectSources = false;
913
914
915 $wgShowIPinHeader = true; # For non-logged in users
916 $wgMaxNameChars = 255; # Maximum number of bytes in username
917 $wgMaxSigChars = 255; # Maximum number of Unicode characters in signature
918 $wgMaxArticleSize = 2048; # Maximum article size in kilobytes
919
920 $wgMaxPPNodeCount = 1000000; # A complexity limit on template expansion
921
922 /**
923 * Maximum recursion depth for templates within templates.
924 * The current parser adds two levels to the PHP call stack for each template,
925 * and xdebug limits the call stack to 100 by default. So this should hopefully
926 * stop the parser before it hits the xdebug limit.
927 */
928 $wgMaxTemplateDepth = 40;
929 $wgMaxPPExpandDepth = 40;
930
931 $wgExtraSubtitle = '';
932 $wgSiteSupportPage = ''; # A page where you users can receive donations
933
934 /***
935 * If this lock file exists, the wiki will be forced into read-only mode.
936 * Its contents will be shown to users as part of the read-only warning
937 * message.
938 */
939 $wgReadOnlyFile = false; /// defaults to "{$wgUploadDirectory}/lock_yBgMBwiR";
940
941 /**
942 * The debug log file should be not be publicly accessible if it is used, as it
943 * may contain private data. */
944 $wgDebugLogFile = '';
945
946 /**#@+
947 * @global bool
948 */
949 $wgDebugRedirects = false;
950 $wgDebugRawPage = false; # Avoid overlapping debug entries by leaving out CSS
951
952 $wgDebugComments = false;
953 $wgReadOnly = null;
954 $wgLogQueries = false;
955
956 /**
957 * Write SQL queries to the debug log
958 */
959 $wgDebugDumpSql = false;
960
961 /**
962 * Set to an array of log group keys to filenames.
963 * If set, wfDebugLog() output for that group will go to that file instead
964 * of the regular $wgDebugLogFile. Useful for enabling selective logging
965 * in production.
966 */
967 $wgDebugLogGroups = array();
968
969 /**
970 * Whether to show "we're sorry, but there has been a database error" pages.
971 * Displaying errors aids in debugging, but may display information useful
972 * to an attacker.
973 */
974 $wgShowSQLErrors = false;
975
976 /**
977 * If true, some error messages will be colorized when running scripts on the
978 * command line; this can aid picking important things out when debugging.
979 * Ignored when running on Windows or when output is redirected to a file.
980 */
981 $wgColorErrors = true;
982
983 /**
984 * If set to true, uncaught exceptions will print a complete stack trace
985 * to output. This should only be used for debugging, as it may reveal
986 * private information in function parameters due to PHP's backtrace
987 * formatting.
988 */
989 $wgShowExceptionDetails = false;
990
991 /**
992 * Expose backend server host names through the API and various HTML comments
993 */
994 $wgShowHostnames = false;
995
996 /**
997 * Use experimental, DMOZ-like category browser
998 */
999 $wgUseCategoryBrowser = false;
1000
1001 /**
1002 * Keep parsed pages in a cache (objectcache table, turck, or memcached)
1003 * to speed up output of the same page viewed by another user with the
1004 * same options.
1005 *
1006 * This can provide a significant speedup for medium to large pages,
1007 * so you probably want to keep it on.
1008 */
1009 $wgEnableParserCache = true;
1010
1011 /**
1012 * If on, the sidebar navigation links are cached for users with the
1013 * current language set. This can save a touch of load on a busy site
1014 * by shaving off extra message lookups.
1015 *
1016 * However it is also fragile: changing the site configuration, or
1017 * having a variable $wgArticlePath, can produce broken links that
1018 * don't update as expected.
1019 */
1020 $wgEnableSidebarCache = false;
1021
1022 /**
1023 * Expiry time for the sidebar cache, in seconds
1024 */
1025 $wgSidebarCacheExpiry = 86400;
1026
1027 /**
1028 * Under which condition should a page in the main namespace be counted
1029 * as a valid article? If $wgUseCommaCount is set to true, it will be
1030 * counted if it contains at least one comma. If it is set to false
1031 * (default), it will only be counted if it contains at least one [[wiki
1032 * link]]. See http://meta.wikimedia.org/wiki/Help:Article_count
1033 *
1034 * Retroactively changing this variable will not affect
1035 * the existing count (cf. maintenance/recount.sql).
1036 */
1037 $wgUseCommaCount = false;
1038
1039 /**#@-*/
1040
1041 /**
1042 * wgHitcounterUpdateFreq sets how often page counters should be updated, higher
1043 * values are easier on the database. A value of 1 causes the counters to be
1044 * updated on every hit, any higher value n cause them to update *on average*
1045 * every n hits. Should be set to either 1 or something largish, eg 1000, for
1046 * maximum efficiency.
1047 */
1048 $wgHitcounterUpdateFreq = 1;
1049
1050 # Basic user rights and block settings
1051 $wgSysopUserBans = true; # Allow sysops to ban logged-in users
1052 $wgSysopRangeBans = true; # Allow sysops to ban IP ranges
1053 $wgAutoblockExpiry = 86400; # Number of seconds before autoblock entries expire
1054 $wgBlockAllowsUTEdit = false; # Blocks allow users to edit their own user talk page
1055 $wgSysopEmailBans = true; # Allow sysops to ban users from accessing Emailuser
1056
1057 # Pages anonymous user may see as an array, e.g.:
1058 # array ( "Main Page", "Wikipedia:Help");
1059 # Special:Userlogin and Special:Resetpass are always whitelisted.
1060 # NOTE: This will only work if $wgGroupPermissions['*']['read']
1061 # is false -- see below. Otherwise, ALL pages are accessible,
1062 # regardless of this setting.
1063 # Also note that this will only protect _pages in the wiki_.
1064 # Uploaded files will remain readable. Make your upload
1065 # directory name unguessable, or use .htaccess to protect it.
1066 $wgWhitelistRead = false;
1067
1068 /**
1069 * Should editors be required to have a validated e-mail
1070 * address before being allowed to edit?
1071 */
1072 $wgEmailConfirmToEdit=false;
1073
1074 /**
1075 * Permission keys given to users in each group.
1076 * All users are implicitly in the '*' group including anonymous visitors;
1077 * logged-in users are all implicitly in the 'user' group. These will be
1078 * combined with the permissions of all groups that a given user is listed
1079 * in in the user_groups table.
1080 *
1081 * Note: Don't set $wgGroupPermissions = array(); unless you know what you're
1082 * doing! This will wipe all permissions, and may mean that your users are
1083 * unable to perform certain essential tasks or access new functionality
1084 * when new permissions are introduced and default grants established.
1085 *
1086 * Functionality to make pages inaccessible has not been extensively tested
1087 * for security. Use at your own risk!
1088 *
1089 * This replaces wgWhitelistAccount and wgWhitelistEdit
1090 */
1091 $wgGroupPermissions = array();
1092
1093 // Implicit group for all visitors
1094 $wgGroupPermissions['*' ]['createaccount'] = true;
1095 $wgGroupPermissions['*' ]['read'] = true;
1096 $wgGroupPermissions['*' ]['edit'] = true;
1097 $wgGroupPermissions['*' ]['createpage'] = true;
1098 $wgGroupPermissions['*' ]['createtalk'] = true;
1099
1100 // Implicit group for all logged-in accounts
1101 $wgGroupPermissions['user' ]['move'] = true;
1102 $wgGroupPermissions['user' ]['read'] = true;
1103 $wgGroupPermissions['user' ]['edit'] = true;
1104 $wgGroupPermissions['user' ]['createpage'] = true;
1105 $wgGroupPermissions['user' ]['createtalk'] = true;
1106 $wgGroupPermissions['user' ]['upload'] = true;
1107 $wgGroupPermissions['user' ]['reupload'] = true;
1108 $wgGroupPermissions['user' ]['reupload-shared'] = true;
1109 $wgGroupPermissions['user' ]['minoredit'] = true;
1110 $wgGroupPermissions['user' ]['purge'] = true; // can use ?action=purge without clicking "ok"
1111
1112 // Implicit group for accounts that pass $wgAutoConfirmAge
1113 $wgGroupPermissions['autoconfirmed']['autoconfirmed'] = true;
1114
1115 // Implicit group for accounts with confirmed email addresses
1116 // This has little use when email address confirmation is off
1117 $wgGroupPermissions['emailconfirmed']['emailconfirmed'] = true;
1118
1119 // Users with bot privilege can have their edits hidden
1120 // from various log pages by default
1121 $wgGroupPermissions['bot' ]['bot'] = true;
1122 $wgGroupPermissions['bot' ]['autoconfirmed'] = true;
1123 $wgGroupPermissions['bot' ]['nominornewtalk'] = true;
1124 $wgGroupPermissions['bot' ]['autopatrol'] = true;
1125 $wgGroupPermissions['bot' ]['suppressredirect'] = true;
1126 $wgGroupPermissions['bot' ]['apihighlimits'] = true;
1127 #$wgGroupPermissions['bot' ]['editprotected'] = true; // can edit all protected pages without cascade protection enabled
1128
1129 // Most extra permission abilities go to this group
1130 $wgGroupPermissions['sysop']['block'] = true;
1131 $wgGroupPermissions['sysop']['createaccount'] = true;
1132 $wgGroupPermissions['sysop']['delete'] = true;
1133 $wgGroupPermissions['sysop']['bigdelete'] = true; // can be separately configured for pages with > $wgDeleteRevisionsLimit revs
1134 $wgGroupPermissions['sysop']['deletedhistory'] = true; // can view deleted history entries, but not see or restore the text
1135 $wgGroupPermissions['sysop']['undelete'] = true;
1136 $wgGroupPermissions['sysop']['editinterface'] = true;
1137 $wgGroupPermissions['sysop']['editusercssjs'] = true;
1138 $wgGroupPermissions['sysop']['import'] = true;
1139 $wgGroupPermissions['sysop']['importupload'] = true;
1140 $wgGroupPermissions['sysop']['move'] = true;
1141 $wgGroupPermissions['sysop']['patrol'] = true;
1142 $wgGroupPermissions['sysop']['autopatrol'] = true;
1143 $wgGroupPermissions['sysop']['protect'] = true;
1144 $wgGroupPermissions['sysop']['proxyunbannable'] = true;
1145 $wgGroupPermissions['sysop']['rollback'] = true;
1146 $wgGroupPermissions['sysop']['trackback'] = true;
1147 $wgGroupPermissions['sysop']['upload'] = true;
1148 $wgGroupPermissions['sysop']['reupload'] = true;
1149 $wgGroupPermissions['sysop']['reupload-shared'] = true;
1150 $wgGroupPermissions['sysop']['unwatchedpages'] = true;
1151 $wgGroupPermissions['sysop']['autoconfirmed'] = true;
1152 $wgGroupPermissions['sysop']['upload_by_url'] = true;
1153 $wgGroupPermissions['sysop']['ipblock-exempt'] = true;
1154 $wgGroupPermissions['sysop']['blockemail'] = true;
1155 $wgGroupPermissions['sysop']['markbotedits'] = true;
1156 $wgGroupPermissions['sysop']['suppressredirect'] = true;
1157 $wgGroupPermissions['sysop']['apihighlimits'] = true;
1158 $wgGroupPermissions['sysop']['browsearchive'] = true;
1159 #$wgGroupPermissions['sysop']['mergehistory'] = true;
1160
1161 // Permission to change users' group assignments
1162 $wgGroupPermissions['bureaucrat']['userrights'] = true;
1163 // Permission to change users' groups assignments across wikis
1164 #$wgGroupPermissions['bureaucrat']['userrights-interwiki'] = true;
1165
1166 #$wgGroupPermissions['sysop']['deleterevision'] = true;
1167 // To hide usernames
1168 #$wgGroupPermissions['suppress']['hideuser'] = true;
1169 // To see hidden revs and unhide revs hidden from Sysops
1170 #$wgGroupPermissions['suppress']['hiderevision'] = true;
1171 // For private log access
1172 #$wgGroupPermissions['suppress']['suppress'] = true;
1173
1174 // Pending WMF schema change...temporary variable
1175 $wgAllowLogDeletion = false;
1176
1177 /**
1178 * The developer group is deprecated, but can be activated if need be
1179 * to use the 'lockdb' and 'unlockdb' special pages. Those require
1180 * that a lock file be defined and creatable/removable by the web
1181 * server.
1182 */
1183 # $wgGroupPermissions['developer']['siteadmin'] = true;
1184
1185
1186 /**
1187 * Implicit groups, aren't shown on Special:Listusers or somewhere else
1188 */
1189 $wgImplicitGroups = array( '*', 'user', 'autoconfirmed', 'emailconfirmed' );
1190
1191 /**
1192 * These are the groups that users are allowed to add to or remove from
1193 * their own account via Special:Userrights.
1194 */
1195 $wgGroupsAddToSelf = array();
1196 $wgGroupsRemoveFromSelf = array();
1197
1198 /**
1199 * Set of available actions that can be restricted via action=protect
1200 * You probably shouldn't change this.
1201 * Translated trough restriction-* messages.
1202 */
1203 $wgRestrictionTypes = array( 'edit', 'move' );
1204
1205 /**
1206 * Rights which can be required for each protection level (via action=protect)
1207 *
1208 * You can add a new protection level that requires a specific
1209 * permission by manipulating this array. The ordering of elements
1210 * dictates the order on the protection form's lists.
1211 *
1212 * '' will be ignored (i.e. unprotected)
1213 * 'sysop' is quietly rewritten to 'protect' for backwards compatibility
1214 */
1215 $wgRestrictionLevels = array( '', 'autoconfirmed', 'sysop' );
1216
1217 /**
1218 * Set the minimum permissions required to edit pages in each
1219 * namespace. If you list more than one permission, a user must
1220 * have all of them to edit pages in that namespace.
1221 */
1222 $wgNamespaceProtection = array();
1223 $wgNamespaceProtection[ NS_MEDIAWIKI ] = array( 'editinterface' );
1224
1225 /**
1226 * Pages in namespaces in this array can not be used as templates.
1227 * Elements must be numeric namespace ids.
1228 * Among other things, this may be useful to enforce read-restrictions
1229 * which may otherwise be bypassed by using the template machanism.
1230 */
1231 $wgNonincludableNamespaces = array();
1232
1233 /**
1234 * Number of seconds an account is required to age before
1235 * it's given the implicit 'autoconfirm' group membership.
1236 * This can be used to limit privileges of new accounts.
1237 *
1238 * Accounts created by earlier versions of the software
1239 * may not have a recorded creation date, and will always
1240 * be considered to pass the age test.
1241 *
1242 * When left at 0, all registered accounts will pass.
1243 */
1244 $wgAutoConfirmAge = 0;
1245 //$wgAutoConfirmAge = 600; // ten minutes
1246 //$wgAutoConfirmAge = 3600*24; // one day
1247
1248 # Number of edits an account requires before it is autoconfirmed
1249 # Passing both this AND the time requirement is needed
1250 $wgAutoConfirmCount = 0;
1251 //$wgAutoConfirmCount = 50;
1252
1253 /**
1254 * Automatically add a usergroup to any user who matches certain conditions.
1255 * The format is
1256 * array( '&' or '|' or '^', cond1, cond2, ... )
1257 * where cond1, cond2, ... are themselves conditions; *OR*
1258 * APCOND_EMAILCONFIRMED, *OR*
1259 * array( APCOND_EMAILCONFIRMED ), *OR*
1260 * array( APCOND_EDITCOUNT, number of edits ), *OR*
1261 * array( APCOND_AGE, seconds since registration ), *OR*
1262 * similar constructs defined by extensions.
1263 *
1264 * If $wgEmailAuthentication is off, APCOND_EMAILCONFIRMED will be true for any
1265 * user who has provided an e-mail address.
1266 */
1267 $wgAutopromote = array(
1268 'autoconfirmed' => array( '&',
1269 array( APCOND_EDITCOUNT, &$wgAutoConfirmCount ),
1270 array( APCOND_AGE, &$wgAutoConfirmAge ),
1271 ),
1272 'emailconfirmed' => APCOND_EMAILCONFIRMED,
1273 );
1274
1275 /**
1276 * These settings can be used to give finer control over who can assign which
1277 * groups at Special:Userrights. Example configuration:
1278 *
1279 * // Bureaucrat can add any group
1280 * $wgAddGroups['bureaucrat'] = true;
1281 * // Bureaucrats can only remove bots and sysops
1282 * $wgRemoveGroups['bureaucrat'] = array( 'bot', 'sysop' );
1283 * // Sysops can make bots
1284 * $wgAddGroups['sysop'] = array( 'bot' );
1285 * // Sysops can disable other sysops in an emergency, and disable bots
1286 * $wgRemoveGroups['sysop'] = array( 'sysop', 'bot' );
1287 */
1288 $wgAddGroups = $wgRemoveGroups = array();
1289
1290 /**
1291 * Optional to restrict deletion of pages with higher revision counts
1292 * to users with the 'bigdelete' permission. (Default given to sysops.)
1293 */
1294 $wgDeleteRevisionsLimit = 0;
1295
1296 # Proxy scanner settings
1297 #
1298
1299 /**
1300 * If you enable this, every editor's IP address will be scanned for open HTTP
1301 * proxies.
1302 *
1303 * Don't enable this. Many sysops will report "hostile TCP port scans" to your
1304 * ISP and ask for your server to be shut down.
1305 *
1306 * You have been warned.
1307 */
1308 $wgBlockOpenProxies = false;
1309 /** Port we want to scan for a proxy */
1310 $wgProxyPorts = array( 80, 81, 1080, 3128, 6588, 8000, 8080, 8888, 65506 );
1311 /** Script used to scan */
1312 $wgProxyScriptPath = "$IP/includes/proxy_check.php";
1313 /** */
1314 $wgProxyMemcExpiry = 86400;
1315 /** This should always be customised in LocalSettings.php */
1316 $wgSecretKey = false;
1317 /** big list of banned IP addresses, in the keys not the values */
1318 $wgProxyList = array();
1319 /** deprecated */
1320 $wgProxyKey = false;
1321
1322 /** Number of accounts each IP address may create, 0 to disable.
1323 * Requires memcached */
1324 $wgAccountCreationThrottle = 0;
1325
1326 # Client-side caching:
1327
1328 /** Allow client-side caching of pages */
1329 $wgCachePages = true;
1330
1331 /**
1332 * Set this to current time to invalidate all prior cached pages. Affects both
1333 * client- and server-side caching.
1334 * You can get the current date on your server by using the command:
1335 * date +%Y%m%d%H%M%S
1336 */
1337 $wgCacheEpoch = '20030516000000';
1338
1339 /**
1340 * Bump this number when changing the global style sheets and JavaScript.
1341 * It should be appended in the query string of static CSS and JS includes,
1342 * to ensure that client-side caches don't keep obsolete copies of global
1343 * styles.
1344 */
1345 $wgStyleVersion = '132';
1346
1347
1348 # Server-side caching:
1349
1350 /**
1351 * This will cache static pages for non-logged-in users to reduce
1352 * database traffic on public sites.
1353 * Must set $wgShowIPinHeader = false
1354 */
1355 $wgUseFileCache = false;
1356
1357 /** Directory where the cached page will be saved */
1358 $wgFileCacheDirectory = false; /// defaults to "{$wgUploadDirectory}/cache";
1359
1360 /**
1361 * When using the file cache, we can store the cached HTML gzipped to save disk
1362 * space. Pages will then also be served compressed to clients that support it.
1363 * THIS IS NOT COMPATIBLE with ob_gzhandler which is now enabled if supported in
1364 * the default LocalSettings.php! If you enable this, remove that setting first.
1365 *
1366 * Requires zlib support enabled in PHP.
1367 */
1368 $wgUseGzip = false;
1369
1370 /** Whether MediaWiki should send an ETag header */
1371 $wgUseETag = false;
1372
1373 # Email notification settings
1374 #
1375
1376 /** For email notification on page changes */
1377 $wgPasswordSender = $wgEmergencyContact;
1378
1379 # true: from page editor if s/he opted-in
1380 # false: Enotif mails appear to come from $wgEmergencyContact
1381 $wgEnotifFromEditor = false;
1382
1383 // TODO move UPO to preferences probably ?
1384 # If set to true, users get a corresponding option in their preferences and can choose to enable or disable at their discretion
1385 # If set to false, the corresponding input form on the user preference page is suppressed
1386 # It call this to be a "user-preferences-option (UPO)"
1387 $wgEmailAuthentication = true; # UPO (if this is set to false, texts referring to authentication are suppressed)
1388 $wgEnotifWatchlist = false; # UPO
1389 $wgEnotifUserTalk = false; # UPO
1390 $wgEnotifRevealEditorAddress = false; # UPO; reply-to address may be filled with page editor's address (if user allowed this in the preferences)
1391 $wgEnotifMinorEdits = true; # UPO; false: "minor edits" on pages do not trigger notification mails.
1392 # # Attention: _every_ change on a user_talk page trigger a notification mail (if the user is not yet notified)
1393
1394 # Send a generic mail instead of a personalised mail for each user. This
1395 # always uses UTC as the time zone, and doesn't include the username.
1396 #
1397 # For pages with many users watching, this can significantly reduce mail load.
1398 # Has no effect when using sendmail rather than SMTP;
1399
1400 $wgEnotifImpersonal = false;
1401
1402 # Maximum number of users to mail at once when using impersonal mail. Should
1403 # match the limit on your mail server.
1404 $wgEnotifMaxRecips = 500;
1405
1406 # Send mails via the job queue.
1407 $wgEnotifUseJobQ = false;
1408
1409 /**
1410 * Array of usernames who will be sent a notification email for every change which occurs on a wiki
1411 */
1412 $wgUsersNotifiedOnAllChanges = array();
1413
1414 /** Show watching users in recent changes, watchlist and page history views */
1415 $wgRCShowWatchingUsers = false; # UPO
1416 /** Show watching users in Page views */
1417 $wgPageShowWatchingUsers = false;
1418 /** Show the amount of changed characters in recent changes */
1419 $wgRCShowChangedSize = true;
1420
1421 /**
1422 * If the difference between the character counts of the text
1423 * before and after the edit is below that value, the value will be
1424 * highlighted on the RC page.
1425 */
1426 $wgRCChangedSizeThreshold = -500;
1427
1428 /**
1429 * Show "Updated (since my last visit)" marker in RC view, watchlist and history
1430 * view for watched pages with new changes */
1431 $wgShowUpdatedMarker = true;
1432
1433 $wgCookieExpiration = 2592000;
1434
1435 /** Clock skew or the one-second resolution of time() can occasionally cause cache
1436 * problems when the user requests two pages within a short period of time. This
1437 * variable adds a given number of seconds to vulnerable timestamps, thereby giving
1438 * a grace period.
1439 */
1440 $wgClockSkewFudge = 5;
1441
1442 # Squid-related settings
1443 #
1444
1445 /** Enable/disable Squid */
1446 $wgUseSquid = false;
1447
1448 /** If you run Squid3 with ESI support, enable this (default:false): */
1449 $wgUseESI = false;
1450
1451 /** Internal server name as known to Squid, if different */
1452 # $wgInternalServer = 'http://yourinternal.tld:8000';
1453 $wgInternalServer = $wgServer;
1454
1455 /**
1456 * Cache timeout for the squid, will be sent as s-maxage (without ESI) or
1457 * Surrogate-Control (with ESI). Without ESI, you should strip out s-maxage in
1458 * the Squid config. 18000 seconds = 5 hours, more cache hits with 2678400 = 31
1459 * days
1460 */
1461 $wgSquidMaxage = 18000;
1462
1463 /**
1464 * Default maximum age for raw CSS/JS accesses
1465 */
1466 $wgForcedRawSMaxage = 300;
1467
1468 /**
1469 * List of proxy servers to purge on changes; default port is 80. Use IP addresses.
1470 *
1471 * When MediaWiki is running behind a proxy, it will trust X-Forwarded-For
1472 * headers sent/modified from these proxies when obtaining the remote IP address
1473 *
1474 * For a list of trusted servers which *aren't* purged, see $wgSquidServersNoPurge.
1475 */
1476 $wgSquidServers = array();
1477
1478 /**
1479 * As above, except these servers aren't purged on page changes; use to set a
1480 * list of trusted proxies, etc.
1481 */
1482 $wgSquidServersNoPurge = array();
1483
1484 /** Maximum number of titles to purge in any one client operation */
1485 $wgMaxSquidPurgeTitles = 400;
1486
1487 /** HTCP multicast purging */
1488 $wgHTCPPort = 4827;
1489 $wgHTCPMulticastTTL = 1;
1490 # $wgHTCPMulticastAddress = "224.0.0.85";
1491 $wgHTCPMulticastAddress = false;
1492
1493 # Cookie settings:
1494 #
1495 /**
1496 * Set to set an explicit domain on the login cookies eg, "justthis.domain. org"
1497 * or ".any.subdomain.net"
1498 */
1499 $wgCookieDomain = '';
1500 $wgCookiePath = '/';
1501 $wgCookieSecure = ($wgProto == 'https');
1502 $wgDisableCookieCheck = false;
1503
1504 /** Override to customise the session name */
1505 $wgSessionName = false;
1506
1507 /** Whether to allow inline image pointing to other websites */
1508 $wgAllowExternalImages = false;
1509
1510 /** If the above is false, you can specify an exception here. Image URLs
1511 * that start with this string are then rendered, while all others are not.
1512 * You can use this to set up a trusted, simple repository of images.
1513 *
1514 * Example:
1515 * $wgAllowExternalImagesFrom = 'http://127.0.0.1/';
1516 */
1517 $wgAllowExternalImagesFrom = '';
1518
1519 /** Disable database-intensive features */
1520 $wgMiserMode = false;
1521 /** Disable all query pages if miser mode is on, not just some */
1522 $wgDisableQueryPages = false;
1523 /** Number of rows to cache in 'querycache' table when miser mode is on */
1524 $wgQueryCacheLimit = 1000;
1525 /** Number of links to a page required before it is deemed "wanted" */
1526 $wgWantedPagesThreshold = 1;
1527 /** Enable slow parser functions */
1528 $wgAllowSlowParserFunctions = false;
1529
1530 /**
1531 * Maps jobs to their handling classes; extensions
1532 * can add to this to provide custom jobs
1533 */
1534 $wgJobClasses = array(
1535 'refreshLinks' => 'RefreshLinksJob',
1536 'htmlCacheUpdate' => 'HTMLCacheUpdateJob',
1537 'html_cache_update' => 'HTMLCacheUpdateJob', // backwards-compatible
1538 'sendMail' => 'EmaillingJob',
1539 'enotifNotify' => 'EnotifNotifyJob',
1540 );
1541
1542 /**
1543 * To use inline TeX, you need to compile 'texvc' (in the 'math' subdirectory of
1544 * the MediaWiki package and have latex, dvips, gs (ghostscript), andconvert
1545 * (ImageMagick) installed and available in the PATH.
1546 * Please see math/README for more information.
1547 */
1548 $wgUseTeX = false;
1549 /** Location of the texvc binary */
1550 $wgTexvc = './math/texvc';
1551
1552 #
1553 # Profiling / debugging
1554 #
1555 # You have to create a 'profiling' table in your database before using
1556 # profiling see maintenance/archives/patch-profiling.sql .
1557 #
1558 # To enable profiling, edit StartProfiler.php
1559
1560 /** Only record profiling info for pages that took longer than this */
1561 $wgProfileLimit = 0.0;
1562 /** Don't put non-profiling info into log file */
1563 $wgProfileOnly = false;
1564 /** Log sums from profiling into "profiling" table in db. */
1565 $wgProfileToDatabase = false;
1566 /** If true, print a raw call tree instead of per-function report */
1567 $wgProfileCallTree = false;
1568 /** Should application server host be put into profiling table */
1569 $wgProfilePerHost = false;
1570
1571 /** Settings for UDP profiler */
1572 $wgUDPProfilerHost = '127.0.0.1';
1573 $wgUDPProfilerPort = '3811';
1574
1575 /** Detects non-matching wfProfileIn/wfProfileOut calls */
1576 $wgDebugProfiling = false;
1577 /** Output debug message on every wfProfileIn/wfProfileOut */
1578 $wgDebugFunctionEntry = 0;
1579 /** Lots of debugging output from SquidUpdate.php */
1580 $wgDebugSquid = false;
1581
1582 /*
1583 * Destination for wfIncrStats() data...
1584 * 'cache' to go into the system cache, if enabled (memcached)
1585 * 'udp' to be sent to the UDP profiler (see $wgUDPProfilerHost)
1586 * false to disable
1587 */
1588 $wgStatsMethod = 'cache';
1589
1590 /** Whereas to count the number of time an article is viewed.
1591 * Does not work if pages are cached (for example with squid).
1592 */
1593 $wgDisableCounters = false;
1594
1595 $wgDisableTextSearch = false;
1596 $wgDisableSearchContext = false;
1597 /**
1598 * If you've disabled search semi-permanently, this also disables updates to the
1599 * table. If you ever re-enable, be sure to rebuild the search table.
1600 */
1601 $wgDisableSearchUpdate = false;
1602 /** Uploads have to be specially set up to be secure */
1603 $wgEnableUploads = false;
1604 /**
1605 * Show EXIF data, on by default if available.
1606 * Requires PHP's EXIF extension: http://www.php.net/manual/en/ref.exif.php
1607 *
1608 * NOTE FOR WINDOWS USERS:
1609 * To enable EXIF functions, add the folloing lines to the
1610 * "Windows extensions" section of php.ini:
1611 *
1612 * extension=extensions/php_mbstring.dll
1613 * extension=extensions/php_exif.dll
1614 */
1615 $wgShowEXIF = function_exists( 'exif_read_data' );
1616
1617 /**
1618 * Set to true to enable the upload _link_ while local uploads are disabled.
1619 * Assumes that the special page link will be bounced to another server where
1620 * uploads do work.
1621 */
1622 $wgRemoteUploads = false;
1623 $wgDisableAnonTalk = false;
1624 /**
1625 * Do DELETE/INSERT for link updates instead of incremental
1626 */
1627 $wgUseDumbLinkUpdate = false;
1628
1629 /**
1630 * Anti-lock flags - bitfield
1631 * ALF_PRELOAD_LINKS
1632 * Preload links during link update for save
1633 * ALF_PRELOAD_EXISTENCE
1634 * Preload cur_id during replaceLinkHolders
1635 * ALF_NO_LINK_LOCK
1636 * Don't use locking reads when updating the link table. This is
1637 * necessary for wikis with a high edit rate for performance
1638 * reasons, but may cause link table inconsistency
1639 * ALF_NO_BLOCK_LOCK
1640 * As for ALF_LINK_LOCK, this flag is a necessity for high-traffic
1641 * wikis.
1642 */
1643 $wgAntiLockFlags = 0;
1644
1645 /**
1646 * Path to the GNU diff3 utility. If the file doesn't exist, edit conflicts will
1647 * fall back to the old behaviour (no merging).
1648 */
1649 $wgDiff3 = '/usr/bin/diff3';
1650
1651 /**
1652 * We can also compress text stored in the 'text' table. If this is set on, new
1653 * revisions will be compressed on page save if zlib support is available. Any
1654 * compressed revisions will be decompressed on load regardless of this setting
1655 * *but will not be readable at all* if zlib support is not available.
1656 */
1657 $wgCompressRevisions = false;
1658
1659 /**
1660 * This is the list of preferred extensions for uploading files. Uploading files
1661 * with extensions not in this list will trigger a warning.
1662 */
1663 $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg' );
1664
1665 /** Files with these extensions will never be allowed as uploads. */
1666 $wgFileBlacklist = array(
1667 # HTML may contain cookie-stealing JavaScript and web bugs
1668 'html', 'htm', 'js', 'jsb', 'mhtml', 'mht',
1669 # PHP scripts may execute arbitrary code on the server
1670 'php', 'phtml', 'php3', 'php4', 'php5', 'phps',
1671 # Other types that may be interpreted by some servers
1672 'shtml', 'jhtml', 'pl', 'py', 'cgi',
1673 # May contain harmful executables for Windows victims
1674 'exe', 'scr', 'dll', 'msi', 'vbs', 'bat', 'com', 'pif', 'cmd', 'vxd', 'cpl' );
1675
1676 /** Files with these mime types will never be allowed as uploads
1677 * if $wgVerifyMimeType is enabled.
1678 */
1679 $wgMimeTypeBlacklist= array(
1680 # HTML may contain cookie-stealing JavaScript and web bugs
1681 'text/html', 'text/javascript', 'text/x-javascript', 'application/x-shellscript',
1682 # PHP scripts may execute arbitrary code on the server
1683 'application/x-php', 'text/x-php',
1684 # Other types that may be interpreted by some servers
1685 'text/x-python', 'text/x-perl', 'text/x-bash', 'text/x-sh', 'text/x-csh',
1686 # Windows metafile, client-side vulnerability on some systems
1687 'application/x-msmetafile'
1688 );
1689
1690 /** This is a flag to determine whether or not to check file extensions on upload. */
1691 $wgCheckFileExtensions = true;
1692
1693 /**
1694 * If this is turned off, users may override the warning for files not covered
1695 * by $wgFileExtensions.
1696 */
1697 $wgStrictFileExtensions = true;
1698
1699 /** Warn if uploaded files are larger than this (in bytes), or false to disable*/
1700 $wgUploadSizeWarning = false;
1701
1702 /** For compatibility with old installations set to false */
1703 $wgPasswordSalt = true;
1704
1705 /** Which namespaces should support subpages?
1706 * See Language.php for a list of namespaces.
1707 */
1708 $wgNamespacesWithSubpages = array(
1709 NS_TALK => true,
1710 NS_USER => true,
1711 NS_USER_TALK => true,
1712 NS_PROJECT_TALK => true,
1713 NS_IMAGE_TALK => true,
1714 NS_MEDIAWIKI_TALK => true,
1715 NS_TEMPLATE_TALK => true,
1716 NS_HELP_TALK => true,
1717 NS_CATEGORY_TALK => true
1718 );
1719
1720 $wgNamespacesToBeSearchedDefault = array(
1721 NS_MAIN => true,
1722 );
1723
1724 /**
1725 * Site notice shown at the top of each page
1726 *
1727 * This message can contain wiki text, and can also be set through the
1728 * MediaWiki:Sitenotice page. You can also provide a separate message for
1729 * logged-out users using the MediaWiki:Anonnotice page.
1730 */
1731 $wgSiteNotice = '';
1732
1733 #
1734 # Images settings
1735 #
1736
1737 /**
1738 * Plugins for media file type handling.
1739 * Each entry in the array maps a MIME type to a class name
1740 */
1741 $wgMediaHandlers = array(
1742 'image/jpeg' => 'BitmapHandler',
1743 'image/png' => 'BitmapHandler',
1744 'image/gif' => 'BitmapHandler',
1745 'image/x-ms-bmp' => 'BmpHandler',
1746 'image/x-bmp' => 'BmpHandler',
1747 'image/svg+xml' => 'SvgHandler', // official
1748 'image/svg' => 'SvgHandler', // compat
1749 'image/vnd.djvu' => 'DjVuHandler', // official
1750 'image/x.djvu' => 'DjVuHandler', // compat
1751 'image/x-djvu' => 'DjVuHandler', // compat
1752 );
1753
1754
1755 /**
1756 * Resizing can be done using PHP's internal image libraries or using
1757 * ImageMagick or another third-party converter, e.g. GraphicMagick.
1758 * These support more file formats than PHP, which only supports PNG,
1759 * GIF, JPG, XBM and WBMP.
1760 *
1761 * Use Image Magick instead of PHP builtin functions.
1762 */
1763 $wgUseImageMagick = false;
1764 /** The convert command shipped with ImageMagick */
1765 $wgImageMagickConvertCommand = '/usr/bin/convert';
1766
1767 /** Sharpening parameter to ImageMagick */
1768 $wgSharpenParameter = '0x0.4';
1769
1770 /** Reduction in linear dimensions below which sharpening will be enabled */
1771 $wgSharpenReductionThreshold = 0.85;
1772
1773 /**
1774 * Use another resizing converter, e.g. GraphicMagick
1775 * %s will be replaced with the source path, %d with the destination
1776 * %w and %h will be replaced with the width and height
1777 *
1778 * An example is provided for GraphicMagick
1779 * Leave as false to skip this
1780 */
1781 #$wgCustomConvertCommand = "gm convert %s -resize %wx%h %d"
1782 $wgCustomConvertCommand = false;
1783
1784 # Scalable Vector Graphics (SVG) may be uploaded as images.
1785 # Since SVG support is not yet standard in browsers, it is
1786 # necessary to rasterize SVGs to PNG as a fallback format.
1787 #
1788 # An external program is required to perform this conversion:
1789 $wgSVGConverters = array(
1790 'ImageMagick' => '$path/convert -background white -geometry $width $input PNG:$output',
1791 'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
1792 'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
1793 'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d $output $input',
1794 'rsvg' => '$path/rsvg -w$width -h$height $input $output',
1795 );
1796 /** Pick one of the above */
1797 $wgSVGConverter = 'ImageMagick';
1798 /** If not in the executable PATH, specify */
1799 $wgSVGConverterPath = '';
1800 /** Don't scale a SVG larger than this */
1801 $wgSVGMaxSize = 1024;
1802 /**
1803 * Don't thumbnail an image if it will use too much working memory
1804 * Default is 50 MB if decompressed to RGBA form, which corresponds to
1805 * 12.5 million pixels or 3500x3500
1806 */
1807 $wgMaxImageArea = 1.25e7;
1808 /**
1809 * If rendered thumbnail files are older than this timestamp, they
1810 * will be rerendered on demand as if the file didn't already exist.
1811 * Update if there is some need to force thumbs and SVG rasterizations
1812 * to rerender, such as fixes to rendering bugs.
1813 */
1814 $wgThumbnailEpoch = '20030516000000';
1815
1816 /**
1817 * If set, inline scaled images will still produce <img> tags ready for
1818 * output instead of showing an error message.
1819 *
1820 * This may be useful if errors are transitory, especially if the site
1821 * is configured to automatically render thumbnails on request.
1822 *
1823 * On the other hand, it may obscure error conditions from debugging.
1824 * Enable the debug log or the 'thumbnail' log group to make sure errors
1825 * are logged to a file for review.
1826 */
1827 $wgIgnoreImageErrors = false;
1828
1829 /**
1830 * Allow thumbnail rendering on page view. If this is false, a valid
1831 * thumbnail URL is still output, but no file will be created at
1832 * the target location. This may save some time if you have a
1833 * thumb.php or 404 handler set up which is faster than the regular
1834 * webserver(s).
1835 */
1836 $wgGenerateThumbnailOnParse = true;
1837
1838 /** Obsolete, always true, kept for compatibility with extensions */
1839 $wgUseImageResize = true;
1840
1841
1842 /** Set $wgCommandLineMode if it's not set already, to avoid notices */
1843 if( !isset( $wgCommandLineMode ) ) {
1844 $wgCommandLineMode = false;
1845 }
1846
1847 /** For colorized maintenance script output, is your terminal background dark ? */
1848 $wgCommandLineDarkBg = false;
1849
1850 #
1851 # Recent changes settings
1852 #
1853
1854 /** Log IP addresses in the recentchanges table; can be accessed only by extensions (e.g. CheckUser) or a DB admin */
1855 $wgPutIPinRC = true;
1856
1857 /**
1858 * Recentchanges items are periodically purged; entries older than this many
1859 * seconds will go.
1860 * For one week : 7 * 24 * 3600
1861 */
1862 $wgRCMaxAge = 7 * 24 * 3600;
1863
1864
1865 # Send RC updates via UDP
1866 $wgRC2UDPAddress = false;
1867 $wgRC2UDPPort = false;
1868 $wgRC2UDPPrefix = '';
1869
1870 #
1871 # Copyright and credits settings
1872 #
1873
1874 /** RDF metadata toggles */
1875 $wgEnableDublinCoreRdf = false;
1876 $wgEnableCreativeCommonsRdf = false;
1877
1878 /** Override for copyright metadata.
1879 * TODO: these options need documentation
1880 */
1881 $wgRightsPage = NULL;
1882 $wgRightsUrl = NULL;
1883 $wgRightsText = NULL;
1884 $wgRightsIcon = NULL;
1885
1886 /** Set this to some HTML to override the rights icon with an arbitrary logo */
1887 $wgCopyrightIcon = NULL;
1888
1889 /** Set this to true if you want detailed copyright information forms on Upload. */
1890 $wgUseCopyrightUpload = false;
1891
1892 /** Set this to false if you want to disable checking that detailed copyright
1893 * information values are not empty. */
1894 $wgCheckCopyrightUpload = true;
1895
1896 /**
1897 * Set this to the number of authors that you want to be credited below an
1898 * article text. Set it to zero to hide the attribution block, and a negative
1899 * number (like -1) to show all authors. Note that this will require 2-3 extra
1900 * database hits, which can have a not insignificant impact on performance for
1901 * large wikis.
1902 */
1903 $wgMaxCredits = 0;
1904
1905 /** If there are more than $wgMaxCredits authors, show $wgMaxCredits of them.
1906 * Otherwise, link to a separate credits page. */
1907 $wgShowCreditsIfMax = true;
1908
1909
1910
1911 /**
1912 * Set this to false to avoid forcing the first letter of links to capitals.
1913 * WARNING: may break links! This makes links COMPLETELY case-sensitive. Links
1914 * appearing with a capital at the beginning of a sentence will *not* go to the
1915 * same place as links in the middle of a sentence using a lowercase initial.
1916 */
1917 $wgCapitalLinks = true;
1918
1919 /**
1920 * List of interwiki prefixes for wikis we'll accept as sources for
1921 * Special:Import (for sysops). Since complete page history can be imported,
1922 * these should be 'trusted'.
1923 *
1924 * If a user has the 'import' permission but not the 'importupload' permission,
1925 * they will only be able to run imports through this transwiki interface.
1926 */
1927 $wgImportSources = array();
1928
1929 /**
1930 * Optional default target namespace for interwiki imports.
1931 * Can use this to create an incoming "transwiki"-style queue.
1932 * Set to numeric key, not the name.
1933 *
1934 * Users may override this in the Special:Import dialog.
1935 */
1936 $wgImportTargetNamespace = null;
1937
1938 /**
1939 * If set to false, disables the full-history option on Special:Export.
1940 * This is currently poorly optimized for long edit histories, so is
1941 * disabled on Wikimedia's sites.
1942 */
1943 $wgExportAllowHistory = true;
1944
1945 /**
1946 * If set nonzero, Special:Export requests for history of pages with
1947 * more revisions than this will be rejected. On some big sites things
1948 * could get bogged down by very very long pages.
1949 */
1950 $wgExportMaxHistory = 0;
1951
1952 $wgExportAllowListContributors = false ;
1953
1954
1955 /** Text matching this regular expression will be recognised as spam
1956 * See http://en.wikipedia.org/wiki/Regular_expression */
1957 $wgSpamRegex = false;
1958 /** Similarly you can get a function to do the job. The function will be given
1959 * the following args:
1960 * - a Title object for the article the edit is made on
1961 * - the text submitted in the textarea (wpTextbox1)
1962 * - the section number.
1963 * The return should be boolean indicating whether the edit matched some evilness:
1964 * - true : block it
1965 * - false : let it through
1966 *
1967 * For a complete example, have a look at the SpamBlacklist extension.
1968 */
1969 $wgFilterCallback = false;
1970
1971 /** Go button goes straight to the edit screen if the article doesn't exist. */
1972 $wgGoToEdit = false;
1973
1974 /** Allow raw, unchecked HTML in <html>...</html> sections.
1975 * THIS IS VERY DANGEROUS on a publically editable site, so USE wgGroupPermissions
1976 * TO RESTRICT EDITING to only those that you trust
1977 */
1978 $wgRawHtml = false;
1979
1980 /**
1981 * $wgUseTidy: use tidy to make sure HTML output is sane.
1982 * Tidy is a free tool that fixes broken HTML.
1983 * See http://www.w3.org/People/Raggett/tidy/
1984 * $wgTidyBin should be set to the path of the binary and
1985 * $wgTidyConf to the path of the configuration file.
1986 * $wgTidyOpts can include any number of parameters.
1987 *
1988 * $wgTidyInternal controls the use of the PECL extension to use an in-
1989 * process tidy library instead of spawning a separate program.
1990 * Normally you shouldn't need to override the setting except for
1991 * debugging. To install, use 'pear install tidy' and add a line
1992 * 'extension=tidy.so' to php.ini.
1993 */
1994 $wgUseTidy = false;
1995 $wgAlwaysUseTidy = false;
1996 $wgTidyBin = 'tidy';
1997 $wgTidyConf = $IP.'/includes/tidy.conf';
1998 $wgTidyOpts = '';
1999 $wgTidyInternal = extension_loaded( 'tidy' );
2000
2001 /**
2002 * Put tidy warnings in HTML comments
2003 * Only works for internal tidy.
2004 */
2005 $wgDebugTidy = false;
2006
2007 /**
2008 * Validate the overall output using tidy and refuse
2009 * to display the page if it's not valid.
2010 */
2011 $wgValidateAllHtml = false;
2012
2013 /** See list of skins and their symbolic names in languages/Language.php */
2014 $wgDefaultSkin = 'monobook';
2015
2016 /**
2017 * Settings added to this array will override the default globals for the user
2018 * preferences used by anonymous visitors and newly created accounts.
2019 * For instance, to disable section editing links:
2020 * $wgDefaultUserOptions ['editsection'] = 0;
2021 *
2022 */
2023 $wgDefaultUserOptions = array(
2024 'quickbar' => 1,
2025 'underline' => 2,
2026 'cols' => 80,
2027 'rows' => 25,
2028 'searchlimit' => 20,
2029 'contextlines' => 5,
2030 'contextchars' => 50,
2031 'skin' => false,
2032 'math' => 1,
2033 'rcdays' => 7,
2034 'rclimit' => 50,
2035 'wllimit' => 250,
2036 'highlightbroken' => 1,
2037 'stubthreshold' => 0,
2038 'previewontop' => 1,
2039 'editsection' => 1,
2040 'editsectiononrightclick'=> 0,
2041 'showtoc' => 1,
2042 'showtoolbar' => 1,
2043 'date' => 'default',
2044 'imagesize' => 2,
2045 'thumbsize' => 2,
2046 'rememberpassword' => 0,
2047 'enotifwatchlistpages' => 0,
2048 'enotifusertalkpages' => 1,
2049 'enotifminoredits' => 0,
2050 'enotifrevealaddr' => 0,
2051 'shownumberswatching' => 1,
2052 'fancysig' => 0,
2053 'externaleditor' => 0,
2054 'externaldiff' => 0,
2055 'showjumplinks' => 1,
2056 'numberheadings' => 0,
2057 'uselivepreview' => 0,
2058 'watchlistdays' => 3.0,
2059 );
2060
2061 /** Whether or not to allow and use real name fields. Defaults to true. */
2062 $wgAllowRealName = true;
2063
2064 /*****************************************************************************
2065 * Extensions
2066 */
2067
2068 /**
2069 * A list of callback functions which are called once MediaWiki is fully initialised
2070 */
2071 $wgExtensionFunctions = array();
2072
2073 /**
2074 * Extension functions for initialisation of skins. This is called somewhat earlier
2075 * than $wgExtensionFunctions.
2076 */
2077 $wgSkinExtensionFunctions = array();
2078
2079 /**
2080 * Extension messages files
2081 * Associative array mapping extension name to the filename where messages can be found.
2082 * The file must create a variable called $messages.
2083 * When the messages are needed, the extension should call wfLoadExtensionMessages().
2084 *
2085 * Example:
2086 * $wgExtensionMessagesFiles['ConfirmEdit'] = dirname(__FILE__).'/ConfirmEdit.i18n.php';
2087 *
2088 */
2089 $wgExtensionMessagesFiles = array();
2090
2091 /**
2092 * Parser output hooks.
2093 * This is an associative array where the key is an extension-defined tag
2094 * (typically the extension name), and the value is a PHP callback.
2095 * These will be called as an OutputPageParserOutput hook, if the relevant
2096 * tag has been registered with the parser output object.
2097 *
2098 * Registration is done with $pout->addOutputHook( $tag, $data ).
2099 *
2100 * The callback has the form:
2101 * function outputHook( $outputPage, $parserOutput, $data ) { ... }
2102 */
2103 $wgParserOutputHooks = array();
2104
2105 /**
2106 * List of valid skin names.
2107 * The key should be the name in all lower case, the value should be a display name.
2108 * The default skins will be added later, by Skin::getSkinNames(). Use
2109 * Skin::getSkinNames() as an accessor if you wish to have access to the full list.
2110 */
2111 $wgValidSkinNames = array();
2112
2113 /**
2114 * Special page list.
2115 * See the top of SpecialPage.php for documentation.
2116 */
2117 $wgSpecialPages = array();
2118
2119 /**
2120 * Array mapping class names to filenames, for autoloading.
2121 */
2122 $wgAutoloadClasses = array();
2123
2124 /**
2125 * An array of extension types and inside that their names, versions, authors,
2126 * urls, descriptions and pointers to localized description msgs. Note that
2127 * the version, url, description and descriptionmsg key can be omitted.
2128 *
2129 * <code>
2130 * $wgExtensionCredits[$type][] = array(
2131 * 'name' => 'Example extension',
2132 * 'version' => 1.9,
2133 * 'author' => 'Foo Barstein',
2134 * 'url' => 'http://wwww.example.com/Example%20Extension/',
2135 * 'description' => 'An example extension',
2136 * 'descriptionmsg' => 'exampleextension-desc',
2137 * );
2138 * </code>
2139 *
2140 * Where $type is 'specialpage', 'parserhook', 'variable', 'media' or 'other'.
2141 */
2142 $wgExtensionCredits = array();
2143 /*
2144 * end extensions
2145 ******************************************************************************/
2146
2147 /**
2148 * Allow user Javascript page?
2149 * This enables a lot of neat customizations, but may
2150 * increase security risk to users and server load.
2151 */
2152 $wgAllowUserJs = false;
2153
2154 /**
2155 * Allow user Cascading Style Sheets (CSS)?
2156 * This enables a lot of neat customizations, but may
2157 * increase security risk to users and server load.
2158 */
2159 $wgAllowUserCss = false;
2160
2161 /** Use the site's Javascript page? */
2162 $wgUseSiteJs = true;
2163
2164 /** Use the site's Cascading Style Sheets (CSS)? */
2165 $wgUseSiteCss = true;
2166
2167 /** Filter for Special:Randompage. Part of a WHERE clause */
2168 $wgExtraRandompageSQL = false;
2169
2170 /** Allow the "info" action, very inefficient at the moment */
2171 $wgAllowPageInfo = false;
2172
2173 /** Maximum indent level of toc. */
2174 $wgMaxTocLevel = 999;
2175
2176 /** Name of the external diff engine to use */
2177 $wgExternalDiffEngine = false;
2178
2179 /** Use RC Patrolling to check for vandalism */
2180 $wgUseRCPatrol = true;
2181
2182 /** Use new page patrolling to check new pages on Special:Newpages */
2183 $wgUseNPPatrol = true;
2184
2185 /** Provide syndication feeds (RSS, Atom) for, e.g., Recentchanges, Newpages */
2186 $wgFeed = true;
2187
2188 /** Set maximum number of results to return in syndication feeds (RSS, Atom) for
2189 * eg Recentchanges, Newpages. */
2190 $wgFeedLimit = 50;
2191
2192 /** _Minimum_ timeout for cached Recentchanges feed, in seconds.
2193 * A cached version will continue to be served out even if changes
2194 * are made, until this many seconds runs out since the last render.
2195 *
2196 * If set to 0, feed caching is disabled. Use this for debugging only;
2197 * feed generation can be pretty slow with diffs.
2198 */
2199 $wgFeedCacheTimeout = 60;
2200
2201 /** When generating Recentchanges RSS/Atom feed, diffs will not be generated for
2202 * pages larger than this size. */
2203 $wgFeedDiffCutoff = 32768;
2204
2205
2206 /**
2207 * Additional namespaces. If the namespaces defined in Language.php and
2208 * Namespace.php are insufficient, you can create new ones here, for example,
2209 * to import Help files in other languages.
2210 * PLEASE NOTE: Once you delete a namespace, the pages in that namespace will
2211 * no longer be accessible. If you rename it, then you can access them through
2212 * the new namespace name.
2213 *
2214 * Custom namespaces should start at 100 to avoid conflicting with standard
2215 * namespaces, and should always follow the even/odd main/talk pattern.
2216 */
2217 #$wgExtraNamespaces =
2218 # array(100 => "Hilfe",
2219 # 101 => "Hilfe_Diskussion",
2220 # 102 => "Aide",
2221 # 103 => "Discussion_Aide"
2222 # );
2223 $wgExtraNamespaces = NULL;
2224
2225 /**
2226 * Namespace aliases
2227 * These are alternate names for the primary localised namespace names, which
2228 * are defined by $wgExtraNamespaces and the language file. If a page is
2229 * requested with such a prefix, the request will be redirected to the primary
2230 * name.
2231 *
2232 * Set this to a map from namespace names to IDs.
2233 * Example:
2234 * $wgNamespaceAliases = array(
2235 * 'Wikipedian' => NS_USER,
2236 * 'Help' => 100,
2237 * );
2238 */
2239 $wgNamespaceAliases = array();
2240
2241 /**
2242 * Limit images on image description pages to a user-selectable limit. In order
2243 * to reduce disk usage, limits can only be selected from a list.
2244 * The user preference is saved as an array offset in the database, by default
2245 * the offset is set with $wgDefaultUserOptions['imagesize']. Make sure you
2246 * change it if you alter the array (see bug 8858).
2247 * This is the list of settings the user can choose from:
2248 */
2249 $wgImageLimits = array (
2250 array(320,240),
2251 array(640,480),
2252 array(800,600),
2253 array(1024,768),
2254 array(1280,1024),
2255 array(10000,10000) );
2256
2257 /**
2258 * Adjust thumbnails on image pages according to a user setting. In order to
2259 * reduce disk usage, the values can only be selected from a list. This is the
2260 * list of settings the user can choose from:
2261 */
2262 $wgThumbLimits = array(
2263 120,
2264 150,
2265 180,
2266 200,
2267 250,
2268 300
2269 );
2270
2271 /**
2272 * Adjust width of upright images when parameter 'upright' is used
2273 * This allows a nicer look for upright images without the need to fix the width
2274 * by hardcoded px in wiki sourcecode.
2275 */
2276 $wgThumbUpright = 0.75;
2277
2278 /**
2279 * On category pages, show thumbnail gallery for images belonging to that
2280 * category instead of listing them as articles.
2281 */
2282 $wgCategoryMagicGallery = true;
2283
2284 /**
2285 * Paging limit for categories
2286 */
2287 $wgCategoryPagingLimit = 200;
2288
2289 /**
2290 * Browser Blacklist for unicode non compliant browsers
2291 * Contains a list of regexps : "/regexp/" matching problematic browsers
2292 */
2293 $wgBrowserBlackList = array(
2294 /**
2295 * Netscape 2-4 detection
2296 * The minor version may contain strings such as "Gold" or "SGoldC-SGI"
2297 * Lots of non-netscape user agents have "compatible", so it's useful to check for that
2298 * with a negative assertion. The [UIN] identifier specifies the level of security
2299 * in a Netscape/Mozilla browser, checking for it rules out a number of fakers.
2300 * The language string is unreliable, it is missing on NS4 Mac.
2301 *
2302 * Reference: http://www.psychedelix.com/agents/index.shtml
2303 */
2304 '/^Mozilla\/2\.[^ ]+ [^(]*?\((?!compatible).*; [UIN]/',
2305 '/^Mozilla\/3\.[^ ]+ [^(]*?\((?!compatible).*; [UIN]/',
2306 '/^Mozilla\/4\.[^ ]+ [^(]*?\((?!compatible).*; [UIN]/',
2307
2308 /**
2309 * MSIE on Mac OS 9 is teh sux0r, converts þ to <thorn>, ð to <eth>, Þ to <THORN> and Ð to <ETH>
2310 *
2311 * Known useragents:
2312 * - Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC)
2313 * - Mozilla/4.0 (compatible; MSIE 5.15; Mac_PowerPC)
2314 * - Mozilla/4.0 (compatible; MSIE 5.23; Mac_PowerPC)
2315 * - [...]
2316 *
2317 * @link http://en.wikipedia.org/w/index.php?title=User%3A%C6var_Arnfj%F6r%F0_Bjarmason%2Ftestme&diff=12356041&oldid=12355864
2318 * @link http://en.wikipedia.org/wiki/Template%3AOS9
2319 */
2320 '/^Mozilla\/4\.0 \(compatible; MSIE \d+\.\d+; Mac_PowerPC\)/',
2321
2322 /**
2323 * Google wireless transcoder, seems to eat a lot of chars alive
2324 * http://it.wikipedia.org/w/index.php?title=Luciano_Ligabue&diff=prev&oldid=8857361
2325 */
2326 '/^Mozilla\/4\.0 \(compatible; MSIE 6.0; Windows NT 5.0; Google Wireless Transcoder;\)/'
2327 );
2328
2329 /**
2330 * Fake out the timezone that the server thinks it's in. This will be used for
2331 * date display and not for what's stored in the DB. Leave to null to retain
2332 * your server's OS-based timezone value. This is the same as the timezone.
2333 *
2334 * This variable is currently used ONLY for signature formatting, not for
2335 * anything else.
2336 */
2337 # $wgLocaltimezone = 'GMT';
2338 # $wgLocaltimezone = 'PST8PDT';
2339 # $wgLocaltimezone = 'Europe/Sweden';
2340 # $wgLocaltimezone = 'CET';
2341 $wgLocaltimezone = null;
2342
2343 /**
2344 * Set an offset from UTC in minutes to use for the default timezone setting
2345 * for anonymous users and new user accounts.
2346 *
2347 * This setting is used for most date/time displays in the software, and is
2348 * overrideable in user preferences. It is *not* used for signature timestamps.
2349 *
2350 * You can set it to match the configured server timezone like this:
2351 * $wgLocalTZoffset = date("Z") / 60;
2352 *
2353 * If your server is not configured for the timezone you want, you can set
2354 * this in conjunction with the signature timezone and override the TZ
2355 * environment variable like so:
2356 * $wgLocaltimezone="Europe/Berlin";
2357 * putenv("TZ=$wgLocaltimezone");
2358 * $wgLocalTZoffset = date("Z") / 60;
2359 *
2360 * Leave at NULL to show times in universal time (UTC/GMT).
2361 */
2362 $wgLocalTZoffset = null;
2363
2364
2365 /**
2366 * When translating messages with wfMsg(), it is not always clear what should be
2367 * considered UI messages and what shoud be content messages.
2368 *
2369 * For example, for regular wikipedia site like en, there should be only one
2370 * 'mainpage', therefore when getting the link of 'mainpage', we should treate
2371 * it as content of the site and call wfMsgForContent(), while for rendering the
2372 * text of the link, we call wfMsg(). The code in default behaves this way.
2373 * However, sites like common do offer different versions of 'mainpage' and the
2374 * like for different languages. This array provides a way to override the
2375 * default behavior. For example, to allow language specific mainpage and
2376 * community portal, set
2377 *
2378 * $wgForceUIMsgAsContentMsg = array( 'mainpage', 'portal-url' );
2379 */
2380 $wgForceUIMsgAsContentMsg = array();
2381
2382
2383 /**
2384 * Authentication plugin.
2385 */
2386 $wgAuth = null;
2387
2388 /**
2389 * Global list of hooks.
2390 * Add a hook by doing:
2391 * $wgHooks['event_name'][] = $function;
2392 * or:
2393 * $wgHooks['event_name'][] = array($function, $data);
2394 * or:
2395 * $wgHooks['event_name'][] = array($object, 'method');
2396 */
2397 $wgHooks = array();
2398
2399 /**
2400 * The logging system has two levels: an event type, which describes the
2401 * general category and can be viewed as a named subset of all logs; and
2402 * an action, which is a specific kind of event that can exist in that
2403 * log type.
2404 */
2405 $wgLogTypes = array( '',
2406 'block',
2407 'protect',
2408 'rights',
2409 'delete',
2410 'upload',
2411 'move',
2412 'import',
2413 'patrol',
2414 'merge',
2415 'suppress',
2416 );
2417
2418 /**
2419 * This restricts log access to those who have a certain right
2420 * Users without this will not see it in the option menu and can not view it
2421 * Restricted logs are not added to recent changes
2422 * Logs should remain non-transcludable
2423 */
2424 $wgLogRestrictions = array(
2425 'suppress' => 'suppress'
2426 );
2427
2428 /**
2429 * Lists the message key string for each log type. The localized messages
2430 * will be listed in the user interface.
2431 *
2432 * Extensions with custom log types may add to this array.
2433 */
2434 $wgLogNames = array(
2435 '' => 'all-logs-page',
2436 'block' => 'blocklogpage',
2437 'protect' => 'protectlogpage',
2438 'rights' => 'rightslog',
2439 'delete' => 'dellogpage',
2440 'upload' => 'uploadlogpage',
2441 'move' => 'movelogpage',
2442 'import' => 'importlogpage',
2443 'patrol' => 'patrol-log-page',
2444 'merge' => 'mergelog',
2445 'suppress' => 'suppressionlog',
2446 );
2447
2448 /**
2449 * Lists the message key string for descriptive text to be shown at the
2450 * top of each log type.
2451 *
2452 * Extensions with custom log types may add to this array.
2453 */
2454 $wgLogHeaders = array(
2455 '' => 'alllogstext',
2456 'block' => 'blocklogtext',
2457 'protect' => 'protectlogtext',
2458 'rights' => 'rightslogtext',
2459 'delete' => 'dellogpagetext',
2460 'upload' => 'uploadlogpagetext',
2461 'move' => 'movelogpagetext',
2462 'import' => 'importlogpagetext',
2463 'patrol' => 'patrol-log-header',
2464 'merge' => 'mergelogpagetext',
2465 'suppress' => 'suppressionlogtext',
2466 );
2467
2468 /**
2469 * Lists the message key string for formatting individual events of each
2470 * type and action when listed in the logs.
2471 *
2472 * Extensions with custom log types may add to this array.
2473 */
2474 $wgLogActions = array(
2475 'block/block' => 'blocklogentry',
2476 'block/unblock' => 'unblocklogentry',
2477 'protect/protect' => 'protectedarticle',
2478 'protect/modify' => 'modifiedarticleprotection',
2479 'protect/unprotect' => 'unprotectedarticle',
2480 'rights/rights' => 'rightslogentry',
2481 'delete/delete' => 'deletedarticle',
2482 'delete/restore' => 'undeletedarticle',
2483 'delete/revision' => 'revdelete-logentry',
2484 'delete/event' => 'logdelete-logentry',
2485 'upload/upload' => 'uploadedimage',
2486 'upload/overwrite' => 'overwroteimage',
2487 'upload/revert' => 'uploadedimage',
2488 'move/move' => '1movedto2',
2489 'move/move_redir' => '1movedto2_redir',
2490 'import/upload' => 'import-logentry-upload',
2491 'import/interwiki' => 'import-logentry-interwiki',
2492 'merge/merge' => 'pagemerge-logentry',
2493 'suppress/revision' => 'revdelete-logentry',
2494 'suppress/file' => 'revdelete-logentry',
2495 'suppress/event' => 'logdelete-logentry',
2496 'suppress/delete' => 'suppressedarticle',
2497 'suppress/block' => 'blocklogentry',
2498 );
2499
2500 /**
2501 * Experimental preview feature to fetch rendered text
2502 * over an XMLHttpRequest from JavaScript instead of
2503 * forcing a submit and reload of the whole page.
2504 * Leave disabled unless you're testing it.
2505 */
2506 $wgLivePreview = false;
2507
2508 /**
2509 * Disable the internal MySQL-based search, to allow it to be
2510 * implemented by an extension instead.
2511 */
2512 $wgDisableInternalSearch = false;
2513
2514 /**
2515 * Set this to a URL to forward search requests to some external location.
2516 * If the URL includes '$1', this will be replaced with the URL-encoded
2517 * search term.
2518 *
2519 * For example, to forward to Google you'd have something like:
2520 * $wgSearchForwardUrl = 'http://www.google.com/search?q=$1' .
2521 * '&domains=http://example.com' .
2522 * '&sitesearch=http://example.com' .
2523 * '&ie=utf-8&oe=utf-8';
2524 */
2525 $wgSearchForwardUrl = null;
2526
2527 /**
2528 * If true, external URL links in wiki text will be given the
2529 * rel="nofollow" attribute as a hint to search engines that
2530 * they should not be followed for ranking purposes as they
2531 * are user-supplied and thus subject to spamming.
2532 */
2533 $wgNoFollowLinks = true;
2534
2535 /**
2536 * Namespaces in which $wgNoFollowLinks doesn't apply.
2537 * See Language.php for a list of namespaces.
2538 */
2539 $wgNoFollowNsExceptions = array();
2540
2541 /**
2542 * Default robot policy.
2543 * The default policy is to encourage indexing and following of links.
2544 * It may be overridden on a per-namespace and/or per-page basis.
2545 */
2546 $wgDefaultRobotPolicy = 'index,follow';
2547
2548 /**
2549 * Robot policies per namespaces.
2550 * The default policy is given above, the array is made of namespace
2551 * constants as defined in includes/Defines.php
2552 * Example:
2553 * $wgNamespaceRobotPolicies = array( NS_TALK => 'noindex' );
2554 */
2555 $wgNamespaceRobotPolicies = array();
2556
2557 /**
2558 * Robot policies per article.
2559 * These override the per-namespace robot policies.
2560 * Must be in the form of an array where the key part is a properly
2561 * canonicalised text form title and the value is a robot policy.
2562 * Example:
2563 * $wgArticleRobotPolicies = array( 'Main Page' => 'noindex' );
2564 */
2565 $wgArticleRobotPolicies = array();
2566
2567 /**
2568 * Specifies the minimal length of a user password. If set to
2569 * 0, empty passwords are allowed.
2570 */
2571 $wgMinimalPasswordLength = 0;
2572
2573 /**
2574 * Activate external editor interface for files and pages
2575 * See http://meta.wikimedia.org/wiki/Help:External_editors
2576 */
2577 $wgUseExternalEditor = true;
2578
2579 /** Whether or not to sort special pages in Special:Specialpages */
2580
2581 $wgSortSpecialPages = true;
2582
2583 /**
2584 * Specify the name of a skin that should not be presented in the
2585 * list of available skins.
2586 * Use for blacklisting a skin which you do not want to remove
2587 * from the .../skins/ directory
2588 */
2589 $wgSkipSkin = '';
2590 $wgSkipSkins = array(); # More of the same
2591
2592 /**
2593 * Array of disabled article actions, e.g. view, edit, dublincore, delete, etc.
2594 */
2595 $wgDisabledActions = array();
2596
2597 /**
2598 * Disable redirects to special pages and interwiki redirects, which use a 302 and have no "redirected from" link
2599 */
2600 $wgDisableHardRedirects = false;
2601
2602 /**
2603 * Use http.dnsbl.sorbs.net to check for open proxies
2604 */
2605 $wgEnableSorbs = false;
2606 $wgSorbsUrl = 'http.dnsbl.sorbs.net.';
2607
2608 /**
2609 * Proxy whitelist, list of addresses that are assumed to be non-proxy despite what the other
2610 * methods might say
2611 */
2612 $wgProxyWhitelist = array();
2613
2614 /**
2615 * Simple rate limiter options to brake edit floods.
2616 * Maximum number actions allowed in the given number of seconds;
2617 * after that the violating client receives HTTP 500 error pages
2618 * until the period elapses.
2619 *
2620 * array( 4, 60 ) for a maximum of 4 hits in 60 seconds.
2621 *
2622 * This option set is experimental and likely to change.
2623 * Requires memcached.
2624 */
2625 $wgRateLimits = array(
2626 'edit' => array(
2627 'anon' => null, // for any and all anonymous edits (aggregate)
2628 'user' => null, // for each logged-in user
2629 'newbie' => null, // for each recent (autoconfirmed) account; overrides 'user'
2630 'ip' => null, // for each anon and recent account
2631 'subnet' => null, // ... with final octet removed
2632 ),
2633 'move' => array(
2634 'user' => null,
2635 'newbie' => null,
2636 'ip' => null,
2637 'subnet' => null,
2638 ),
2639 'mailpassword' => array(
2640 'anon' => NULL,
2641 ),
2642 'emailuser' => array(
2643 'user' => null,
2644 ),
2645 );
2646
2647 /**
2648 * Set to a filename to log rate limiter hits.
2649 */
2650 $wgRateLimitLog = null;
2651
2652 /**
2653 * Array of groups which should never trigger the rate limiter
2654 */
2655 $wgRateLimitsExcludedGroups = array( 'sysop', 'bureaucrat' );
2656
2657 /**
2658 * On Special:Unusedimages, consider images "used", if they are put
2659 * into a category. Default (false) is not to count those as used.
2660 */
2661 $wgCountCategorizedImagesAsUsed = false;
2662
2663 /**
2664 * External stores allow including content
2665 * from non database sources following URL links
2666 *
2667 * Short names of ExternalStore classes may be specified in an array here:
2668 * $wgExternalStores = array("http","file","custom")...
2669 *
2670 * CAUTION: Access to database might lead to code execution
2671 */
2672 $wgExternalStores = false;
2673
2674 /**
2675 * An array of external mysql servers, e.g.
2676 * $wgExternalServers = array( 'cluster1' => array( 'srv28', 'srv29', 'srv30' ) );
2677 * Used by LBFactory_Simple, may be ignored if $wgLBFactoryConf is set to another class.
2678 */
2679 $wgExternalServers = array();
2680
2681 /**
2682 * The place to put new revisions, false to put them in the local text table.
2683 * Part of a URL, e.g. DB://cluster1
2684 *
2685 * Can be an array instead of a single string, to enable data distribution. Keys
2686 * must be consecutive integers, starting at zero. Example:
2687 *
2688 * $wgDefaultExternalStore = array( 'DB://cluster1', 'DB://cluster2' );
2689 *
2690 */
2691 $wgDefaultExternalStore = false;
2692
2693 /**
2694 * Revision text may be cached in $wgMemc to reduce load on external storage
2695 * servers and object extraction overhead for frequently-loaded revisions.
2696 *
2697 * Set to 0 to disable, or number of seconds before cache expiry.
2698 */
2699 $wgRevisionCacheExpiry = 0;
2700
2701 /**
2702 * list of trusted media-types and mime types.
2703 * Use the MEDIATYPE_xxx constants to represent media types.
2704 * This list is used by Image::isSafeFile
2705 *
2706 * Types not listed here will have a warning about unsafe content
2707 * displayed on the images description page. It would also be possible
2708 * to use this for further restrictions, like disabling direct
2709 * [[media:...]] links for non-trusted formats.
2710 */
2711 $wgTrustedMediaFormats= array(
2712 MEDIATYPE_BITMAP, //all bitmap formats
2713 MEDIATYPE_AUDIO, //all audio formats
2714 MEDIATYPE_VIDEO, //all plain video formats
2715 "image/svg+xml", //svg (only needed if inline rendering of svg is not supported)
2716 "application/pdf", //PDF files
2717 #"application/x-shockwave-flash", //flash/shockwave movie
2718 );
2719
2720 /**
2721 * Allow special page inclusions such as {{Special:Allpages}}
2722 */
2723 $wgAllowSpecialInclusion = true;
2724
2725 /**
2726 * Timeout for HTTP requests done via CURL
2727 */
2728 $wgHTTPTimeout = 3;
2729
2730 /**
2731 * Proxy to use for CURL requests.
2732 */
2733 $wgHTTPProxy = false;
2734
2735 /**
2736 * Enable interwiki transcluding. Only when iw_trans=1.
2737 */
2738 $wgEnableScaryTranscluding = false;
2739 /**
2740 * Expiry time for interwiki transclusion
2741 */
2742 $wgTranscludeCacheExpiry = 3600;
2743
2744 /**
2745 * Support blog-style "trackbacks" for articles. See
2746 * http://www.sixapart.com/pronet/docs/trackback_spec for details.
2747 */
2748 $wgUseTrackbacks = false;
2749
2750 /**
2751 * Enable filtering of categories in Recentchanges
2752 */
2753 $wgAllowCategorizedRecentChanges = false ;
2754
2755 /**
2756 * Number of jobs to perform per request. May be less than one in which case
2757 * jobs are performed probabalistically. If this is zero, jobs will not be done
2758 * during ordinary apache requests. In this case, maintenance/runJobs.php should
2759 * be run periodically.
2760 */
2761 $wgJobRunRate = 1;
2762
2763 /**
2764 * Number of rows to update per job
2765 */
2766 $wgUpdateRowsPerJob = 500;
2767
2768 /**
2769 * Number of rows to update per query
2770 */
2771 $wgUpdateRowsPerQuery = 10;
2772
2773 /**
2774 * Enable AJAX framework
2775 */
2776 $wgUseAjax = true;
2777
2778 /**
2779 * Enable auto suggestion for the search bar
2780 * Requires $wgUseAjax to be true too.
2781 * Causes wfSajaxSearch to be added to $wgAjaxExportList
2782 */
2783 $wgAjaxSearch = false;
2784
2785 /**
2786 * List of Ajax-callable functions.
2787 * Extensions acting as Ajax callbacks must register here
2788 */
2789 $wgAjaxExportList = array( );
2790
2791 /**
2792 * Enable watching/unwatching pages using AJAX.
2793 * Requires $wgUseAjax to be true too.
2794 * Causes wfAjaxWatch to be added to $wgAjaxExportList
2795 */
2796 $wgAjaxWatch = true;
2797
2798 /**
2799 * Enable AJAX check for file overwrite, pre-upload
2800 */
2801 $wgAjaxUploadDestCheck = true;
2802
2803 /**
2804 * Enable previewing licences via AJAX
2805 */
2806 $wgAjaxLicensePreview = true;
2807
2808 /**
2809 * Allow DISPLAYTITLE to change title display
2810 */
2811 $wgAllowDisplayTitle = true;
2812
2813 /**
2814 * Array of usernames which may not be registered or logged in from
2815 * Maintenance scripts can still use these
2816 */
2817 $wgReservedUsernames = array(
2818 'MediaWiki default', // Default 'Main Page' and MediaWiki: message pages
2819 'Conversion script', // Used for the old Wikipedia software upgrade
2820 'Maintenance script', // Maintenance scripts which perform editing, image import script
2821 'Template namespace initialisation script', // Used in 1.2->1.3 upgrade
2822 );
2823
2824 /**
2825 * MediaWiki will reject HTMLesque tags in uploaded files due to idiotic browsers which can't
2826 * perform basic stuff like MIME detection and which are vulnerable to further idiots uploading
2827 * crap files as images. When this directive is on, <title> will be allowed in files with
2828 * an "image/svg+xml" MIME type. You should leave this disabled if your web server is misconfigured
2829 * and doesn't send appropriate MIME types for SVG images.
2830 */
2831 $wgAllowTitlesInSVG = false;
2832
2833 /**
2834 * Array of namespaces which can be deemed to contain valid "content", as far
2835 * as the site statistics are concerned. Useful if additional namespaces also
2836 * contain "content" which should be considered when generating a count of the
2837 * number of articles in the wiki.
2838 */
2839 $wgContentNamespaces = array( NS_MAIN );
2840
2841 /**
2842 * Maximum amount of virtual memory available to shell processes under linux, in KB.
2843 */
2844 $wgMaxShellMemory = 102400;
2845
2846 /**
2847 * Maximum file size created by shell processes under linux, in KB
2848 * ImageMagick convert for example can be fairly hungry for scratch space
2849 */
2850 $wgMaxShellFileSize = 102400;
2851
2852 /**
2853 * DJVU settings
2854 * Path of the djvudump executable
2855 * Enable this and $wgDjvuRenderer to enable djvu rendering
2856 */
2857 # $wgDjvuDump = 'djvudump';
2858 $wgDjvuDump = null;
2859
2860 /**
2861 * Path of the ddjvu DJVU renderer
2862 * Enable this and $wgDjvuDump to enable djvu rendering
2863 */
2864 # $wgDjvuRenderer = 'ddjvu';
2865 $wgDjvuRenderer = null;
2866
2867 /**
2868 * Path of the djvutoxml executable
2869 * This works like djvudump except much, much slower as of version 3.5.
2870 *
2871 * For now I recommend you use djvudump instead. The djvuxml output is
2872 * probably more stable, so we'll switch back to it as soon as they fix
2873 * the efficiency problem.
2874 * http://sourceforge.net/tracker/index.php?func=detail&aid=1704049&group_id=32953&atid=406583
2875 */
2876 # $wgDjvuToXML = 'djvutoxml';
2877 $wgDjvuToXML = null;
2878
2879
2880 /**
2881 * Shell command for the DJVU post processor
2882 * Default: pnmtopng, since ddjvu generates ppm output
2883 * Set this to false to output the ppm file directly.
2884 */
2885 $wgDjvuPostProcessor = 'pnmtojpeg';
2886 /**
2887 * File extension for the DJVU post processor output
2888 */
2889 $wgDjvuOutputExtension = 'jpg';
2890
2891 /**
2892 * Enable the MediaWiki API for convenient access to
2893 * machine-readable data via api.php
2894 *
2895 * See http://www.mediawiki.org/wiki/API
2896 */
2897 $wgEnableAPI = true;
2898
2899 /**
2900 * Allow the API to be used to perform write operations
2901 * (page edits, rollback, etc.) when an authorised user
2902 * accesses it
2903 */
2904 $wgEnableWriteAPI = false;
2905
2906 /**
2907 * API module extensions
2908 * Associative array mapping module name to class name.
2909 * Extension modules may override the core modules.
2910 */
2911 $wgAPIModules = array();
2912
2913 /**
2914 * Maximum amount of rows to scan in a DB query in the API
2915 * The default value is generally fine
2916 */
2917 $wgAPIMaxDBRows = 5000;
2918
2919 /**
2920 * Parser test suite files to be run by parserTests.php when no specific
2921 * filename is passed to it.
2922 *
2923 * Extensions may add their own tests to this array, or site-local tests
2924 * may be added via LocalSettings.php
2925 *
2926 * Use full paths.
2927 */
2928 $wgParserTestFiles = array(
2929 "$IP/maintenance/parserTests.txt",
2930 );
2931
2932 /**
2933 * Break out of framesets. This can be used to prevent external sites from
2934 * framing your site with ads.
2935 */
2936 $wgBreakFrames = false;
2937
2938 /**
2939 * Set this to an array of special page names to prevent
2940 * maintenance/updateSpecialPages.php from updating those pages.
2941 */
2942 $wgDisableQueryPageUpdate = false;
2943
2944 /**
2945 * Set this to false to disable cascading protection
2946 */
2947 $wgEnableCascadingProtection = true;
2948
2949 /**
2950 * Disable output compression (enabled by default if zlib is available)
2951 */
2952 $wgDisableOutputCompression = false;
2953
2954 /**
2955 * If lag is higher than $wgSlaveLagWarning, show a warning in some special
2956 * pages (like watchlist). If the lag is higher than $wgSlaveLagCritical,
2957 * show a more obvious warning.
2958 */
2959 $wgSlaveLagWarning = 10;
2960 $wgSlaveLagCritical = 30;
2961
2962 /**
2963 * Parser configuration. Associative array with the following members:
2964 *
2965 * class The class name
2966 * preprocessorClass The preprocessor class, by default it is Preprocessor_DOM
2967 * but it has a dependency of the dom module of PHP. If you
2968 * don't have this module, you can use Preprocessor_Hash wich
2969 * has not this depedency.
2970 * It has no effect with Parser_OldPP parser class.
2971 *
2972 *
2973 * The entire associative array will be passed through to the constructor as
2974 * the first parameter. Note that only Setup.php can use this variable --
2975 * the configuration will change at runtime via $wgParser member functions, so
2976 * the contents of this variable will be out-of-date. The variable can only be
2977 * changed during LocalSettings.php, in particular, it can't be changed during
2978 * an extension setup function.
2979 */
2980 $wgParserConf = array(
2981 'class' => 'Parser',
2982 'preprocessorClass' => 'Preprocessor_DOM',
2983 );
2984
2985 /**
2986 * Hooks that are used for outputting exceptions
2987 * Format is:
2988 * $wgExceptionHooks[] = $funcname
2989 * or:
2990 * $wgExceptionHooks[] = array( $class, $funcname )
2991 * Hooks should return strings or false
2992 */
2993 $wgExceptionHooks = array();
2994
2995 /**
2996 * Page property link table invalidation lists.
2997 * Should only be set by extensions.
2998 */
2999 $wgPagePropLinkInvalidations = array(
3000 'hiddencat' => 'categorylinks',
3001 );
3002
3003 /**
3004 * Maximum number of links to a redirect page listed on
3005 * Special:Whatlinkshere/RedirectDestination
3006 */
3007 $wgMaxRedirectLinksRetrieved = 500;
3008
3009 /**
3010 * Maximum number of calls to expensive parser functions
3011 * such as PAGESINCATEGORY.
3012 */
3013 $wgExpensiveParserFunctionLimit = 100;