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