MediaWiki  1.23.11
DefaultSettings.php
Go to the documentation of this file.
1 <?php
50 if ( !defined( 'MEDIAWIKI' ) ) {
51  echo "This file is part of MediaWiki and is not a valid entry point\n";
52  die( 1 );
53 }
54 
60 $wgConf = new SiteConfiguration;
61 
68 $wgConfigRegistry = array(
69  'main' => 'GlobalVarConfig::newInstance'
70 );
71 
76 $wgVersion = '1.23.11';
77 
81 $wgSitename = 'MediaWiki';
82 
99 $wgServer = WebRequest::detectServer();
100 
108 $wgCanonicalServer = false;
109 
110 /************************************************************************/
124 $wgScriptPath = '/wiki';
125 
143 $wgUsePathInfo = ( strpos( PHP_SAPI, 'cgi' ) === false ) &&
144  ( strpos( PHP_SAPI, 'apache2filter' ) === false ) &&
145  ( strpos( PHP_SAPI, 'isapi' ) === false );
146 
155 $wgScriptExtension = '.php';
156 
159 /************************************************************************/
182 $wgScript = false;
183 
190 $wgLoadScript = false;
191 
197 $wgStylePath = false;
198 $wgStyleSheetPath = &$wgStylePath;
199 
205 $wgLocalStylePath = false;
206 
212 $wgExtensionAssetsPath = false;
213 
219 $wgStyleDirectory = false;
220 
228 $wgArticlePath = false;
229 
234 $wgUploadPath = false;
235 
239 $wgUploadDirectory = false;
240 
245 $wgFileCacheDirectory = false;
246 
251 $wgLogo = false;
252 
257 $wgFavicon = '/favicon.ico';
258 
264 $wgAppleTouchIcon = false;
265 
280 $wgTmpDirectory = false;
281 
287 $wgUploadBaseUrl = '';
288 
296 $wgUploadStashScalerBaseUrl = false;
297 
313 
316 /************************************************************************/
324 $wgEnableUploads = false;
325 
329 $wgUploadStashMaxAge = 6 * 3600; // 6 hours
330 
334 $wgAllowImageMoving = true;
335 
344 $wgEnableAsyncUploads = false;
345 
349 $wgIllegalFileChars = ":";
350 
354 $wgFileStore = array();
355 
360 $wgDeletedDirectory = false;
361 
365 $wgImgAuthDetails = false;
366 
372 $wgImgAuthPublicTest = true;
373 
388 $wgImgAuthUrlPathMap = array();
389 
474 $wgLocalFileRepo = false;
475 
479 $wgForeignFileRepos = array();
480 
486 $wgUseInstantCommons = false;
487 
519 $wgFileBackends = array();
520 
532 
545 $wgShowEXIF = function_exists( 'exif_read_data' );
546 
552 $wgUpdateCompatibleMetadata = false;
553 
567 $wgUseSharedUploads = false;
568 
572 $wgSharedUploadPath = "http://commons.wikimedia.org/shared/images";
573 
577 $wgFetchCommonsDescriptions = false;
578 
582 $wgSharedUploadDirectory = "/var/www/wiki3/images";
583 
588 $wgSharedUploadDBname = false;
589 
593 $wgSharedUploadDBprefix = '';
594 
599 $wgCacheSharedUploads = true;
600 
606 $wgAllowCopyUploads = false;
607 
612 $wgAllowAsyncCopyUploads = false;
613 
619 $wgCopyUploadsDomains = array();
620 
626 $wgCopyUploadsFromSpecialUpload = false;
627 
632 $wgCopyUploadProxy = false;
633 
642 $wgCopyUploadTimeout = false;
643 
653 $wgCopyUploadAsyncTimeout = false;
654 
671 $wgMaxUploadSize = 1024 * 1024 * 100; # 100MB
672 
679 $wgMinUploadChunkSize = 1024; # 1KB
680 
691 $wgUploadNavigationUrl = false;
692 
698 $wgUploadMissingFileUrl = false;
699 
711 $wgThumbnailScriptPath = false;
712 
716 $wgSharedThumbnailScriptPath = false;
717 
731 $wgHashedUploadDirectory = true;
732 
738 $wgHashedSharedUploadDirectory = true;
739 
748 $wgRepositoryBaseUrl = "http://commons.wikimedia.org/wiki/File:";
749 
758 $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg' );
759 
765 $wgFileBlacklist = array(
766  # HTML may contain cookie-stealing JavaScript and web bugs
767  'html', 'htm', 'js', 'jsb', 'mhtml', 'mht', 'xhtml', 'xht',
768  # PHP scripts may execute arbitrary code on the server
769  'php', 'phtml', 'php3', 'php4', 'php5', 'phps',
770  # Other types that may be interpreted by some servers
771  'shtml', 'jhtml', 'pl', 'py', 'cgi',
772  # May contain harmful executables for Windows victims
773  'exe', 'scr', 'dll', 'msi', 'vbs', 'bat', 'com', 'pif', 'cmd', 'vxd', 'cpl' );
774 
779 $wgMimeTypeBlacklist = array(
780  # HTML may contain cookie-stealing JavaScript and web bugs
781  'text/html', 'text/javascript', 'text/x-javascript', 'application/x-shellscript',
782  # PHP scripts may execute arbitrary code on the server
783  'application/x-php', 'text/x-php',
784  # Other types that may be interpreted by some servers
785  'text/x-python', 'text/x-perl', 'text/x-bash', 'text/x-sh', 'text/x-csh',
786  # Client-side hazards on Internet Explorer
787  'text/scriptlet', 'application/x-msdownload',
788  # Windows metafile, client-side vulnerability on some systems
789  'application/x-msmetafile',
790 );
791 
797 $wgAllowJavaUploads = false;
798 
804 $wgCheckFileExtensions = true;
805 
812 $wgStrictFileExtensions = true;
813 
820 $wgDisableUploadScriptChecks = false;
821 
825 $wgUploadSizeWarning = false;
826 
837 $wgTrustedMediaFormats = array(
838  MEDIATYPE_BITMAP, //all bitmap formats
839  MEDIATYPE_AUDIO, //all audio formats
840  MEDIATYPE_VIDEO, //all plain video formats
841  "image/svg+xml", //svg (only needed if inline rendering of svg is not supported)
842  "application/pdf", //PDF files
843  #"application/x-shockwave-flash", //flash/shockwave movie
844 );
845 
850 $wgMediaHandlers = array(
851  'image/jpeg' => 'JpegHandler',
852  'image/png' => 'PNGHandler',
853  'image/gif' => 'GIFHandler',
854  'image/tiff' => 'TiffHandler',
855  'image/x-ms-bmp' => 'BmpHandler',
856  'image/x-bmp' => 'BmpHandler',
857  'image/x-xcf' => 'XCFHandler',
858  'image/svg+xml' => 'SvgHandler', // official
859  'image/svg' => 'SvgHandler', // compat
860  'image/vnd.djvu' => 'DjVuHandler', // official
861  'image/x.djvu' => 'DjVuHandler', // compat
862  'image/x-djvu' => 'DjVuHandler', // compat
863 );
864 
871 $wgContentHandlers = array(
872  // the usual case
873  CONTENT_MODEL_WIKITEXT => 'WikitextContentHandler',
874  // dumb version, no syntax highlighting
875  CONTENT_MODEL_JAVASCRIPT => 'JavaScriptContentHandler',
876  // dumb version, no syntax highlighting
877  CONTENT_MODEL_CSS => 'CssContentHandler',
878  // plain text, for use by extensions etc
879  CONTENT_MODEL_TEXT => 'TextContentHandler',
880 );
881 
887 $wgUseImageResize = true;
888 
897 $wgUseImageMagick = false;
898 
902 $wgImageMagickConvertCommand = '/usr/bin/convert';
903 
907 $wgSharpenParameter = '0x0.4';
908 
912 $wgSharpenReductionThreshold = 0.85;
913 
918 $wgImageMagickTempDir = false;
919 
932 $wgCustomConvertCommand = false;
933 
939 $wgJpegTran = '/usr/bin/jpegtran';
940 
945 $wgExiv2Command = '/usr/bin/exiv2';
946 
956 $wgSVGConverters = array(
957  'ImageMagick' => '$path/convert -background white -thumbnail $widthx$height\! $input PNG:$output',
958  'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
959  'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
960  'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d '
961  . '$output $input',
962  'rsvg' => '$path/rsvg -w $width -h $height $input $output',
963  'imgserv' => '$path/imgserv-wrapper -i svg -o png -w$width $input $output',
964  'ImagickExt' => array( 'SvgHandler::rasterizeImagickExt' ),
965 );
966 
970 $wgSVGConverter = 'ImageMagick';
971 
975 $wgSVGConverterPath = '';
976 
980 $wgSVGMaxSize = 2048;
981 
986 $wgSVGMetadataCutoff = 262144;
987 
999 $wgAllowTitlesInSVG = false;
1000 
1014 $wgMaxImageArea = 1.25e7;
1015 
1022 $wgMaxAnimatedGifArea = 1.25e7;
1023 
1037 $wgTiffThumbnailType = false;
1038 
1045 $wgThumbnailEpoch = '20030516000000';
1046 
1053 $wgAttemptFailureEpoch = 1;
1054 
1066 $wgIgnoreImageErrors = false;
1067 
1075 $wgGenerateThumbnailOnParse = true;
1076 
1080 $wgShowArchiveThumbnails = true;
1081 
1087 $wgEnableAutoRotation = null;
1088 
1094 $wgAntivirus = null;
1095 
1130 $wgAntivirusSetup = array(
1131 
1132  #setup for clamav
1133  'clamav' => array(
1134  'command' => 'clamscan --no-summary ',
1135  'codemap' => array(
1136  "0" => AV_NO_VIRUS, # no virus
1137  "1" => AV_VIRUS_FOUND, # virus found
1138  "52" => AV_SCAN_ABORTED, # unsupported file format (probably immune)
1139  "*" => AV_SCAN_FAILED, # else scan failed
1140  ),
1141  'messagepattern' => '/.*?:(.*)/sim',
1142  ),
1143 );
1144 
1148 $wgAntivirusRequired = true;
1149 
1153 $wgVerifyMimeType = true;
1154 
1160 $wgMimeTypeFile = 'includes/mime.types';
1161 
1166 $wgMimeInfoFile = 'includes/mime.info';
1167 
1179 $wgMimeDetectorCommand = null;
1180 
1186 $wgTrivialMimeDetection = false;
1187 
1192 $wgXMLMimeTypes = array(
1193  'http://www.w3.org/2000/svg:svg' => 'image/svg+xml',
1194  'svg' => 'image/svg+xml',
1195  'http://www.lysator.liu.se/~alla/dia/:diagram' => 'application/x-dia-diagram',
1196  'http://www.w3.org/1999/xhtml:html' => 'text/html', // application/xhtml+xml?
1197  'html' => 'text/html', // application/xhtml+xml?
1198 );
1199 
1208 $wgImageLimits = array(
1209  array( 320, 240 ),
1210  array( 640, 480 ),
1211  array( 800, 600 ),
1212  array( 1024, 768 ),
1213  array( 1280, 1024 )
1214 );
1215 
1221 $wgThumbLimits = array(
1222  120,
1223  150,
1224  180,
1225  200,
1226  250,
1227  300
1228 );
1229 
1233 $wgGalleryOptions = array(
1234  'imagesPerRow' => 0, // Default number of images per-row in the gallery. 0 -> Adapt to screensize
1235  'imageWidth' => 120, // Width of the cells containing images in galleries (in "px")
1236  'imageHeight' => 120, // Height of the cells containing images in galleries (in "px")
1237  'captionLength' => 25, // Length of caption to truncate (in characters)
1238  'showBytes' => true, // Show the filesize in bytes in categories
1239  'mode' => 'traditional',
1240 );
1241 
1247 $wgThumbUpright = 0.75;
1248 
1252 $wgDirectoryMode = 0777;
1253 
1262 $wgResponsiveImages = true;
1263 
1274 $wgDjvuDump = null;
1275 
1281 $wgDjvuRenderer = null;
1282 
1288 $wgDjvuTxt = null;
1289 
1304 $wgDjvuToXML = null;
1305 
1311 $wgDjvuPostProcessor = 'pnmtojpeg';
1312 
1316 $wgDjvuOutputExtension = 'jpg';
1317  # end of DJvu }
1319  # end of file uploads }
1321 
1322 /************************************************************************/
1327 $serverName = substr( $wgServer, strrpos( $wgServer, '/' ) + 1 );
1328 
1332 $wgEmergencyContact = 'wikiadmin@' . $serverName;
1333 
1339 $wgPasswordSender = 'apache@' . $serverName;
1340 
1341 unset( $serverName ); # Don't leak local variables to global scope
1342 
1348 $wgPasswordSenderName = 'MediaWiki Mail';
1349 
1355 $wgNoReplyAddress = 'reply@not.possible';
1356 
1362 $wgEnableEmail = true;
1363 
1368 $wgEnableUserEmail = true;
1369 
1378 $wgUserEmailUseReplyTo = false;
1379 
1384 $wgPasswordReminderResendTime = 24;
1385 
1389 $wgNewPasswordExpiry = 3600 * 24 * 7;
1390 
1394 $wgUserEmailConfirmationTokenExpiry = 7 * 24 * 60 * 60;
1395 
1400 $wgPasswordExpirationDays = false;
1401 
1406 $wgPasswordExpireGrace = 3600 * 24 * 7; // 7 days
1407 
1425 $wgSMTP = false;
1426 
1431 $wgAdditionalMailParams = null;
1432 
1437 $wgAllowHTMLEmail = false;
1438 
1443 $wgEnotifFromEditor = false;
1444 
1445 // TODO move UPO to preferences probably ?
1446 # If set to true, users get a corresponding option in their preferences and can choose to
1447 # enable or disable at their discretion
1448 # If set to false, the corresponding input form on the user preference page is suppressed
1449 # It call this to be a "user-preferences-option (UPO)"
1450 
1456 $wgEmailAuthentication = true;
1457 
1461 $wgEnotifWatchlist = false;
1462 
1467 $wgEnotifUserTalk = false;
1468 
1473 $wgEnotifRevealEditorAddress = false;
1474 
1479 $wgEnotifMinorEdits = true;
1480 
1488 $wgEnotifImpersonal = false;
1489 
1494 $wgEnotifMaxRecips = 500;
1495 
1500 $wgEnotifUseJobQ = false;
1501 
1505 $wgEnotifUseRealName = false;
1506 
1511 $wgUsersNotifiedOnAllChanges = array();
1512  # end of email settings
1514 
1515 /************************************************************************//**
1516  * @name Database settings
1517  * @{
1518  */
1519 
1523 $wgDBserver = 'localhost';
1524 
1528 $wgDBport = 5432;
1529 
1533 $wgDBname = 'my_wiki';
1534 
1538 $wgDBuser = 'wikiuser';
1539 
1543 $wgDBpassword = '';
1544 
1548 $wgDBtype = 'mysql';
1549 
1553 $wgDBssl = false;
1554 
1558 $wgDBcompress = false;
1559 
1563 $wgDBadminuser = null;
1564 
1568 $wgDBadminpassword = null;
1569 
1576 $wgSearchType = null;
1577 
1585 $wgSearchTypeAlternatives = null;
1586 
1590 $wgDBprefix = '';
1591 
1595 $wgDBTableOptions = 'ENGINE=InnoDB';
1596 
1603 $wgSQLMode = '';
1604 
1608 $wgDBmwschema = null;
1609 
1613 $wgSQLiteDataDir = '';
1614 
1620 $wgAllDBsAreLocalhost = false;
1621 
1644 $wgSharedDB = null;
1645 
1649 $wgSharedPrefix = false;
1650 
1654 $wgSharedTables = array( 'user', 'user_properties' );
1655 
1706 $wgDBservers = false;
1707 
1718 $wgLBFactoryConf = array( 'class' => 'LBFactorySimple' );
1719 
1723 $wgMasterWaitTimeout = 10;
1724 
1728 $wgDBerrorLog = false;
1729 
1748 $wgDBerrorLogTZ = false;
1749 
1753 $wgDBClusterTimeout = 10;
1754 
1760 $wgDBAvgStatusPoll = 2000;
1761 
1778 $wgDBmysql5 = false;
1779 
1807 $wgDBOracleDRCP = false;
1808 
1814 $wgLocalDatabases = array();
1815 
1821 $wgSlaveLagWarning = 10;
1822 
1826 $wgSlaveLagCritical = 30;
1827 
1831 $wgDBWindowsAuthentication = false;
1832  # End of DB settings }
1834 
1835 /************************************************************************//**
1836  * @name Text storage
1837  * @{
1838  */
1839 
1846 $wgCompressRevisions = false;
1847 
1859 $wgExternalStores = array();
1860 
1875 $wgExternalServers = array();
1876 
1891 $wgDefaultExternalStore = false;
1892 
1899 $wgRevisionCacheExpiry = 0;
1900  # end text storage }
1902 
1903 /************************************************************************//**
1904  * @name Performance hacks and limits
1905  * @{
1906  */
1907 
1911 $wgMiserMode = false;
1912 
1916 $wgDisableQueryPages = false;
1917 
1921 $wgQueryCacheLimit = 1000;
1922 
1926 $wgWantedPagesThreshold = 1;
1927 
1931 $wgAllowSlowParserFunctions = false;
1932 
1936 $wgAllowSchemaUpdates = true;
1937 
1945 $wgAntiLockFlags = 0;
1946 
1950 $wgMaxArticleSize = 2048;
1951 
1956 $wgMemoryLimit = "50M";
1957  # end performance hacks }
1959 
1960 /************************************************************************//**
1961  * @name Cache settings
1962  * @{
1963  */
1964 
1973 $wgCacheDirectory = false;
1974 
1992 $wgMainCacheType = CACHE_NONE;
1993 
2000 $wgMessageCacheType = CACHE_ANYTHING;
2001 
2008 $wgParserCacheType = CACHE_ANYTHING;
2009 
2015 $wgSessionCacheType = CACHE_ANYTHING;
2016 
2025 $wgLanguageConverterCacheType = CACHE_ANYTHING;
2026 
2040 $wgObjectCaches = array(
2041  CACHE_NONE => array( 'class' => 'EmptyBagOStuff' ),
2042  CACHE_DB => array( 'class' => 'SqlBagOStuff', 'table' => 'objectcache' ),
2043 
2044  CACHE_ANYTHING => array( 'factory' => 'ObjectCache::newAnything' ),
2045  CACHE_ACCEL => array( 'factory' => 'ObjectCache::newAccelerator' ),
2046  CACHE_MEMCACHED => array( 'factory' => 'ObjectCache::newMemcached' ),
2047 
2048  'apc' => array( 'class' => 'APCBagOStuff' ),
2049  'xcache' => array( 'class' => 'XCacheBagOStuff' ),
2050  'wincache' => array( 'class' => 'WinCacheBagOStuff' ),
2051  'memcached-php' => array( 'class' => 'MemcachedPhpBagOStuff' ),
2052  'memcached-pecl' => array( 'class' => 'MemcachedPeclBagOStuff' ),
2053  'hash' => array( 'class' => 'HashBagOStuff' ),
2054 );
2055 
2060 $wgParserCacheExpireTime = 86400;
2061 
2067 $wgSessionsInMemcached = false;
2068 
2075 $wgSessionsInObjectCache = false;
2076 
2081 $wgObjectCacheSessionExpiry = 3600;
2082 
2089 $wgSessionHandler = null;
2090 
2094 $wgMemCachedDebug = false;
2095 
2099 $wgMemCachedServers = array( '127.0.0.1:11211' );
2100 
2105 $wgMemCachedPersistent = false;
2106 
2110 $wgMemCachedTimeout = 500000;
2111 
2116 $wgUseLocalMessageCache = false;
2117 
2124 $wgAdaptiveMessageCache = false;
2125 
2146 $wgLocalisationCacheConf = array(
2147  'class' => 'LocalisationCache',
2148  'store' => 'detect',
2149  'storeClass' => false,
2150  'storeDirectory' => false,
2151  'manualRecache' => false,
2152 );
2153 
2157 $wgCachePages = true;
2158 
2167 $wgCacheEpoch = '20030516000000';
2168 
2176 $wgStyleVersion = '303';
2177 
2185 $wgUseFileCache = false;
2186 
2193 $wgFileCacheDepth = 2;
2194 
2204 $wgEnableParserCache = true;
2205 
2210 $wgRenderHashAppend = '';
2211 
2221 $wgEnableSidebarCache = false;
2222 
2226 $wgSidebarCacheExpiry = 86400;
2227 
2234 $wgUseGzip = false;
2235 
2240 $wgUseETag = false;
2241 
2248 $wgClockSkewFudge = 5;
2249 
2259 $wgInvalidateCacheOnLocalSettingsChange = true;
2260  # end of cache settings
2262 
2263 /************************************************************************//**
2264  * @name HTTP proxy (Squid) settings
2265  *
2266  * Many of these settings apply to any HTTP proxy used in front of MediaWiki,
2267  * although they are referred to as Squid settings for historical reasons.
2268  *
2269  * Achieving a high hit ratio with an HTTP proxy requires special
2270  * configuration. See https://www.mediawiki.org/wiki/Manual:Squid_caching for
2271  * more details.
2272  *
2273  * @{
2274  */
2275 
2280 $wgUseSquid = false;
2281 
2285 $wgUseESI = false;
2286 
2290 $wgUseXVO = false;
2291 
2300 $wgVaryOnXFP = false;
2301 
2310 $wgInternalServer = false;
2311 
2318 $wgSquidMaxage = 18000;
2319 
2323 $wgForcedRawSMaxage = 300;
2324 
2333 $wgSquidServers = array();
2334 
2341 $wgSquidServersNoPurge = array();
2342 
2346 $wgMaxSquidPurgeTitles = 400;
2347 
2367 $wgSquidPurgeUseHostHeader = true;
2368 
2420 $wgHTCPRouting = array();
2421 
2431 $wgHTCPMulticastRouting = null;
2432 
2447 $wgHTCPMulticastAddress = false;
2448 
2456 $wgHTCPPort = 4827;
2457 
2462 $wgHTCPMulticastTTL = 1;
2463 
2467 $wgUsePrivateIPs = false;
2468  # end of HTTP proxy settings
2470 
2471 /************************************************************************//**
2472  * @name Language, regional and character encoding settings
2473  * @{
2474  */
2475 
2491 $wgLanguageCode = 'en';
2492 
2497 $wgLangObjCacheSize = 10;
2498 
2508 $wgGrammarForms = array();
2509 
2513 $wgInterwikiMagic = true;
2514 
2518 $wgHideInterlanguageLinks = false;
2519 
2523 $wgExtraLanguageNames = array();
2524 
2531 $wgDummyLanguageCodes = array(
2532  'als' => 'gsw',
2533  'bat-smg' => 'sgs',
2534  'be-x-old' => 'be-tarask',
2535  'bh' => 'bho',
2536  'fiu-vro' => 'vro',
2537  'no' => 'nb',
2538  'qqq' => 'qqq', # Used for message documentation.
2539  'qqx' => 'qqx', # Used for viewing message keys.
2540  'roa-rup' => 'rup',
2541  'simple' => 'en',
2542  'zh-classical' => 'lzh',
2543  'zh-min-nan' => 'nan',
2544  'zh-yue' => 'yue',
2545 );
2546 
2554 $wgEditEncoding = '';
2555 
2564 $wgFixArabicUnicode = true;
2565 
2575 $wgFixMalayalamUnicode = true;
2576 
2587 $wgAllUnicodeFixes = false;
2588 
2599 $wgLegacyEncoding = false;
2600 
2606 $wgBrowserBlackList = array(
2617  '/^Mozilla\/2\.[^ ]+ [^(]*?\((?!compatible).*; [UIN]/',
2618  '/^Mozilla\/3\.[^ ]+ [^(]*?\((?!compatible).*; [UIN]/',
2619  '/^Mozilla\/4\.[^ ]+ [^(]*?\((?!compatible).*; [UIN]/',
2620 
2634  '/^Mozilla\/4\.0 \(compatible; MSIE \d+\.\d+; Mac_PowerPC\)/',
2635 
2640  '/^Mozilla\/4\.0 \(compatible; MSIE 6.0; Windows NT 5.0; Google Wireless Transcoder;\)/'
2641 );
2642 
2655 $wgLegacySchemaConversion = false;
2656 
2661 $wgAmericanDates = false;
2662 
2667 $wgTranslateNumerals = true;
2668 
2673 $wgUseDatabaseMessages = true;
2674 
2678 $wgMsgCacheExpiry = 86400;
2679 
2683 $wgMaxMsgCacheEntrySize = 10000;
2684 
2688 $wgDisableLangConversion = false;
2689 
2693 $wgDisableTitleConversion = false;
2694 
2698 $wgCanonicalLanguageLinks = true;
2699 
2703 $wgDefaultLanguageVariant = false;
2704 
2714 $wgDisabledVariants = array();
2715 
2733 $wgVariantArticlePath = false;
2734 
2740 $wgLoginLanguageSelector = false;
2741 
2761 $wgForceUIMsgAsContentMsg = array();
2762 
2786 $wgLocaltimezone = null;
2787 
2797 $wgLocalTZoffset = null;
2798  # End of language/charset settings
2800 
2801 /*************************************************************************//**
2802  * @name Output format and skin settings
2803  * @{
2804  */
2805 
2809 $wgMimeType = 'text/html';
2810 
2818 $wgJsMimeType = null;
2819 
2827 $wgXhtmlDefaultNamespace = null;
2828 
2836 $wgHtml5 = true;
2837 
2845 $wgHtml5Version = null;
2846 
2851 $wgAllowRdfaAttributes = false;
2852 
2856 $wgAllowMicrodataAttributes = false;
2857 
2874 $wgWellFormedXml = true;
2875 
2890 $wgXhtmlNamespaces = array();
2891 
2897 $wgShowIPinHeader = true;
2898 
2906 $wgSiteNotice = '';
2907 
2911 $wgExtraSubtitle = '';
2912 
2916 $wgSiteSupportPage = '';
2917 
2922 $wgValidateAllHtml = false;
2923 
2930 $wgDefaultSkin = 'vector';
2931 
2939 $wgSkipSkin = '';
2940 
2944 $wgSkipSkins = array();
2945 
2951 $wgAllowUserJs = false;
2952 
2958 $wgAllowUserCss = false;
2959 
2965 $wgAllowUserCssPrefs = true;
2966 
2970 $wgUseSiteJs = true;
2971 
2975 $wgUseSiteCss = true;
2976 
2981 $wgBreakFrames = false;
2982 
3002 $wgEditPageFrameOptions = 'DENY';
3003 
3013 $wgApiFrameOptions = 'DENY';
3014 
3018 $wgDisableOutputCompression = false;
3019 
3029 $wgExperimentalHtmlIds = false;
3030 
3060 $wgFooterIcons = array(
3061  "copyright" => array(
3062  "copyright" => array(), // placeholder for the built in copyright icon
3063  ),
3064  "poweredby" => array(
3065  "mediawiki" => array(
3066  "src" => null, // Defaults to "$wgStylePath/common/images/poweredby_mediawiki_88x31.png"
3067  "url" => "//www.mediawiki.org/",
3068  "alt" => "Powered by MediaWiki",
3069  )
3070  ),
3071 );
3072 
3079 $wgUseCombinedLoginLink = false;
3080 
3086 $wgVectorUseSimpleSearch = true;
3087 
3093 $wgVectorUseIconWatch = true;
3094 
3098 $wgEdititis = false;
3099 
3111 $wgSend404Code = true;
3112 
3121 $wgShowRollbackEditCount = 10;
3122 
3129 $wgEnableCanonicalServerLink = false;
3130  # End of output format settings }
3132 
3133 /*************************************************************************//**
3134  * @name Resource loader settings
3135  * @{
3136  */
3137 
3155 $wgResourceModules = array();
3156 
3170 $wgResourceLoaderSources = array();
3171 
3176 $wgResourceBasePath = null;
3177 
3194 $wgResourceLoaderMaxage = array(
3195  'versioned' => array(
3196  'server' => 30 * 24 * 60 * 60, // 30 days
3197  'client' => 30 * 24 * 60 * 60, // 30 days
3198  ),
3199  'unversioned' => array(
3200  'server' => 5 * 60, // 5 minutes
3201  'client' => 5 * 60, // 5 minutes
3202  ),
3203 );
3204 
3210 $wgResourceLoaderDebug = false;
3211 
3217 $wgResourceLoaderUseESI = false;
3218 
3223 $wgResourceLoaderMinifierStatementsOnOwnLine = false;
3224 
3230 $wgResourceLoaderMinifierMaxLineLength = 1000;
3231 
3236 $wgIncludeLegacyJavaScript = true;
3237 
3256 $wgPreloadJavaScriptMwUtil = false;
3257 
3283 $wgLegacyJavaScriptGlobals = true;
3284 
3298 $wgResourceLoaderMaxQueryLength = false;
3299 
3307 $wgResourceLoaderValidateJS = true;
3308 
3317 $wgResourceLoaderValidateStaticJS = false;
3318 
3324 $wgResourceLoaderExperimentalAsyncLoading = false;
3325 
3344 $wgResourceLoaderLESSVars = array();
3345 
3357 $wgResourceLoaderLESSFunctions = array(
3358  'embeddable' => 'ResourceLoaderLESSFunctions::embeddable',
3360 );
3361 
3375 $wgResourceLoaderLESSImportPaths = array(
3376  "$IP/resources/src/mediawiki.less/",
3377 );
3378 
3385 $wgResourceLoaderStorageEnabled = false;
3386 
3393 $wgResourceLoaderStorageVersion = 1;
3394 
3406 $wgAllowSiteCSSOnRestrictedPages = false;
3407 
3414 $wgMangleFlashPolicy = true;
3415  # End of resource loader settings }
3417 
3418 /*************************************************************************//**
3419  * @name Page title and interwiki link settings
3420  * @{
3421  */
3422 
3427 $wgMetaNamespace = false;
3428 
3436 $wgMetaNamespaceTalk = false;
3437 
3464 $wgExtraNamespaces = array();
3465 
3472 $wgExtraGenderNamespaces = array();
3473 
3492 $wgNamespaceAliases = array();
3493 
3521 $wgLegalTitleChars = " %!\"$&'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF+";
3522 
3528 $wgLocalInterwiki = false;
3529 
3538 $wgLocalInterwikis = array();
3539 
3543 $wgInterwikiExpiry = 10800;
3544 
3563 $wgInterwikiCache = false;
3564 
3571 $wgInterwikiScopes = 3;
3572 
3576 $wgInterwikiFallbackSite = 'wiki';
3577  # end of Interwiki caching settings.
3579 
3595 $wgRedirectSources = false;
3596 
3604 $wgCapitalLinks = true;
3605 
3620 $wgCapitalLinkOverrides = array();
3621 
3626 $wgNamespacesWithSubpages = array(
3627  NS_TALK => true,
3628  NS_USER => true,
3629  NS_USER_TALK => true,
3630  NS_PROJECT => true,
3631  NS_PROJECT_TALK => true,
3632  NS_FILE_TALK => true,
3633  NS_MEDIAWIKI => true,
3634  NS_MEDIAWIKI_TALK => true,
3635  NS_TEMPLATE_TALK => true,
3636  NS_HELP => true,
3637  NS_HELP_TALK => true,
3638  NS_CATEGORY_TALK => true
3639 );
3640 
3650 $wgTrackingCategories = array(
3651  'index-category',
3652  'noindex-category',
3653  'expensive-parserfunction-category',
3654  'post-expand-template-argument-category',
3655  'post-expand-template-inclusion-category',
3656  'hidden-category-category',
3657  'broken-file-category',
3658 );
3659 
3666 $wgContentNamespaces = array( NS_MAIN );
3667 
3673 $wgMaxRedirects = 1;
3674 
3685 $wgInvalidRedirectTargets = array( 'Filepath', 'Mypage', 'Mytalk', 'Redirect' );
3686  # End of title and interwiki settings }
3688 
3689 /************************************************************************//**
3690  * @name Parser settings
3691  * These settings configure the transformation from wikitext to HTML.
3692  * @{
3693  */
3694 
3716 $wgParserConf = array(
3717  'class' => 'Parser',
3718  #'preprocessorClass' => 'Preprocessor_Hash',
3719 );
3720 
3724 $wgMaxTocLevel = 999;
3725 
3730 $wgMaxPPNodeCount = 1000000;
3731 
3741 $wgMaxGeneratedPPNodeCount = 1000000;
3742 
3749 $wgMaxTemplateDepth = 40;
3750 
3754 $wgMaxPPExpandDepth = 40;
3755 
3759 $wgUrlProtocols = array(
3760  'http://',
3761  'https://',
3762  'ftp://',
3763  'ftps://', // If we allow ftp:// we should allow the secure version.
3764  'ssh://',
3765  'sftp://', // SFTP > FTP
3766  'irc://',
3767  'ircs://', // @bug 28503
3768  'xmpp:', // Another open communication protocol
3769  'sip:',
3770  'sips:',
3771  'gopher://',
3772  'telnet://', // Well if we're going to support the above.. -ævar
3773  'nntp://', // @bug 3808 RFC 1738
3774  'worldwind://',
3775  'mailto:',
3776  'tel:', // If we can make emails linkable, why not phone numbers?
3777  'sms:', // Likewise this is standardized too
3778  'news:',
3779  'svn://',
3780  'git://',
3781  'mms://',
3782  'bitcoin:', // Even registerProtocolHandler whitelists this along with mailto:
3783  'magnet:', // No reason to reject torrents over magnet: when they're allowed over http://
3784  'urn:', // Allow URNs to be used in Microdata/RDFa <link ... href="urn:...">s
3785  'geo:', // urls define geo locations, they're useful in Microdata/RDFa and for coordinates
3786  '//', // for protocol-relative URLs
3787 );
3788 
3792 $wgCleanSignatures = true;
3793 
3797 $wgAllowExternalImages = false;
3798 
3811 $wgAllowExternalImagesFrom = '';
3812 
3822 $wgEnableImageWhitelist = true;
3823 
3832 $wgAllowImageTag = false;
3833 
3849 $wgUseTidy = false;
3850 
3854 $wgAlwaysUseTidy = false;
3855 
3859 $wgTidyBin = 'tidy';
3860 
3864 $wgTidyConf = $IP . '/includes/tidy.conf';
3865 
3869 $wgTidyOpts = '';
3870 
3874 $wgTidyInternal = extension_loaded( 'tidy' );
3875 
3880 $wgDebugTidy = false;
3881 
3887 $wgRawHtml = false;
3888 
3892 $wgExternalLinkTarget = false;
3893 
3900 $wgNoFollowLinks = true;
3901 
3906 $wgNoFollowNsExceptions = array();
3907 
3922 $wgNoFollowDomainExceptions = array( 'mediawiki.org' );
3923 
3927 $wgAllowDisplayTitle = true;
3928 
3934 $wgRestrictDisplayTitle = true;
3935 
3940 $wgExpensiveParserFunctionLimit = 100;
3941 
3946 $wgPreprocessorCacheThreshold = 1000;
3947 
3951 $wgEnableScaryTranscluding = false;
3952 
3957 $wgTranscludeCacheExpiry = 3600;
3958  # end of parser settings }
3960 
3961 /************************************************************************//**
3962  * @name Statistics
3963  * @{
3964  */
3965 
3986 $wgArticleCountMethod = null;
3987 
3992 $wgUseCommaCount = false;
3993 
4001 $wgHitcounterUpdateFreq = 1;
4002 
4010 $wgActiveUserDays = 30;
4011  # End of statistics }
4013 
4014 /************************************************************************//**
4015  * @name User accounts, authentication
4016  * @{
4017  */
4018 
4022 $wgPasswordSalt = true;
4023 
4028 $wgMinimalPasswordLength = 1;
4029 
4035 $wgInvalidPasswordReset = true;
4036 
4043 $wgPasswordResetRoutes = array(
4044  'username' => true,
4045  'email' => false,
4046 );
4047 
4051 $wgMaxSigChars = 255;
4052 
4057 $wgMaxNameChars = 255;
4058 
4063 $wgReservedUsernames = array(
4064  'MediaWiki default', // Default 'Main Page' and MediaWiki: message pages
4065  'Conversion script', // Used for the old Wikipedia software upgrade
4066  'Maintenance script', // Maintenance scripts which perform editing, image import script
4067  'Template namespace initialisation script', // Used in 1.2->1.3 upgrade
4068  'ScriptImporter', // Default user name used by maintenance/importSiteScripts.php
4069  'msg:double-redirect-fixer', // Automatic double redirect fix
4070  'msg:usermessage-editor', // Default user for leaving user messages
4071  'msg:proxyblocker', // For $wgProxyList and Special:Blockme (removed in 1.22)
4072 );
4073 
4080 $wgDefaultUserOptions = array(
4081  'ccmeonemails' => 0,
4082  'cols' => 80,
4083  'date' => 'default',
4084  'diffonly' => 0,
4085  'disablemail' => 0,
4086  'editfont' => 'default',
4087  'editondblclick' => 0,
4088  'editsectiononrightclick' => 0,
4089  'enotifminoredits' => 0,
4090  'enotifrevealaddr' => 0,
4091  'enotifusertalkpages' => 1,
4092  'enotifwatchlistpages' => 1,
4093  'extendwatchlist' => 0,
4094  'fancysig' => 0,
4095  'forceeditsummary' => 0,
4096  'gender' => 'unknown',
4097  'hideminor' => 0,
4098  'hidepatrolled' => 0,
4099  'imagesize' => 2,
4100  'math' => 1,
4101  'minordefault' => 0,
4102  'newpageshidepatrolled' => 0,
4103  'nickname' => '',
4104  'norollbackdiff' => 0,
4105  'numberheadings' => 0,
4106  'previewonfirst' => 0,
4107  'previewontop' => 1,
4108  'rcdays' => 7,
4109  'rclimit' => 50,
4110  'rows' => 25,
4111  'showhiddencats' => 0,
4112  'shownumberswatching' => 1,
4113  'showtoolbar' => 1,
4114  'skin' => false,
4115  'stubthreshold' => 0,
4116  'thumbsize' => 2,
4117  'underline' => 2,
4118  'uselivepreview' => 0,
4119  'usenewrc' => 0,
4120  'watchcreations' => 1,
4121  'watchdefault' => 1,
4122  'watchdeletion' => 0,
4123  'watchlistdays' => 3.0,
4124  'watchlisthideanons' => 0,
4125  'watchlisthidebots' => 0,
4126  'watchlisthideliu' => 0,
4127  'watchlisthideminor' => 0,
4128  'watchlisthideown' => 0,
4129  'watchlisthidepatrolled' => 0,
4130  'watchmoves' => 0,
4131  'wllimit' => 250,
4132  'useeditwarning' => 1,
4133  'prefershttps' => 1,
4134 );
4135 
4139 $wgHiddenPrefs = array();
4140 
4146 $wgInvalidUsernameCharacters = '@';
4147 
4157 $wgUserrightsInterwikiDelimiter = '@';
4158 
4165 $wgSecureLogin = false;
4166  # end user accounts }
4168 
4169 /************************************************************************//**
4170  * @name User rights, access control and monitoring
4171  * @{
4172  */
4173 
4177 $wgAutoblockExpiry = 86400;
4178 
4182 $wgBlockAllowsUTEdit = false;
4183 
4187 $wgSysopEmailBans = true;
4188 
4203 $wgBlockCIDRLimit = array(
4204  'IPv4' => 16, # Blocks larger than a /16 (64k addresses) will not be allowed
4205  'IPv6' => 19,
4206 );
4207 
4215 $wgBlockDisablesLogin = false;
4216 
4234 $wgWhitelistRead = false;
4235 
4262 $wgWhitelistReadRegexp = false;
4263 
4268 $wgEmailConfirmToEdit = false;
4269 
4294 $wgGroupPermissions = array();
4295 
4297 // Implicit group for all visitors
4298 $wgGroupPermissions['*']['createaccount'] = true;
4299 $wgGroupPermissions['*']['read'] = true;
4300 $wgGroupPermissions['*']['edit'] = true;
4301 $wgGroupPermissions['*']['createpage'] = true;
4302 $wgGroupPermissions['*']['createtalk'] = true;
4303 $wgGroupPermissions['*']['writeapi'] = true;
4304 $wgGroupPermissions['*']['editmyusercss'] = true;
4305 $wgGroupPermissions['*']['editmyuserjs'] = true;
4306 $wgGroupPermissions['*']['viewmywatchlist'] = true;
4307 $wgGroupPermissions['*']['editmywatchlist'] = true;
4308 $wgGroupPermissions['*']['viewmyprivateinfo'] = true;
4309 $wgGroupPermissions['*']['editmyprivateinfo'] = true;
4310 $wgGroupPermissions['*']['editmyoptions'] = true;
4311 #$wgGroupPermissions['*']['patrolmarks'] = false; // let anons see what was patrolled
4312 
4313 // Implicit group for all logged-in accounts
4314 $wgGroupPermissions['user']['move'] = true;
4315 $wgGroupPermissions['user']['move-subpages'] = true;
4316 $wgGroupPermissions['user']['move-rootuserpages'] = true; // can move root userpages
4317 $wgGroupPermissions['user']['movefile'] = true;
4318 $wgGroupPermissions['user']['read'] = true;
4319 $wgGroupPermissions['user']['edit'] = true;
4320 $wgGroupPermissions['user']['createpage'] = true;
4321 $wgGroupPermissions['user']['createtalk'] = true;
4322 $wgGroupPermissions['user']['writeapi'] = true;
4323 $wgGroupPermissions['user']['upload'] = true;
4324 $wgGroupPermissions['user']['reupload'] = true;
4325 $wgGroupPermissions['user']['reupload-shared'] = true;
4326 $wgGroupPermissions['user']['minoredit'] = true;
4327 $wgGroupPermissions['user']['purge'] = true; // can use ?action=purge without clicking "ok"
4328 $wgGroupPermissions['user']['sendemail'] = true;
4329 
4330 // Implicit group for accounts that pass $wgAutoConfirmAge
4331 $wgGroupPermissions['autoconfirmed']['autoconfirmed'] = true;
4332 $wgGroupPermissions['autoconfirmed']['editsemiprotected'] = true;
4333 
4334 // Users with bot privilege can have their edits hidden
4335 // from various log pages by default
4336 $wgGroupPermissions['bot']['bot'] = true;
4337 $wgGroupPermissions['bot']['autoconfirmed'] = true;
4338 $wgGroupPermissions['bot']['editsemiprotected'] = true;
4339 $wgGroupPermissions['bot']['nominornewtalk'] = true;
4340 $wgGroupPermissions['bot']['autopatrol'] = true;
4341 $wgGroupPermissions['bot']['suppressredirect'] = true;
4342 $wgGroupPermissions['bot']['apihighlimits'] = true;
4343 $wgGroupPermissions['bot']['writeapi'] = true;
4344 
4345 // Most extra permission abilities go to this group
4346 $wgGroupPermissions['sysop']['block'] = true;
4347 $wgGroupPermissions['sysop']['createaccount'] = true;
4348 $wgGroupPermissions['sysop']['delete'] = true;
4349 // can be separately configured for pages with > $wgDeleteRevisionsLimit revs
4350 $wgGroupPermissions['sysop']['bigdelete'] = true;
4351 // can view deleted history entries, but not see or restore the text
4352 $wgGroupPermissions['sysop']['deletedhistory'] = true;
4353 // can view deleted revision text
4354 $wgGroupPermissions['sysop']['deletedtext'] = true;
4355 $wgGroupPermissions['sysop']['undelete'] = true;
4356 $wgGroupPermissions['sysop']['editinterface'] = true;
4357 $wgGroupPermissions['sysop']['editusercss'] = true;
4358 $wgGroupPermissions['sysop']['edituserjs'] = true;
4359 $wgGroupPermissions['sysop']['import'] = true;
4360 $wgGroupPermissions['sysop']['importupload'] = true;
4361 $wgGroupPermissions['sysop']['move'] = true;
4362 $wgGroupPermissions['sysop']['move-subpages'] = true;
4363 $wgGroupPermissions['sysop']['move-rootuserpages'] = true;
4364 $wgGroupPermissions['sysop']['patrol'] = true;
4365 $wgGroupPermissions['sysop']['autopatrol'] = true;
4366 $wgGroupPermissions['sysop']['protect'] = true;
4367 $wgGroupPermissions['sysop']['editprotected'] = true;
4368 $wgGroupPermissions['sysop']['proxyunbannable'] = true;
4369 $wgGroupPermissions['sysop']['rollback'] = true;
4370 $wgGroupPermissions['sysop']['upload'] = true;
4371 $wgGroupPermissions['sysop']['reupload'] = true;
4372 $wgGroupPermissions['sysop']['reupload-shared'] = true;
4373 $wgGroupPermissions['sysop']['unwatchedpages'] = true;
4374 $wgGroupPermissions['sysop']['autoconfirmed'] = true;
4375 $wgGroupPermissions['sysop']['editsemiprotected'] = true;
4376 $wgGroupPermissions['sysop']['ipblock-exempt'] = true;
4377 $wgGroupPermissions['sysop']['blockemail'] = true;
4378 $wgGroupPermissions['sysop']['markbotedits'] = true;
4379 $wgGroupPermissions['sysop']['apihighlimits'] = true;
4380 $wgGroupPermissions['sysop']['browsearchive'] = true;
4381 $wgGroupPermissions['sysop']['noratelimit'] = true;
4382 $wgGroupPermissions['sysop']['movefile'] = true;
4383 $wgGroupPermissions['sysop']['unblockself'] = true;
4384 $wgGroupPermissions['sysop']['suppressredirect'] = true;
4385 #$wgGroupPermissions['sysop']['upload_by_url'] = true;
4386 #$wgGroupPermissions['sysop']['mergehistory'] = true;
4387 
4388 // Permission to change users' group assignments
4389 $wgGroupPermissions['bureaucrat']['userrights'] = true;
4390 $wgGroupPermissions['bureaucrat']['noratelimit'] = true;
4391 // Permission to change users' groups assignments across wikis
4392 #$wgGroupPermissions['bureaucrat']['userrights-interwiki'] = true;
4393 // Permission to export pages including linked pages regardless of $wgExportMaxLinkDepth
4394 #$wgGroupPermissions['bureaucrat']['override-export-depth'] = true;
4395 
4396 #$wgGroupPermissions['sysop']['deletelogentry'] = true;
4397 #$wgGroupPermissions['sysop']['deleterevision'] = true;
4398 // To hide usernames from users and Sysops
4399 #$wgGroupPermissions['suppress']['hideuser'] = true;
4400 // To hide revisions/log items from users and Sysops
4401 #$wgGroupPermissions['suppress']['suppressrevision'] = true;
4402 // For private suppression log access
4403 #$wgGroupPermissions['suppress']['suppressionlog'] = true;
4404 
4411 # $wgGroupPermissions['developer']['siteadmin'] = true;
4412 
4424 $wgRevokePermissions = array();
4425 
4429 $wgImplicitGroups = array( '*', 'user', 'autoconfirmed' );
4430 
4452 $wgGroupsAddToSelf = array();
4453 
4457 $wgGroupsRemoveFromSelf = array();
4458 
4466 $wgRestrictionTypes = array( 'create', 'edit', 'move', 'upload' );
4467 
4479 $wgRestrictionLevels = array( '', 'autoconfirmed', 'sysop' );
4480 
4490 $wgCascadingRestrictionLevels = array( 'sysop' );
4491 
4504 $wgSemiprotectedRestrictionLevels = array( 'autoconfirmed' );
4505 
4513 $wgNamespaceProtection = array();
4514 
4524 $wgNonincludableNamespaces = array();
4525 
4546 $wgAutoConfirmAge = 0;
4547 
4557 $wgAutoConfirmCount = 0;
4558 
4582 $wgAutopromote = array(
4583  'autoconfirmed' => array( '&',
4584  array( APCOND_EDITCOUNT, &$wgAutoConfirmCount ),
4585  array( APCOND_AGE, &$wgAutoConfirmAge ),
4586  ),
4587 );
4588 
4608 $wgAutopromoteOnce = array(
4609  'onEdit' => array(),
4610  'onView' => array()
4611 );
4612 
4617 $wgAutopromoteOnceLogInRC = true;
4618 
4641 $wgAddGroups = array();
4642 
4646 $wgRemoveGroups = array();
4647 
4652 $wgAvailableRights = array();
4653 
4658 $wgDeleteRevisionsLimit = 0;
4659 
4667 $wgHideUserContribLimit = 1000;
4668 
4674 $wgAccountCreationThrottle = 0;
4675 
4687 $wgSpamRegex = array();
4688 
4692 $wgSummarySpamRegex = array();
4693 
4699 $wgEnableDnsBlacklist = false;
4700 
4705 $wgEnableSorbs = false;
4706 
4730 $wgDnsBlacklistUrls = array( 'http.dnsbl.sorbs.net.' );
4731 
4736 $wgSorbsUrl = array();
4737 
4742 $wgProxyWhitelist = array();
4743 
4749 $wgApplyIpBlocksToXff = false;
4750 
4771 $wgRateLimits = array(
4772  'edit' => array(
4773  'anon' => null, // for any and all anonymous edits (aggregate)
4774  'user' => null, // for each logged-in user
4775  'newbie' => null, // for each recent (autoconfirmed) account; overrides 'user'
4776  'ip' => null, // for each anon and recent account
4777  'subnet' => null, // ... within a /24 subnet in IPv4 or /64 in IPv6
4778  ),
4779  'upload' => array(
4780  'user' => null,
4781  'newbie' => null,
4782  'ip' => null,
4783  'subnet' => null,
4784  ),
4785  'move' => array(
4786  'user' => null,
4787  'newbie' => null,
4788  'ip' => null,
4789  'subnet' => null,
4790  ),
4791  'mailpassword' => array( // triggering password resets emails
4792  'anon' => null,
4793  ),
4794  'emailuser' => array( // emailing other users using MediaWiki
4795  'user' => null,
4796  ),
4797  'linkpurge' => array( // purges of link tables
4798  'anon' => null,
4799  'user' => null,
4800  'newbie' => null,
4801  'ip' => null,
4802  'subnet' => null,
4803  ),
4804  'renderfile' => array( // files rendered via thumb.php or thumb_handler.php
4805  'anon' => null,
4806  'user' => null,
4807  'newbie' => null,
4808  'ip' => null,
4809  'subnet' => null,
4810  ),
4811 );
4812 
4818 $wgRateLimitLog = null;
4819 
4824 $wgRateLimitsExcludedIPs = array();
4825 
4831 $wgPutIPinRC = true;
4832 
4837 $wgQueryPageDefaultLimit = 50;
4838 
4844 $wgPasswordAttemptThrottle = array( 'count' => 5, 'seconds' => 300 );
4845  # end of user rights settings
4847 
4848 /************************************************************************//**
4849  * @name Proxy scanner settings
4850  * @{
4851  */
4852 
4856 $wgSecretKey = false;
4857 
4867 $wgProxyList = array();
4868 
4872 $wgProxyKey = false;
4873  # end of proxy scanner settings
4875 
4876 /************************************************************************//**
4877  * @name Cookie settings
4878  * @{
4879  */
4880 
4884 $wgCookieExpiration = 180 * 86400;
4885 
4890 $wgCookieDomain = '';
4891 
4896 $wgCookiePath = '/';
4897 
4904 $wgCookieSecure = 'detect';
4905 
4912 $wgDisableCookieCheck = false;
4913 
4919 $wgCookiePrefix = false;
4920 
4926 $wgCookieHttpOnly = true;
4927 
4931 $wgCacheVaryCookies = array();
4932 
4936 $wgSessionName = false;
4937  # end of cookie settings }
4939 
4940 /************************************************************************//**
4941  * @name LaTeX (mathematical formulas)
4942  * @{
4943  */
4944 
4951 $wgUseTeX = false;
4952  # end LaTeX }
4954 
4955 /************************************************************************//**
4956  * @name Profiling, testing and debugging
4957  *
4958  * To enable profiling, edit StartProfiler.php
4959  *
4960  * @{
4961  */
4962 
4968 $wgDebugLogFile = '';
4969 
4973 $wgDebugLogPrefix = '';
4974 
4980 $wgDebugRedirects = false;
4981 
4987 $wgDebugRawPage = false;
4988 
4997 $wgDebugComments = false;
4998 
5004 $wgDebugDBTransactions = false;
5005 
5009 $wgDebugDumpSql = false;
5010 
5038 $wgDebugLogGroups = array();
5039 
5045 $wgShowDebug = false;
5046 
5051 $wgDebugTimestamps = false;
5052 
5056 $wgDebugPrintHttpHeaders = true;
5057 
5061 $wgSpecialVersionShowHooks = false;
5062 
5068 $wgShowSQLErrors = false;
5069 
5076 $wgShowExceptionDetails = false;
5077 
5086 $wgShowDBErrorBacktrace = false;
5087 
5091 $wgLogExceptionBacktrace = true;
5092 
5096 $wgShowHostnames = false;
5097 
5103 $wgOverrideHostname = false;
5104 
5109 $wgDevelopmentWarnings = false;
5110 
5116 $wgDeprecationReleaseLimit = false;
5117 
5121 $wgProfileLimit = 0.0;
5122 
5129 $wgProfileOnly = false;
5130 
5141 $wgProfileToDatabase = false;
5142 
5146 $wgProfileCallTree = false;
5147 
5151 $wgProfilePerHost = false;
5152 
5160 $wgUDPProfilerHost = '127.0.0.1';
5161 
5166 $wgUDPProfilerPort = '3811';
5167 
5177 $wgUDPProfilerFormatString = "%s - %d %f %f %f %f %s\n";
5178 
5182 $wgDebugFunctionEntry = false;
5183 
5190 $wgStatsMethod = 'cache';
5191 
5198 $wgAggregateStatsID = false;
5199 
5211 $wgStatsFormatString = "stats/%s - %s 1 1 1 1 %s\n";
5212 
5217 $wgDisableCounters = false;
5218 
5224 $wgPageInfoTransclusionLimit = 50;
5225 
5232 $wgSiteStatsAsyncFactor = false;
5233 
5243 $wgParserTestFiles = array(
5244  "$IP/tests/parser/parserTests.txt",
5245  "$IP/tests/parser/extraParserTests.txt"
5246 );
5247 
5261 $wgParserTestRemote = false;
5262 
5266 $wgEnableJavaScriptTest = false;
5267 
5271 $wgJavaScriptTestConfig = array(
5272  'qunit' => array(
5273  // Page where documentation can be found relevant to the QUnit test suite being ran.
5274  // Used in the intro paragraph on [[Special:JavaScriptTest/qunit]] for the
5275  // documentation link in the "javascripttest-qunit-intro" message.
5276  'documentation' => '//www.mediawiki.org/wiki/Manual:JavaScript_unit_testing',
5277  // If you are submitting the QUnit test suite to a TestSwarm instance,
5278  // point this to the "inject.js" script of that instance. This is was registers
5279  // the QUnit hooks to extract the test results and push them back up into the
5280  // TestSwarm database.
5281  // @example 'http://localhost/testswarm/js/inject.js'
5282  // @example '//integration.mediawiki.org/testswarm/js/inject.js'
5283  'testswarm-injectjs' => false,
5284  ),
5285 );
5286 
5291 $wgCachePrefix = false;
5292 
5300 $wgDebugToolbar = false;
5301  # end of profiling, testing and debugging }
5303 
5304 /************************************************************************//**
5305  * @name Search
5306  * @{
5307  */
5308 
5312 $wgDisableTextSearch = false;
5313 
5318 $wgAdvancedSearchHighlighting = false;
5319 
5324 $wgSearchHighlightBoundaries = '[\p{Z}\p{P}\p{C}]';
5325 
5336 $wgCountTotalSearchHits = false;
5337 
5346 $wgOpenSearchTemplate = false;
5347 
5354 $wgEnableOpenSearchSuggest = true;
5355 
5360 $wgOpenSearchDefaultLimit = 10;
5361 
5365 $wgSearchSuggestCacheExpiry = 1200;
5366 
5371 $wgDisableSearchUpdate = false;
5372 
5382 $wgNamespacesToBeSearchedDefault = array(
5383  NS_MAIN => true,
5384 );
5385 
5392 $wgNamespacesToBeSearchedHelp = array(
5393  NS_PROJECT => true,
5394  NS_HELP => true,
5395 );
5396 
5403 $wgSearchEverythingOnlyLoggedIn = false;
5404 
5409 $wgDisableInternalSearch = false;
5410 
5426 $wgSearchForwardUrl = null;
5427 
5433 $wgUseTwoButtonsSearchForm = true;
5434 
5440 $wgSitemapNamespaces = false;
5441 
5456 $wgSitemapNamespacesPriorities = false;
5457 
5463 $wgEnableSearchContributorsByIP = true;
5464  # end of search settings
5466 
5467 /************************************************************************//**
5468  * @name Edit user interface
5469  * @{
5470  */
5471 
5476 $wgDiff3 = '/usr/bin/diff3';
5477 
5481 $wgDiff = '/usr/bin/diff';
5482 
5488 $wgPreviewOnOpenNamespaces = array(
5489  NS_CATEGORY => true
5490 );
5491 
5495 $wgGoToEdit = false;
5496 
5502 $wgUniversalEditButton = true;
5503 
5509 $wgUseAutomaticEditSummaries = true;
5510  # end edit UI }
5512 
5513 /************************************************************************//**
5514  * @name Maintenance
5515  * See also $wgSiteNotice
5516  * @{
5517  */
5518 
5523 if ( !isset( $wgCommandLineMode ) ) {
5524  $wgCommandLineMode = false;
5525 }
5531 $wgCommandLineDarkBg = false;
5532 
5541 $wgReadOnly = null;
5542 
5550 $wgReadOnlyFile = false;
5551 
5561 $wgUpgradeKey = false;
5562 
5566 $wgGitBin = '/usr/bin/git';
5567 
5580 $wgGitRepositoryViewers = array(
5581  'https://(?:[a-z0-9_]+@)?gerrit.wikimedia.org/r/(?:p/)?(.*)' =>
5582  'https://git.wikimedia.org/commit/%r/%H',
5583  'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)' =>
5584  'https://git.wikimedia.org/commit/%r/%H',
5585 );
5586  # End of maintenance }
5588 
5589 /************************************************************************//**
5590  * @name Recent changes, new pages, watchlist and history
5591  * @{
5592  */
5593 
5599 $wgRCMaxAge = 13 * 7 * 24 * 3600;
5600 
5608 $wgRCFilterByAge = false;
5609 
5614 $wgRCLinkLimits = array( 50, 100, 250, 500 );
5615 
5620 $wgRCLinkDays = array( 1, 3, 7, 14, 30 );
5621 
5628 $wgRC2UDPAddress = false;
5629 
5635 $wgRC2UDPPort = false;
5636 
5645 $wgRC2UDPPrefix = '';
5646 
5654 $wgRC2UDPInterwikiPrefix = false;
5655 
5662 $wgRC2UDPOmitBots = false;
5663 
5704 $wgRCFeeds = array();
5705 
5710 $wgRCEngines = array(
5711  'redis' => 'RedisPubSubFeedEngine',
5712  'udp' => 'UDPRCFeedEngine',
5713 );
5714 
5720 $wgEnableNewpagesUserFilter = true;
5721 
5725 $wgUseRCPatrol = true;
5726 
5730 $wgUseNPPatrol = true;
5731 
5735 $wgLogAutopatrol = true;
5736 
5740 $wgFeed = true;
5741 
5746 $wgFeedLimit = 50;
5747 
5756 $wgFeedCacheTimeout = 60;
5757 
5762 $wgFeedDiffCutoff = 32768;
5763 
5776 $wgOverrideSiteFeed = array();
5777 
5783 $wgFeedClasses = array(
5784  'rss' => 'RSSFeed',
5785  'atom' => 'AtomFeed',
5786 );
5787 
5792 $wgAdvertisedFeedTypes = array( 'atom' );
5793 
5797 $wgRCShowWatchingUsers = false; # UPO
5798 
5802 $wgPageShowWatchingUsers = false;
5803 
5807 $wgRCShowChangedSize = true;
5808 
5814 $wgRCChangedSizeThreshold = 500;
5815 
5820 $wgShowUpdatedMarker = true;
5821 
5826 $wgDisableAnonTalk = false;
5827 
5831 $wgAllowCategorizedRecentChanges = false;
5832 
5837 $wgUseTagFilter = true;
5838 
5846 $wgUnwatchedPageThreshold = false;
5847 
5864 $wgRecentChangesFlags = array(
5865  'newpage' => array( 'letter' => 'newpageletter',
5866  'title' => 'recentchanges-label-newpage' ),
5867  'minor' => array( 'letter' => 'minoreditletter',
5868  'title' => 'recentchanges-label-minor', 'class' => 'minoredit' ),
5869  'bot' => array( 'letter' => 'boteditletter',
5870  'title' => 'recentchanges-label-bot', 'class' => 'botedit' ),
5871  'unpatrolled' => array( 'letter' => 'unpatrolledletter',
5872  'title' => 'recentchanges-label-unpatrolled' ),
5873 );
5874  # end RC/watchlist }
5876 
5877 /************************************************************************//**
5878  * @name Copyright and credits settings
5879  * @{
5880  */
5881 
5889 $wgRightsPage = null;
5890 
5896 $wgRightsUrl = null;
5897 
5904 $wgRightsText = null;
5905 
5909 $wgRightsIcon = null;
5910 
5915 $wgCopyrightIcon = null;
5916 
5920 $wgUseCopyrightUpload = false;
5921 
5929 $wgMaxCredits = 0;
5930 
5935 $wgShowCreditsIfMax = true;
5936  # end of copyright and credits settings }
5938 
5939 /************************************************************************//**
5940  * @name Import / Export
5941  * @{
5942  */
5943 
5952 $wgImportSources = array();
5953 
5961 $wgImportTargetNamespace = null;
5962 
5968 $wgExportAllowHistory = true;
5969 
5975 $wgExportMaxHistory = 0;
5976 
5980 $wgExportAllowListContributors = false;
5981 
5993 $wgExportMaxLinkDepth = 0;
5994 
5998 $wgExportFromNamespaces = false;
5999 
6003 $wgExportAllowAll = false;
6004  # end of import/export }
6006 
6007 /*************************************************************************//**
6008  * @name Extensions
6009  * @{
6010  */
6011 
6016 $wgExtensionFunctions = array();
6017 
6044 $wgExtensionMessagesFiles = array();
6045 
6069 $wgMessagesDirs = array(
6070  'core' => "$IP/languages/i18n",
6071  'oojs-ui' => "$IP/resources/lib/oojs-ui/i18n",
6072 );
6073 
6079 $wgExtensionEntryPointListFiles = array();
6080 
6095 $wgParserOutputHooks = array();
6096 
6100 $wgEnableParserLimitReporting = true;
6101 
6111 $wgValidSkinNames = array();
6112 
6117 $wgSpecialPages = array();
6118 
6122 $wgAutoloadClasses = array();
6123 
6129 $wgAutoloadAttemptLowercase = true;
6130 
6171 $wgExtensionCredits = array();
6172 
6177 $wgAuth = null;
6178 
6213 $wgHooks = array();
6214 
6219 $wgJobClasses = array(
6220  'refreshLinks' => 'RefreshLinksJob',
6221  'refreshLinks2' => 'RefreshLinksJob2', // b/c
6222  'htmlCacheUpdate' => 'HTMLCacheUpdateJob',
6223  'sendMail' => 'EmaillingJob',
6224  'enotifNotify' => 'EnotifNotifyJob',
6225  'fixDoubleRedirect' => 'DoubleRedirectJob',
6226  'uploadFromUrl' => 'UploadFromUrlJob',
6227  'AssembleUploadChunks' => 'AssembleUploadChunksJob',
6228  'PublishStashedFile' => 'PublishStashedFileJob',
6229  'null' => 'NullJob'
6230 );
6231 
6243 $wgJobTypesExcludedFromDefaultQueue = array( 'AssembleUploadChunks', 'PublishStashedFile' );
6244 
6253 $wgJobBackoffThrottling = array();
6254 
6261 $wgJobTypeConf = array(
6262  'default' => array( 'class' => 'JobQueueDB', 'order' => 'random' ),
6263 );
6264 
6269 $wgJobQueueAggregator = array(
6270  'class' => 'JobQueueAggregatorMemc'
6271 );
6272 
6277 $wgSpecialPageCacheUpdates = array(
6278  'Statistics' => array( 'SiteStatsUpdate', 'cacheUpdate' ),
6279  'Activeusers' => array( 'SpecialActiveUsers', 'cacheUpdate' ),
6280 );
6281 
6289 $wgExceptionHooks = array();
6290 
6298 $wgPagePropLinkInvalidations = array(
6299  'hiddencat' => 'categorylinks',
6300 );
6301  # End extensions }
6303 
6304 /*************************************************************************//**
6305  * @name Categories
6306  * @{
6307  */
6308 
6312 $wgUseCategoryBrowser = false;
6313 
6318 $wgCategoryMagicGallery = true;
6319 
6323 $wgCategoryPagingLimit = 200;
6324 
6350 $wgCategoryCollation = 'uppercase';
6351  # End categories }
6353 
6354 /*************************************************************************//**
6355  * @name Logging
6356  * @{
6357  */
6358 
6365 $wgLogTypes = array(
6366  '',
6367  'block',
6368  'protect',
6369  'rights',
6370  'delete',
6371  'upload',
6372  'move',
6373  'import',
6374  'patrol',
6375  'merge',
6376  'suppress',
6377 );
6378 
6386 $wgLogRestrictions = array(
6387  'suppress' => 'suppressionlog'
6388 );
6389 
6412 $wgFilterLogTypes = array(
6413  'patrol' => true
6414 );
6415 
6425 $wgLogNames = array(
6426  '' => 'all-logs-page',
6427  'block' => 'blocklogpage',
6428  'protect' => 'protectlogpage',
6429  'rights' => 'rightslog',
6430  'delete' => 'dellogpage',
6431  'upload' => 'uploadlogpage',
6432  'move' => 'movelogpage',
6433  'import' => 'importlogpage',
6434  'patrol' => 'patrol-log-page',
6435  'merge' => 'mergelog',
6436  'suppress' => 'suppressionlog',
6437 );
6438 
6448 $wgLogHeaders = array(
6449  '' => 'alllogstext',
6450  'block' => 'blocklogtext',
6451  'protect' => 'protectlogtext',
6452  'rights' => 'rightslogtext',
6453  'delete' => 'dellogpagetext',
6454  'upload' => 'uploadlogpagetext',
6455  'move' => 'movelogpagetext',
6456  'import' => 'importlogpagetext',
6457  'patrol' => 'patrol-log-header',
6458  'merge' => 'mergelogpagetext',
6459  'suppress' => 'suppressionlogtext',
6460 );
6461 
6468 $wgLogActions = array(
6469  'block/block' => 'blocklogentry',
6470  'block/unblock' => 'unblocklogentry',
6471  'block/reblock' => 'reblock-logentry',
6472  'protect/protect' => 'protectedarticle',
6473  'protect/modify' => 'modifiedarticleprotection',
6474  'protect/unprotect' => 'unprotectedarticle',
6475  'protect/move_prot' => 'movedarticleprotection',
6476  'upload/upload' => 'uploadedimage',
6477  'upload/overwrite' => 'overwroteimage',
6478  'upload/revert' => 'uploadedimage',
6479  'import/upload' => 'import-logentry-upload',
6480  'import/interwiki' => 'import-logentry-interwiki',
6481  'merge/merge' => 'pagemerge-logentry',
6482  'suppress/block' => 'blocklogentry',
6483  'suppress/reblock' => 'reblock-logentry',
6484 );
6485 
6492 $wgLogActionsHandlers = array(
6493  'move/move' => 'MoveLogFormatter',
6494  'move/move_redir' => 'MoveLogFormatter',
6495  'delete/delete' => 'DeleteLogFormatter',
6496  'delete/restore' => 'DeleteLogFormatter',
6497  'delete/revision' => 'DeleteLogFormatter',
6498  'delete/event' => 'DeleteLogFormatter',
6499  'suppress/revision' => 'DeleteLogFormatter',
6500  'suppress/event' => 'DeleteLogFormatter',
6501  'suppress/delete' => 'DeleteLogFormatter',
6502  'patrol/patrol' => 'PatrolLogFormatter',
6503  'rights/rights' => 'RightsLogFormatter',
6504  'rights/autopromote' => 'RightsLogFormatter',
6505 );
6506 
6510 $wgNewUserLog = true;
6511  # end logging }
6513 
6514 /*************************************************************************//**
6515  * @name Special pages (general and miscellaneous)
6516  * @{
6517  */
6518 
6522 $wgAllowSpecialInclusion = true;
6523 
6528 $wgDisableQueryPageUpdate = false;
6529 
6536 $wgSpecialPageGroups = array();
6537 
6541 $wgSortSpecialPages = true;
6542 
6547 $wgCountCategorizedImagesAsUsed = false;
6548 
6553 $wgMaxRedirectLinksRetrieved = 500;
6554  # end special pages }
6556 
6557 /*************************************************************************//**
6558  * @name Actions
6559  * @{
6560  */
6561 
6572 $wgActions = array(
6573  'credits' => true,
6574  'delete' => true,
6575  'edit' => true,
6576  'history' => true,
6577  'info' => true,
6578  'markpatrolled' => true,
6579  'protect' => true,
6580  'purge' => true,
6581  'raw' => true,
6582  'render' => true,
6583  'revert' => true,
6584  'revisiondelete' => true,
6585  'rollback' => true,
6586  'submit' => true,
6587  'unprotect' => true,
6588  'unwatch' => true,
6589  'view' => true,
6590  'watch' => true,
6591 );
6592  # end actions }
6594 
6595 /*************************************************************************//**
6596  * @name Robot (search engine crawler) policy
6597  * See also $wgNoFollowLinks.
6598  * @{
6599  */
6600 
6606 $wgDefaultRobotPolicy = 'index,follow';
6607 
6622 $wgNamespaceRobotPolicies = array();
6623 
6650 $wgArticleRobotPolicies = array();
6651 
6662 $wgExemptFromUserRobotsControl = null;
6663  # End robot policy }
6665 
6666 /************************************************************************//**
6667  * @name AJAX and API
6668  * Note: The AJAX entry point which this section refers to is gradually being
6669  * replaced by the API entry point, api.php. They are essentially equivalent.
6670  * Both of them are used for dynamic client-side features, via XHR.
6671  * @{
6672  */
6673 
6680 $wgEnableAPI = true;
6681 
6687 $wgEnableWriteAPI = true;
6688 
6703 $wgDebugAPI = false;
6704 
6712 $wgAPIModules = array();
6713 
6721 $wgAPIFormatModules = array();
6722 
6730 $wgAPIMetaModules = array();
6731 
6739 $wgAPIPropModules = array();
6740 
6748 $wgAPIListModules = array();
6749 
6754 $wgAPIGeneratorModules = array();
6755 
6760 $wgAPIMaxDBRows = 5000;
6761 
6766 $wgAPIMaxResultSize = 8388608;
6767 
6772 $wgAPIMaxUncachedDiffs = 1;
6773 
6778 $wgAPIRequestLog = false;
6779 
6783 $wgAPICacheHelpTimeout = 60 * 60;
6784 
6789 $wgAPIUselessQueryPages = array(
6790  'MIMEsearch', // aiprop=mime
6791  'LinkSearch', // list=exturlusage
6792  'FileDuplicateSearch', // prop=duplicatefiles
6793 );
6794 
6798 $wgUseAjax = true;
6799 
6804 $wgAjaxExportList = array();
6805 
6810 $wgAjaxWatch = true;
6811 
6815 $wgAjaxUploadDestCheck = true;
6816 
6820 $wgAjaxLicensePreview = true;
6821 
6842 $wgCrossSiteAJAXdomains = array();
6843 
6849 $wgCrossSiteAJAXdomainExceptions = array();
6850  # End AJAX and API }
6852 
6853 /************************************************************************//**
6854  * @name Shell and process control
6855  * @{
6856  */
6857 
6861 $wgMaxShellMemory = 307200;
6862 
6867 $wgMaxShellFileSize = 102400;
6868 
6872 $wgMaxShellTime = 180;
6873 
6878 $wgMaxShellWallClockTime = 180;
6879 
6903 $wgShellCgroup = false;
6904 
6908 $wgPhpCli = '/usr/bin/php';
6909 
6915 $wgShellLocale = 'en_US.utf8';
6916  # End shell }
6918 
6919 /************************************************************************//**
6920  * @name HTTP client
6921  * @{
6922  */
6923 
6927 $wgHTTPTimeout = 25;
6928 
6932 $wgAsyncHTTPTimeout = 25;
6933 
6937 $wgHTTPProxy = false;
6938 
6943 $wgHTTPConnectTimeout = 5e0;
6944  # End HTTP client }
6946 
6947 /************************************************************************//**
6948  * @name Job queue
6949  * See also $wgEnotifUseJobQ.
6950  * @{
6951  */
6952 
6959 $wgJobRunRate = 1;
6960 
6967 $wgRunJobsAsync = true;
6968 
6972 $wgUpdateRowsPerJob = 500;
6973 
6977 $wgUpdateRowsPerQuery = 100;
6978  # End job queue }
6980 
6981 /************************************************************************//**
6982  * @name Miscellaneous
6983  * @{
6984  */
6985 
6989 $wgExternalDiffEngine = false;
6990 
6999 $wgDisableHardRedirects = false;
7000 
7005 $wgLinkHolderBatchSize = 1000;
7006 
7011 $wgRegisterInternalExternals = false;
7012 
7016 $wgMaximumMovedPages = 100;
7017 
7022 $wgFixDoubleRedirects = false;
7023 
7028 $wgRedirectOnLogin = null;
7029 
7050 $wgPoolCounterConf = null;
7051 
7055 $wgUploadMaintenance = false;
7056 
7065 $wgNamespaceContentModels = array();
7066 
7077 $wgContentHandlerTextFallback = 'ignore';
7078 
7092 $wgContentHandlerUseDB = true;
7093 
7104 $wgTextModelsToParse = array(
7105  CONTENT_MODEL_WIKITEXT, // Just for completeness, wikitext will always be parsed.
7106  CONTENT_MODEL_JAVASCRIPT, // Make categories etc work, people put them into comments.
7107  CONTENT_MODEL_CSS, // Make categories etc work, people put them into comments.
7108 );
7109 
7115 $wgRequirePasswordforEmailChange = true;
7116 
7122 $wgSiteTypes = array(
7123  'mediawiki' => 'MediaWikiSite',
7124 );
7125 
7130 $wgCompiledFiles = array();
7131 
AV_NO_VIRUS
const AV_NO_VIRUS
Definition: Defines.php:148
of
globals txt Globals are evil The original MediaWiki code relied on globals for processing context far too often MediaWiki development since then has been a story of slowly moving context out of global variables and into objects Storing processing context in object member variables allows those objects to be reused in a much more flexible way Consider the elegance of
Definition: globals.txt:10
$wgActionPaths
$wgActionPaths
Definition: img_auth.php:49
php
skin txt MediaWiki includes four core it has been set as the default in MediaWiki since the replacing Monobook it had been been the default skin since before being replaced by Vector largely rewritten in while keeping its appearance Several legacy skins were removed in the as the burden of supporting them became too heavy to bear Those in etc for skin dependent CSS etc for skin dependent JavaScript These can also be customised on a per user by etc This feature has led to a wide variety of user styles becoming that gallery is a good place to ending in php
Definition: skin.txt:62
servers
storage can be distributed across multiple servers
Definition: memcached.txt:33
$wgMinUploadChunkSize
if( $wgMetaNamespace===false) if( $wgResourceLoaderMaxQueryLength===false) $wgMinUploadChunkSize
Definition: Setup.php:300
HashBagOStuff
This is a test of the interface, mainly.
Definition: HashBagOStuff.php:30
SiteConfiguration
This is a class for holding configuration settings, particularly for multi-wiki sites.
Definition: SiteConfiguration.php:117
EmptyBagOStuff
A BagOStuff object with no objects in it.
Definition: EmptyBagOStuff.php:29
PHP
The ContentHandler facility adds support for arbitrary content types on wiki instead of relying on wikitext for everything It was introduced in MediaWiki Each kind of and so on Built in content types as usual *javascript user provided javascript code *css user provided css code *text plain text In PHP
Definition: contenthandler.txt:5
AV_SCAN_FAILED
const AV_SCAN_FAILED
Definition: Defines.php:151
text
design txt This is a brief overview of the new design More thorough and up to date information is available on the documentation wiki at etc Handles the details of getting and saving to the user table of the and dealing with sessions and cookies OutputPage Encapsulates the entire HTML page that will be sent in response to any server request It is used by calling its functions to add text
Definition: design.txt:12
CONTENT_MODEL_CSS
const CONTENT_MODEL_CSS
Definition: Defines.php:285
ResourceLoaderLESSFunctions\embeddable
static embeddable( $frame, $less)
Check if an image file reference is suitable for embedding.
Definition: ResourceLoaderLESSFunctions.php:38
MemcachedPhpBagOStuff
A wrapper class for the pure-PHP memcached client, exposing a BagOStuff interface.
Definition: MemcachedPhpBagOStuff.php:29
n
if(! $in) print Initializing normalization quick check tables n
Definition: UtfNormalGenerate.php:36
CONTENT_MODEL_WIKITEXT
const CONTENT_MODEL_WIKITEXT
Definition: Defines.php:283
AV_SCAN_ABORTED
const AV_SCAN_ABORTED
Definition: Defines.php:150
ObjectCache\newAnything
static newAnything( $params)
Factory function referenced from DefaultSettings.php for CACHE_ANYTHING.
Definition: ObjectCache.php:107
$wgTrivialMimeDetection
$wgTrivialMimeDetection
Definition: thumb.php:28
memcached
MediaWiki has optional support for memcached
Definition: memcached.txt:1
file
We ve cleaned up the code here by removing clumps of infrequently used code and moving them off somewhere else It s much easier for someone working with this code to see what s _really_ going and make changes or fix bugs In we can take all the code that deals with the little used title reversing we can concentrate it all in an extension file
Definition: hooks.txt:93
ObjectCache\newMemcached
static newMemcached( $params)
Factory function that creates a memcached client object.
Definition: ObjectCache.php:150
table
deferred txt A few of the database updates required by various functions here can be deferred until after the result page is displayed to the user For updating the view updating the linked to tables after a etc PHP does not yet have any way to tell the server to actually return and disconnect while still running these but it might have such a feature in the future We handle these by creating a deferred update object and putting those objects on a global then executing the whole list after the page is displayed We don t do anything smart like collating updates to the same table or such because the list is almost always going to have just one item on if so it s not worth the trouble Since there is a job queue in the jobs table
Definition: deferred.txt:11
MediaWiki
array
the array() calling protocol came about after MediaWiki 1.4rc1.
List of Api Query prop modules.
AV_VIRUS_FOUND
const AV_VIRUS_FOUND
Definition: Defines.php:149
$wgFileExtensions
if(! $wgHtml5Version && $wgAllowRdfaAttributes) $wgFileExtensions
Definition: Setup.php:369
simple
and how to run hooks for an and one after Each event has a preferably in CamelCase For ArticleDelete hook A clump of code and data that should be run when an event happens This can be either a function and a chunk of or an object and a method hook function The function part of a third party developers and administrators to define code that will be run at certain points in the mainline and to modify the data run by that mainline code Hooks can keep mainline code simple
Definition: hooks.txt:23
false
processing should stop and the error should be shown to the user * false
Definition: hooks.txt:188
$wgLockManagers
$wgLockManagers[]
Initialise $wgLockManagers to include basic FS version.
Definition: Setup.php:148
execute
$batch execute()
user
This document is intended to provide useful advice for parties seeking to redistribute MediaWiki to end users It s targeted particularly at maintainers for Linux since it s been observed that distribution packages of MediaWiki often break We ve consistently had to recommend that users seeking support use official tarballs instead of their distribution s and this often solves whatever problem the user is having It would be nice if this could such and we might be restricted by PHP settings such as safe mode or open_basedir We cannot assume that the software even has read access anywhere useful Many shared hosts run all users web applications under the same user
Definition: distributors.txt:9
vulnerability
storage can be distributed across multiple and multiple web servers can use the same cache cluster *********************W A R N I N G ***********************Memcached has no security or authentication Please ensure that your server is appropriately and that the anyone on the internet can put data into and read data from your cache An attacker familiar with MediaWiki internals could use this to steal passwords and email or to make themselves a sysop and install malicious javascript on the site There may be other types of vulnerability
Definition: memcached.txt:43
some
I won t presume to tell you how to I m just describing the methods I chose to use for myself If you do choose to follow these it will probably be easier for you to collaborate with others on the but if you want to contribute without by all means do which work well I also use K &R brace matching style I know that s a religious issue for some
Definition: design.txt:79
LocalisationCache
Class for caching the contents of localisation files, Messages*.php and *.i18n.php.
Definition: LocalisationCache.php:37
ObjectCache\newAccelerator
static newAccelerator( $params)
Factory function referenced from DefaultSettings.php for CACHE_ACCEL.
Definition: ObjectCache.php:125
scripts
The package scripts
Definition: README.txt:1
SqlBagOStuff
Class to store objects in the database.
Definition: SqlBagOStuff.php:29
$wgArticlePath
$wgArticlePath
Definition: img_auth.php:48
MemcachedPeclBagOStuff
A wrapper class for the PECL memcached client.
Definition: MemcachedPeclBagOStuff.php:29
ResourceLoaderLESSFunctions\embed
static embed( $frame, $less)
Convert an image URI to a base64-encoded data URI.
Definition: ResourceLoaderLESSFunctions.php:58
WinCacheBagOStuff
Wrapper for WinCache object caching functions; identical interface to the APC wrapper.
Definition: WinCacheBagOStuff.php:30
on
We ve cleaned up the code here by removing clumps of infrequently used code and moving them off somewhere else It s much easier for someone working with this code to see what s _really_ going on
Definition: hooks.txt:86
format
if the prop value should be in the metadata multi language array format
Definition: hooks.txt:1230
WebRequest\detectServer
static detectServer()
Work out an appropriate URL prefix containing scheme and host, based on information detected from $_S...
Definition: WebRequest.php:165
that
deferred txt A few of the database updates required by various functions here can be deferred until after the result page is displayed to the user For updating the view updating the linked to tables after a etc PHP does not yet have any way to tell the server to actually return and disconnect while still running these but it might have such a feature in the future We handle these by creating a deferred update object and putting those objects on a global then executing the whole list after the page is displayed We don t do anything smart like collating updates to the same table or such because the list is almost always going to have just one item on if that
Definition: deferred.txt:11
CONTENT_MODEL_JAVASCRIPT
const CONTENT_MODEL_JAVASCRIPT
Definition: Defines.php:284
MEDIATYPE_VIDEO
const MEDIATYPE_VIDEO
Definition: Defines.php:132
code
and how to run hooks for an and one after Each event has a preferably in CamelCase For ArticleDelete hook A clump of code and data that should be run when an event happens This can be either a function and a chunk of or an object and a method hook function The function part of a third party developers and administrators to define code that will be run at certain points in the mainline code
Definition: hooks.txt:23
CONTENT_MODEL_TEXT
const CONTENT_MODEL_TEXT
Definition: Defines.php:286
XCacheBagOStuff
Wrapper for XCache object caching functions; identical interface to the APC wrapper.
Definition: XCacheBagOStuff.php:30
$IP
$IP
Definition: WebStart.php:88
LBFactorySimple
A simple single-master LBFactory that gets its configuration from the b/c globals.
Definition: LBFactory.php:220
server
This document is intended to provide useful advice for parties seeking to redistribute MediaWiki to end users It s targeted particularly at maintainers for Linux since it s been observed that distribution packages of MediaWiki often break We ve consistently had to recommend that users seeking support use official tarballs instead of their distribution s and this often solves whatever problem the user is having It would be nice if this could such and we might be restricted by PHP settings such as safe mode or open_basedir We cannot assume that the software even has read access anywhere useful Many shared hosts run all users web applications under the same so they can t rely on Unix and must forbid reads to even standard directories like tmp lest users read each others files We cannot assume that the user has the ability to install or run any programs not written as web accessible PHP scripts Since anything that works on cheap shared hosting will work if you have shell or root access MediaWiki s design is based around catering to the lowest common denominator Although we support higher end setups as the way many things work by default is tailored toward shared hosting These defaults are unconventional from the point of view of and they certainly aren t ideal for someone who s installing MediaWiki as MediaWiki does not conform to normal Unix filesystem layout Hopefully we ll offer direct support for standard layouts in the but for now *any change to the location of files is unsupported *Moving things and leaving symlinks will *probably *not break but it is *strongly *advised not to try any more intrusive changes to get MediaWiki to conform more closely to your filesystem hierarchy Any such attempt will almost certainly result in unnecessary bugs The standard recommended location to install relative to the web is it should be possible to enable the appropriate rewrite rules by if you can reconfigure the web server
Definition: distributors.txt:53
APCBagOStuff
This is a wrapper for APC's shared memory functions.
Definition: APCBagOStuff.php:29
MEDIATYPE_BITMAP
const MEDIATYPE_BITMAP
Definition: Defines.php:125
MEDIATYPE_AUDIO
const MEDIATYPE_AUDIO
Definition: Defines.php:129