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