MediaWiki  1.23.15
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.15';
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 
2872 $wgXhtmlNamespaces = array();
2873 
2879 $wgShowIPinHeader = true;
2880 
2888 $wgSiteNotice = '';
2889 
2893 $wgExtraSubtitle = '';
2894 
2898 $wgSiteSupportPage = '';
2899 
2904 $wgValidateAllHtml = false;
2905 
2912 $wgDefaultSkin = 'vector';
2913 
2921 $wgSkipSkin = '';
2922 
2926 $wgSkipSkins = array();
2927 
2933 $wgAllowUserJs = false;
2934 
2940 $wgAllowUserCss = false;
2941 
2947 $wgAllowUserCssPrefs = true;
2948 
2952 $wgUseSiteJs = true;
2953 
2957 $wgUseSiteCss = true;
2958 
2963 $wgBreakFrames = false;
2964 
2984 $wgEditPageFrameOptions = 'DENY';
2985 
2995 $wgApiFrameOptions = 'DENY';
2996 
3000 $wgDisableOutputCompression = false;
3001 
3011 $wgExperimentalHtmlIds = false;
3012 
3042 $wgFooterIcons = array(
3043  "copyright" => array(
3044  "copyright" => array(), // placeholder for the built in copyright icon
3045  ),
3046  "poweredby" => array(
3047  "mediawiki" => array(
3048  "src" => null, // Defaults to "$wgStylePath/common/images/poweredby_mediawiki_88x31.png"
3049  "url" => "//www.mediawiki.org/",
3050  "alt" => "Powered by MediaWiki",
3051  )
3052  ),
3053 );
3054 
3061 $wgUseCombinedLoginLink = false;
3062 
3068 $wgVectorUseSimpleSearch = true;
3069 
3075 $wgVectorUseIconWatch = true;
3076 
3080 $wgEdititis = false;
3081 
3093 $wgSend404Code = true;
3094 
3103 $wgShowRollbackEditCount = 10;
3104 
3111 $wgEnableCanonicalServerLink = false;
3112  # End of output format settings }
3114 
3115 /*************************************************************************//**
3116  * @name Resource loader settings
3117  * @{
3118  */
3119 
3137 $wgResourceModules = array();
3138 
3152 $wgResourceLoaderSources = array();
3153 
3158 $wgResourceBasePath = null;
3159 
3176 $wgResourceLoaderMaxage = array(
3177  'versioned' => array(
3178  'server' => 30 * 24 * 60 * 60, // 30 days
3179  'client' => 30 * 24 * 60 * 60, // 30 days
3180  ),
3181  'unversioned' => array(
3182  'server' => 5 * 60, // 5 minutes
3183  'client' => 5 * 60, // 5 minutes
3184  ),
3185 );
3186 
3192 $wgResourceLoaderDebug = false;
3193 
3199 $wgResourceLoaderUseESI = false;
3200 
3205 $wgResourceLoaderMinifierStatementsOnOwnLine = false;
3206 
3212 $wgResourceLoaderMinifierMaxLineLength = 1000;
3213 
3218 $wgIncludeLegacyJavaScript = true;
3219 
3238 $wgPreloadJavaScriptMwUtil = false;
3239 
3265 $wgLegacyJavaScriptGlobals = true;
3266 
3280 $wgResourceLoaderMaxQueryLength = false;
3281 
3289 $wgResourceLoaderValidateJS = true;
3290 
3299 $wgResourceLoaderValidateStaticJS = false;
3300 
3306 $wgResourceLoaderExperimentalAsyncLoading = false;
3307 
3326 $wgResourceLoaderLESSVars = array();
3327 
3339 $wgResourceLoaderLESSFunctions = array(
3340  'embeddable' => 'ResourceLoaderLESSFunctions::embeddable',
3342 );
3343 
3357 $wgResourceLoaderLESSImportPaths = array(
3358  "$IP/resources/src/mediawiki.less/",
3359 );
3360 
3367 $wgResourceLoaderStorageEnabled = false;
3368 
3375 $wgResourceLoaderStorageVersion = 1;
3376 
3388 $wgAllowSiteCSSOnRestrictedPages = false;
3389 
3396 $wgMangleFlashPolicy = true;
3397  # End of resource loader settings }
3399 
3400 /*************************************************************************//**
3401  * @name Page title and interwiki link settings
3402  * @{
3403  */
3404 
3409 $wgMetaNamespace = false;
3410 
3418 $wgMetaNamespaceTalk = false;
3419 
3446 $wgExtraNamespaces = array();
3447 
3454 $wgExtraGenderNamespaces = array();
3455 
3474 $wgNamespaceAliases = array();
3475 
3503 $wgLegalTitleChars = " %!\"$&'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF+";
3504 
3510 $wgLocalInterwiki = false;
3511 
3520 $wgLocalInterwikis = array();
3521 
3525 $wgInterwikiExpiry = 10800;
3526 
3545 $wgInterwikiCache = false;
3546 
3553 $wgInterwikiScopes = 3;
3554 
3558 $wgInterwikiFallbackSite = 'wiki';
3559  # end of Interwiki caching settings.
3561 
3577 $wgRedirectSources = false;
3578 
3586 $wgCapitalLinks = true;
3587 
3602 $wgCapitalLinkOverrides = array();
3603 
3608 $wgNamespacesWithSubpages = array(
3609  NS_TALK => true,
3610  NS_USER => true,
3611  NS_USER_TALK => true,
3612  NS_PROJECT => true,
3613  NS_PROJECT_TALK => true,
3614  NS_FILE_TALK => true,
3615  NS_MEDIAWIKI => true,
3616  NS_MEDIAWIKI_TALK => true,
3617  NS_TEMPLATE_TALK => true,
3618  NS_HELP => true,
3619  NS_HELP_TALK => true,
3620  NS_CATEGORY_TALK => true
3621 );
3622 
3632 $wgTrackingCategories = array(
3633  'index-category',
3634  'noindex-category',
3635  'expensive-parserfunction-category',
3636  'post-expand-template-argument-category',
3637  'post-expand-template-inclusion-category',
3638  'hidden-category-category',
3639  'broken-file-category',
3640 );
3641 
3648 $wgContentNamespaces = array( NS_MAIN );
3649 
3655 $wgMaxRedirects = 1;
3656 
3667 $wgInvalidRedirectTargets = array( 'Filepath', 'Mypage', 'Mytalk', 'Redirect' );
3668  # End of title and interwiki settings }
3670 
3671 /************************************************************************//**
3672  * @name Parser settings
3673  * These settings configure the transformation from wikitext to HTML.
3674  * @{
3675  */
3676 
3698 $wgParserConf = array(
3699  'class' => 'Parser',
3700  #'preprocessorClass' => 'Preprocessor_Hash',
3701 );
3702 
3706 $wgMaxTocLevel = 999;
3707 
3712 $wgMaxPPNodeCount = 1000000;
3713 
3723 $wgMaxGeneratedPPNodeCount = 1000000;
3724 
3731 $wgMaxTemplateDepth = 40;
3732 
3736 $wgMaxPPExpandDepth = 40;
3737 
3741 $wgUrlProtocols = array(
3742  'http://',
3743  'https://',
3744  'ftp://',
3745  'ftps://', // If we allow ftp:// we should allow the secure version.
3746  'ssh://',
3747  'sftp://', // SFTP > FTP
3748  'irc://',
3749  'ircs://', // @bug 28503
3750  'xmpp:', // Another open communication protocol
3751  'sip:',
3752  'sips:',
3753  'gopher://',
3754  'telnet://', // Well if we're going to support the above.. -ævar
3755  'nntp://', // @bug 3808 RFC 1738
3756  'worldwind://',
3757  'mailto:',
3758  'tel:', // If we can make emails linkable, why not phone numbers?
3759  'sms:', // Likewise this is standardized too
3760  'news:',
3761  'svn://',
3762  'git://',
3763  'mms://',
3764  'bitcoin:', // Even registerProtocolHandler whitelists this along with mailto:
3765  'magnet:', // No reason to reject torrents over magnet: when they're allowed over http://
3766  'urn:', // Allow URNs to be used in Microdata/RDFa <link ... href="urn:...">s
3767  'geo:', // urls define geo locations, they're useful in Microdata/RDFa and for coordinates
3768  '//', // for protocol-relative URLs
3769 );
3770 
3774 $wgCleanSignatures = true;
3775 
3779 $wgAllowExternalImages = false;
3780 
3793 $wgAllowExternalImagesFrom = '';
3794 
3804 $wgEnableImageWhitelist = true;
3805 
3814 $wgAllowImageTag = false;
3815 
3831 $wgUseTidy = false;
3832 
3836 $wgAlwaysUseTidy = false;
3837 
3841 $wgTidyBin = 'tidy';
3842 
3846 $wgTidyConf = $IP . '/includes/tidy.conf';
3847 
3851 $wgTidyOpts = '';
3852 
3856 $wgTidyInternal = extension_loaded( 'tidy' );
3857 
3862 $wgDebugTidy = false;
3863 
3869 $wgRawHtml = false;
3870 
3880 $wgExternalLinkTarget = false;
3881 
3888 $wgNoFollowLinks = true;
3889 
3894 $wgNoFollowNsExceptions = array();
3895 
3910 $wgNoFollowDomainExceptions = array( 'mediawiki.org' );
3911 
3915 $wgAllowDisplayTitle = true;
3916 
3922 $wgRestrictDisplayTitle = true;
3923 
3928 $wgExpensiveParserFunctionLimit = 100;
3929 
3934 $wgPreprocessorCacheThreshold = 1000;
3935 
3939 $wgEnableScaryTranscluding = false;
3940 
3945 $wgTranscludeCacheExpiry = 3600;
3946  # end of parser settings }
3948 
3949 /************************************************************************//**
3950  * @name Statistics
3951  * @{
3952  */
3953 
3974 $wgArticleCountMethod = null;
3975 
3980 $wgUseCommaCount = false;
3981 
3989 $wgHitcounterUpdateFreq = 1;
3990 
3998 $wgActiveUserDays = 30;
3999  # End of statistics }
4001 
4002 /************************************************************************//**
4003  * @name User accounts, authentication
4004  * @{
4005  */
4006 
4010 $wgPasswordSalt = true;
4011 
4016 $wgMinimalPasswordLength = 1;
4017 
4023 $wgInvalidPasswordReset = true;
4024 
4031 $wgPasswordResetRoutes = array(
4032  'username' => true,
4033  'email' => false,
4034 );
4035 
4039 $wgMaxSigChars = 255;
4040 
4045 $wgMaxNameChars = 255;
4046 
4051 $wgReservedUsernames = array(
4052  'MediaWiki default', // Default 'Main Page' and MediaWiki: message pages
4053  'Conversion script', // Used for the old Wikipedia software upgrade
4054  'Maintenance script', // Maintenance scripts which perform editing, image import script
4055  'Template namespace initialisation script', // Used in 1.2->1.3 upgrade
4056  'ScriptImporter', // Default user name used by maintenance/importSiteScripts.php
4057  'msg:double-redirect-fixer', // Automatic double redirect fix
4058  'msg:usermessage-editor', // Default user for leaving user messages
4059  'msg:proxyblocker', // For $wgProxyList and Special:Blockme (removed in 1.22)
4060 );
4061 
4068 $wgDefaultUserOptions = array(
4069  'ccmeonemails' => 0,
4070  'cols' => 80,
4071  'date' => 'default',
4072  'diffonly' => 0,
4073  'disablemail' => 0,
4074  'editfont' => 'default',
4075  'editondblclick' => 0,
4076  'editsectiononrightclick' => 0,
4077  'enotifminoredits' => 0,
4078  'enotifrevealaddr' => 0,
4079  'enotifusertalkpages' => 1,
4080  'enotifwatchlistpages' => 1,
4081  'extendwatchlist' => 0,
4082  'fancysig' => 0,
4083  'forceeditsummary' => 0,
4084  'gender' => 'unknown',
4085  'hideminor' => 0,
4086  'hidepatrolled' => 0,
4087  'imagesize' => 2,
4088  'math' => 1,
4089  'minordefault' => 0,
4090  'newpageshidepatrolled' => 0,
4091  'nickname' => '',
4092  'norollbackdiff' => 0,
4093  'numberheadings' => 0,
4094  'previewonfirst' => 0,
4095  'previewontop' => 1,
4096  'rcdays' => 7,
4097  'rclimit' => 50,
4098  'rows' => 25,
4099  'showhiddencats' => 0,
4100  'shownumberswatching' => 1,
4101  'showtoolbar' => 1,
4102  'skin' => false,
4103  'stubthreshold' => 0,
4104  'thumbsize' => 2,
4105  'underline' => 2,
4106  'uselivepreview' => 0,
4107  'usenewrc' => 0,
4108  'watchcreations' => 1,
4109  'watchdefault' => 1,
4110  'watchdeletion' => 0,
4111  'watchlistdays' => 3.0,
4112  'watchlisthideanons' => 0,
4113  'watchlisthidebots' => 0,
4114  'watchlisthideliu' => 0,
4115  'watchlisthideminor' => 0,
4116  'watchlisthideown' => 0,
4117  'watchlisthidepatrolled' => 0,
4118  'watchmoves' => 0,
4119  'wllimit' => 250,
4120  'useeditwarning' => 1,
4121  'prefershttps' => 1,
4122 );
4123 
4127 $wgHiddenPrefs = array();
4128 
4134 $wgInvalidUsernameCharacters = '@';
4135 
4145 $wgUserrightsInterwikiDelimiter = '@';
4146 
4153 $wgSecureLogin = false;
4154  # end user accounts }
4156 
4157 /************************************************************************//**
4158  * @name User rights, access control and monitoring
4159  * @{
4160  */
4161 
4165 $wgAutoblockExpiry = 86400;
4166 
4170 $wgBlockAllowsUTEdit = false;
4171 
4175 $wgSysopEmailBans = true;
4176 
4191 $wgBlockCIDRLimit = array(
4192  'IPv4' => 16, # Blocks larger than a /16 (64k addresses) will not be allowed
4193  'IPv6' => 19,
4194 );
4195 
4203 $wgBlockDisablesLogin = false;
4204 
4222 $wgWhitelistRead = false;
4223 
4250 $wgWhitelistReadRegexp = false;
4251 
4256 $wgEmailConfirmToEdit = false;
4257 
4262 $wgHideIdentifiableRedirects = true;
4263 
4288 $wgGroupPermissions = array();
4289 
4291 // Implicit group for all visitors
4292 $wgGroupPermissions['*']['createaccount'] = true;
4293 $wgGroupPermissions['*']['read'] = true;
4294 $wgGroupPermissions['*']['edit'] = true;
4295 $wgGroupPermissions['*']['createpage'] = true;
4296 $wgGroupPermissions['*']['createtalk'] = true;
4297 $wgGroupPermissions['*']['writeapi'] = true;
4298 $wgGroupPermissions['*']['editmyusercss'] = true;
4299 $wgGroupPermissions['*']['editmyuserjs'] = true;
4300 $wgGroupPermissions['*']['viewmywatchlist'] = true;
4301 $wgGroupPermissions['*']['editmywatchlist'] = true;
4302 $wgGroupPermissions['*']['viewmyprivateinfo'] = true;
4303 $wgGroupPermissions['*']['editmyprivateinfo'] = true;
4304 $wgGroupPermissions['*']['editmyoptions'] = true;
4305 #$wgGroupPermissions['*']['patrolmarks'] = false; // let anons see what was patrolled
4306 
4307 // Implicit group for all logged-in accounts
4308 $wgGroupPermissions['user']['move'] = true;
4309 $wgGroupPermissions['user']['move-subpages'] = true;
4310 $wgGroupPermissions['user']['move-rootuserpages'] = true; // can move root userpages
4311 $wgGroupPermissions['user']['movefile'] = true;
4312 $wgGroupPermissions['user']['read'] = true;
4313 $wgGroupPermissions['user']['edit'] = true;
4314 $wgGroupPermissions['user']['createpage'] = true;
4315 $wgGroupPermissions['user']['createtalk'] = true;
4316 $wgGroupPermissions['user']['writeapi'] = true;
4317 $wgGroupPermissions['user']['upload'] = true;
4318 $wgGroupPermissions['user']['reupload'] = true;
4319 $wgGroupPermissions['user']['reupload-shared'] = true;
4320 $wgGroupPermissions['user']['minoredit'] = true;
4321 $wgGroupPermissions['user']['purge'] = true; // can use ?action=purge without clicking "ok"
4322 $wgGroupPermissions['user']['sendemail'] = true;
4323 
4324 // Implicit group for accounts that pass $wgAutoConfirmAge
4325 $wgGroupPermissions['autoconfirmed']['autoconfirmed'] = true;
4326 $wgGroupPermissions['autoconfirmed']['editsemiprotected'] = true;
4327 
4328 // Users with bot privilege can have their edits hidden
4329 // from various log pages by default
4330 $wgGroupPermissions['bot']['bot'] = true;
4331 $wgGroupPermissions['bot']['autoconfirmed'] = true;
4332 $wgGroupPermissions['bot']['editsemiprotected'] = true;
4333 $wgGroupPermissions['bot']['nominornewtalk'] = true;
4334 $wgGroupPermissions['bot']['autopatrol'] = true;
4335 $wgGroupPermissions['bot']['suppressredirect'] = true;
4336 $wgGroupPermissions['bot']['apihighlimits'] = true;
4337 $wgGroupPermissions['bot']['writeapi'] = true;
4338 
4339 // Most extra permission abilities go to this group
4340 $wgGroupPermissions['sysop']['block'] = true;
4341 $wgGroupPermissions['sysop']['createaccount'] = true;
4342 $wgGroupPermissions['sysop']['delete'] = true;
4343 // can be separately configured for pages with > $wgDeleteRevisionsLimit revs
4344 $wgGroupPermissions['sysop']['bigdelete'] = true;
4345 // can view deleted history entries, but not see or restore the text
4346 $wgGroupPermissions['sysop']['deletedhistory'] = true;
4347 // can view deleted revision text
4348 $wgGroupPermissions['sysop']['deletedtext'] = true;
4349 $wgGroupPermissions['sysop']['undelete'] = true;
4350 $wgGroupPermissions['sysop']['editinterface'] = true;
4351 $wgGroupPermissions['sysop']['editusercss'] = true;
4352 $wgGroupPermissions['sysop']['edituserjs'] = true;
4353 $wgGroupPermissions['sysop']['import'] = true;
4354 $wgGroupPermissions['sysop']['importupload'] = true;
4355 $wgGroupPermissions['sysop']['move'] = true;
4356 $wgGroupPermissions['sysop']['move-subpages'] = true;
4357 $wgGroupPermissions['sysop']['move-rootuserpages'] = true;
4358 $wgGroupPermissions['sysop']['patrol'] = true;
4359 $wgGroupPermissions['sysop']['autopatrol'] = true;
4360 $wgGroupPermissions['sysop']['protect'] = true;
4361 $wgGroupPermissions['sysop']['editprotected'] = true;
4362 $wgGroupPermissions['sysop']['proxyunbannable'] = true;
4363 $wgGroupPermissions['sysop']['rollback'] = true;
4364 $wgGroupPermissions['sysop']['upload'] = true;
4365 $wgGroupPermissions['sysop']['reupload'] = true;
4366 $wgGroupPermissions['sysop']['reupload-shared'] = true;
4367 $wgGroupPermissions['sysop']['unwatchedpages'] = true;
4368 $wgGroupPermissions['sysop']['autoconfirmed'] = true;
4369 $wgGroupPermissions['sysop']['editsemiprotected'] = true;
4370 $wgGroupPermissions['sysop']['ipblock-exempt'] = true;
4371 $wgGroupPermissions['sysop']['blockemail'] = true;
4372 $wgGroupPermissions['sysop']['markbotedits'] = true;
4373 $wgGroupPermissions['sysop']['apihighlimits'] = true;
4374 $wgGroupPermissions['sysop']['browsearchive'] = true;
4375 $wgGroupPermissions['sysop']['noratelimit'] = true;
4376 $wgGroupPermissions['sysop']['movefile'] = true;
4377 $wgGroupPermissions['sysop']['unblockself'] = true;
4378 $wgGroupPermissions['sysop']['suppressredirect'] = true;
4379 #$wgGroupPermissions['sysop']['upload_by_url'] = true;
4380 #$wgGroupPermissions['sysop']['mergehistory'] = true;
4381 
4382 // Permission to change users' group assignments
4383 $wgGroupPermissions['bureaucrat']['userrights'] = true;
4384 $wgGroupPermissions['bureaucrat']['noratelimit'] = true;
4385 // Permission to change users' groups assignments across wikis
4386 #$wgGroupPermissions['bureaucrat']['userrights-interwiki'] = true;
4387 // Permission to export pages including linked pages regardless of $wgExportMaxLinkDepth
4388 #$wgGroupPermissions['bureaucrat']['override-export-depth'] = true;
4389 
4390 #$wgGroupPermissions['sysop']['deletelogentry'] = true;
4391 #$wgGroupPermissions['sysop']['deleterevision'] = true;
4392 // To hide usernames from users and Sysops
4393 #$wgGroupPermissions['suppress']['hideuser'] = true;
4394 // To hide revisions/log items from users and Sysops
4395 #$wgGroupPermissions['suppress']['suppressrevision'] = true;
4396 // For private suppression log access
4397 #$wgGroupPermissions['suppress']['suppressionlog'] = true;
4398 
4405 # $wgGroupPermissions['developer']['siteadmin'] = true;
4406 
4418 $wgRevokePermissions = array();
4419 
4423 $wgImplicitGroups = array( '*', 'user', 'autoconfirmed' );
4424 
4446 $wgGroupsAddToSelf = array();
4447 
4451 $wgGroupsRemoveFromSelf = array();
4452 
4460 $wgRestrictionTypes = array( 'create', 'edit', 'move', 'upload' );
4461 
4473 $wgRestrictionLevels = array( '', 'autoconfirmed', 'sysop' );
4474 
4484 $wgCascadingRestrictionLevels = array( 'sysop' );
4485 
4498 $wgSemiprotectedRestrictionLevels = array( 'autoconfirmed' );
4499 
4507 $wgNamespaceProtection = array();
4508 
4518 $wgNonincludableNamespaces = array();
4519 
4540 $wgAutoConfirmAge = 0;
4541 
4551 $wgAutoConfirmCount = 0;
4552 
4576 $wgAutopromote = array(
4577  'autoconfirmed' => array( '&',
4578  array( APCOND_EDITCOUNT, &$wgAutoConfirmCount ),
4579  array( APCOND_AGE, &$wgAutoConfirmAge ),
4580  ),
4581 );
4582 
4602 $wgAutopromoteOnce = array(
4603  'onEdit' => array(),
4604  'onView' => array()
4605 );
4606 
4611 $wgAutopromoteOnceLogInRC = true;
4612 
4635 $wgAddGroups = array();
4636 
4640 $wgRemoveGroups = array();
4641 
4646 $wgAvailableRights = array();
4647 
4652 $wgDeleteRevisionsLimit = 0;
4653 
4661 $wgHideUserContribLimit = 1000;
4662 
4668 $wgAccountCreationThrottle = 0;
4669 
4681 $wgSpamRegex = array();
4682 
4686 $wgSummarySpamRegex = array();
4687 
4693 $wgEnableDnsBlacklist = false;
4694 
4699 $wgEnableSorbs = false;
4700 
4724 $wgDnsBlacklistUrls = array( 'http.dnsbl.sorbs.net.' );
4725 
4730 $wgSorbsUrl = array();
4731 
4736 $wgProxyWhitelist = array();
4737 
4743 $wgApplyIpBlocksToXff = false;
4744 
4765 $wgRateLimits = array(
4766  'edit' => array(
4767  'anon' => null, // for any and all anonymous edits (aggregate)
4768  'user' => null, // for each logged-in user
4769  'newbie' => null, // for each recent (autoconfirmed) account; overrides 'user'
4770  'ip' => null, // for each anon and recent account
4771  'subnet' => null, // ... within a /24 subnet in IPv4 or /64 in IPv6
4772  ),
4773  'upload' => array(
4774  'user' => null,
4775  'newbie' => null,
4776  'ip' => null,
4777  'subnet' => null,
4778  ),
4779  'move' => array(
4780  'user' => null,
4781  'newbie' => null,
4782  'ip' => null,
4783  'subnet' => null,
4784  ),
4785  'mailpassword' => array( // triggering password resets emails
4786  'anon' => null,
4787  ),
4788  'emailuser' => array( // emailing other users using MediaWiki
4789  'user' => null,
4790  ),
4791  'linkpurge' => array( // purges of link tables
4792  'anon' => null,
4793  'user' => null,
4794  'newbie' => null,
4795  'ip' => null,
4796  'subnet' => null,
4797  ),
4798  'renderfile' => array( // files rendered via thumb.php or thumb_handler.php
4799  'anon' => null,
4800  'user' => null,
4801  'newbie' => null,
4802  'ip' => null,
4803  'subnet' => null,
4804  ),
4805 );
4806 
4812 $wgRateLimitLog = null;
4813 
4818 $wgRateLimitsExcludedIPs = array();
4819 
4825 $wgPutIPinRC = true;
4826 
4831 $wgQueryPageDefaultLimit = 50;
4832 
4838 $wgPasswordAttemptThrottle = array( 'count' => 5, 'seconds' => 300 );
4839  # end of user rights settings
4841 
4842 /************************************************************************//**
4843  * @name Proxy scanner settings
4844  * @{
4845  */
4846 
4850 $wgSecretKey = false;
4851 
4861 $wgProxyList = array();
4862 
4866 $wgProxyKey = false;
4867  # end of proxy scanner settings
4869 
4870 /************************************************************************//**
4871  * @name Cookie settings
4872  * @{
4873  */
4874 
4878 $wgCookieExpiration = 180 * 86400;
4879 
4884 $wgCookieDomain = '';
4885 
4890 $wgCookiePath = '/';
4891 
4898 $wgCookieSecure = 'detect';
4899 
4906 $wgDisableCookieCheck = false;
4907 
4913 $wgCookiePrefix = false;
4914 
4920 $wgCookieHttpOnly = true;
4921 
4925 $wgCacheVaryCookies = array();
4926 
4930 $wgSessionName = false;
4931  # end of cookie settings }
4933 
4934 /************************************************************************//**
4935  * @name LaTeX (mathematical formulas)
4936  * @{
4937  */
4938 
4945 $wgUseTeX = false;
4946  # end LaTeX }
4948 
4949 /************************************************************************//**
4950  * @name Profiling, testing and debugging
4951  *
4952  * To enable profiling, edit StartProfiler.php
4953  *
4954  * @{
4955  */
4956 
4962 $wgDebugLogFile = '';
4963 
4967 $wgDebugLogPrefix = '';
4968 
4974 $wgDebugRedirects = false;
4975 
4981 $wgDebugRawPage = false;
4982 
4991 $wgDebugComments = false;
4992 
4998 $wgDebugDBTransactions = false;
4999 
5003 $wgDebugDumpSql = false;
5004 
5032 $wgDebugLogGroups = array();
5033 
5039 $wgShowDebug = false;
5040 
5045 $wgDebugTimestamps = false;
5046 
5050 $wgDebugPrintHttpHeaders = true;
5051 
5055 $wgSpecialVersionShowHooks = false;
5056 
5062 $wgShowSQLErrors = false;
5063 
5070 $wgShowExceptionDetails = false;
5071 
5080 $wgShowDBErrorBacktrace = false;
5081 
5085 $wgLogExceptionBacktrace = true;
5086 
5090 $wgShowHostnames = false;
5091 
5097 $wgOverrideHostname = false;
5098 
5103 $wgDevelopmentWarnings = false;
5104 
5110 $wgDeprecationReleaseLimit = false;
5111 
5115 $wgProfileLimit = 0.0;
5116 
5123 $wgProfileOnly = false;
5124 
5135 $wgProfileToDatabase = false;
5136 
5140 $wgProfileCallTree = false;
5141 
5145 $wgProfilePerHost = false;
5146 
5154 $wgUDPProfilerHost = '127.0.0.1';
5155 
5160 $wgUDPProfilerPort = '3811';
5161 
5171 $wgUDPProfilerFormatString = "%s - %d %f %f %f %f %s\n";
5172 
5176 $wgDebugFunctionEntry = false;
5177 
5184 $wgStatsMethod = 'cache';
5185 
5192 $wgAggregateStatsID = false;
5193 
5205 $wgStatsFormatString = "stats/%s - %s 1 1 1 1 %s\n";
5206 
5211 $wgDisableCounters = false;
5212 
5218 $wgPageInfoTransclusionLimit = 50;
5219 
5226 $wgSiteStatsAsyncFactor = false;
5227 
5237 $wgParserTestFiles = array(
5238  "$IP/tests/parser/parserTests.txt",
5239  "$IP/tests/parser/extraParserTests.txt"
5240 );
5241 
5255 $wgParserTestRemote = false;
5256 
5260 $wgEnableJavaScriptTest = false;
5261 
5265 $wgJavaScriptTestConfig = array(
5266  'qunit' => array(
5267  // Page where documentation can be found relevant to the QUnit test suite being ran.
5268  // Used in the intro paragraph on [[Special:JavaScriptTest/qunit]] for the
5269  // documentation link in the "javascripttest-qunit-intro" message.
5270  'documentation' => '//www.mediawiki.org/wiki/Manual:JavaScript_unit_testing',
5271  // If you are submitting the QUnit test suite to a TestSwarm instance,
5272  // point this to the "inject.js" script of that instance. This is was registers
5273  // the QUnit hooks to extract the test results and push them back up into the
5274  // TestSwarm database.
5275  // @example 'http://localhost/testswarm/js/inject.js'
5276  // @example '//integration.mediawiki.org/testswarm/js/inject.js'
5277  'testswarm-injectjs' => false,
5278  ),
5279 );
5280 
5285 $wgCachePrefix = false;
5286 
5294 $wgDebugToolbar = false;
5295  # end of profiling, testing and debugging }
5297 
5298 /************************************************************************//**
5299  * @name Search
5300  * @{
5301  */
5302 
5306 $wgDisableTextSearch = false;
5307 
5312 $wgAdvancedSearchHighlighting = false;
5313 
5318 $wgSearchHighlightBoundaries = '[\p{Z}\p{P}\p{C}]';
5319 
5330 $wgCountTotalSearchHits = false;
5331 
5340 $wgOpenSearchTemplate = false;
5341 
5348 $wgEnableOpenSearchSuggest = true;
5349 
5354 $wgOpenSearchDefaultLimit = 10;
5355 
5359 $wgSearchSuggestCacheExpiry = 1200;
5360 
5365 $wgDisableSearchUpdate = false;
5366 
5376 $wgNamespacesToBeSearchedDefault = array(
5377  NS_MAIN => true,
5378 );
5379 
5386 $wgNamespacesToBeSearchedHelp = array(
5387  NS_PROJECT => true,
5388  NS_HELP => true,
5389 );
5390 
5397 $wgSearchEverythingOnlyLoggedIn = false;
5398 
5403 $wgDisableInternalSearch = false;
5404 
5420 $wgSearchForwardUrl = null;
5421 
5427 $wgUseTwoButtonsSearchForm = true;
5428 
5434 $wgSitemapNamespaces = false;
5435 
5450 $wgSitemapNamespacesPriorities = false;
5451 
5457 $wgEnableSearchContributorsByIP = true;
5458  # end of search settings
5460 
5461 /************************************************************************//**
5462  * @name Edit user interface
5463  * @{
5464  */
5465 
5470 $wgDiff3 = '/usr/bin/diff3';
5471 
5475 $wgDiff = '/usr/bin/diff';
5476 
5482 $wgPreviewOnOpenNamespaces = array(
5483  NS_CATEGORY => true
5484 );
5485 
5489 $wgGoToEdit = false;
5490 
5496 $wgUniversalEditButton = true;
5497 
5503 $wgUseAutomaticEditSummaries = true;
5504  # end edit UI }
5506 
5507 /************************************************************************//**
5508  * @name Maintenance
5509  * See also $wgSiteNotice
5510  * @{
5511  */
5512 
5517 if ( !isset( $wgCommandLineMode ) ) {
5518  $wgCommandLineMode = false;
5519 }
5525 $wgCommandLineDarkBg = false;
5526 
5535 $wgReadOnly = null;
5536 
5544 $wgReadOnlyFile = false;
5545 
5555 $wgUpgradeKey = false;
5556 
5560 $wgGitBin = '/usr/bin/git';
5561 
5574 $wgGitRepositoryViewers = array(
5575  'https://(?:[a-z0-9_]+@)?gerrit.wikimedia.org/r/(?:p/)?(.*)' =>
5576  'https://git.wikimedia.org/commit/%r/%H',
5577  'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)' =>
5578  'https://git.wikimedia.org/commit/%r/%H',
5579 );
5580  # End of maintenance }
5582 
5583 /************************************************************************//**
5584  * @name Recent changes, new pages, watchlist and history
5585  * @{
5586  */
5587 
5593 $wgRCMaxAge = 13 * 7 * 24 * 3600;
5594 
5602 $wgRCFilterByAge = false;
5603 
5608 $wgRCLinkLimits = array( 50, 100, 250, 500 );
5609 
5614 $wgRCLinkDays = array( 1, 3, 7, 14, 30 );
5615 
5622 $wgRC2UDPAddress = false;
5623 
5629 $wgRC2UDPPort = false;
5630 
5639 $wgRC2UDPPrefix = '';
5640 
5648 $wgRC2UDPInterwikiPrefix = false;
5649 
5656 $wgRC2UDPOmitBots = false;
5657 
5698 $wgRCFeeds = array();
5699 
5704 $wgRCEngines = array(
5705  'redis' => 'RedisPubSubFeedEngine',
5706  'udp' => 'UDPRCFeedEngine',
5707 );
5708 
5714 $wgEnableNewpagesUserFilter = true;
5715 
5719 $wgUseRCPatrol = true;
5720 
5724 $wgUseNPPatrol = true;
5725 
5729 $wgLogAutopatrol = true;
5730 
5734 $wgFeed = true;
5735 
5740 $wgFeedLimit = 50;
5741 
5750 $wgFeedCacheTimeout = 60;
5751 
5756 $wgFeedDiffCutoff = 32768;
5757 
5770 $wgOverrideSiteFeed = array();
5771 
5777 $wgFeedClasses = array(
5778  'rss' => 'RSSFeed',
5779  'atom' => 'AtomFeed',
5780 );
5781 
5786 $wgAdvertisedFeedTypes = array( 'atom' );
5787 
5791 $wgRCShowWatchingUsers = false; # UPO
5792 
5796 $wgPageShowWatchingUsers = false;
5797 
5801 $wgRCShowChangedSize = true;
5802 
5808 $wgRCChangedSizeThreshold = 500;
5809 
5814 $wgShowUpdatedMarker = true;
5815 
5820 $wgDisableAnonTalk = false;
5821 
5825 $wgAllowCategorizedRecentChanges = false;
5826 
5831 $wgUseTagFilter = true;
5832 
5840 $wgUnwatchedPageThreshold = false;
5841 
5858 $wgRecentChangesFlags = array(
5859  'newpage' => array( 'letter' => 'newpageletter',
5860  'title' => 'recentchanges-label-newpage' ),
5861  'minor' => array( 'letter' => 'minoreditletter',
5862  'title' => 'recentchanges-label-minor', 'class' => 'minoredit' ),
5863  'bot' => array( 'letter' => 'boteditletter',
5864  'title' => 'recentchanges-label-bot', 'class' => 'botedit' ),
5865  'unpatrolled' => array( 'letter' => 'unpatrolledletter',
5866  'title' => 'recentchanges-label-unpatrolled' ),
5867 );
5868  # end RC/watchlist }
5870 
5871 /************************************************************************//**
5872  * @name Copyright and credits settings
5873  * @{
5874  */
5875 
5883 $wgRightsPage = null;
5884 
5890 $wgRightsUrl = null;
5891 
5898 $wgRightsText = null;
5899 
5903 $wgRightsIcon = null;
5904 
5909 $wgCopyrightIcon = null;
5910 
5914 $wgUseCopyrightUpload = false;
5915 
5923 $wgMaxCredits = 0;
5924 
5929 $wgShowCreditsIfMax = true;
5930  # end of copyright and credits settings }
5932 
5933 /************************************************************************//**
5934  * @name Import / Export
5935  * @{
5936  */
5937 
5946 $wgImportSources = array();
5947 
5955 $wgImportTargetNamespace = null;
5956 
5962 $wgExportAllowHistory = true;
5963 
5969 $wgExportMaxHistory = 0;
5970 
5974 $wgExportAllowListContributors = false;
5975 
5987 $wgExportMaxLinkDepth = 0;
5988 
5992 $wgExportFromNamespaces = false;
5993 
5997 $wgExportAllowAll = false;
5998  # end of import/export }
6000 
6001 /*************************************************************************//**
6002  * @name Extensions
6003  * @{
6004  */
6005 
6010 $wgExtensionFunctions = array();
6011 
6038 $wgExtensionMessagesFiles = array();
6039 
6063 $wgMessagesDirs = array(
6064  'core' => "$IP/languages/i18n",
6065  'oojs-ui' => "$IP/resources/lib/oojs-ui/i18n",
6066 );
6067 
6073 $wgExtensionEntryPointListFiles = array();
6074 
6089 $wgParserOutputHooks = array();
6090 
6094 $wgEnableParserLimitReporting = true;
6095 
6105 $wgValidSkinNames = array();
6106 
6111 $wgSpecialPages = array();
6112 
6116 $wgAutoloadClasses = array();
6117 
6123 $wgAutoloadAttemptLowercase = true;
6124 
6165 $wgExtensionCredits = array();
6166 
6171 $wgAuth = null;
6172 
6207 $wgHooks = array();
6208 
6213 $wgJobClasses = array(
6214  'refreshLinks' => 'RefreshLinksJob',
6215  'refreshLinks2' => 'RefreshLinksJob2', // b/c
6216  'htmlCacheUpdate' => 'HTMLCacheUpdateJob',
6217  'sendMail' => 'EmaillingJob',
6218  'enotifNotify' => 'EnotifNotifyJob',
6219  'fixDoubleRedirect' => 'DoubleRedirectJob',
6220  'uploadFromUrl' => 'UploadFromUrlJob',
6221  'AssembleUploadChunks' => 'AssembleUploadChunksJob',
6222  'PublishStashedFile' => 'PublishStashedFileJob',
6223  'null' => 'NullJob'
6224 );
6225 
6237 $wgJobTypesExcludedFromDefaultQueue = array( 'AssembleUploadChunks', 'PublishStashedFile' );
6238 
6247 $wgJobBackoffThrottling = array();
6248 
6255 $wgJobTypeConf = array(
6256  'default' => array( 'class' => 'JobQueueDB', 'order' => 'random' ),
6257 );
6258 
6263 $wgJobQueueAggregator = array(
6264  'class' => 'JobQueueAggregatorMemc'
6265 );
6266 
6271 $wgSpecialPageCacheUpdates = array(
6272  'Statistics' => array( 'SiteStatsUpdate', 'cacheUpdate' ),
6273  'Activeusers' => array( 'SpecialActiveUsers', 'cacheUpdate' ),
6274 );
6275 
6283 $wgExceptionHooks = array();
6284 
6292 $wgPagePropLinkInvalidations = array(
6293  'hiddencat' => 'categorylinks',
6294 );
6295  # End extensions }
6297 
6298 /*************************************************************************//**
6299  * @name Categories
6300  * @{
6301  */
6302 
6306 $wgUseCategoryBrowser = false;
6307 
6312 $wgCategoryMagicGallery = true;
6313 
6317 $wgCategoryPagingLimit = 200;
6318 
6344 $wgCategoryCollation = 'uppercase';
6345  # End categories }
6347 
6348 /*************************************************************************//**
6349  * @name Logging
6350  * @{
6351  */
6352 
6359 $wgLogTypes = array(
6360  '',
6361  'block',
6362  'protect',
6363  'rights',
6364  'delete',
6365  'upload',
6366  'move',
6367  'import',
6368  'patrol',
6369  'merge',
6370  'suppress',
6371 );
6372 
6380 $wgLogRestrictions = array(
6381  'suppress' => 'suppressionlog'
6382 );
6383 
6406 $wgFilterLogTypes = array(
6407  'patrol' => true
6408 );
6409 
6419 $wgLogNames = array(
6420  '' => 'all-logs-page',
6421  'block' => 'blocklogpage',
6422  'protect' => 'protectlogpage',
6423  'rights' => 'rightslog',
6424  'delete' => 'dellogpage',
6425  'upload' => 'uploadlogpage',
6426  'move' => 'movelogpage',
6427  'import' => 'importlogpage',
6428  'patrol' => 'patrol-log-page',
6429  'merge' => 'mergelog',
6430  'suppress' => 'suppressionlog',
6431 );
6432 
6442 $wgLogHeaders = array(
6443  '' => 'alllogstext',
6444  'block' => 'blocklogtext',
6445  'protect' => 'protectlogtext',
6446  'rights' => 'rightslogtext',
6447  'delete' => 'dellogpagetext',
6448  'upload' => 'uploadlogpagetext',
6449  'move' => 'movelogpagetext',
6450  'import' => 'importlogpagetext',
6451  'patrol' => 'patrol-log-header',
6452  'merge' => 'mergelogpagetext',
6453  'suppress' => 'suppressionlogtext',
6454 );
6455 
6462 $wgLogActions = array(
6463  'block/block' => 'blocklogentry',
6464  'block/unblock' => 'unblocklogentry',
6465  'block/reblock' => 'reblock-logentry',
6466  'protect/protect' => 'protectedarticle',
6467  'protect/modify' => 'modifiedarticleprotection',
6468  'protect/unprotect' => 'unprotectedarticle',
6469  'protect/move_prot' => 'movedarticleprotection',
6470  'upload/upload' => 'uploadedimage',
6471  'upload/overwrite' => 'overwroteimage',
6472  'upload/revert' => 'uploadedimage',
6473  'import/upload' => 'import-logentry-upload',
6474  'import/interwiki' => 'import-logentry-interwiki',
6475  'merge/merge' => 'pagemerge-logentry',
6476  'suppress/block' => 'blocklogentry',
6477  'suppress/reblock' => 'reblock-logentry',
6478 );
6479 
6486 $wgLogActionsHandlers = array(
6487  'move/move' => 'MoveLogFormatter',
6488  'move/move_redir' => 'MoveLogFormatter',
6489  'delete/delete' => 'DeleteLogFormatter',
6490  'delete/restore' => 'DeleteLogFormatter',
6491  'delete/revision' => 'DeleteLogFormatter',
6492  'delete/event' => 'DeleteLogFormatter',
6493  'suppress/revision' => 'DeleteLogFormatter',
6494  'suppress/event' => 'DeleteLogFormatter',
6495  'suppress/delete' => 'DeleteLogFormatter',
6496  'patrol/patrol' => 'PatrolLogFormatter',
6497  'rights/rights' => 'RightsLogFormatter',
6498  'rights/autopromote' => 'RightsLogFormatter',
6499 );
6500 
6504 $wgNewUserLog = true;
6505  # end logging }
6507 
6508 /*************************************************************************//**
6509  * @name Special pages (general and miscellaneous)
6510  * @{
6511  */
6512 
6516 $wgAllowSpecialInclusion = true;
6517 
6522 $wgDisableQueryPageUpdate = false;
6523 
6530 $wgSpecialPageGroups = array();
6531 
6535 $wgSortSpecialPages = true;
6536 
6541 $wgCountCategorizedImagesAsUsed = false;
6542 
6547 $wgMaxRedirectLinksRetrieved = 500;
6548  # end special pages }
6550 
6551 /*************************************************************************//**
6552  * @name Actions
6553  * @{
6554  */
6555 
6566 $wgActions = array(
6567  'credits' => true,
6568  'delete' => true,
6569  'edit' => true,
6570  'history' => true,
6571  'info' => true,
6572  'markpatrolled' => true,
6573  'protect' => true,
6574  'purge' => true,
6575  'raw' => true,
6576  'render' => true,
6577  'revert' => true,
6578  'revisiondelete' => true,
6579  'rollback' => true,
6580  'submit' => true,
6581  'unprotect' => true,
6582  'unwatch' => true,
6583  'view' => true,
6584  'watch' => true,
6585 );
6586  # end actions }
6588 
6589 /*************************************************************************//**
6590  * @name Robot (search engine crawler) policy
6591  * See also $wgNoFollowLinks.
6592  * @{
6593  */
6594 
6600 $wgDefaultRobotPolicy = 'index,follow';
6601 
6616 $wgNamespaceRobotPolicies = array();
6617 
6644 $wgArticleRobotPolicies = array();
6645 
6656 $wgExemptFromUserRobotsControl = null;
6657  # End robot policy }
6659 
6660 /************************************************************************//**
6661  * @name AJAX and API
6662  * Note: The AJAX entry point which this section refers to is gradually being
6663  * replaced by the API entry point, api.php. They are essentially equivalent.
6664  * Both of them are used for dynamic client-side features, via XHR.
6665  * @{
6666  */
6667 
6674 $wgEnableAPI = true;
6675 
6681 $wgEnableWriteAPI = true;
6682 
6697 $wgDebugAPI = false;
6698 
6706 $wgAPIModules = array();
6707 
6715 $wgAPIFormatModules = array();
6716 
6724 $wgAPIMetaModules = array();
6725 
6733 $wgAPIPropModules = array();
6734 
6742 $wgAPIListModules = array();
6743 
6748 $wgAPIGeneratorModules = array();
6749 
6754 $wgAPIMaxDBRows = 5000;
6755 
6760 $wgAPIMaxResultSize = 8388608;
6761 
6766 $wgAPIMaxUncachedDiffs = 1;
6767 
6772 $wgAPIRequestLog = false;
6773 
6777 $wgAPICacheHelpTimeout = 60 * 60;
6778 
6783 $wgAPIUselessQueryPages = array(
6784  'MIMEsearch', // aiprop=mime
6785  'LinkSearch', // list=exturlusage
6786  'FileDuplicateSearch', // prop=duplicatefiles
6787 );
6788 
6792 $wgUseAjax = true;
6793 
6798 $wgAjaxExportList = array();
6799 
6804 $wgAjaxWatch = true;
6805 
6809 $wgAjaxUploadDestCheck = true;
6810 
6814 $wgAjaxLicensePreview = true;
6815 
6836 $wgCrossSiteAJAXdomains = array();
6837 
6843 $wgCrossSiteAJAXdomainExceptions = array();
6844  # End AJAX and API }
6846 
6847 /************************************************************************//**
6848  * @name Shell and process control
6849  * @{
6850  */
6851 
6855 $wgMaxShellMemory = 307200;
6856 
6861 $wgMaxShellFileSize = 102400;
6862 
6866 $wgMaxShellTime = 180;
6867 
6872 $wgMaxShellWallClockTime = 180;
6873 
6897 $wgShellCgroup = false;
6898 
6902 $wgPhpCli = '/usr/bin/php';
6903 
6909 $wgShellLocale = 'en_US.utf8';
6910  # End shell }
6912 
6913 /************************************************************************//**
6914  * @name HTTP client
6915  * @{
6916  */
6917 
6921 $wgHTTPTimeout = 25;
6922 
6926 $wgAsyncHTTPTimeout = 25;
6927 
6931 $wgHTTPProxy = false;
6932 
6937 $wgHTTPConnectTimeout = 5e0;
6938  # End HTTP client }
6940 
6941 /************************************************************************//**
6942  * @name Job queue
6943  * See also $wgEnotifUseJobQ.
6944  * @{
6945  */
6946 
6953 $wgJobRunRate = 1;
6954 
6961 $wgRunJobsAsync = true;
6962 
6966 $wgUpdateRowsPerJob = 500;
6967 
6971 $wgUpdateRowsPerQuery = 100;
6972  # End job queue }
6974 
6975 /************************************************************************//**
6976  * @name Miscellaneous
6977  * @{
6978  */
6979 
6983 $wgExternalDiffEngine = false;
6984 
6993 $wgDisableHardRedirects = false;
6994 
6999 $wgLinkHolderBatchSize = 1000;
7000 
7005 $wgRegisterInternalExternals = false;
7006 
7010 $wgMaximumMovedPages = 100;
7011 
7016 $wgFixDoubleRedirects = false;
7017 
7022 $wgRedirectOnLogin = null;
7023 
7044 $wgPoolCounterConf = null;
7045 
7049 $wgUploadMaintenance = false;
7050 
7059 $wgNamespaceContentModels = array();
7060 
7071 $wgContentHandlerTextFallback = 'ignore';
7072 
7086 $wgContentHandlerUseDB = true;
7087 
7098 $wgTextModelsToParse = array(
7099  CONTENT_MODEL_WIKITEXT, // Just for completeness, wikitext will always be parsed.
7100  CONTENT_MODEL_JAVASCRIPT, // Make categories etc work, people put them into comments.
7101  CONTENT_MODEL_CSS, // Make categories etc work, people put them into comments.
7102 );
7103 
7109 $wgRequirePasswordforEmailChange = true;
7110 
7116 $wgSiteTypes = array(
7117  'mediawiki' => 'MediaWikiSite',
7118 );
7119 
7124 $wgCompiledFiles = array();
7125 
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