MediaWiki  1.23.14
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.14';
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 
3898 $wgExternalLinkTarget = false;
3899 
3906 $wgNoFollowLinks = true;
3907 
3912 $wgNoFollowNsExceptions = array();
3913 
3928 $wgNoFollowDomainExceptions = array( 'mediawiki.org' );
3929 
3933 $wgAllowDisplayTitle = true;
3934 
3940 $wgRestrictDisplayTitle = true;
3941 
3946 $wgExpensiveParserFunctionLimit = 100;
3947 
3952 $wgPreprocessorCacheThreshold = 1000;
3953 
3957 $wgEnableScaryTranscluding = false;
3958 
3963 $wgTranscludeCacheExpiry = 3600;
3964  # end of parser settings }
3966 
3967 /************************************************************************//**
3968  * @name Statistics
3969  * @{
3970  */
3971 
3992 $wgArticleCountMethod = null;
3993 
3998 $wgUseCommaCount = false;
3999 
4007 $wgHitcounterUpdateFreq = 1;
4008 
4016 $wgActiveUserDays = 30;
4017  # End of statistics }
4019 
4020 /************************************************************************//**
4021  * @name User accounts, authentication
4022  * @{
4023  */
4024 
4028 $wgPasswordSalt = true;
4029 
4034 $wgMinimalPasswordLength = 1;
4035 
4041 $wgInvalidPasswordReset = true;
4042 
4049 $wgPasswordResetRoutes = array(
4050  'username' => true,
4051  'email' => false,
4052 );
4053 
4057 $wgMaxSigChars = 255;
4058 
4063 $wgMaxNameChars = 255;
4064 
4069 $wgReservedUsernames = array(
4070  'MediaWiki default', // Default 'Main Page' and MediaWiki: message pages
4071  'Conversion script', // Used for the old Wikipedia software upgrade
4072  'Maintenance script', // Maintenance scripts which perform editing, image import script
4073  'Template namespace initialisation script', // Used in 1.2->1.3 upgrade
4074  'ScriptImporter', // Default user name used by maintenance/importSiteScripts.php
4075  'msg:double-redirect-fixer', // Automatic double redirect fix
4076  'msg:usermessage-editor', // Default user for leaving user messages
4077  'msg:proxyblocker', // For $wgProxyList and Special:Blockme (removed in 1.22)
4078 );
4079 
4086 $wgDefaultUserOptions = array(
4087  'ccmeonemails' => 0,
4088  'cols' => 80,
4089  'date' => 'default',
4090  'diffonly' => 0,
4091  'disablemail' => 0,
4092  'editfont' => 'default',
4093  'editondblclick' => 0,
4094  'editsectiononrightclick' => 0,
4095  'enotifminoredits' => 0,
4096  'enotifrevealaddr' => 0,
4097  'enotifusertalkpages' => 1,
4098  'enotifwatchlistpages' => 1,
4099  'extendwatchlist' => 0,
4100  'fancysig' => 0,
4101  'forceeditsummary' => 0,
4102  'gender' => 'unknown',
4103  'hideminor' => 0,
4104  'hidepatrolled' => 0,
4105  'imagesize' => 2,
4106  'math' => 1,
4107  'minordefault' => 0,
4108  'newpageshidepatrolled' => 0,
4109  'nickname' => '',
4110  'norollbackdiff' => 0,
4111  'numberheadings' => 0,
4112  'previewonfirst' => 0,
4113  'previewontop' => 1,
4114  'rcdays' => 7,
4115  'rclimit' => 50,
4116  'rows' => 25,
4117  'showhiddencats' => 0,
4118  'shownumberswatching' => 1,
4119  'showtoolbar' => 1,
4120  'skin' => false,
4121  'stubthreshold' => 0,
4122  'thumbsize' => 2,
4123  'underline' => 2,
4124  'uselivepreview' => 0,
4125  'usenewrc' => 0,
4126  'watchcreations' => 1,
4127  'watchdefault' => 1,
4128  'watchdeletion' => 0,
4129  'watchlistdays' => 3.0,
4130  'watchlisthideanons' => 0,
4131  'watchlisthidebots' => 0,
4132  'watchlisthideliu' => 0,
4133  'watchlisthideminor' => 0,
4134  'watchlisthideown' => 0,
4135  'watchlisthidepatrolled' => 0,
4136  'watchmoves' => 0,
4137  'wllimit' => 250,
4138  'useeditwarning' => 1,
4139  'prefershttps' => 1,
4140 );
4141 
4145 $wgHiddenPrefs = array();
4146 
4152 $wgInvalidUsernameCharacters = '@';
4153 
4163 $wgUserrightsInterwikiDelimiter = '@';
4164 
4171 $wgSecureLogin = false;
4172  # end user accounts }
4174 
4175 /************************************************************************//**
4176  * @name User rights, access control and monitoring
4177  * @{
4178  */
4179 
4183 $wgAutoblockExpiry = 86400;
4184 
4188 $wgBlockAllowsUTEdit = false;
4189 
4193 $wgSysopEmailBans = true;
4194 
4209 $wgBlockCIDRLimit = array(
4210  'IPv4' => 16, # Blocks larger than a /16 (64k addresses) will not be allowed
4211  'IPv6' => 19,
4212 );
4213 
4221 $wgBlockDisablesLogin = false;
4222 
4240 $wgWhitelistRead = false;
4241 
4268 $wgWhitelistReadRegexp = false;
4269 
4274 $wgEmailConfirmToEdit = false;
4275 
4280 $wgHideIdentifiableRedirects = true;
4281 
4306 $wgGroupPermissions = array();
4307 
4309 // Implicit group for all visitors
4310 $wgGroupPermissions['*']['createaccount'] = true;
4311 $wgGroupPermissions['*']['read'] = true;
4312 $wgGroupPermissions['*']['edit'] = true;
4313 $wgGroupPermissions['*']['createpage'] = true;
4314 $wgGroupPermissions['*']['createtalk'] = true;
4315 $wgGroupPermissions['*']['writeapi'] = true;
4316 $wgGroupPermissions['*']['editmyusercss'] = true;
4317 $wgGroupPermissions['*']['editmyuserjs'] = true;
4318 $wgGroupPermissions['*']['viewmywatchlist'] = true;
4319 $wgGroupPermissions['*']['editmywatchlist'] = true;
4320 $wgGroupPermissions['*']['viewmyprivateinfo'] = true;
4321 $wgGroupPermissions['*']['editmyprivateinfo'] = true;
4322 $wgGroupPermissions['*']['editmyoptions'] = true;
4323 #$wgGroupPermissions['*']['patrolmarks'] = false; // let anons see what was patrolled
4324 
4325 // Implicit group for all logged-in accounts
4326 $wgGroupPermissions['user']['move'] = true;
4327 $wgGroupPermissions['user']['move-subpages'] = true;
4328 $wgGroupPermissions['user']['move-rootuserpages'] = true; // can move root userpages
4329 $wgGroupPermissions['user']['movefile'] = true;
4330 $wgGroupPermissions['user']['read'] = true;
4331 $wgGroupPermissions['user']['edit'] = true;
4332 $wgGroupPermissions['user']['createpage'] = true;
4333 $wgGroupPermissions['user']['createtalk'] = true;
4334 $wgGroupPermissions['user']['writeapi'] = true;
4335 $wgGroupPermissions['user']['upload'] = true;
4336 $wgGroupPermissions['user']['reupload'] = true;
4337 $wgGroupPermissions['user']['reupload-shared'] = true;
4338 $wgGroupPermissions['user']['minoredit'] = true;
4339 $wgGroupPermissions['user']['purge'] = true; // can use ?action=purge without clicking "ok"
4340 $wgGroupPermissions['user']['sendemail'] = true;
4341 
4342 // Implicit group for accounts that pass $wgAutoConfirmAge
4343 $wgGroupPermissions['autoconfirmed']['autoconfirmed'] = true;
4344 $wgGroupPermissions['autoconfirmed']['editsemiprotected'] = true;
4345 
4346 // Users with bot privilege can have their edits hidden
4347 // from various log pages by default
4348 $wgGroupPermissions['bot']['bot'] = true;
4349 $wgGroupPermissions['bot']['autoconfirmed'] = true;
4350 $wgGroupPermissions['bot']['editsemiprotected'] = true;
4351 $wgGroupPermissions['bot']['nominornewtalk'] = true;
4352 $wgGroupPermissions['bot']['autopatrol'] = true;
4353 $wgGroupPermissions['bot']['suppressredirect'] = true;
4354 $wgGroupPermissions['bot']['apihighlimits'] = true;
4355 $wgGroupPermissions['bot']['writeapi'] = true;
4356 
4357 // Most extra permission abilities go to this group
4358 $wgGroupPermissions['sysop']['block'] = true;
4359 $wgGroupPermissions['sysop']['createaccount'] = true;
4360 $wgGroupPermissions['sysop']['delete'] = true;
4361 // can be separately configured for pages with > $wgDeleteRevisionsLimit revs
4362 $wgGroupPermissions['sysop']['bigdelete'] = true;
4363 // can view deleted history entries, but not see or restore the text
4364 $wgGroupPermissions['sysop']['deletedhistory'] = true;
4365 // can view deleted revision text
4366 $wgGroupPermissions['sysop']['deletedtext'] = true;
4367 $wgGroupPermissions['sysop']['undelete'] = true;
4368 $wgGroupPermissions['sysop']['editinterface'] = true;
4369 $wgGroupPermissions['sysop']['editusercss'] = true;
4370 $wgGroupPermissions['sysop']['edituserjs'] = true;
4371 $wgGroupPermissions['sysop']['import'] = true;
4372 $wgGroupPermissions['sysop']['importupload'] = true;
4373 $wgGroupPermissions['sysop']['move'] = true;
4374 $wgGroupPermissions['sysop']['move-subpages'] = true;
4375 $wgGroupPermissions['sysop']['move-rootuserpages'] = true;
4376 $wgGroupPermissions['sysop']['patrol'] = true;
4377 $wgGroupPermissions['sysop']['autopatrol'] = true;
4378 $wgGroupPermissions['sysop']['protect'] = true;
4379 $wgGroupPermissions['sysop']['editprotected'] = true;
4380 $wgGroupPermissions['sysop']['proxyunbannable'] = true;
4381 $wgGroupPermissions['sysop']['rollback'] = true;
4382 $wgGroupPermissions['sysop']['upload'] = true;
4383 $wgGroupPermissions['sysop']['reupload'] = true;
4384 $wgGroupPermissions['sysop']['reupload-shared'] = true;
4385 $wgGroupPermissions['sysop']['unwatchedpages'] = true;
4386 $wgGroupPermissions['sysop']['autoconfirmed'] = true;
4387 $wgGroupPermissions['sysop']['editsemiprotected'] = true;
4388 $wgGroupPermissions['sysop']['ipblock-exempt'] = true;
4389 $wgGroupPermissions['sysop']['blockemail'] = true;
4390 $wgGroupPermissions['sysop']['markbotedits'] = true;
4391 $wgGroupPermissions['sysop']['apihighlimits'] = true;
4392 $wgGroupPermissions['sysop']['browsearchive'] = true;
4393 $wgGroupPermissions['sysop']['noratelimit'] = true;
4394 $wgGroupPermissions['sysop']['movefile'] = true;
4395 $wgGroupPermissions['sysop']['unblockself'] = true;
4396 $wgGroupPermissions['sysop']['suppressredirect'] = true;
4397 #$wgGroupPermissions['sysop']['upload_by_url'] = true;
4398 #$wgGroupPermissions['sysop']['mergehistory'] = true;
4399 
4400 // Permission to change users' group assignments
4401 $wgGroupPermissions['bureaucrat']['userrights'] = true;
4402 $wgGroupPermissions['bureaucrat']['noratelimit'] = true;
4403 // Permission to change users' groups assignments across wikis
4404 #$wgGroupPermissions['bureaucrat']['userrights-interwiki'] = true;
4405 // Permission to export pages including linked pages regardless of $wgExportMaxLinkDepth
4406 #$wgGroupPermissions['bureaucrat']['override-export-depth'] = true;
4407 
4408 #$wgGroupPermissions['sysop']['deletelogentry'] = true;
4409 #$wgGroupPermissions['sysop']['deleterevision'] = true;
4410 // To hide usernames from users and Sysops
4411 #$wgGroupPermissions['suppress']['hideuser'] = true;
4412 // To hide revisions/log items from users and Sysops
4413 #$wgGroupPermissions['suppress']['suppressrevision'] = true;
4414 // For private suppression log access
4415 #$wgGroupPermissions['suppress']['suppressionlog'] = true;
4416 
4423 # $wgGroupPermissions['developer']['siteadmin'] = true;
4424 
4436 $wgRevokePermissions = array();
4437 
4441 $wgImplicitGroups = array( '*', 'user', 'autoconfirmed' );
4442 
4464 $wgGroupsAddToSelf = array();
4465 
4469 $wgGroupsRemoveFromSelf = array();
4470 
4478 $wgRestrictionTypes = array( 'create', 'edit', 'move', 'upload' );
4479 
4491 $wgRestrictionLevels = array( '', 'autoconfirmed', 'sysop' );
4492 
4502 $wgCascadingRestrictionLevels = array( 'sysop' );
4503 
4516 $wgSemiprotectedRestrictionLevels = array( 'autoconfirmed' );
4517 
4525 $wgNamespaceProtection = array();
4526 
4536 $wgNonincludableNamespaces = array();
4537 
4558 $wgAutoConfirmAge = 0;
4559 
4569 $wgAutoConfirmCount = 0;
4570 
4594 $wgAutopromote = array(
4595  'autoconfirmed' => array( '&',
4596  array( APCOND_EDITCOUNT, &$wgAutoConfirmCount ),
4597  array( APCOND_AGE, &$wgAutoConfirmAge ),
4598  ),
4599 );
4600 
4620 $wgAutopromoteOnce = array(
4621  'onEdit' => array(),
4622  'onView' => array()
4623 );
4624 
4629 $wgAutopromoteOnceLogInRC = true;
4630 
4653 $wgAddGroups = array();
4654 
4658 $wgRemoveGroups = array();
4659 
4664 $wgAvailableRights = array();
4665 
4670 $wgDeleteRevisionsLimit = 0;
4671 
4679 $wgHideUserContribLimit = 1000;
4680 
4686 $wgAccountCreationThrottle = 0;
4687 
4699 $wgSpamRegex = array();
4700 
4704 $wgSummarySpamRegex = array();
4705 
4711 $wgEnableDnsBlacklist = false;
4712 
4717 $wgEnableSorbs = false;
4718 
4742 $wgDnsBlacklistUrls = array( 'http.dnsbl.sorbs.net.' );
4743 
4748 $wgSorbsUrl = array();
4749 
4754 $wgProxyWhitelist = array();
4755 
4761 $wgApplyIpBlocksToXff = false;
4762 
4783 $wgRateLimits = array(
4784  'edit' => array(
4785  'anon' => null, // for any and all anonymous edits (aggregate)
4786  'user' => null, // for each logged-in user
4787  'newbie' => null, // for each recent (autoconfirmed) account; overrides 'user'
4788  'ip' => null, // for each anon and recent account
4789  'subnet' => null, // ... within a /24 subnet in IPv4 or /64 in IPv6
4790  ),
4791  'upload' => array(
4792  'user' => null,
4793  'newbie' => null,
4794  'ip' => null,
4795  'subnet' => null,
4796  ),
4797  'move' => array(
4798  'user' => null,
4799  'newbie' => null,
4800  'ip' => null,
4801  'subnet' => null,
4802  ),
4803  'mailpassword' => array( // triggering password resets emails
4804  'anon' => null,
4805  ),
4806  'emailuser' => array( // emailing other users using MediaWiki
4807  'user' => null,
4808  ),
4809  'linkpurge' => array( // purges of link tables
4810  'anon' => null,
4811  'user' => null,
4812  'newbie' => null,
4813  'ip' => null,
4814  'subnet' => null,
4815  ),
4816  'renderfile' => array( // files rendered via thumb.php or thumb_handler.php
4817  'anon' => null,
4818  'user' => null,
4819  'newbie' => null,
4820  'ip' => null,
4821  'subnet' => null,
4822  ),
4823 );
4824 
4830 $wgRateLimitLog = null;
4831 
4836 $wgRateLimitsExcludedIPs = array();
4837 
4843 $wgPutIPinRC = true;
4844 
4849 $wgQueryPageDefaultLimit = 50;
4850 
4856 $wgPasswordAttemptThrottle = array( 'count' => 5, 'seconds' => 300 );
4857  # end of user rights settings
4859 
4860 /************************************************************************//**
4861  * @name Proxy scanner settings
4862  * @{
4863  */
4864 
4868 $wgSecretKey = false;
4869 
4879 $wgProxyList = array();
4880 
4884 $wgProxyKey = false;
4885  # end of proxy scanner settings
4887 
4888 /************************************************************************//**
4889  * @name Cookie settings
4890  * @{
4891  */
4892 
4896 $wgCookieExpiration = 180 * 86400;
4897 
4902 $wgCookieDomain = '';
4903 
4908 $wgCookiePath = '/';
4909 
4916 $wgCookieSecure = 'detect';
4917 
4924 $wgDisableCookieCheck = false;
4925 
4931 $wgCookiePrefix = false;
4932 
4938 $wgCookieHttpOnly = true;
4939 
4943 $wgCacheVaryCookies = array();
4944 
4948 $wgSessionName = false;
4949  # end of cookie settings }
4951 
4952 /************************************************************************//**
4953  * @name LaTeX (mathematical formulas)
4954  * @{
4955  */
4956 
4963 $wgUseTeX = false;
4964  # end LaTeX }
4966 
4967 /************************************************************************//**
4968  * @name Profiling, testing and debugging
4969  *
4970  * To enable profiling, edit StartProfiler.php
4971  *
4972  * @{
4973  */
4974 
4980 $wgDebugLogFile = '';
4981 
4985 $wgDebugLogPrefix = '';
4986 
4992 $wgDebugRedirects = false;
4993 
4999 $wgDebugRawPage = false;
5000 
5009 $wgDebugComments = false;
5010 
5016 $wgDebugDBTransactions = false;
5017 
5021 $wgDebugDumpSql = false;
5022 
5050 $wgDebugLogGroups = array();
5051 
5057 $wgShowDebug = false;
5058 
5063 $wgDebugTimestamps = false;
5064 
5068 $wgDebugPrintHttpHeaders = true;
5069 
5073 $wgSpecialVersionShowHooks = false;
5074 
5080 $wgShowSQLErrors = false;
5081 
5088 $wgShowExceptionDetails = false;
5089 
5098 $wgShowDBErrorBacktrace = false;
5099 
5103 $wgLogExceptionBacktrace = true;
5104 
5108 $wgShowHostnames = false;
5109 
5115 $wgOverrideHostname = false;
5116 
5121 $wgDevelopmentWarnings = false;
5122 
5128 $wgDeprecationReleaseLimit = false;
5129 
5133 $wgProfileLimit = 0.0;
5134 
5141 $wgProfileOnly = false;
5142 
5153 $wgProfileToDatabase = false;
5154 
5158 $wgProfileCallTree = false;
5159 
5163 $wgProfilePerHost = false;
5164 
5172 $wgUDPProfilerHost = '127.0.0.1';
5173 
5178 $wgUDPProfilerPort = '3811';
5179 
5189 $wgUDPProfilerFormatString = "%s - %d %f %f %f %f %s\n";
5190 
5194 $wgDebugFunctionEntry = false;
5195 
5202 $wgStatsMethod = 'cache';
5203 
5210 $wgAggregateStatsID = false;
5211 
5223 $wgStatsFormatString = "stats/%s - %s 1 1 1 1 %s\n";
5224 
5229 $wgDisableCounters = false;
5230 
5236 $wgPageInfoTransclusionLimit = 50;
5237 
5244 $wgSiteStatsAsyncFactor = false;
5245 
5255 $wgParserTestFiles = array(
5256  "$IP/tests/parser/parserTests.txt",
5257  "$IP/tests/parser/extraParserTests.txt"
5258 );
5259 
5273 $wgParserTestRemote = false;
5274 
5278 $wgEnableJavaScriptTest = false;
5279 
5283 $wgJavaScriptTestConfig = array(
5284  'qunit' => array(
5285  // Page where documentation can be found relevant to the QUnit test suite being ran.
5286  // Used in the intro paragraph on [[Special:JavaScriptTest/qunit]] for the
5287  // documentation link in the "javascripttest-qunit-intro" message.
5288  'documentation' => '//www.mediawiki.org/wiki/Manual:JavaScript_unit_testing',
5289  // If you are submitting the QUnit test suite to a TestSwarm instance,
5290  // point this to the "inject.js" script of that instance. This is was registers
5291  // the QUnit hooks to extract the test results and push them back up into the
5292  // TestSwarm database.
5293  // @example 'http://localhost/testswarm/js/inject.js'
5294  // @example '//integration.mediawiki.org/testswarm/js/inject.js'
5295  'testswarm-injectjs' => false,
5296  ),
5297 );
5298 
5303 $wgCachePrefix = false;
5304 
5312 $wgDebugToolbar = false;
5313  # end of profiling, testing and debugging }
5315 
5316 /************************************************************************//**
5317  * @name Search
5318  * @{
5319  */
5320 
5324 $wgDisableTextSearch = false;
5325 
5330 $wgAdvancedSearchHighlighting = false;
5331 
5336 $wgSearchHighlightBoundaries = '[\p{Z}\p{P}\p{C}]';
5337 
5348 $wgCountTotalSearchHits = false;
5349 
5358 $wgOpenSearchTemplate = false;
5359 
5366 $wgEnableOpenSearchSuggest = true;
5367 
5372 $wgOpenSearchDefaultLimit = 10;
5373 
5377 $wgSearchSuggestCacheExpiry = 1200;
5378 
5383 $wgDisableSearchUpdate = false;
5384 
5394 $wgNamespacesToBeSearchedDefault = array(
5395  NS_MAIN => true,
5396 );
5397 
5404 $wgNamespacesToBeSearchedHelp = array(
5405  NS_PROJECT => true,
5406  NS_HELP => true,
5407 );
5408 
5415 $wgSearchEverythingOnlyLoggedIn = false;
5416 
5421 $wgDisableInternalSearch = false;
5422 
5438 $wgSearchForwardUrl = null;
5439 
5445 $wgUseTwoButtonsSearchForm = true;
5446 
5452 $wgSitemapNamespaces = false;
5453 
5468 $wgSitemapNamespacesPriorities = false;
5469 
5475 $wgEnableSearchContributorsByIP = true;
5476  # end of search settings
5478 
5479 /************************************************************************//**
5480  * @name Edit user interface
5481  * @{
5482  */
5483 
5488 $wgDiff3 = '/usr/bin/diff3';
5489 
5493 $wgDiff = '/usr/bin/diff';
5494 
5500 $wgPreviewOnOpenNamespaces = array(
5501  NS_CATEGORY => true
5502 );
5503 
5507 $wgGoToEdit = false;
5508 
5514 $wgUniversalEditButton = true;
5515 
5521 $wgUseAutomaticEditSummaries = true;
5522  # end edit UI }
5524 
5525 /************************************************************************//**
5526  * @name Maintenance
5527  * See also $wgSiteNotice
5528  * @{
5529  */
5530 
5535 if ( !isset( $wgCommandLineMode ) ) {
5536  $wgCommandLineMode = false;
5537 }
5543 $wgCommandLineDarkBg = false;
5544 
5553 $wgReadOnly = null;
5554 
5562 $wgReadOnlyFile = false;
5563 
5573 $wgUpgradeKey = false;
5574 
5578 $wgGitBin = '/usr/bin/git';
5579 
5592 $wgGitRepositoryViewers = array(
5593  'https://(?:[a-z0-9_]+@)?gerrit.wikimedia.org/r/(?:p/)?(.*)' =>
5594  'https://git.wikimedia.org/commit/%r/%H',
5595  'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)' =>
5596  'https://git.wikimedia.org/commit/%r/%H',
5597 );
5598  # End of maintenance }
5600 
5601 /************************************************************************//**
5602  * @name Recent changes, new pages, watchlist and history
5603  * @{
5604  */
5605 
5611 $wgRCMaxAge = 13 * 7 * 24 * 3600;
5612 
5620 $wgRCFilterByAge = false;
5621 
5626 $wgRCLinkLimits = array( 50, 100, 250, 500 );
5627 
5632 $wgRCLinkDays = array( 1, 3, 7, 14, 30 );
5633 
5640 $wgRC2UDPAddress = false;
5641 
5647 $wgRC2UDPPort = false;
5648 
5657 $wgRC2UDPPrefix = '';
5658 
5666 $wgRC2UDPInterwikiPrefix = false;
5667 
5674 $wgRC2UDPOmitBots = false;
5675 
5716 $wgRCFeeds = array();
5717 
5722 $wgRCEngines = array(
5723  'redis' => 'RedisPubSubFeedEngine',
5724  'udp' => 'UDPRCFeedEngine',
5725 );
5726 
5732 $wgEnableNewpagesUserFilter = true;
5733 
5737 $wgUseRCPatrol = true;
5738 
5742 $wgUseNPPatrol = true;
5743 
5747 $wgLogAutopatrol = true;
5748 
5752 $wgFeed = true;
5753 
5758 $wgFeedLimit = 50;
5759 
5768 $wgFeedCacheTimeout = 60;
5769 
5774 $wgFeedDiffCutoff = 32768;
5775 
5788 $wgOverrideSiteFeed = array();
5789 
5795 $wgFeedClasses = array(
5796  'rss' => 'RSSFeed',
5797  'atom' => 'AtomFeed',
5798 );
5799 
5804 $wgAdvertisedFeedTypes = array( 'atom' );
5805 
5809 $wgRCShowWatchingUsers = false; # UPO
5810 
5814 $wgPageShowWatchingUsers = false;
5815 
5819 $wgRCShowChangedSize = true;
5820 
5826 $wgRCChangedSizeThreshold = 500;
5827 
5832 $wgShowUpdatedMarker = true;
5833 
5838 $wgDisableAnonTalk = false;
5839 
5843 $wgAllowCategorizedRecentChanges = false;
5844 
5849 $wgUseTagFilter = true;
5850 
5858 $wgUnwatchedPageThreshold = false;
5859 
5876 $wgRecentChangesFlags = array(
5877  'newpage' => array( 'letter' => 'newpageletter',
5878  'title' => 'recentchanges-label-newpage' ),
5879  'minor' => array( 'letter' => 'minoreditletter',
5880  'title' => 'recentchanges-label-minor', 'class' => 'minoredit' ),
5881  'bot' => array( 'letter' => 'boteditletter',
5882  'title' => 'recentchanges-label-bot', 'class' => 'botedit' ),
5883  'unpatrolled' => array( 'letter' => 'unpatrolledletter',
5884  'title' => 'recentchanges-label-unpatrolled' ),
5885 );
5886  # end RC/watchlist }
5888 
5889 /************************************************************************//**
5890  * @name Copyright and credits settings
5891  * @{
5892  */
5893 
5901 $wgRightsPage = null;
5902 
5908 $wgRightsUrl = null;
5909 
5916 $wgRightsText = null;
5917 
5921 $wgRightsIcon = null;
5922 
5927 $wgCopyrightIcon = null;
5928 
5932 $wgUseCopyrightUpload = false;
5933 
5941 $wgMaxCredits = 0;
5942 
5947 $wgShowCreditsIfMax = true;
5948  # end of copyright and credits settings }
5950 
5951 /************************************************************************//**
5952  * @name Import / Export
5953  * @{
5954  */
5955 
5964 $wgImportSources = array();
5965 
5973 $wgImportTargetNamespace = null;
5974 
5980 $wgExportAllowHistory = true;
5981 
5987 $wgExportMaxHistory = 0;
5988 
5992 $wgExportAllowListContributors = false;
5993 
6005 $wgExportMaxLinkDepth = 0;
6006 
6010 $wgExportFromNamespaces = false;
6011 
6015 $wgExportAllowAll = false;
6016  # end of import/export }
6018 
6019 /*************************************************************************//**
6020  * @name Extensions
6021  * @{
6022  */
6023 
6028 $wgExtensionFunctions = array();
6029 
6056 $wgExtensionMessagesFiles = array();
6057 
6081 $wgMessagesDirs = array(
6082  'core' => "$IP/languages/i18n",
6083  'oojs-ui' => "$IP/resources/lib/oojs-ui/i18n",
6084 );
6085 
6091 $wgExtensionEntryPointListFiles = array();
6092 
6107 $wgParserOutputHooks = array();
6108 
6112 $wgEnableParserLimitReporting = true;
6113 
6123 $wgValidSkinNames = array();
6124 
6129 $wgSpecialPages = array();
6130 
6134 $wgAutoloadClasses = array();
6135 
6141 $wgAutoloadAttemptLowercase = true;
6142 
6183 $wgExtensionCredits = array();
6184 
6189 $wgAuth = null;
6190 
6225 $wgHooks = array();
6226 
6231 $wgJobClasses = array(
6232  'refreshLinks' => 'RefreshLinksJob',
6233  'refreshLinks2' => 'RefreshLinksJob2', // b/c
6234  'htmlCacheUpdate' => 'HTMLCacheUpdateJob',
6235  'sendMail' => 'EmaillingJob',
6236  'enotifNotify' => 'EnotifNotifyJob',
6237  'fixDoubleRedirect' => 'DoubleRedirectJob',
6238  'uploadFromUrl' => 'UploadFromUrlJob',
6239  'AssembleUploadChunks' => 'AssembleUploadChunksJob',
6240  'PublishStashedFile' => 'PublishStashedFileJob',
6241  'null' => 'NullJob'
6242 );
6243 
6255 $wgJobTypesExcludedFromDefaultQueue = array( 'AssembleUploadChunks', 'PublishStashedFile' );
6256 
6265 $wgJobBackoffThrottling = array();
6266 
6273 $wgJobTypeConf = array(
6274  'default' => array( 'class' => 'JobQueueDB', 'order' => 'random' ),
6275 );
6276 
6281 $wgJobQueueAggregator = array(
6282  'class' => 'JobQueueAggregatorMemc'
6283 );
6284 
6289 $wgSpecialPageCacheUpdates = array(
6290  'Statistics' => array( 'SiteStatsUpdate', 'cacheUpdate' ),
6291  'Activeusers' => array( 'SpecialActiveUsers', 'cacheUpdate' ),
6292 );
6293 
6301 $wgExceptionHooks = array();
6302 
6310 $wgPagePropLinkInvalidations = array(
6311  'hiddencat' => 'categorylinks',
6312 );
6313  # End extensions }
6315 
6316 /*************************************************************************//**
6317  * @name Categories
6318  * @{
6319  */
6320 
6324 $wgUseCategoryBrowser = false;
6325 
6330 $wgCategoryMagicGallery = true;
6331 
6335 $wgCategoryPagingLimit = 200;
6336 
6362 $wgCategoryCollation = 'uppercase';
6363  # End categories }
6365 
6366 /*************************************************************************//**
6367  * @name Logging
6368  * @{
6369  */
6370 
6377 $wgLogTypes = array(
6378  '',
6379  'block',
6380  'protect',
6381  'rights',
6382  'delete',
6383  'upload',
6384  'move',
6385  'import',
6386  'patrol',
6387  'merge',
6388  'suppress',
6389 );
6390 
6398 $wgLogRestrictions = array(
6399  'suppress' => 'suppressionlog'
6400 );
6401 
6424 $wgFilterLogTypes = array(
6425  'patrol' => true
6426 );
6427 
6437 $wgLogNames = array(
6438  '' => 'all-logs-page',
6439  'block' => 'blocklogpage',
6440  'protect' => 'protectlogpage',
6441  'rights' => 'rightslog',
6442  'delete' => 'dellogpage',
6443  'upload' => 'uploadlogpage',
6444  'move' => 'movelogpage',
6445  'import' => 'importlogpage',
6446  'patrol' => 'patrol-log-page',
6447  'merge' => 'mergelog',
6448  'suppress' => 'suppressionlog',
6449 );
6450 
6460 $wgLogHeaders = array(
6461  '' => 'alllogstext',
6462  'block' => 'blocklogtext',
6463  'protect' => 'protectlogtext',
6464  'rights' => 'rightslogtext',
6465  'delete' => 'dellogpagetext',
6466  'upload' => 'uploadlogpagetext',
6467  'move' => 'movelogpagetext',
6468  'import' => 'importlogpagetext',
6469  'patrol' => 'patrol-log-header',
6470  'merge' => 'mergelogpagetext',
6471  'suppress' => 'suppressionlogtext',
6472 );
6473 
6480 $wgLogActions = array(
6481  'block/block' => 'blocklogentry',
6482  'block/unblock' => 'unblocklogentry',
6483  'block/reblock' => 'reblock-logentry',
6484  'protect/protect' => 'protectedarticle',
6485  'protect/modify' => 'modifiedarticleprotection',
6486  'protect/unprotect' => 'unprotectedarticle',
6487  'protect/move_prot' => 'movedarticleprotection',
6488  'upload/upload' => 'uploadedimage',
6489  'upload/overwrite' => 'overwroteimage',
6490  'upload/revert' => 'uploadedimage',
6491  'import/upload' => 'import-logentry-upload',
6492  'import/interwiki' => 'import-logentry-interwiki',
6493  'merge/merge' => 'pagemerge-logentry',
6494  'suppress/block' => 'blocklogentry',
6495  'suppress/reblock' => 'reblock-logentry',
6496 );
6497 
6504 $wgLogActionsHandlers = array(
6505  'move/move' => 'MoveLogFormatter',
6506  'move/move_redir' => 'MoveLogFormatter',
6507  'delete/delete' => 'DeleteLogFormatter',
6508  'delete/restore' => 'DeleteLogFormatter',
6509  'delete/revision' => 'DeleteLogFormatter',
6510  'delete/event' => 'DeleteLogFormatter',
6511  'suppress/revision' => 'DeleteLogFormatter',
6512  'suppress/event' => 'DeleteLogFormatter',
6513  'suppress/delete' => 'DeleteLogFormatter',
6514  'patrol/patrol' => 'PatrolLogFormatter',
6515  'rights/rights' => 'RightsLogFormatter',
6516  'rights/autopromote' => 'RightsLogFormatter',
6517 );
6518 
6522 $wgNewUserLog = true;
6523  # end logging }
6525 
6526 /*************************************************************************//**
6527  * @name Special pages (general and miscellaneous)
6528  * @{
6529  */
6530 
6534 $wgAllowSpecialInclusion = true;
6535 
6540 $wgDisableQueryPageUpdate = false;
6541 
6548 $wgSpecialPageGroups = array();
6549 
6553 $wgSortSpecialPages = true;
6554 
6559 $wgCountCategorizedImagesAsUsed = false;
6560 
6565 $wgMaxRedirectLinksRetrieved = 500;
6566  # end special pages }
6568 
6569 /*************************************************************************//**
6570  * @name Actions
6571  * @{
6572  */
6573 
6584 $wgActions = array(
6585  'credits' => true,
6586  'delete' => true,
6587  'edit' => true,
6588  'history' => true,
6589  'info' => true,
6590  'markpatrolled' => true,
6591  'protect' => true,
6592  'purge' => true,
6593  'raw' => true,
6594  'render' => true,
6595  'revert' => true,
6596  'revisiondelete' => true,
6597  'rollback' => true,
6598  'submit' => true,
6599  'unprotect' => true,
6600  'unwatch' => true,
6601  'view' => true,
6602  'watch' => true,
6603 );
6604  # end actions }
6606 
6607 /*************************************************************************//**
6608  * @name Robot (search engine crawler) policy
6609  * See also $wgNoFollowLinks.
6610  * @{
6611  */
6612 
6618 $wgDefaultRobotPolicy = 'index,follow';
6619 
6634 $wgNamespaceRobotPolicies = array();
6635 
6662 $wgArticleRobotPolicies = array();
6663 
6674 $wgExemptFromUserRobotsControl = null;
6675  # End robot policy }
6677 
6678 /************************************************************************//**
6679  * @name AJAX and API
6680  * Note: The AJAX entry point which this section refers to is gradually being
6681  * replaced by the API entry point, api.php. They are essentially equivalent.
6682  * Both of them are used for dynamic client-side features, via XHR.
6683  * @{
6684  */
6685 
6692 $wgEnableAPI = true;
6693 
6699 $wgEnableWriteAPI = true;
6700 
6715 $wgDebugAPI = false;
6716 
6724 $wgAPIModules = array();
6725 
6733 $wgAPIFormatModules = array();
6734 
6742 $wgAPIMetaModules = array();
6743 
6751 $wgAPIPropModules = array();
6752 
6760 $wgAPIListModules = array();
6761 
6766 $wgAPIGeneratorModules = array();
6767 
6772 $wgAPIMaxDBRows = 5000;
6773 
6778 $wgAPIMaxResultSize = 8388608;
6779 
6784 $wgAPIMaxUncachedDiffs = 1;
6785 
6790 $wgAPIRequestLog = false;
6791 
6795 $wgAPICacheHelpTimeout = 60 * 60;
6796 
6801 $wgAPIUselessQueryPages = array(
6802  'MIMEsearch', // aiprop=mime
6803  'LinkSearch', // list=exturlusage
6804  'FileDuplicateSearch', // prop=duplicatefiles
6805 );
6806 
6810 $wgUseAjax = true;
6811 
6816 $wgAjaxExportList = array();
6817 
6822 $wgAjaxWatch = true;
6823 
6827 $wgAjaxUploadDestCheck = true;
6828 
6832 $wgAjaxLicensePreview = true;
6833 
6854 $wgCrossSiteAJAXdomains = array();
6855 
6861 $wgCrossSiteAJAXdomainExceptions = array();
6862  # End AJAX and API }
6864 
6865 /************************************************************************//**
6866  * @name Shell and process control
6867  * @{
6868  */
6869 
6873 $wgMaxShellMemory = 307200;
6874 
6879 $wgMaxShellFileSize = 102400;
6880 
6884 $wgMaxShellTime = 180;
6885 
6890 $wgMaxShellWallClockTime = 180;
6891 
6915 $wgShellCgroup = false;
6916 
6920 $wgPhpCli = '/usr/bin/php';
6921 
6927 $wgShellLocale = 'en_US.utf8';
6928  # End shell }
6930 
6931 /************************************************************************//**
6932  * @name HTTP client
6933  * @{
6934  */
6935 
6939 $wgHTTPTimeout = 25;
6940 
6944 $wgAsyncHTTPTimeout = 25;
6945 
6949 $wgHTTPProxy = false;
6950 
6955 $wgHTTPConnectTimeout = 5e0;
6956  # End HTTP client }
6958 
6959 /************************************************************************//**
6960  * @name Job queue
6961  * See also $wgEnotifUseJobQ.
6962  * @{
6963  */
6964 
6971 $wgJobRunRate = 1;
6972 
6979 $wgRunJobsAsync = true;
6980 
6984 $wgUpdateRowsPerJob = 500;
6985 
6989 $wgUpdateRowsPerQuery = 100;
6990  # End job queue }
6992 
6993 /************************************************************************//**
6994  * @name Miscellaneous
6995  * @{
6996  */
6997 
7001 $wgExternalDiffEngine = false;
7002 
7011 $wgDisableHardRedirects = false;
7012 
7017 $wgLinkHolderBatchSize = 1000;
7018 
7023 $wgRegisterInternalExternals = false;
7024 
7028 $wgMaximumMovedPages = 100;
7029 
7034 $wgFixDoubleRedirects = false;
7035 
7040 $wgRedirectOnLogin = null;
7041 
7062 $wgPoolCounterConf = null;
7063 
7067 $wgUploadMaintenance = false;
7068 
7077 $wgNamespaceContentModels = array();
7078 
7089 $wgContentHandlerTextFallback = 'ignore';
7090 
7104 $wgContentHandlerUseDB = true;
7105 
7116 $wgTextModelsToParse = array(
7117  CONTENT_MODEL_WIKITEXT, // Just for completeness, wikitext will always be parsed.
7118  CONTENT_MODEL_JAVASCRIPT, // Make categories etc work, people put them into comments.
7119  CONTENT_MODEL_CSS, // Make categories etc work, people put them into comments.
7120 );
7121 
7127 $wgRequirePasswordforEmailChange = true;
7128 
7134 $wgSiteTypes = array(
7135  'mediawiki' => 'MediaWikiSite',
7136 );
7137 
7142 $wgCompiledFiles = array();
7143 
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:92
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