MediaWiki  1.23.13
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.13';
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 
4274 $wgHideIdentifiableRedirects = true;
4275 
4300 $wgGroupPermissions = array();
4301 
4303 // Implicit group for all visitors
4304 $wgGroupPermissions['*']['createaccount'] = true;
4305 $wgGroupPermissions['*']['read'] = true;
4306 $wgGroupPermissions['*']['edit'] = true;
4307 $wgGroupPermissions['*']['createpage'] = true;
4308 $wgGroupPermissions['*']['createtalk'] = true;
4309 $wgGroupPermissions['*']['writeapi'] = true;
4310 $wgGroupPermissions['*']['editmyusercss'] = true;
4311 $wgGroupPermissions['*']['editmyuserjs'] = true;
4312 $wgGroupPermissions['*']['viewmywatchlist'] = true;
4313 $wgGroupPermissions['*']['editmywatchlist'] = true;
4314 $wgGroupPermissions['*']['viewmyprivateinfo'] = true;
4315 $wgGroupPermissions['*']['editmyprivateinfo'] = true;
4316 $wgGroupPermissions['*']['editmyoptions'] = true;
4317 #$wgGroupPermissions['*']['patrolmarks'] = false; // let anons see what was patrolled
4318 
4319 // Implicit group for all logged-in accounts
4320 $wgGroupPermissions['user']['move'] = true;
4321 $wgGroupPermissions['user']['move-subpages'] = true;
4322 $wgGroupPermissions['user']['move-rootuserpages'] = true; // can move root userpages
4323 $wgGroupPermissions['user']['movefile'] = true;
4324 $wgGroupPermissions['user']['read'] = true;
4325 $wgGroupPermissions['user']['edit'] = true;
4326 $wgGroupPermissions['user']['createpage'] = true;
4327 $wgGroupPermissions['user']['createtalk'] = true;
4328 $wgGroupPermissions['user']['writeapi'] = true;
4329 $wgGroupPermissions['user']['upload'] = true;
4330 $wgGroupPermissions['user']['reupload'] = true;
4331 $wgGroupPermissions['user']['reupload-shared'] = true;
4332 $wgGroupPermissions['user']['minoredit'] = true;
4333 $wgGroupPermissions['user']['purge'] = true; // can use ?action=purge without clicking "ok"
4334 $wgGroupPermissions['user']['sendemail'] = true;
4335 
4336 // Implicit group for accounts that pass $wgAutoConfirmAge
4337 $wgGroupPermissions['autoconfirmed']['autoconfirmed'] = true;
4338 $wgGroupPermissions['autoconfirmed']['editsemiprotected'] = true;
4339 
4340 // Users with bot privilege can have their edits hidden
4341 // from various log pages by default
4342 $wgGroupPermissions['bot']['bot'] = true;
4343 $wgGroupPermissions['bot']['autoconfirmed'] = true;
4344 $wgGroupPermissions['bot']['editsemiprotected'] = true;
4345 $wgGroupPermissions['bot']['nominornewtalk'] = true;
4346 $wgGroupPermissions['bot']['autopatrol'] = true;
4347 $wgGroupPermissions['bot']['suppressredirect'] = true;
4348 $wgGroupPermissions['bot']['apihighlimits'] = true;
4349 $wgGroupPermissions['bot']['writeapi'] = true;
4350 
4351 // Most extra permission abilities go to this group
4352 $wgGroupPermissions['sysop']['block'] = true;
4353 $wgGroupPermissions['sysop']['createaccount'] = true;
4354 $wgGroupPermissions['sysop']['delete'] = true;
4355 // can be separately configured for pages with > $wgDeleteRevisionsLimit revs
4356 $wgGroupPermissions['sysop']['bigdelete'] = true;
4357 // can view deleted history entries, but not see or restore the text
4358 $wgGroupPermissions['sysop']['deletedhistory'] = true;
4359 // can view deleted revision text
4360 $wgGroupPermissions['sysop']['deletedtext'] = true;
4361 $wgGroupPermissions['sysop']['undelete'] = true;
4362 $wgGroupPermissions['sysop']['editinterface'] = true;
4363 $wgGroupPermissions['sysop']['editusercss'] = true;
4364 $wgGroupPermissions['sysop']['edituserjs'] = true;
4365 $wgGroupPermissions['sysop']['import'] = true;
4366 $wgGroupPermissions['sysop']['importupload'] = true;
4367 $wgGroupPermissions['sysop']['move'] = true;
4368 $wgGroupPermissions['sysop']['move-subpages'] = true;
4369 $wgGroupPermissions['sysop']['move-rootuserpages'] = true;
4370 $wgGroupPermissions['sysop']['patrol'] = true;
4371 $wgGroupPermissions['sysop']['autopatrol'] = true;
4372 $wgGroupPermissions['sysop']['protect'] = true;
4373 $wgGroupPermissions['sysop']['editprotected'] = true;
4374 $wgGroupPermissions['sysop']['proxyunbannable'] = true;
4375 $wgGroupPermissions['sysop']['rollback'] = true;
4376 $wgGroupPermissions['sysop']['upload'] = true;
4377 $wgGroupPermissions['sysop']['reupload'] = true;
4378 $wgGroupPermissions['sysop']['reupload-shared'] = true;
4379 $wgGroupPermissions['sysop']['unwatchedpages'] = true;
4380 $wgGroupPermissions['sysop']['autoconfirmed'] = true;
4381 $wgGroupPermissions['sysop']['editsemiprotected'] = true;
4382 $wgGroupPermissions['sysop']['ipblock-exempt'] = true;
4383 $wgGroupPermissions['sysop']['blockemail'] = true;
4384 $wgGroupPermissions['sysop']['markbotedits'] = true;
4385 $wgGroupPermissions['sysop']['apihighlimits'] = true;
4386 $wgGroupPermissions['sysop']['browsearchive'] = true;
4387 $wgGroupPermissions['sysop']['noratelimit'] = true;
4388 $wgGroupPermissions['sysop']['movefile'] = true;
4389 $wgGroupPermissions['sysop']['unblockself'] = true;
4390 $wgGroupPermissions['sysop']['suppressredirect'] = true;
4391 #$wgGroupPermissions['sysop']['upload_by_url'] = true;
4392 #$wgGroupPermissions['sysop']['mergehistory'] = true;
4393 
4394 // Permission to change users' group assignments
4395 $wgGroupPermissions['bureaucrat']['userrights'] = true;
4396 $wgGroupPermissions['bureaucrat']['noratelimit'] = true;
4397 // Permission to change users' groups assignments across wikis
4398 #$wgGroupPermissions['bureaucrat']['userrights-interwiki'] = true;
4399 // Permission to export pages including linked pages regardless of $wgExportMaxLinkDepth
4400 #$wgGroupPermissions['bureaucrat']['override-export-depth'] = true;
4401 
4402 #$wgGroupPermissions['sysop']['deletelogentry'] = true;
4403 #$wgGroupPermissions['sysop']['deleterevision'] = true;
4404 // To hide usernames from users and Sysops
4405 #$wgGroupPermissions['suppress']['hideuser'] = true;
4406 // To hide revisions/log items from users and Sysops
4407 #$wgGroupPermissions['suppress']['suppressrevision'] = true;
4408 // For private suppression log access
4409 #$wgGroupPermissions['suppress']['suppressionlog'] = true;
4410 
4417 # $wgGroupPermissions['developer']['siteadmin'] = true;
4418 
4430 $wgRevokePermissions = array();
4431 
4435 $wgImplicitGroups = array( '*', 'user', 'autoconfirmed' );
4436 
4458 $wgGroupsAddToSelf = array();
4459 
4463 $wgGroupsRemoveFromSelf = array();
4464 
4472 $wgRestrictionTypes = array( 'create', 'edit', 'move', 'upload' );
4473 
4485 $wgRestrictionLevels = array( '', 'autoconfirmed', 'sysop' );
4486 
4496 $wgCascadingRestrictionLevels = array( 'sysop' );
4497 
4510 $wgSemiprotectedRestrictionLevels = array( 'autoconfirmed' );
4511 
4519 $wgNamespaceProtection = array();
4520 
4530 $wgNonincludableNamespaces = array();
4531 
4552 $wgAutoConfirmAge = 0;
4553 
4563 $wgAutoConfirmCount = 0;
4564 
4588 $wgAutopromote = array(
4589  'autoconfirmed' => array( '&',
4590  array( APCOND_EDITCOUNT, &$wgAutoConfirmCount ),
4591  array( APCOND_AGE, &$wgAutoConfirmAge ),
4592  ),
4593 );
4594 
4614 $wgAutopromoteOnce = array(
4615  'onEdit' => array(),
4616  'onView' => array()
4617 );
4618 
4623 $wgAutopromoteOnceLogInRC = true;
4624 
4647 $wgAddGroups = array();
4648 
4652 $wgRemoveGroups = array();
4653 
4658 $wgAvailableRights = array();
4659 
4664 $wgDeleteRevisionsLimit = 0;
4665 
4673 $wgHideUserContribLimit = 1000;
4674 
4680 $wgAccountCreationThrottle = 0;
4681 
4693 $wgSpamRegex = array();
4694 
4698 $wgSummarySpamRegex = array();
4699 
4705 $wgEnableDnsBlacklist = false;
4706 
4711 $wgEnableSorbs = false;
4712 
4736 $wgDnsBlacklistUrls = array( 'http.dnsbl.sorbs.net.' );
4737 
4742 $wgSorbsUrl = array();
4743 
4748 $wgProxyWhitelist = array();
4749 
4755 $wgApplyIpBlocksToXff = false;
4756 
4777 $wgRateLimits = array(
4778  'edit' => array(
4779  'anon' => null, // for any and all anonymous edits (aggregate)
4780  'user' => null, // for each logged-in user
4781  'newbie' => null, // for each recent (autoconfirmed) account; overrides 'user'
4782  'ip' => null, // for each anon and recent account
4783  'subnet' => null, // ... within a /24 subnet in IPv4 or /64 in IPv6
4784  ),
4785  'upload' => array(
4786  'user' => null,
4787  'newbie' => null,
4788  'ip' => null,
4789  'subnet' => null,
4790  ),
4791  'move' => array(
4792  'user' => null,
4793  'newbie' => null,
4794  'ip' => null,
4795  'subnet' => null,
4796  ),
4797  'mailpassword' => array( // triggering password resets emails
4798  'anon' => null,
4799  ),
4800  'emailuser' => array( // emailing other users using MediaWiki
4801  'user' => null,
4802  ),
4803  'linkpurge' => array( // purges of link tables
4804  'anon' => null,
4805  'user' => null,
4806  'newbie' => null,
4807  'ip' => null,
4808  'subnet' => null,
4809  ),
4810  'renderfile' => array( // files rendered via thumb.php or thumb_handler.php
4811  'anon' => null,
4812  'user' => null,
4813  'newbie' => null,
4814  'ip' => null,
4815  'subnet' => null,
4816  ),
4817 );
4818 
4824 $wgRateLimitLog = null;
4825 
4830 $wgRateLimitsExcludedIPs = array();
4831 
4837 $wgPutIPinRC = true;
4838 
4843 $wgQueryPageDefaultLimit = 50;
4844 
4850 $wgPasswordAttemptThrottle = array( 'count' => 5, 'seconds' => 300 );
4851  # end of user rights settings
4853 
4854 /************************************************************************//**
4855  * @name Proxy scanner settings
4856  * @{
4857  */
4858 
4862 $wgSecretKey = false;
4863 
4873 $wgProxyList = array();
4874 
4878 $wgProxyKey = false;
4879  # end of proxy scanner settings
4881 
4882 /************************************************************************//**
4883  * @name Cookie settings
4884  * @{
4885  */
4886 
4890 $wgCookieExpiration = 180 * 86400;
4891 
4896 $wgCookieDomain = '';
4897 
4902 $wgCookiePath = '/';
4903 
4910 $wgCookieSecure = 'detect';
4911 
4918 $wgDisableCookieCheck = false;
4919 
4925 $wgCookiePrefix = false;
4926 
4932 $wgCookieHttpOnly = true;
4933 
4937 $wgCacheVaryCookies = array();
4938 
4942 $wgSessionName = false;
4943  # end of cookie settings }
4945 
4946 /************************************************************************//**
4947  * @name LaTeX (mathematical formulas)
4948  * @{
4949  */
4950 
4957 $wgUseTeX = false;
4958  # end LaTeX }
4960 
4961 /************************************************************************//**
4962  * @name Profiling, testing and debugging
4963  *
4964  * To enable profiling, edit StartProfiler.php
4965  *
4966  * @{
4967  */
4968 
4974 $wgDebugLogFile = '';
4975 
4979 $wgDebugLogPrefix = '';
4980 
4986 $wgDebugRedirects = false;
4987 
4993 $wgDebugRawPage = false;
4994 
5003 $wgDebugComments = false;
5004 
5010 $wgDebugDBTransactions = false;
5011 
5015 $wgDebugDumpSql = false;
5016 
5044 $wgDebugLogGroups = array();
5045 
5051 $wgShowDebug = false;
5052 
5057 $wgDebugTimestamps = false;
5058 
5062 $wgDebugPrintHttpHeaders = true;
5063 
5067 $wgSpecialVersionShowHooks = false;
5068 
5074 $wgShowSQLErrors = false;
5075 
5082 $wgShowExceptionDetails = false;
5083 
5092 $wgShowDBErrorBacktrace = false;
5093 
5097 $wgLogExceptionBacktrace = true;
5098 
5102 $wgShowHostnames = false;
5103 
5109 $wgOverrideHostname = false;
5110 
5115 $wgDevelopmentWarnings = false;
5116 
5122 $wgDeprecationReleaseLimit = false;
5123 
5127 $wgProfileLimit = 0.0;
5128 
5135 $wgProfileOnly = false;
5136 
5147 $wgProfileToDatabase = false;
5148 
5152 $wgProfileCallTree = false;
5153 
5157 $wgProfilePerHost = false;
5158 
5166 $wgUDPProfilerHost = '127.0.0.1';
5167 
5172 $wgUDPProfilerPort = '3811';
5173 
5183 $wgUDPProfilerFormatString = "%s - %d %f %f %f %f %s\n";
5184 
5188 $wgDebugFunctionEntry = false;
5189 
5196 $wgStatsMethod = 'cache';
5197 
5204 $wgAggregateStatsID = false;
5205 
5217 $wgStatsFormatString = "stats/%s - %s 1 1 1 1 %s\n";
5218 
5223 $wgDisableCounters = false;
5224 
5230 $wgPageInfoTransclusionLimit = 50;
5231 
5238 $wgSiteStatsAsyncFactor = false;
5239 
5249 $wgParserTestFiles = array(
5250  "$IP/tests/parser/parserTests.txt",
5251  "$IP/tests/parser/extraParserTests.txt"
5252 );
5253 
5267 $wgParserTestRemote = false;
5268 
5272 $wgEnableJavaScriptTest = false;
5273 
5277 $wgJavaScriptTestConfig = array(
5278  'qunit' => array(
5279  // Page where documentation can be found relevant to the QUnit test suite being ran.
5280  // Used in the intro paragraph on [[Special:JavaScriptTest/qunit]] for the
5281  // documentation link in the "javascripttest-qunit-intro" message.
5282  'documentation' => '//www.mediawiki.org/wiki/Manual:JavaScript_unit_testing',
5283  // If you are submitting the QUnit test suite to a TestSwarm instance,
5284  // point this to the "inject.js" script of that instance. This is was registers
5285  // the QUnit hooks to extract the test results and push them back up into the
5286  // TestSwarm database.
5287  // @example 'http://localhost/testswarm/js/inject.js'
5288  // @example '//integration.mediawiki.org/testswarm/js/inject.js'
5289  'testswarm-injectjs' => false,
5290  ),
5291 );
5292 
5297 $wgCachePrefix = false;
5298 
5306 $wgDebugToolbar = false;
5307  # end of profiling, testing and debugging }
5309 
5310 /************************************************************************//**
5311  * @name Search
5312  * @{
5313  */
5314 
5318 $wgDisableTextSearch = false;
5319 
5324 $wgAdvancedSearchHighlighting = false;
5325 
5330 $wgSearchHighlightBoundaries = '[\p{Z}\p{P}\p{C}]';
5331 
5342 $wgCountTotalSearchHits = false;
5343 
5352 $wgOpenSearchTemplate = false;
5353 
5360 $wgEnableOpenSearchSuggest = true;
5361 
5366 $wgOpenSearchDefaultLimit = 10;
5367 
5371 $wgSearchSuggestCacheExpiry = 1200;
5372 
5377 $wgDisableSearchUpdate = false;
5378 
5388 $wgNamespacesToBeSearchedDefault = array(
5389  NS_MAIN => true,
5390 );
5391 
5398 $wgNamespacesToBeSearchedHelp = array(
5399  NS_PROJECT => true,
5400  NS_HELP => true,
5401 );
5402 
5409 $wgSearchEverythingOnlyLoggedIn = false;
5410 
5415 $wgDisableInternalSearch = false;
5416 
5432 $wgSearchForwardUrl = null;
5433 
5439 $wgUseTwoButtonsSearchForm = true;
5440 
5446 $wgSitemapNamespaces = false;
5447 
5462 $wgSitemapNamespacesPriorities = false;
5463 
5469 $wgEnableSearchContributorsByIP = true;
5470  # end of search settings
5472 
5473 /************************************************************************//**
5474  * @name Edit user interface
5475  * @{
5476  */
5477 
5482 $wgDiff3 = '/usr/bin/diff3';
5483 
5487 $wgDiff = '/usr/bin/diff';
5488 
5494 $wgPreviewOnOpenNamespaces = array(
5495  NS_CATEGORY => true
5496 );
5497 
5501 $wgGoToEdit = false;
5502 
5508 $wgUniversalEditButton = true;
5509 
5515 $wgUseAutomaticEditSummaries = true;
5516  # end edit UI }
5518 
5519 /************************************************************************//**
5520  * @name Maintenance
5521  * See also $wgSiteNotice
5522  * @{
5523  */
5524 
5529 if ( !isset( $wgCommandLineMode ) ) {
5530  $wgCommandLineMode = false;
5531 }
5537 $wgCommandLineDarkBg = false;
5538 
5547 $wgReadOnly = null;
5548 
5556 $wgReadOnlyFile = false;
5557 
5567 $wgUpgradeKey = false;
5568 
5572 $wgGitBin = '/usr/bin/git';
5573 
5586 $wgGitRepositoryViewers = array(
5587  'https://(?:[a-z0-9_]+@)?gerrit.wikimedia.org/r/(?:p/)?(.*)' =>
5588  'https://git.wikimedia.org/commit/%r/%H',
5589  'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)' =>
5590  'https://git.wikimedia.org/commit/%r/%H',
5591 );
5592  # End of maintenance }
5594 
5595 /************************************************************************//**
5596  * @name Recent changes, new pages, watchlist and history
5597  * @{
5598  */
5599 
5605 $wgRCMaxAge = 13 * 7 * 24 * 3600;
5606 
5614 $wgRCFilterByAge = false;
5615 
5620 $wgRCLinkLimits = array( 50, 100, 250, 500 );
5621 
5626 $wgRCLinkDays = array( 1, 3, 7, 14, 30 );
5627 
5634 $wgRC2UDPAddress = false;
5635 
5641 $wgRC2UDPPort = false;
5642 
5651 $wgRC2UDPPrefix = '';
5652 
5660 $wgRC2UDPInterwikiPrefix = false;
5661 
5668 $wgRC2UDPOmitBots = false;
5669 
5710 $wgRCFeeds = array();
5711 
5716 $wgRCEngines = array(
5717  'redis' => 'RedisPubSubFeedEngine',
5718  'udp' => 'UDPRCFeedEngine',
5719 );
5720 
5726 $wgEnableNewpagesUserFilter = true;
5727 
5731 $wgUseRCPatrol = true;
5732 
5736 $wgUseNPPatrol = true;
5737 
5741 $wgLogAutopatrol = true;
5742 
5746 $wgFeed = true;
5747 
5752 $wgFeedLimit = 50;
5753 
5762 $wgFeedCacheTimeout = 60;
5763 
5768 $wgFeedDiffCutoff = 32768;
5769 
5782 $wgOverrideSiteFeed = array();
5783 
5789 $wgFeedClasses = array(
5790  'rss' => 'RSSFeed',
5791  'atom' => 'AtomFeed',
5792 );
5793 
5798 $wgAdvertisedFeedTypes = array( 'atom' );
5799 
5803 $wgRCShowWatchingUsers = false; # UPO
5804 
5808 $wgPageShowWatchingUsers = false;
5809 
5813 $wgRCShowChangedSize = true;
5814 
5820 $wgRCChangedSizeThreshold = 500;
5821 
5826 $wgShowUpdatedMarker = true;
5827 
5832 $wgDisableAnonTalk = false;
5833 
5837 $wgAllowCategorizedRecentChanges = false;
5838 
5843 $wgUseTagFilter = true;
5844 
5852 $wgUnwatchedPageThreshold = false;
5853 
5870 $wgRecentChangesFlags = array(
5871  'newpage' => array( 'letter' => 'newpageletter',
5872  'title' => 'recentchanges-label-newpage' ),
5873  'minor' => array( 'letter' => 'minoreditletter',
5874  'title' => 'recentchanges-label-minor', 'class' => 'minoredit' ),
5875  'bot' => array( 'letter' => 'boteditletter',
5876  'title' => 'recentchanges-label-bot', 'class' => 'botedit' ),
5877  'unpatrolled' => array( 'letter' => 'unpatrolledletter',
5878  'title' => 'recentchanges-label-unpatrolled' ),
5879 );
5880  # end RC/watchlist }
5882 
5883 /************************************************************************//**
5884  * @name Copyright and credits settings
5885  * @{
5886  */
5887 
5895 $wgRightsPage = null;
5896 
5902 $wgRightsUrl = null;
5903 
5910 $wgRightsText = null;
5911 
5915 $wgRightsIcon = null;
5916 
5921 $wgCopyrightIcon = null;
5922 
5926 $wgUseCopyrightUpload = false;
5927 
5935 $wgMaxCredits = 0;
5936 
5941 $wgShowCreditsIfMax = true;
5942  # end of copyright and credits settings }
5944 
5945 /************************************************************************//**
5946  * @name Import / Export
5947  * @{
5948  */
5949 
5958 $wgImportSources = array();
5959 
5967 $wgImportTargetNamespace = null;
5968 
5974 $wgExportAllowHistory = true;
5975 
5981 $wgExportMaxHistory = 0;
5982 
5986 $wgExportAllowListContributors = false;
5987 
5999 $wgExportMaxLinkDepth = 0;
6000 
6004 $wgExportFromNamespaces = false;
6005 
6009 $wgExportAllowAll = false;
6010  # end of import/export }
6012 
6013 /*************************************************************************//**
6014  * @name Extensions
6015  * @{
6016  */
6017 
6022 $wgExtensionFunctions = array();
6023 
6050 $wgExtensionMessagesFiles = array();
6051 
6075 $wgMessagesDirs = array(
6076  'core' => "$IP/languages/i18n",
6077  'oojs-ui' => "$IP/resources/lib/oojs-ui/i18n",
6078 );
6079 
6085 $wgExtensionEntryPointListFiles = array();
6086 
6101 $wgParserOutputHooks = array();
6102 
6106 $wgEnableParserLimitReporting = true;
6107 
6117 $wgValidSkinNames = array();
6118 
6123 $wgSpecialPages = array();
6124 
6128 $wgAutoloadClasses = array();
6129 
6135 $wgAutoloadAttemptLowercase = true;
6136 
6177 $wgExtensionCredits = array();
6178 
6183 $wgAuth = null;
6184 
6219 $wgHooks = array();
6220 
6225 $wgJobClasses = array(
6226  'refreshLinks' => 'RefreshLinksJob',
6227  'refreshLinks2' => 'RefreshLinksJob2', // b/c
6228  'htmlCacheUpdate' => 'HTMLCacheUpdateJob',
6229  'sendMail' => 'EmaillingJob',
6230  'enotifNotify' => 'EnotifNotifyJob',
6231  'fixDoubleRedirect' => 'DoubleRedirectJob',
6232  'uploadFromUrl' => 'UploadFromUrlJob',
6233  'AssembleUploadChunks' => 'AssembleUploadChunksJob',
6234  'PublishStashedFile' => 'PublishStashedFileJob',
6235  'null' => 'NullJob'
6236 );
6237 
6249 $wgJobTypesExcludedFromDefaultQueue = array( 'AssembleUploadChunks', 'PublishStashedFile' );
6250 
6259 $wgJobBackoffThrottling = array();
6260 
6267 $wgJobTypeConf = array(
6268  'default' => array( 'class' => 'JobQueueDB', 'order' => 'random' ),
6269 );
6270 
6275 $wgJobQueueAggregator = array(
6276  'class' => 'JobQueueAggregatorMemc'
6277 );
6278 
6283 $wgSpecialPageCacheUpdates = array(
6284  'Statistics' => array( 'SiteStatsUpdate', 'cacheUpdate' ),
6285  'Activeusers' => array( 'SpecialActiveUsers', 'cacheUpdate' ),
6286 );
6287 
6295 $wgExceptionHooks = array();
6296 
6304 $wgPagePropLinkInvalidations = array(
6305  'hiddencat' => 'categorylinks',
6306 );
6307  # End extensions }
6309 
6310 /*************************************************************************//**
6311  * @name Categories
6312  * @{
6313  */
6314 
6318 $wgUseCategoryBrowser = false;
6319 
6324 $wgCategoryMagicGallery = true;
6325 
6329 $wgCategoryPagingLimit = 200;
6330 
6356 $wgCategoryCollation = 'uppercase';
6357  # End categories }
6359 
6360 /*************************************************************************//**
6361  * @name Logging
6362  * @{
6363  */
6364 
6371 $wgLogTypes = array(
6372  '',
6373  'block',
6374  'protect',
6375  'rights',
6376  'delete',
6377  'upload',
6378  'move',
6379  'import',
6380  'patrol',
6381  'merge',
6382  'suppress',
6383 );
6384 
6392 $wgLogRestrictions = array(
6393  'suppress' => 'suppressionlog'
6394 );
6395 
6418 $wgFilterLogTypes = array(
6419  'patrol' => true
6420 );
6421 
6431 $wgLogNames = array(
6432  '' => 'all-logs-page',
6433  'block' => 'blocklogpage',
6434  'protect' => 'protectlogpage',
6435  'rights' => 'rightslog',
6436  'delete' => 'dellogpage',
6437  'upload' => 'uploadlogpage',
6438  'move' => 'movelogpage',
6439  'import' => 'importlogpage',
6440  'patrol' => 'patrol-log-page',
6441  'merge' => 'mergelog',
6442  'suppress' => 'suppressionlog',
6443 );
6444 
6454 $wgLogHeaders = array(
6455  '' => 'alllogstext',
6456  'block' => 'blocklogtext',
6457  'protect' => 'protectlogtext',
6458  'rights' => 'rightslogtext',
6459  'delete' => 'dellogpagetext',
6460  'upload' => 'uploadlogpagetext',
6461  'move' => 'movelogpagetext',
6462  'import' => 'importlogpagetext',
6463  'patrol' => 'patrol-log-header',
6464  'merge' => 'mergelogpagetext',
6465  'suppress' => 'suppressionlogtext',
6466 );
6467 
6474 $wgLogActions = array(
6475  'block/block' => 'blocklogentry',
6476  'block/unblock' => 'unblocklogentry',
6477  'block/reblock' => 'reblock-logentry',
6478  'protect/protect' => 'protectedarticle',
6479  'protect/modify' => 'modifiedarticleprotection',
6480  'protect/unprotect' => 'unprotectedarticle',
6481  'protect/move_prot' => 'movedarticleprotection',
6482  'upload/upload' => 'uploadedimage',
6483  'upload/overwrite' => 'overwroteimage',
6484  'upload/revert' => 'uploadedimage',
6485  'import/upload' => 'import-logentry-upload',
6486  'import/interwiki' => 'import-logentry-interwiki',
6487  'merge/merge' => 'pagemerge-logentry',
6488  'suppress/block' => 'blocklogentry',
6489  'suppress/reblock' => 'reblock-logentry',
6490 );
6491 
6498 $wgLogActionsHandlers = array(
6499  'move/move' => 'MoveLogFormatter',
6500  'move/move_redir' => 'MoveLogFormatter',
6501  'delete/delete' => 'DeleteLogFormatter',
6502  'delete/restore' => 'DeleteLogFormatter',
6503  'delete/revision' => 'DeleteLogFormatter',
6504  'delete/event' => 'DeleteLogFormatter',
6505  'suppress/revision' => 'DeleteLogFormatter',
6506  'suppress/event' => 'DeleteLogFormatter',
6507  'suppress/delete' => 'DeleteLogFormatter',
6508  'patrol/patrol' => 'PatrolLogFormatter',
6509  'rights/rights' => 'RightsLogFormatter',
6510  'rights/autopromote' => 'RightsLogFormatter',
6511 );
6512 
6516 $wgNewUserLog = true;
6517  # end logging }
6519 
6520 /*************************************************************************//**
6521  * @name Special pages (general and miscellaneous)
6522  * @{
6523  */
6524 
6528 $wgAllowSpecialInclusion = true;
6529 
6534 $wgDisableQueryPageUpdate = false;
6535 
6542 $wgSpecialPageGroups = array();
6543 
6547 $wgSortSpecialPages = true;
6548 
6553 $wgCountCategorizedImagesAsUsed = false;
6554 
6559 $wgMaxRedirectLinksRetrieved = 500;
6560  # end special pages }
6562 
6563 /*************************************************************************//**
6564  * @name Actions
6565  * @{
6566  */
6567 
6578 $wgActions = array(
6579  'credits' => true,
6580  'delete' => true,
6581  'edit' => true,
6582  'history' => true,
6583  'info' => true,
6584  'markpatrolled' => true,
6585  'protect' => true,
6586  'purge' => true,
6587  'raw' => true,
6588  'render' => true,
6589  'revert' => true,
6590  'revisiondelete' => true,
6591  'rollback' => true,
6592  'submit' => true,
6593  'unprotect' => true,
6594  'unwatch' => true,
6595  'view' => true,
6596  'watch' => true,
6597 );
6598  # end actions }
6600 
6601 /*************************************************************************//**
6602  * @name Robot (search engine crawler) policy
6603  * See also $wgNoFollowLinks.
6604  * @{
6605  */
6606 
6612 $wgDefaultRobotPolicy = 'index,follow';
6613 
6628 $wgNamespaceRobotPolicies = array();
6629 
6656 $wgArticleRobotPolicies = array();
6657 
6668 $wgExemptFromUserRobotsControl = null;
6669  # End robot policy }
6671 
6672 /************************************************************************//**
6673  * @name AJAX and API
6674  * Note: The AJAX entry point which this section refers to is gradually being
6675  * replaced by the API entry point, api.php. They are essentially equivalent.
6676  * Both of them are used for dynamic client-side features, via XHR.
6677  * @{
6678  */
6679 
6686 $wgEnableAPI = true;
6687 
6693 $wgEnableWriteAPI = true;
6694 
6709 $wgDebugAPI = false;
6710 
6718 $wgAPIModules = array();
6719 
6727 $wgAPIFormatModules = array();
6728 
6736 $wgAPIMetaModules = array();
6737 
6745 $wgAPIPropModules = array();
6746 
6754 $wgAPIListModules = array();
6755 
6760 $wgAPIGeneratorModules = array();
6761 
6766 $wgAPIMaxDBRows = 5000;
6767 
6772 $wgAPIMaxResultSize = 8388608;
6773 
6778 $wgAPIMaxUncachedDiffs = 1;
6779 
6784 $wgAPIRequestLog = false;
6785 
6789 $wgAPICacheHelpTimeout = 60 * 60;
6790 
6795 $wgAPIUselessQueryPages = array(
6796  'MIMEsearch', // aiprop=mime
6797  'LinkSearch', // list=exturlusage
6798  'FileDuplicateSearch', // prop=duplicatefiles
6799 );
6800 
6804 $wgUseAjax = true;
6805 
6810 $wgAjaxExportList = array();
6811 
6816 $wgAjaxWatch = true;
6817 
6821 $wgAjaxUploadDestCheck = true;
6822 
6826 $wgAjaxLicensePreview = true;
6827 
6848 $wgCrossSiteAJAXdomains = array();
6849 
6855 $wgCrossSiteAJAXdomainExceptions = array();
6856  # End AJAX and API }
6858 
6859 /************************************************************************//**
6860  * @name Shell and process control
6861  * @{
6862  */
6863 
6867 $wgMaxShellMemory = 307200;
6868 
6873 $wgMaxShellFileSize = 102400;
6874 
6878 $wgMaxShellTime = 180;
6879 
6884 $wgMaxShellWallClockTime = 180;
6885 
6909 $wgShellCgroup = false;
6910 
6914 $wgPhpCli = '/usr/bin/php';
6915 
6921 $wgShellLocale = 'en_US.utf8';
6922  # End shell }
6924 
6925 /************************************************************************//**
6926  * @name HTTP client
6927  * @{
6928  */
6929 
6933 $wgHTTPTimeout = 25;
6934 
6938 $wgAsyncHTTPTimeout = 25;
6939 
6943 $wgHTTPProxy = false;
6944 
6949 $wgHTTPConnectTimeout = 5e0;
6950  # End HTTP client }
6952 
6953 /************************************************************************//**
6954  * @name Job queue
6955  * See also $wgEnotifUseJobQ.
6956  * @{
6957  */
6958 
6965 $wgJobRunRate = 1;
6966 
6973 $wgRunJobsAsync = true;
6974 
6978 $wgUpdateRowsPerJob = 500;
6979 
6983 $wgUpdateRowsPerQuery = 100;
6984  # End job queue }
6986 
6987 /************************************************************************//**
6988  * @name Miscellaneous
6989  * @{
6990  */
6991 
6995 $wgExternalDiffEngine = false;
6996 
7005 $wgDisableHardRedirects = false;
7006 
7011 $wgLinkHolderBatchSize = 1000;
7012 
7017 $wgRegisterInternalExternals = false;
7018 
7022 $wgMaximumMovedPages = 100;
7023 
7028 $wgFixDoubleRedirects = false;
7029 
7034 $wgRedirectOnLogin = null;
7035 
7056 $wgPoolCounterConf = null;
7057 
7061 $wgUploadMaintenance = false;
7062 
7071 $wgNamespaceContentModels = array();
7072 
7083 $wgContentHandlerTextFallback = 'ignore';
7084 
7098 $wgContentHandlerUseDB = true;
7099 
7110 $wgTextModelsToParse = array(
7111  CONTENT_MODEL_WIKITEXT, // Just for completeness, wikitext will always be parsed.
7112  CONTENT_MODEL_JAVASCRIPT, // Make categories etc work, people put them into comments.
7113  CONTENT_MODEL_CSS, // Make categories etc work, people put them into comments.
7114 );
7115 
7121 $wgRequirePasswordforEmailChange = true;
7122 
7128 $wgSiteTypes = array(
7129  'mediawiki' => 'MediaWikiSite',
7130 );
7131 
7136 $wgCompiledFiles = array();
7137 
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