fixed potential XSS vulnerability
[mediawiki.git] / includes / DefaultSettings.php
blob6b3c96cdb8f312cb81012955eca1ccccdc04a425
1 <?php
2 /**
3 * DO NOT EDIT THIS FILE!
5 * To customize your installation, edit "LocalSettings.php".
7 * Note that since all these string interpolations are expanded
8 * before LocalSettings is included, if you localize something
9 * like $wgScriptPath, you must also localize everything that
10 * depends on it.
12 * @package MediaWiki
15 # This is not a valid entry point, perform no further processing unless MEDIAWIKI is defined
16 if( defined( 'MEDIAWIKI' ) ) {
18 /** MediaWiki version number */
19 $wgVersion = '1.5alpha1';
21 /** Name of the site. It must be changed in LocalSettings.php */
22 $wgSitename = 'MediaWiki';
24 /** Will be same as you set @see $wgSitename */
25 $wgMetaNamespace = FALSE;
27 /** URL of the server. It will be automaticly build including https mode */
28 $wgServer = '';
30 if( isset( $_SERVER['SERVER_NAME'] ) ) {
31 $wgServerName = $_SERVER['SERVER_NAME'];
32 } elseif( isset( $_SERVER['HOSTNAME'] ) ) {
33 $wgServerName = $_SERVER['HOSTNAME'];
34 } elseif( isset( $_SERVER['HTTP_HOST'] ) ) {
35 $wgServerName = $_SERVER['HTTP_HOST'];
36 } elseif( isset( $_SERVER['SERVER_ADDR'] ) ) {
37 $wgServerName = $_SERVER['SERVER_ADDR'];
38 } else {
39 $wgServerName = 'localhost';
42 # check if server use https:
43 $wgProto = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http';
45 $wgServer = $wgProto.'://' . $wgServerName;
46 # If the port is a non-standard one, add it to the URL
47 if( isset( $_SERVER['SERVER_PORT'] )
48 && ( ( $wgProto == 'http' && $_SERVER['SERVER_PORT'] != 80 )
49 || ( $wgProto == 'https' && $_SERVER['SERVER_PORT'] != 443 ) ) ) {
51 $wgServer .= ":" . $_SERVER['SERVER_PORT'];
53 unset($wgProto);
56 /**
57 * The path we should point to.
58 * It might be a virtual path in case with use apache mod_rewrite for example
60 $wgScriptPath = '/wiki';
62 /**
63 * Whether to support URLs like index.php/Page_title
64 * @global bool $wgUsePathInfo
66 $wgUsePathInfo = ( strpos( php_sapi_name(), 'cgi' ) === false );
69 /**#@+
70 * Script users will request to get articles
71 * ATTN: Old installations used wiki.phtml and redirect.phtml -
72 * make sure that LocalSettings.php is correctly set!
73 * @deprecated
75 /**
76 * @global string $wgScript
78 $wgScript = "{$wgScriptPath}/index.php";
79 /**
80 * @global string $wgRedirectScript
82 $wgRedirectScript = "{$wgScriptPath}/redirect.php";
83 /**#@-*/
86 /**#@+
87 * @global string
89 /**
90 * style path as seen by users
91 * @global string $wgStylePath
93 $wgStylePath = "{$wgScriptPath}/skins";
94 /**
95 * filesystem stylesheets directory
96 * @global string $wgStyleDirectory
98 $wgStyleDirectory = "{$IP}/skins";
99 $wgStyleSheetPath = &$wgStylePath;
100 $wgArticlePath = "{$wgScript}?title=$1";
101 $wgUploadPath = "{$wgScriptPath}/upload";
102 $wgUploadDirectory = "{$IP}/upload";
103 $wgHashedUploadDirectory = true;
104 $wgLogo = "{$wgUploadPath}/wiki.png";
105 $wgMathPath = "{$wgUploadPath}/math";
106 $wgMathDirectory = "{$wgUploadDirectory}/math";
107 $wgTmpDirectory = "{$wgUploadDirectory}/tmp";
108 $wgUploadBaseUrl = "";
109 /**#@-*/
112 * Produce hashed HTML article paths. Used internally, do not set.
114 $wgMakeDumpLinks = false;
117 * To set 'pretty' URL paths for actions other than
118 * plain page views, add to this array. For instance:
119 * 'edit' => "$wgScriptPath/edit/$1"
121 * There must be an appropriate script or rewrite rule
122 * in place to handle these URLs.
124 $wgActionPaths = array();
127 * If you operate multiple wikis, you can define a shared upload path here.
128 * Uploads to this wiki will NOT be put there - they will be put into
129 * $wgUploadDirectory.
130 * If $wgUseSharedUploads is set, the wiki will look in the shared repository if
131 * no file of the given name is found in the local repository (for [[Image:..]],
132 * [[Media:..]] links). Thumbnails will also be looked for and generated in this
133 * directory.
135 $wgUseSharedUploads = false;
136 /** Full path on the web server where shared uploads can be found */
137 $wgSharedUploadPath = "http://commons.wikimedia.org/shared/images";
138 /** Path on the file system where shared uploads can be found. */
139 $wgSharedUploadDirectory = "/var/www/wiki3/images";
140 /** DB name with metadata about shared directory. Set this to false if the uploads do not come from a wiki. */
141 $wgSharedUploadDBname = false;
142 /** Cache shared metadata in memcached. Don't do this if the commons wiki is in a different memcached domain */
143 $wgCacheSharedUploads = true;
146 * Point the upload navigation link to an external URL
147 * Useful if you want to use a shared repository by default
148 * without disabling local uploads
149 * e.g. $wgUploadNavigationUrl = 'http://commons.wikimedia.org/wiki/Special:Upload';
151 $wgUploadNavigationUrl = false;
153 /**
154 * Give a path here to use thumb.php for thumbnail generation on client request, instead of
155 * generating them on render and outputting a static URL. This is necessary if some of your
156 * apache servers don't have read/write access to the thumbnail path.
158 * Example:
159 * $wgThumbnailScriptPath = "{$wgScriptPath}/thumb.php";
161 $wgThumbnailScriptPath = false;
162 $wgSharedThumbnailScriptPath = false;
165 * Set the following to false especially if you have a set of files that need to
166 * be accessible by all wikis, and you do not want to use the hash (path/a/aa/)
167 * directory layout.
169 $wgHashedSharedUploadDirectory = true;
172 * Base URL for a repository wiki. Leave this blank if uploads are just stored
173 * in a shared directory and not meant to be accessible through a separate wiki.
174 * Otherwise the image description pages on the local wiki will link to the
175 * image description page on this wiki.
177 * Please specify the namespace, as in the example below.
179 $wgRepositoryBaseUrl="http://commons.wikimedia.org/wiki/Image:";
183 # Email settings
187 * Site admin email address
188 * Default to wikiadmin@SERVER_NAME
189 * @global string $wgEmergencyContact
191 $wgEmergencyContact = 'wikiadmin@' . $wgServerName;
194 * Password reminder email address
195 * The address we should use as sender when a user is requesting his password
196 * Default to apache@SERVER_NAME
197 * @global string $wgPasswordSender
199 $wgPasswordSender = 'Wikipedia Mail <apache@' . $wgServerName . '>';
202 * dummy address which should be accepted during mail send action
203 * It might be necessay to adapt the address or to set it equal
204 * to the $wgEmergencyContact address
206 #$wgNoReplyAddress = $wgEmergencyContact;
207 $wgNoReplyAddress = 'reply@not.possible';
210 * Set to true to enable the e-mail basic features:
211 * Password reminders, etc. If sending e-mail on your
212 * server doesn't work, you might want to disable this.
213 * @global bool $wgEnableEmail
215 $wgEnableEmail = true;
218 * Set to true to enable user-to-user e-mail.
219 * This can potentially be abused, as it's hard to track.
220 * @global bool $wgEnableUserEmail
222 $wgEnableUserEmail = true;
225 * SMTP Mode
226 * For using a direct (authenticated) SMTP server connection.
227 * Default to false or fill an array :
228 * <code>
229 * "host" => 'SMTP domain',
230 * "IDHost" => 'domain for MessageID',
231 * "port" => "25",
232 * "auth" => true/false,
233 * "username" => user,
234 * "password" => password
235 * </code>
237 * @global mixed $wgSMTP
239 $wgSMTP = false;
242 /**#@+
243 * Database settings
245 /** database host name or ip address */
246 $wgDBserver = 'localhost';
247 /** name of the database */
248 $wgDBname = 'wikidb';
249 /** */
250 $wgDBconnection = '';
251 /** Database username */
252 $wgDBuser = 'wikiuser';
253 /** Database type
254 * "mysql" for working code and "PostgreSQL" for development/broken code
256 $wgDBtype = "mysql";
257 /** Search type
258 * "MyISAM" for MySQL native full text search, "Tsearch2" for PostgreSQL
259 * based search engine
261 $wgSearchType = "MyISAM";
262 /** Table name prefix */
263 $wgDBprefix = '';
264 /** Database schema
265 * on some databases this allows separate
266 * logical namespace for application data
268 $wgDBschema = 'mediawiki';
269 /**#@-*/
274 * Shared database for multiple wikis. Presently used for storing a user table
275 * for single sign-on. The server for this database must be the same as for the
276 * main database.
277 * EXPERIMENTAL
279 $wgSharedDB = null;
281 # Database load balancer
282 # This is a two-dimensional array, an array of server info structures
283 # Fields are:
284 # host: Host name
285 # dbname: Default database name
286 # user: DB user
287 # password: DB password
288 # type: "mysql" or "pgsql"
289 # load: ratio of DB_SLAVE load, must be >=0, the sum of all loads must be >0
290 # groupLoads: array of load ratios, the key is the query group name. A query may belong
291 # to several groups, the most specific group defined here is used.
293 # flags: bit field
294 # DBO_DEFAULT -- turns on DBO_TRX only if !$wgCommandLineMode (recommended)
295 # DBO_DEBUG -- equivalent of $wgDebugDumpSql
296 # DBO_TRX -- wrap entire request in a transaction
297 # DBO_IGNORE -- ignore errors (not useful in LocalSettings.php)
298 # DBO_NOBUFFER -- turn off buffering (not useful in LocalSettings.php)
300 # Leave at false to use the single-server variables above
301 $wgDBservers = false;
303 /** How long to wait for a slave to catch up to the master */
304 $wgMasterWaitTimeout = 10;
306 /** File to log MySQL errors to */
307 $wgDBerrorLog = false;
310 * wgDBminWordLen :
311 * MySQL 3.x : used to discard words that MySQL will not return any results for
312 * shorter values configure mysql directly.
313 * MySQL 4.x : ignore it and configure mySQL
314 * See: http://dev.mysql.com/doc/mysql/en/Fulltext_Fine-tuning.html
316 $wgDBminWordLen = 4;
317 /** Set to true if using InnoDB tables */
318 $wgDBtransactions = false;
319 /** Set to true to use enhanced fulltext search */
320 $wgDBmysql4 = false;
323 * Other wikis on this site, can be administered from a single developer
324 * account.
325 * Array, interwiki prefix => database name
327 $wgLocalDatabases = array();
330 * Object cache settings
331 * See Defines.php for types
333 $wgMainCacheType = CACHE_NONE;
334 $wgMessageCacheType = CACHE_ANYTHING;
335 $wgParserCacheType = CACHE_ANYTHING;
337 $wgSessionsInMemcached = false;
338 $wgLinkCacheMemcached = false; # Not fully tested
341 * Memcached-specific settings
342 * See docs/memcached.txt
344 $wgMemCachedDebug = false; # Will be set to false in Setup.php, if the server isn't working
345 $wgMemCachedServers = array( '127.0.0.1:11000' );
346 $wgMemCachedDebug = false;
350 # Language settings
352 /** Site language code, should be one of ./languages/Language(.*).php */
353 $wgLanguageCode = 'en';
355 /** Filename of a language file generated by dumpMessages.php */
356 $wgLanguageFile = false;
358 /** Treat language links as magic connectors, not inline links */
359 $wgInterwikiMagic = true;
361 /** We speak UTF-8 all the time now, unless some oddities happen */
362 $wgInputEncoding = 'UTF-8';
363 $wgOutputEncoding = 'UTF-8';
364 $wgEditEncoding = '';
366 # Set this to eg 'ISO-8859-1' to perform character set
367 # conversion when loading old revisions not marked with
368 # "utf-8" flag. Use this when converting wiki to UTF-8
369 # without the burdensome mass conversion of old text data.
371 # NOTE! This DOES NOT touch any fields other than old_text.
372 # Titles, comments, user names, etc still must be converted
373 # en masse in the database before continuing as a UTF-8 wiki.
374 $wgLegacyEncoding = false;
377 * If set to true, the MediaWiki 1.4 to 1.5 schema conversion will
378 * create stub reference rows in the text table instead of copying
379 * the full text of all current entries from 'cur' to 'text'.
381 * This will speed up the conversion step for large sites, but
382 * requires that the cur table be kept around for those revisions
383 * to remain viewable.
385 * maintenance/migrateCurStubs.php can be used to complete the
386 * migration in the background once the wiki is back online.
388 * This option affects the updaters *only*. Any present cur stub
389 * revisions will be readable at runtime regardless of this setting.
391 $wgLegacySchemaConversion = false;
393 $wgMimeType = 'text/html';
394 $wgJsMimeType = 'text/javascript';
395 $wgDocType = '-//W3C//DTD XHTML 1.0 Transitional//EN';
396 $wgDTD = 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd';
398 /** Enable to allow rewriting dates in page text.
399 * DOES NOT FORMAT CORRECTLY FOR MOST LANGUAGES */
400 $wgUseDynamicDates = false;
401 /** Enable dates like 'May 12' instead of '12 May', this only takes effect if
402 * the interface is set to English
404 $wgAmericanDates = false;
406 * For Hindi and Arabic use local numerals instead of Western style (0-9)
407 * numerals in interface.
409 $wgTranslateNumerals = true;
412 # Translation using MediaWiki: namespace
413 # This will increase load times by 25-60% unless memcached is installed
414 # Interface messages will be get from the database.
415 $wgUseDatabaseMessages = true;
416 $wgMsgCacheExpiry = 86400;
418 # Whether to enable language variant conversion. Currently only zh
419 # supports this function, to convert between Traditional and Simplified
420 # Chinese. This flag is meant to isolate the (untested) conversion
421 # code, so that if it breaks, only zh will be affected
422 $wgDisableLangConversion = false;
424 # Use article validation feature; turned off by default
425 $wgUseValidation = false;
427 # Whether to use zhdaemon to perform Chinese text processing
428 # zhdaemon is under developement, so normally you don't want to
429 # use it unless for testing
430 $wgUseZhdaemon = false;
431 $wgZhdaemonHost="localhost";
432 $wgZhdaemonPort=2004;
434 # Miscellaneous configuration settings
437 $wgLocalInterwiki = 'w';
438 $wgInterwikiExpiry = 10800; # Expiry time for cache of interwiki table
441 * If local interwikis are set up which allow redirects,
442 * set this regexp to restrict URLs which will be displayed
443 * as 'redirected from' links.
445 * It might look something like this:
446 * $wgRedirectSources = '!^https?://[a-z-]+\.wikipedia\.org/!';
448 * Leave at false to avoid displaying any incoming redirect markers.
449 * This does not affect intra-wiki redirects, which don't change
450 * the URL.
452 $wgRedirectSources = false;
455 $wgShowIPinHeader = true; # For non-logged in users
456 $wgMaxNameChars = 32; # Maximum number of bytes in username
458 $wgExtraSubtitle = '';
459 $wgSiteSupportPage = ''; # A page where you users can receive donations
461 $wgReadOnlyFile = "{$wgUploadDirectory}/lock_yBgMBwiR";
464 * The debug log file should be not be publicly accessible if it is used, as it
465 * may contain private data. */
466 $wgDebugLogFile = '';
468 /**#@+
469 * @global bool
471 $wgDebugRedirects = false;
472 $wgDebugRawPage = false; # Avoid overlapping debug entries by leaving out CSS
474 $wgDebugComments = false;
475 $wgReadOnly = false;
476 $wgLogQueries = false;
477 $wgDebugDumpSql = false;
480 * Whether to show "we're sorry, but there has been a database error" pages.
481 * Displaying errors aids in debugging, but may display information useful
482 * to an attacker.
484 $wgShowSQLErrors = false;
486 # Should [[Category:Dog]] on a page associate it with the
487 # category "Dog"? (a link to that category page will be
488 # added to the article, clicking it reveals a list of
489 # all articles in the category)
490 $wgUseCategoryMagic = true;
493 * disable experimental dmoz-like category browsing. Output things like:
494 * Encyclopedia > Music > Style of Music > Jazz
496 $wgUseCategoryBrowser = false;
498 $wgEnablePersistentLC = false; # Obsolete, do not use
499 $wgCompressedPersistentLC = true; # use gzcompressed blobs
500 $wgUseOldExistenceCheck = false; # use old prefill link method, for debugging only
503 * Keep parsed pages in a cache (objectcache table, turck, or memcached)
504 * to speed up output of the same page viewed by another user with the
505 * same options.
507 * This can provide a significant speedup for medium to large pages,
508 * so you probably want to keep it on.
510 $wgEnableParserCache = true;
513 * Under which condition should a page in the main namespace be counted
514 * as a valid article? If $wgUseCommaCount is set to true, it will be
515 * counted if it contains at least one comma. If it is set to false
516 * (default), it will only be counted if it contains at least one [[wiki
517 * link]]. See http://meta.wikimedia.org/wiki/Help:Article_count
519 * Retroactively changing this variable will not affect
520 * the existing count (cf. maintenance/recount.sql).
522 $wgUseCommaCount = false;
524 /**#@-*/
527 * wgHitcounterUpdateFreq sets how often page counters should be updated, higher
528 * values are easier on the database. A value of 1 causes the counters to be
529 * updated on every hit, any higher value n cause them to update *on average*
530 * every n hits. Should be set to either 1 or something largish, eg 1000, for
531 * maximum efficiency.
533 $wgHitcounterUpdateFreq = 1;
535 # User rights settings
537 # It's not 100% safe, there could be security hole using that one. Use at your
538 # own risks.
540 $wgWhitelistEdit = false; # true = user must login to edit.
541 $wgWhitelistRead = false; # Pages anonymous user may see, like: = array ( ":Main_Page", "Special:Userlogin", "Wikipedia:Help");
542 $wgWhitelistAccount = array ( 'user' => 1, 'sysop' => 1, 'developer' => 1 );
544 $wgAllowAnonymousMinor = false; # Allow anonymous users to mark changes as 'minor'
546 $wgSysopUserBans = true; # Allow sysops to ban logged-in users
547 $wgSysopRangeBans = true; # Allow sysops to ban IP ranges
549 /** Comma-separated list of options to show on the IP block form.
550 * Use strtotime() format, or "infinite" for an infinite block
552 $wgBlockExpiryOptions = "2 hours,1 day,3 days,1 week,2 weeks,1 month,3 months,6 months,1 year,infinite";
554 $wgAutoblockExpiry = 86400; # Number of seconds before autoblock entries expire
557 * Static user groups serialized record
558 * To avoid database access, you can set this to a user groups record as returned
559 * by Special:Groups with the magic parameter showrecord=1. This will however mean
560 * that you won't be able to edit them at runtime.
562 $wgStaticGroups = false;
564 # Proxy scanner settings
568 * If you enable this, every editor's IP address will be scanned for open HTTP
569 * proxies.
571 * Don't enable this. Many sysops will report "hostile TCP port scans" to your
572 * ISP and ask for your server to be shut down.
574 * You have been warned.
576 $wgBlockOpenProxies = false;
577 /** Port we want to scan for a proxy */
578 $wgProxyPorts = array( 80, 81, 1080, 3128, 6588, 8000, 8080, 8888, 65506 );
579 /** Script used to scan */
580 $wgProxyScriptPath = "$IP/proxy_check.php";
581 /** */
582 $wgProxyMemcExpiry = 86400;
583 /** This should always be customised in LocalSettings.php */
584 $wgSecretKey = false;
585 /** big list of banned IP addresses, in the keys not the values */
586 $wgProxyList = array();
587 /** deprecated */
588 $wgProxyKey = false;
590 /** Number of accounts each IP address may create, 0 to disable.
591 * Requires memcached */
592 $wgAccountCreationThrottle = 0;
594 # Client-side caching:
596 /** Allow client-side caching of pages */
597 $wgCachePages = true;
600 * Set this to current time to invalidate all prior cached pages. Affects both
601 * client- and server-side caching.
603 $wgCacheEpoch = '20030516000000';
606 # Server-side caching:
609 * This will cache static pages for non-logged-in users to reduce
610 * database traffic on public sites.
611 * Must set $wgShowIPinHeader = false
613 $wgUseFileCache = false;
614 /** Directory where the cached page will be saved */
615 $wgFileCacheDirectory = "{$wgUploadDirectory}/cache";
618 * When using the file cache, we can store the cached HTML gzipped to save disk
619 * space. Pages will then also be served compressed to clients that support it.
620 * THIS IS NOT COMPATIBLE with ob_gzhandler which is now enabled if supported in
621 * the default LocalSettings.php! If you enable this, remove that setting first.
623 * Requires zlib support enabled in PHP.
625 $wgUseGzip = false;
627 # Email notification settings
630 /**
631 * Program to run when the email is actually sent out. You might want to make
632 * your server beep for example. Usermailer.php will make a system() call with
633 * exactly that string as parameter.
635 # $wgEmailNotificationSystembeep = '/usr/bin/beep -f 4000 -l 20 &';
636 $wgEmailNotificationSystembeep = '';
638 /** For email notification on page changes */
639 $wgPasswordSender = $wgEmergencyContact;
641 # true: from PageEditor if s/he opted-in
642 # false: Enotif mails appear to come from $wgEmergencyContact
643 $wgEmailNotificationMailsSentFromPageEditor = false;
645 // TODO move UPO to preferences probably ?
646 # If set to true, users get a corresponding option in their preferences and can choose to enable or disable at their discretion
647 # If set to false, the corresponding input form on the user preference page is suppressed
648 # It call this to be a "user-preferences-option (UPO)"
649 $wgEmailAuthentication = true; # UPO (if this is set to false, texts referring to authentication are suppressed)
650 $wgEmailNotificationForWatchlistPages = false; # UPO
651 $wgEmailNotificationForUserTalkPages = false; # UPO
652 $wgEmailNotificationRevealPageEditorAddress = false; # UPO; reply-to address may be filled with page editor's address (if user allowed this in the preferences)
653 $wgEmailNotificationForMinorEdits = true; # UPO; false: "minor edits" on pages do not trigger notification mails.
654 # # Attention: _every_ change on a user_talk page trigger a notification mail (if the user is not yet notified)
657 /** Show watching users in recent changes, watchlist and page history views */
658 $wgRCShowWatchingUsers = false; # UPO
659 /** Show watching users in Page views */
660 $wgPageShowWatchingUsers = false;
662 * Show "Updated (since my last visit)" marker in RC view, watchlist and history
663 * view for watched pages with new changes */
664 $wgShowUpdatedMarker = true; # UPO
666 $wgCookieExpiration = 2592000;
668 # Squid-related settings
671 /** Enable/disable Squid */
672 $wgUseSquid = false;
674 /** If you run Squid3 with ESI support, enable this (default:false): */
675 $wgUseESI = false;
677 /** Internal server name as known to Squid, if different */
678 # $wgInternalServer = 'http://yourinternal.tld:8000';
679 $wgInternalServer = $wgServer;
682 * Cache timeout for the squid, will be sent as s-maxage (without ESI) or
683 * Surrogate-Control (with ESI). Without ESI, you should strip out s-maxage in
684 * the Squid config. 18000 seconds = 5 hours, more cache hits with 2678400 = 31
685 * days
687 $wgSquidMaxage = 18000;
690 * A list of proxy servers (ips if possible) to purge on changes don't specify
691 * ports here (80 is default)
693 # $wgSquidServers = array('127.0.0.1');
694 $wgSquidServers = array();
695 $wgSquidServersNoPurge = array();
697 /** Maximum number of titles to purge in any one client operation */
698 $wgMaxSquidPurgeTitles = 400;
700 /** HTCP multicast purging */
701 $wgHTCPPort = 4827;
702 $wgHTCPMulticastTTL = 1;
703 # $wgHTCPMulticastAddress = "224.0.0.85";
705 # Cookie settings:
708 * Set to set an explicit domain on the login cookies eg, "justthis.domain. org"
709 * or ".any.subdomain.net"
711 $wgCookieDomain = '';
712 $wgCookiePath = '/';
713 $wgDisableCookieCheck = false;
715 /** Whether to allow inline image pointing to other websites */
716 $wgAllowExternalImages = true;
718 /** Disable database-intensive features */
719 $wgMiserMode = false;
720 /** Disable all query pages if miser mode is on, not just some */
721 $wgDisableQueryPages = false;
722 /** Generate a watchlist once every hour or so */
723 $wgUseWatchlistCache = false;
724 /** The hour or so mentioned above */
725 $wgWLCacheTimeout = 3600;
728 * To use inline TeX, you need to compile 'texvc' (in the 'math' subdirectory of
729 * the MediaWiki package and have latex, dvips, gs (ghostscript), andconvert
730 * (ImageMagick) installed and available in the PATH.
731 * Please see math/README for more information.
733 $wgUseTeX = false;
734 /** Location of the texvc binary */
735 $wgTexvc = './math/texvc';
738 # Profiling / debugging
741 /** Enable for more detailed by-function times in debug log */
742 $wgProfiling = false;
743 /** Only record profiling info for pages that took longer than this */
744 $wgProfileLimit = 0.0;
745 /** Don't put non-profiling info into log file */
746 $wgProfileOnly = false;
747 /** Log sums from profiling into "profiling" table in db. */
748 $wgProfileToDatabase = false;
749 /** Only profile every n requests when profiling is turned on */
750 $wgProfileSampleRate = 1;
751 /** If true, print a raw call tree instead of per-function report */
752 $wgProfileCallTree = false;
754 /** Detects non-matching wfProfileIn/wfProfileOut calls */
755 $wgDebugProfiling = false;
756 /** Output debug message on every wfProfileIn/wfProfileOut */
757 $wgDebugFunctionEntry = 0;
758 /** Lots of debugging output from SquidUpdate.php */
759 $wgDebugSquid = false;
761 $wgDisableCounters = false;
762 $wgDisableTextSearch = false;
764 * If you've disabled search semi-permanently, this also disables updates to the
765 * table. If you ever re-enable, be sure to rebuild the search table.
767 $wgDisableSearchUpdate = false;
768 /** Uploads have to be specially set up to be secure */
769 $wgEnableUploads = false;
771 * Show EXIF data, on by default if available.
772 * Requires PHP's EXIF extension: http://www.php.net/manual/en/ref.exif.php
774 $wgShowEXIF = function_exists( 'exif_read_data' );
777 * Set to true to enable the upload _link_ while local uploads are disabled.
778 * Assumes that the special page link will be bounced to another server where
779 * uploads do work.
781 $wgRemoteUploads = false;
782 $wgDisableAnonTalk = false;
785 * Path to the GNU diff3 utility. If the file doesn't exist, edit conflicts will
786 * fall back to the old behaviour (no merging).
788 $wgDiff3 = '/usr/bin/diff3';
790 /**
791 * We can also compress text in the old revisions table. If this is set on, old
792 * revisions will be compressed on page save if zlib support is available. Any
793 * compressed revisions will be decompressed on load regardless of this setting
794 * *but will not be readable at all* if zlib support is not available.
796 $wgCompressRevisions = false;
799 * This is the list of preferred extensions for uploading files. Uploading files
800 * with extensions not in this list will trigger a warning.
802 $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg' );
804 /** Files with these extensions will never be allowed as uploads. */
805 $wgFileBlacklist = array(
806 # HTML may contain cookie-stealing JavaScript and web bugs
807 'html', 'htm',
808 # PHP scripts may execute arbitrary code on the server
809 'php', 'phtml', 'php3', 'php4', 'phps',
810 # Other types that may be interpreted by some servers
811 'shtml', 'jhtml', 'pl', 'py', 'cgi',
812 # May contain harmful executables for Windows victims
813 'exe', 'scr', 'dll', 'msi', 'vbs', 'bat', 'com', 'pif', 'cmd', 'vxd', 'cpl' );
815 /** This is a flag to determine whether or not to check file extensions on upload. */
816 $wgCheckFileExtensions = true;
819 * If this is turned off, users may override the warning for files not covered
820 * by $wgFileExtensions.
822 $wgStrictFileExtensions = true;
824 /** Warn if uploaded files are larger than this */
825 $wgUploadSizeWarning = 150 * 1024;
827 /** For compatibility with old installations set to false */
828 $wgPasswordSalt = true;
830 /** Which namespaces should support subpages?
831 * See Language.php for a list of namespaces.
833 $wgNamespacesWithSubpages = array(
834 NS_SPECIAL => 0,
835 NS_MAIN => 0,
836 NS_TALK => 1,
837 NS_USER => 1,
838 NS_USER_TALK => 1,
839 NS_PROJECT => 0,
840 NS_PROJECT_TALK => 1,
841 NS_IMAGE => 0,
842 NS_IMAGE_TALK => 1,
843 NS_MEDIAWIKI => 0,
844 NS_MEDIAWIKI_TALK => 1,
845 NS_TEMPLATE => 0,
846 NS_TEMPLATE_TALK => 1,
847 NS_HELP => 0,
848 NS_HELP_TALK => 1,
849 NS_CATEGORY => 0,
850 NS_CATEGORY_TALK => 1
853 $wgNamespacesToBeSearchedDefault = array(
854 NS_SPECIAL => 0,
855 NS_MAIN => 1,
856 NS_TALK => 0,
857 NS_USER => 0,
858 NS_USER_TALK => 0,
859 NS_PROJECT => 0,
860 NS_PROJECT_TALK => 0,
861 NS_IMAGE => 0,
862 NS_IMAGE_TALK => 0,
863 NS_MEDIAWIKI => 0,
864 NS_MEDIAWIKI_TALK => 1,
865 NS_TEMPLATE => 1,
866 NS_TEMPLATE_TALK => 1,
867 NS_HELP => 0,
868 NS_HELP_TALK => 0,
869 NS_CATEGORY => 0,
870 NS_CATEGORY_TALK => 0
873 /** If set, a bold ugly notice will show up at the top of every page. */
874 $wgSiteNotice = '';
878 # Images settings
881 /** dynamic server side image resizing ("Thumbnails") */
882 $wgUseImageResize = false;
885 * Resizing can be done using PHP's internal image libraries or using
886 * ImageMagick. The later supports more file formats than PHP, which only
887 * supports PNG, GIF, JPG, XBM and WBMP.
889 * Use Image Magick instead of PHP builtin functions.
891 $wgUseImageMagick = false;
892 /** The convert command shipped with ImageMagick */
893 $wgImageMagickConvertCommand = '/usr/bin/convert';
895 # Scalable Vector Graphics (SVG) may be uploaded as images.
896 # Since SVG support is not yet standard in browsers, it is
897 # necessary to rasterize SVGs to PNG as a fallback format.
899 # An external program is required to perform this conversion:
900 $wgSVGConverters = array(
901 'ImageMagick' => '$path/convert -background white -geometry $width $input $output',
902 'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
903 'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
904 'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d $output $input',
906 /** Pick one of the above */
907 $wgSVGConverter = 'ImageMagick';
908 /** If not in the executable PATH, specify */
909 $wgSVGConverterPath = '';
911 /** @todo FIXME what does it do here ?? [ashar] */
912 if( !isset( $wgCommandLineMode ) ) {
913 $wgCommandLineMode = false;
918 # Recent changes settings
921 /** Log IP addresses in the recentchanges table */
922 $wgPutIPinRC = false;
925 * Recentchanges items are periodically purged; entries older than this many
926 * seconds will go.
927 * For one week : 7 * 24 * 3600
929 $wgRCMaxAge = 7 * 24 * 3600;
933 # Copyright and credits settings
936 /** RDF metadata toggles */
937 $wgEnableDublinCoreRdf = false;
938 $wgEnableCreativeCommonsRdf = false;
940 /** Override for copyright metadata.
941 * TODO: these options need documentation
943 $wgRightsPage = NULL;
944 $wgRightsUrl = NULL;
945 $wgRightsText = NULL;
946 $wgRightsIcon = NULL;
948 /** Set this to some HTML to override the rights icon with an arbitrary logo */
949 $wgCopyrightIcon = NULL;
951 /** Set this to true if you want detailed copyright information forms on Upload. */
952 $wgUseCopyrightUpload = false;
954 /** Set this to false if you want to disable checking that detailed copyright
955 * information values are not empty. */
956 $wgCheckCopyrightUpload = true;
959 * Set this to the number of authors that you want to be credited below an
960 * article text. Set it to zero to hide the attribution block, and a negative
961 * number (like -1) to show all authors. Note that this will# require 2-3 extra
962 * database hits, which can have a not insignificant impact on performance for
963 * large wikis.
965 $wgMaxCredits = 0;
967 /** If there are more than $wgMaxCredits authors, show $wgMaxCredits of them.
968 * Otherwise, link to a separate credits page. */
969 $wgShowCreditsIfMax = true;
974 * Set this to false to avoid forcing the first letter of links to capitals.
975 * WARNING: may break links! This makes links COMPLETELY case-sensitive. Links
976 * appearing with a capital at the beginning of a sentence will *not* go to the
977 * same place as links in the middle of a sentence using a lowercase initial.
979 $wgCapitalLinks = true;
982 * List of interwiki prefixes for wikis we'll accept as sources for
983 * Special:Import (for sysops). Since complete page history# can be imported,
984 * these should be 'trusted'.
986 $wgImportSources = array();
990 /** Text matching this regular expression will be recognised as spam
991 * See http://en.wikipedia.org/wiki/Regular_expression */
992 $wgSpamRegex = false;
993 /** Similarly if this function returns true */
994 $wgFilterCallback = false;
996 /** Go button goes straight to the edit screen if the article doesn't exist. */
997 $wgGoToEdit = false;
999 /** Allow limited user-specified HTML in wiki pages?
1000 * It will be run through a whitelist for security. Set this to false if you
1001 * want wiki pages to consist only of wiki markup. Note that replacements do not
1002 * yet exist for all HTML constructs.*/
1003 $wgUserHtml = true;
1005 /** Allow raw, unchecked HTML in <html>...</html> sections.
1006 * THIS IS VERY DANGEROUS on a publically editable site, so you can't enable it
1007 * unless you've restricted editing to trusted users only with $wgWhitelistEdit.
1009 $wgRawHtml = false;
1012 * $wgUseTidy: use tidy to make sure HTML output is sane.
1013 * This should only be enabled if $wgUserHtml is true.
1014 * tidy is a free tool that fixes broken HTML.
1015 * See http://www.w3.org/People/Raggett/tidy/
1016 * $wgTidyBin should be set to the path of the binary and
1017 * $wgTidyConf to the path of the configuration file.
1018 * $wgTidyOpts can include any number of parameters.
1020 * $wgTidyInternal controls the use of the PECL extension to use an in-
1021 * process tidy library instead of spawning a separate program.
1022 * Normally you shouldn't need to override the setting except for
1023 * debugging. To install, use 'pear install tidy' and add a line
1024 * 'extension=tidy.so' to php.ini.
1026 $wgUseTidy = false;
1027 $wgTidyBin = 'tidy';
1028 $wgTidyConf = $IP.'/extensions/tidy/tidy.conf';
1029 $wgTidyOpts = '';
1030 $wgTidyInternal = function_exists( 'tidy_load_config' );
1032 /** See list of skins and their symbolic names in languages/Language.php */
1033 $wgDefaultSkin = 'monobook';
1036 * Settings added to this array will override the language globals for the user
1037 * preferences used by anonymous visitors and newly created accounts. (See names
1038 * and sample values in languages/Language.php)
1039 * For instance, to disable section editing links:
1040 * $wgDefaultUserOptions ['editsection'] = 0;
1043 $wgDefaultUserOptions = array();
1045 /** Whether or not to allow and use real name fields. Defaults to true. */
1046 $wgAllowRealName = true;
1048 /** Use XML parser? */
1049 $wgUseXMLparser = false ;
1051 /** Extensions */
1052 $wgSkinExtensionFunctions = array();
1053 $wgExtensionFunctions = array();
1056 * Allow user Javascript page?
1057 * This enables a lot of neat customizations, but may
1058 * increase security risk to users and server load.
1060 $wgAllowUserJs = false;
1063 * Allow user Cascading Style Sheets (CSS)?
1064 * This enables a lot of neat customizations, but may
1065 * increase security risk to users and server load.
1067 $wgAllowUserCss = false;
1069 /** Use the site's Javascript page? */
1070 $wgUseSiteJs = true;
1072 /** Use the site's Cascading Style Sheets (CSS)? */
1073 $wgUseSiteCss = true;
1075 /** Filter for Special:Randompage. Part of a WHERE clause */
1076 $wgExtraRandompageSQL = false;
1078 /** Allow the "info" action, very inefficient at the moment */
1079 $wgAllowPageInfo = false;
1081 /** Maximum indent level of toc. */
1082 $wgMaxTocLevel = 999;
1084 /** Use external C++ diff engine (module wikidiff from the extensions package) */
1085 $wgUseExternalDiffEngine = false;
1087 /** Use RC Patrolling to check for vandalism */
1088 $wgUseRCPatrol = true;
1090 /** Set maximum number of results to return in syndication feeds (RSS, Atom) for
1091 * eg Recentchanges, Newpages. */
1092 $wgFeedLimit = 50;
1094 /** _Minimum_ timeout for cached Recentchanges feed, in seconds.
1095 * A cached version will continue to be served out even if changes
1096 * are made, until this many seconds runs out since the last render. */
1097 $wgFeedCacheTimeout = 60;
1099 /** When generating Recentchanges RSS/Atom feed, diffs will not be generated for
1100 * pages larger than this size. */
1101 $wgFeedDiffCutoff = 32768;
1105 * Additional namespaces. If the namespaces defined in Language.php and
1106 * Namespace.php are insufficient,# you can create new ones here, for example,
1107 * to import Help files in other languages.
1108 * PLEASE NOTE: Once you delete a namespace, the pages in that namespace will
1109 * no longer be accessible. If you rename it, then you can access them through
1110 * the new namespace name.
1112 * Custom namespaces should start at 100 to avoid conflicting with standard
1113 * namespaces, and should always follow the even/odd main/talk pattern.
1115 #$wgExtraNamespaces =
1116 # array(100 => "Hilfe",
1117 # 101 => "Hilfe_Diskussion",
1118 # 102 => "Aide",
1119 # 103 => "Discussion_Aide"
1120 # );
1121 $wgExtraNamespaces = NULL;
1124 * Limit images on image description pages to a user-selectable limit. In order
1125 * to reduce disk usage, limits can only be selected from a list. This is the
1126 * list of settings the user can choose from:
1128 $wgImageLimits = array (
1129 array(320,240),
1130 array(640,480),
1131 array(800,600),
1132 array(1024,768),
1133 array(1280,1024),
1134 array(10000,10000) );
1137 * Adjust thumbnails on image pages according to a user setting. In order to
1138 * reduce disk usage, the values can only be selected from a list. This is the
1139 * list of settings the user can choose from:
1141 $wgThumbLimits = array(
1142 120,
1143 150,
1144 180,
1145 200,
1146 250,
1150 /** Navigation links for the user sidebar.
1151 * 'text' is the name of the MediaWiki message that contains the label of this link
1152 * 'href' is the name of the MediaWiki message that contains the link target of this link.
1153 * Link targets starting with http are considered remote links. Ones not starting with
1154 * http are considered as names of local wiki pages.
1156 $wgNavigationLinks = array (
1157 array( 'text'=>'mainpage', 'href'=>'mainpage' ),
1158 array( 'text'=>'portal', 'href'=>'portal-url' ),
1159 array( 'text'=>'currentevents', 'href'=>'currentevents-url' ),
1160 array( 'text'=>'recentchanges', 'href'=>'recentchanges-url' ),
1161 array( 'text'=>'randompage', 'href'=>'randompage-url' ),
1162 array( 'text'=>'help', 'href'=>'helppage' ),
1163 array( 'text'=>'sitesupport', 'href'=>'sitesupport-url' ),
1167 * On category pages, show thumbnail gallery for images belonging to that
1168 * category instead of listing them as articles.
1170 $wgCategoryMagicGallery = true;
1173 * Browser Blacklist for unicode non compliant browsers
1174 * Contains a list of regexps : "/regexp/" matching problematic browsers
1176 $wgBrowserBlackList = array(
1177 "/Mozilla\/4\.78 \[en\] \(X11; U; Linux/",
1179 * MSIE on Mac OS 9 is teh sux0r, converts þ to <thorn>, ð to <eth>, Þ to <THORN> and Ð to <ETH>
1181 * Known useragents:
1182 * - Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC)
1183 * - Mozilla/4.0 (compatible; MSIE 5.15; Mac_PowerPC)
1184 * - Mozilla/4.0 (compatible; MSIE 5.23; Mac_PowerPC)
1185 * - [...]
1187 * @link http://en.wikipedia.org/w/index.php?title=User%3A%C6var_Arnfj%F6r%F0_Bjarmason%2Ftestme&diff=12356041&oldid=12355864
1188 * @link http://en.wikipedia.org/wiki/Template%3AOS9
1190 "/Mozilla\/4\.0 \(compatible; MSIE \d+\.\d+; Mac_PowerPC\)/"
1194 * Fake out the timezone that the server thinks it's in. This will be used for
1195 * date display and not for what's stored in the DB. Leave to null to retain
1196 * your server's OS-based timezone value. This is the same as the timezone.
1198 # $wgLocaltimezone = 'GMT';
1199 # $wgLocaltimezone = 'PST8PDT';
1200 # $wgLocaltimezone = 'Europe/Sweden';
1201 # $wgLocaltimezone = 'CET';
1202 $wgLocaltimezone = null;
1205 * User level management
1206 * The number is the database id of a group you want users to be attached by
1207 * default. A better interface should be coded [av]
1209 $wgAnonGroupId = 1;
1210 $wgLoggedInGroupId = 2;
1211 $wgSysopGroupId = 3;
1212 $wgBureaucratGroupId = 4;
1213 $wgStewardGroupId = 5;
1216 * When translating messages with wfMsg(), it is not always clear what should be
1217 * considered UI messages and what shoud be content messages.
1219 * For example, for regular wikipedia site like en, there should be only one
1220 * 'mainpage', therefore when getting the link of 'mainpage', we should treate
1221 * it as content of the site and call wfMsgForContent(), while for rendering the
1222 * text of the link, we call wfMsg(). The code in default behaves this way.
1223 * However, sites like common do offer different versions of 'mainpage' and the
1224 * like for different languages. This array provides a way to override the
1225 * default behavior. For example, to allow language specific mainpage and
1226 * community portal, set
1228 * $wgForceUIMsgAsContentMsg = array( 'mainpage', 'portal-url' );
1230 $wgForceUIMsgAsContentMsg = array();
1234 * Authentication plugin.
1236 $wgAuth = null;
1239 * Global list of hooks.
1240 * Add a hook by doing:
1241 * $wgHooks['event_name'][] = $function;
1242 * or:
1243 * $wgHooks['event_name'][] = array($function, $data);
1244 * or:
1245 * $wgHooks['event_name'][] = array($object, 'method');
1247 $wgHooks = array();
1250 * Experimental preview feature to fetch rendered text
1251 * over an XMLHttpRequest from JavaScript instead of
1252 * forcing a submit and reload of the whole page.
1253 * Leave disabled unless you're testing it.
1255 $wgLivePreview = false;
1258 * Disable the internal MySQL-based search, to allow it to be
1259 * implemented by an extension instead.
1261 $wgDisableInternalSearch = false;
1264 * Set this to a URL to forward search requests to some external location.
1265 * If the URL includes '$1', this will be replaced with the URL-encoded
1266 * search term.
1268 * For example, to forward to Google you'd have something like:
1269 * $wgSearchForwardUrl = 'http://www.google.com/search?q=$1' .
1270 * '&domains=http://example.com' .
1271 * '&sitesearch=http://example.com' .
1272 * '&ie=utf-8&oe=utf-8';
1274 $wgSearchForwardUrl = null;
1277 * If true, external URL links in wiki text will be given the
1278 * rel="nofollow" attribute as a hint to search engines that
1279 * they should not be followed for ranking purposes as they
1280 * are user-supplied and thus subject to spamming.
1282 $wgNoFollowLinks = true;
1285 * Specifies the minimal length of a user password. If set to
1286 * 0, empty passwords are allowed.
1288 $wgMinimalPasswordLength = 0;
1291 * Activate external editor interface for files and pages
1292 * See http://meta.wikimedia.org/wiki/Help:External_editors
1294 $wgUseExternalEditor = true;
1296 /** Whether or not to sort special pages in Special:Specialpages */
1298 $wgSortSpecialPages = true;
1301 * Array of disabled article actions, e.g. view, edit, dublincore, delete, etc.
1303 $wgDisabledActions = array();
1306 * Use http.dnsbl.sorbs.net to check for open proxies
1308 $wgEnableSorbs = false;
1311 * On Special:Unusedimages, consider images "used", if they are put
1312 * into a category. Default (false) is not to count those as used.
1314 $wgCountCategorizedImagesAsUsed = false;
1316 /**
1317 * External stores allow including content
1318 * from non database sources following URL links
1320 * Short names of ExternalStore classes may be specified in an array here:
1321 * $wgExternalStores = array("http","file","custom")...
1323 * CAUTION: Access to database might lead to code execution
1325 $wgExternalStores = false;
1327 } else {
1328 die();