MediaWiki  1.23.8
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.8';
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 
683 $wgUploadNavigationUrl = false;
684 
690 $wgUploadMissingFileUrl = false;
691 
703 $wgThumbnailScriptPath = false;
704 
708 $wgSharedThumbnailScriptPath = false;
709 
723 $wgHashedUploadDirectory = true;
724 
730 $wgHashedSharedUploadDirectory = true;
731 
740 $wgRepositoryBaseUrl = "http://commons.wikimedia.org/wiki/File:";
741 
750 $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg' );
751 
757 $wgFileBlacklist = array(
758  # HTML may contain cookie-stealing JavaScript and web bugs
759  'html', 'htm', 'js', 'jsb', 'mhtml', 'mht', 'xhtml', 'xht',
760  # PHP scripts may execute arbitrary code on the server
761  'php', 'phtml', 'php3', 'php4', 'php5', 'phps',
762  # Other types that may be interpreted by some servers
763  'shtml', 'jhtml', 'pl', 'py', 'cgi',
764  # May contain harmful executables for Windows victims
765  'exe', 'scr', 'dll', 'msi', 'vbs', 'bat', 'com', 'pif', 'cmd', 'vxd', 'cpl' );
766 
771 $wgMimeTypeBlacklist = array(
772  # HTML may contain cookie-stealing JavaScript and web bugs
773  'text/html', 'text/javascript', 'text/x-javascript', 'application/x-shellscript',
774  # PHP scripts may execute arbitrary code on the server
775  'application/x-php', 'text/x-php',
776  # Other types that may be interpreted by some servers
777  'text/x-python', 'text/x-perl', 'text/x-bash', 'text/x-sh', 'text/x-csh',
778  # Client-side hazards on Internet Explorer
779  'text/scriptlet', 'application/x-msdownload',
780  # Windows metafile, client-side vulnerability on some systems
781  'application/x-msmetafile',
782 );
783 
789 $wgAllowJavaUploads = false;
790 
796 $wgCheckFileExtensions = true;
797 
804 $wgStrictFileExtensions = true;
805 
812 $wgDisableUploadScriptChecks = false;
813 
817 $wgUploadSizeWarning = false;
818 
829 $wgTrustedMediaFormats = array(
830  MEDIATYPE_BITMAP, //all bitmap formats
831  MEDIATYPE_AUDIO, //all audio formats
832  MEDIATYPE_VIDEO, //all plain video formats
833  "image/svg+xml", //svg (only needed if inline rendering of svg is not supported)
834  "application/pdf", //PDF files
835  #"application/x-shockwave-flash", //flash/shockwave movie
836 );
837 
842 $wgMediaHandlers = array(
843  'image/jpeg' => 'JpegHandler',
844  'image/png' => 'PNGHandler',
845  'image/gif' => 'GIFHandler',
846  'image/tiff' => 'TiffHandler',
847  'image/x-ms-bmp' => 'BmpHandler',
848  'image/x-bmp' => 'BmpHandler',
849  'image/x-xcf' => 'XCFHandler',
850  'image/svg+xml' => 'SvgHandler', // official
851  'image/svg' => 'SvgHandler', // compat
852  'image/vnd.djvu' => 'DjVuHandler', // official
853  'image/x.djvu' => 'DjVuHandler', // compat
854  'image/x-djvu' => 'DjVuHandler', // compat
855 );
856 
863 $wgContentHandlers = array(
864  // the usual case
865  CONTENT_MODEL_WIKITEXT => 'WikitextContentHandler',
866  // dumb version, no syntax highlighting
867  CONTENT_MODEL_JAVASCRIPT => 'JavaScriptContentHandler',
868  // dumb version, no syntax highlighting
869  CONTENT_MODEL_CSS => 'CssContentHandler',
870  // plain text, for use by extensions etc
871  CONTENT_MODEL_TEXT => 'TextContentHandler',
872 );
873 
879 $wgUseImageResize = true;
880 
889 $wgUseImageMagick = false;
890 
894 $wgImageMagickConvertCommand = '/usr/bin/convert';
895 
899 $wgSharpenParameter = '0x0.4';
900 
904 $wgSharpenReductionThreshold = 0.85;
905 
910 $wgImageMagickTempDir = false;
911 
924 $wgCustomConvertCommand = false;
925 
931 $wgJpegTran = '/usr/bin/jpegtran';
932 
937 $wgExiv2Command = '/usr/bin/exiv2';
938 
948 $wgSVGConverters = array(
949  'ImageMagick' => '$path/convert -background white -thumbnail $widthx$height\! $input PNG:$output',
950  'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
951  'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
952  'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d '
953  . '$output $input',
954  'rsvg' => '$path/rsvg -w $width -h $height $input $output',
955  'imgserv' => '$path/imgserv-wrapper -i svg -o png -w$width $input $output',
956  'ImagickExt' => array( 'SvgHandler::rasterizeImagickExt' ),
957 );
958 
962 $wgSVGConverter = 'ImageMagick';
963 
967 $wgSVGConverterPath = '';
968 
972 $wgSVGMaxSize = 2048;
973 
978 $wgSVGMetadataCutoff = 262144;
979 
991 $wgAllowTitlesInSVG = false;
992 
1006 $wgMaxImageArea = 1.25e7;
1007 
1014 $wgMaxAnimatedGifArea = 1.25e7;
1015 
1029 $wgTiffThumbnailType = false;
1030 
1037 $wgThumbnailEpoch = '20030516000000';
1038 
1045 $wgAttemptFailureEpoch = 1;
1046 
1058 $wgIgnoreImageErrors = false;
1059 
1067 $wgGenerateThumbnailOnParse = true;
1068 
1072 $wgShowArchiveThumbnails = true;
1073 
1079 $wgEnableAutoRotation = null;
1080 
1086 $wgAntivirus = null;
1087 
1122 $wgAntivirusSetup = array(
1123 
1124  #setup for clamav
1125  'clamav' => array(
1126  'command' => 'clamscan --no-summary ',
1127  'codemap' => array(
1128  "0" => AV_NO_VIRUS, # no virus
1129  "1" => AV_VIRUS_FOUND, # virus found
1130  "52" => AV_SCAN_ABORTED, # unsupported file format (probably immune)
1131  "*" => AV_SCAN_FAILED, # else scan failed
1132  ),
1133  'messagepattern' => '/.*?:(.*)/sim',
1134  ),
1135 );
1136 
1140 $wgAntivirusRequired = true;
1141 
1145 $wgVerifyMimeType = true;
1146 
1152 $wgMimeTypeFile = 'includes/mime.types';
1153 
1158 $wgMimeInfoFile = 'includes/mime.info';
1159 
1171 $wgMimeDetectorCommand = null;
1172 
1178 $wgTrivialMimeDetection = false;
1179 
1184 $wgXMLMimeTypes = array(
1185  'http://www.w3.org/2000/svg:svg' => 'image/svg+xml',
1186  'svg' => 'image/svg+xml',
1187  'http://www.lysator.liu.se/~alla/dia/:diagram' => 'application/x-dia-diagram',
1188  'http://www.w3.org/1999/xhtml:html' => 'text/html', // application/xhtml+xml?
1189  'html' => 'text/html', // application/xhtml+xml?
1190 );
1191 
1200 $wgImageLimits = array(
1201  array( 320, 240 ),
1202  array( 640, 480 ),
1203  array( 800, 600 ),
1204  array( 1024, 768 ),
1205  array( 1280, 1024 )
1206 );
1207 
1213 $wgThumbLimits = array(
1214  120,
1215  150,
1216  180,
1217  200,
1218  250,
1219  300
1220 );
1221 
1225 $wgGalleryOptions = array(
1226  'imagesPerRow' => 0, // Default number of images per-row in the gallery. 0 -> Adapt to screensize
1227  'imageWidth' => 120, // Width of the cells containing images in galleries (in "px")
1228  'imageHeight' => 120, // Height of the cells containing images in galleries (in "px")
1229  'captionLength' => 25, // Length of caption to truncate (in characters)
1230  'showBytes' => true, // Show the filesize in bytes in categories
1231  'mode' => 'traditional',
1232 );
1233 
1239 $wgThumbUpright = 0.75;
1240 
1244 $wgDirectoryMode = 0777;
1245 
1254 $wgResponsiveImages = true;
1255 
1266 $wgDjvuDump = null;
1267 
1273 $wgDjvuRenderer = null;
1274 
1280 $wgDjvuTxt = null;
1281 
1296 $wgDjvuToXML = null;
1297 
1303 $wgDjvuPostProcessor = 'pnmtojpeg';
1304 
1308 $wgDjvuOutputExtension = 'jpg';
1309  # end of DJvu }
1311  # end of file uploads }
1313 
1314 /************************************************************************/
1319 $serverName = substr( $wgServer, strrpos( $wgServer, '/' ) + 1 );
1320 
1324 $wgEmergencyContact = 'wikiadmin@' . $serverName;
1325 
1331 $wgPasswordSender = 'apache@' . $serverName;
1332 
1333 unset( $serverName ); # Don't leak local variables to global scope
1334 
1340 $wgPasswordSenderName = 'MediaWiki Mail';
1341 
1347 $wgNoReplyAddress = 'reply@not.possible';
1348 
1354 $wgEnableEmail = true;
1355 
1360 $wgEnableUserEmail = true;
1361 
1370 $wgUserEmailUseReplyTo = false;
1371 
1376 $wgPasswordReminderResendTime = 24;
1377 
1381 $wgNewPasswordExpiry = 3600 * 24 * 7;
1382 
1386 $wgUserEmailConfirmationTokenExpiry = 7 * 24 * 60 * 60;
1387 
1392 $wgPasswordExpirationDays = false;
1393 
1398 $wgPasswordExpireGrace = 3600 * 24 * 7; // 7 days
1399 
1417 $wgSMTP = false;
1418 
1423 $wgAdditionalMailParams = null;
1424 
1429 $wgAllowHTMLEmail = false;
1430 
1435 $wgEnotifFromEditor = false;
1436 
1437 // TODO move UPO to preferences probably ?
1438 # If set to true, users get a corresponding option in their preferences and can choose to
1439 # enable or disable at their discretion
1440 # If set to false, the corresponding input form on the user preference page is suppressed
1441 # It call this to be a "user-preferences-option (UPO)"
1442 
1448 $wgEmailAuthentication = true;
1449 
1453 $wgEnotifWatchlist = false;
1454 
1459 $wgEnotifUserTalk = false;
1460 
1465 $wgEnotifRevealEditorAddress = false;
1466 
1471 $wgEnotifMinorEdits = true;
1472 
1480 $wgEnotifImpersonal = false;
1481 
1486 $wgEnotifMaxRecips = 500;
1487 
1492 $wgEnotifUseJobQ = false;
1493 
1497 $wgEnotifUseRealName = false;
1498 
1503 $wgUsersNotifiedOnAllChanges = array();
1504  # end of email settings
1506 
1507 /************************************************************************//**
1508  * @name Database settings
1509  * @{
1510  */
1511 
1515 $wgDBserver = 'localhost';
1516 
1520 $wgDBport = 5432;
1521 
1525 $wgDBname = 'my_wiki';
1526 
1530 $wgDBuser = 'wikiuser';
1531 
1535 $wgDBpassword = '';
1536 
1540 $wgDBtype = 'mysql';
1541 
1545 $wgDBssl = false;
1546 
1550 $wgDBcompress = false;
1551 
1555 $wgDBadminuser = null;
1556 
1560 $wgDBadminpassword = null;
1561 
1568 $wgSearchType = null;
1569 
1577 $wgSearchTypeAlternatives = null;
1578 
1582 $wgDBprefix = '';
1583 
1587 $wgDBTableOptions = 'ENGINE=InnoDB';
1588 
1595 $wgSQLMode = '';
1596 
1600 $wgDBmwschema = null;
1601 
1605 $wgSQLiteDataDir = '';
1606 
1612 $wgAllDBsAreLocalhost = false;
1613 
1636 $wgSharedDB = null;
1637 
1641 $wgSharedPrefix = false;
1642 
1646 $wgSharedTables = array( 'user', 'user_properties' );
1647 
1698 $wgDBservers = false;
1699 
1710 $wgLBFactoryConf = array( 'class' => 'LBFactorySimple' );
1711 
1715 $wgMasterWaitTimeout = 10;
1716 
1720 $wgDBerrorLog = false;
1721 
1740 $wgDBerrorLogTZ = false;
1741 
1745 $wgDBClusterTimeout = 10;
1746 
1752 $wgDBAvgStatusPoll = 2000;
1753 
1770 $wgDBmysql5 = false;
1771 
1799 $wgDBOracleDRCP = false;
1800 
1806 $wgLocalDatabases = array();
1807 
1813 $wgSlaveLagWarning = 10;
1814 
1818 $wgSlaveLagCritical = 30;
1819 
1823 $wgDBWindowsAuthentication = false;
1824  # End of DB settings }
1826 
1827 /************************************************************************//**
1828  * @name Text storage
1829  * @{
1830  */
1831 
1838 $wgCompressRevisions = false;
1839 
1851 $wgExternalStores = array();
1852 
1867 $wgExternalServers = array();
1868 
1883 $wgDefaultExternalStore = false;
1884 
1891 $wgRevisionCacheExpiry = 0;
1892  # end text storage }
1894 
1895 /************************************************************************//**
1896  * @name Performance hacks and limits
1897  * @{
1898  */
1899 
1903 $wgMiserMode = false;
1904 
1908 $wgDisableQueryPages = false;
1909 
1913 $wgQueryCacheLimit = 1000;
1914 
1918 $wgWantedPagesThreshold = 1;
1919 
1923 $wgAllowSlowParserFunctions = false;
1924 
1928 $wgAllowSchemaUpdates = true;
1929 
1937 $wgAntiLockFlags = 0;
1938 
1942 $wgMaxArticleSize = 2048;
1943 
1948 $wgMemoryLimit = "50M";
1949  # end performance hacks }
1951 
1952 /************************************************************************//**
1953  * @name Cache settings
1954  * @{
1955  */
1956 
1965 $wgCacheDirectory = false;
1966 
1984 $wgMainCacheType = CACHE_NONE;
1985 
1992 $wgMessageCacheType = CACHE_ANYTHING;
1993 
2000 $wgParserCacheType = CACHE_ANYTHING;
2001 
2007 $wgSessionCacheType = CACHE_ANYTHING;
2008 
2017 $wgLanguageConverterCacheType = CACHE_ANYTHING;
2018 
2032 $wgObjectCaches = array(
2033  CACHE_NONE => array( 'class' => 'EmptyBagOStuff' ),
2034  CACHE_DB => array( 'class' => 'SqlBagOStuff', 'table' => 'objectcache' ),
2035 
2036  CACHE_ANYTHING => array( 'factory' => 'ObjectCache::newAnything' ),
2037  CACHE_ACCEL => array( 'factory' => 'ObjectCache::newAccelerator' ),
2038  CACHE_MEMCACHED => array( 'factory' => 'ObjectCache::newMemcached' ),
2039 
2040  'apc' => array( 'class' => 'APCBagOStuff' ),
2041  'xcache' => array( 'class' => 'XCacheBagOStuff' ),
2042  'wincache' => array( 'class' => 'WinCacheBagOStuff' ),
2043  'memcached-php' => array( 'class' => 'MemcachedPhpBagOStuff' ),
2044  'memcached-pecl' => array( 'class' => 'MemcachedPeclBagOStuff' ),
2045  'hash' => array( 'class' => 'HashBagOStuff' ),
2046 );
2047 
2052 $wgParserCacheExpireTime = 86400;
2053 
2059 $wgSessionsInMemcached = false;
2060 
2067 $wgSessionsInObjectCache = false;
2068 
2073 $wgObjectCacheSessionExpiry = 3600;
2074 
2081 $wgSessionHandler = null;
2082 
2086 $wgMemCachedDebug = false;
2087 
2091 $wgMemCachedServers = array( '127.0.0.1:11211' );
2092 
2097 $wgMemCachedPersistent = false;
2098 
2102 $wgMemCachedTimeout = 500000;
2103 
2108 $wgUseLocalMessageCache = false;
2109 
2116 $wgAdaptiveMessageCache = false;
2117 
2138 $wgLocalisationCacheConf = array(
2139  'class' => 'LocalisationCache',
2140  'store' => 'detect',
2141  'storeClass' => false,
2142  'storeDirectory' => false,
2143  'manualRecache' => false,
2144 );
2145 
2149 $wgCachePages = true;
2150 
2159 $wgCacheEpoch = '20030516000000';
2160 
2168 $wgStyleVersion = '303';
2169 
2177 $wgUseFileCache = false;
2178 
2185 $wgFileCacheDepth = 2;
2186 
2196 $wgEnableParserCache = true;
2197 
2202 $wgRenderHashAppend = '';
2203 
2213 $wgEnableSidebarCache = false;
2214 
2218 $wgSidebarCacheExpiry = 86400;
2219 
2226 $wgUseGzip = false;
2227 
2232 $wgUseETag = false;
2233 
2240 $wgClockSkewFudge = 5;
2241 
2251 $wgInvalidateCacheOnLocalSettingsChange = true;
2252  # end of cache settings
2254 
2255 /************************************************************************//**
2256  * @name HTTP proxy (Squid) settings
2257  *
2258  * Many of these settings apply to any HTTP proxy used in front of MediaWiki,
2259  * although they are referred to as Squid settings for historical reasons.
2260  *
2261  * Achieving a high hit ratio with an HTTP proxy requires special
2262  * configuration. See https://www.mediawiki.org/wiki/Manual:Squid_caching for
2263  * more details.
2264  *
2265  * @{
2266  */
2267 
2272 $wgUseSquid = false;
2273 
2277 $wgUseESI = false;
2278 
2282 $wgUseXVO = false;
2283 
2292 $wgVaryOnXFP = false;
2293 
2302 $wgInternalServer = false;
2303 
2310 $wgSquidMaxage = 18000;
2311 
2315 $wgForcedRawSMaxage = 300;
2316 
2325 $wgSquidServers = array();
2326 
2333 $wgSquidServersNoPurge = array();
2334 
2338 $wgMaxSquidPurgeTitles = 400;
2339 
2359 $wgSquidPurgeUseHostHeader = true;
2360 
2412 $wgHTCPRouting = array();
2413 
2423 $wgHTCPMulticastRouting = null;
2424 
2439 $wgHTCPMulticastAddress = false;
2440 
2448 $wgHTCPPort = 4827;
2449 
2454 $wgHTCPMulticastTTL = 1;
2455 
2459 $wgUsePrivateIPs = false;
2460  # end of HTTP proxy settings
2462 
2463 /************************************************************************//**
2464  * @name Language, regional and character encoding settings
2465  * @{
2466  */
2467 
2483 $wgLanguageCode = 'en';
2484 
2489 $wgLangObjCacheSize = 10;
2490 
2500 $wgGrammarForms = array();
2501 
2505 $wgInterwikiMagic = true;
2506 
2510 $wgHideInterlanguageLinks = false;
2511 
2515 $wgExtraLanguageNames = array();
2516 
2523 $wgDummyLanguageCodes = array(
2524  'als' => 'gsw',
2525  'bat-smg' => 'sgs',
2526  'be-x-old' => 'be-tarask',
2527  'bh' => 'bho',
2528  'fiu-vro' => 'vro',
2529  'no' => 'nb',
2530  'qqq' => 'qqq', # Used for message documentation.
2531  'qqx' => 'qqx', # Used for viewing message keys.
2532  'roa-rup' => 'rup',
2533  'simple' => 'en',
2534  'zh-classical' => 'lzh',
2535  'zh-min-nan' => 'nan',
2536  'zh-yue' => 'yue',
2537 );
2538 
2546 $wgEditEncoding = '';
2547 
2556 $wgFixArabicUnicode = true;
2557 
2567 $wgFixMalayalamUnicode = true;
2568 
2579 $wgAllUnicodeFixes = false;
2580 
2591 $wgLegacyEncoding = false;
2592 
2598 $wgBrowserBlackList = array(
2609  '/^Mozilla\/2\.[^ ]+ [^(]*?\((?!compatible).*; [UIN]/',
2610  '/^Mozilla\/3\.[^ ]+ [^(]*?\((?!compatible).*; [UIN]/',
2611  '/^Mozilla\/4\.[^ ]+ [^(]*?\((?!compatible).*; [UIN]/',
2612 
2626  '/^Mozilla\/4\.0 \(compatible; MSIE \d+\.\d+; Mac_PowerPC\)/',
2627 
2632  '/^Mozilla\/4\.0 \(compatible; MSIE 6.0; Windows NT 5.0; Google Wireless Transcoder;\)/'
2633 );
2634 
2647 $wgLegacySchemaConversion = false;
2648 
2653 $wgAmericanDates = false;
2654 
2659 $wgTranslateNumerals = true;
2660 
2665 $wgUseDatabaseMessages = true;
2666 
2670 $wgMsgCacheExpiry = 86400;
2671 
2675 $wgMaxMsgCacheEntrySize = 10000;
2676 
2680 $wgDisableLangConversion = false;
2681 
2685 $wgDisableTitleConversion = false;
2686 
2690 $wgCanonicalLanguageLinks = true;
2691 
2695 $wgDefaultLanguageVariant = false;
2696 
2706 $wgDisabledVariants = array();
2707 
2725 $wgVariantArticlePath = false;
2726 
2732 $wgLoginLanguageSelector = false;
2733 
2753 $wgForceUIMsgAsContentMsg = array();
2754 
2778 $wgLocaltimezone = null;
2779 
2789 $wgLocalTZoffset = null;
2790  # End of language/charset settings
2792 
2793 /*************************************************************************//**
2794  * @name Output format and skin settings
2795  * @{
2796  */
2797 
2801 $wgMimeType = 'text/html';
2802 
2810 $wgJsMimeType = null;
2811 
2819 $wgXhtmlDefaultNamespace = null;
2820 
2828 $wgHtml5 = true;
2829 
2837 $wgHtml5Version = null;
2838 
2843 $wgAllowRdfaAttributes = false;
2844 
2848 $wgAllowMicrodataAttributes = false;
2849 
2866 $wgWellFormedXml = true;
2867 
2882 $wgXhtmlNamespaces = array();
2883 
2889 $wgShowIPinHeader = true;
2890 
2898 $wgSiteNotice = '';
2899 
2903 $wgExtraSubtitle = '';
2904 
2908 $wgSiteSupportPage = '';
2909 
2914 $wgValidateAllHtml = false;
2915 
2922 $wgDefaultSkin = 'vector';
2923 
2931 $wgSkipSkin = '';
2932 
2936 $wgSkipSkins = array();
2937 
2943 $wgAllowUserJs = false;
2944 
2950 $wgAllowUserCss = false;
2951 
2957 $wgAllowUserCssPrefs = true;
2958 
2962 $wgUseSiteJs = true;
2963 
2967 $wgUseSiteCss = true;
2968 
2973 $wgBreakFrames = false;
2974 
2994 $wgEditPageFrameOptions = 'DENY';
2995 
3005 $wgApiFrameOptions = 'DENY';
3006 
3010 $wgDisableOutputCompression = false;
3011 
3021 $wgExperimentalHtmlIds = false;
3022 
3052 $wgFooterIcons = array(
3053  "copyright" => array(
3054  "copyright" => array(), // placeholder for the built in copyright icon
3055  ),
3056  "poweredby" => array(
3057  "mediawiki" => array(
3058  "src" => null, // Defaults to "$wgStylePath/common/images/poweredby_mediawiki_88x31.png"
3059  "url" => "//www.mediawiki.org/",
3060  "alt" => "Powered by MediaWiki",
3061  )
3062  ),
3063 );
3064 
3071 $wgUseCombinedLoginLink = false;
3072 
3078 $wgVectorUseSimpleSearch = true;
3079 
3085 $wgVectorUseIconWatch = true;
3086 
3090 $wgEdititis = false;
3091 
3103 $wgSend404Code = true;
3104 
3113 $wgShowRollbackEditCount = 10;
3114 
3121 $wgEnableCanonicalServerLink = false;
3122  # End of output format settings }
3124 
3125 /*************************************************************************//**
3126  * @name Resource loader settings
3127  * @{
3128  */
3129 
3147 $wgResourceModules = array();
3148 
3162 $wgResourceLoaderSources = array();
3163 
3168 $wgResourceBasePath = null;
3169 
3186 $wgResourceLoaderMaxage = array(
3187  'versioned' => array(
3188  'server' => 30 * 24 * 60 * 60, // 30 days
3189  'client' => 30 * 24 * 60 * 60, // 30 days
3190  ),
3191  'unversioned' => array(
3192  'server' => 5 * 60, // 5 minutes
3193  'client' => 5 * 60, // 5 minutes
3194  ),
3195 );
3196 
3202 $wgResourceLoaderDebug = false;
3203 
3209 $wgResourceLoaderUseESI = false;
3210 
3215 $wgResourceLoaderMinifierStatementsOnOwnLine = false;
3216 
3222 $wgResourceLoaderMinifierMaxLineLength = 1000;
3223 
3228 $wgIncludeLegacyJavaScript = true;
3229 
3248 $wgPreloadJavaScriptMwUtil = false;
3249 
3275 $wgLegacyJavaScriptGlobals = true;
3276 
3290 $wgResourceLoaderMaxQueryLength = false;
3291 
3299 $wgResourceLoaderValidateJS = true;
3300 
3309 $wgResourceLoaderValidateStaticJS = false;
3310 
3316 $wgResourceLoaderExperimentalAsyncLoading = false;
3317 
3336 $wgResourceLoaderLESSVars = array();
3337 
3349 $wgResourceLoaderLESSFunctions = array(
3350  'embeddable' => 'ResourceLoaderLESSFunctions::embeddable',
3352 );
3353 
3367 $wgResourceLoaderLESSImportPaths = array(
3368  "$IP/resources/src/mediawiki.less/",
3369 );
3370 
3377 $wgResourceLoaderStorageEnabled = false;
3378 
3385 $wgResourceLoaderStorageVersion = 1;
3386 
3398 $wgAllowSiteCSSOnRestrictedPages = false;
3399 
3406 $wgMangleFlashPolicy = true;
3407  # End of resource loader settings }
3409 
3410 /*************************************************************************//**
3411  * @name Page title and interwiki link settings
3412  * @{
3413  */
3414 
3419 $wgMetaNamespace = false;
3420 
3428 $wgMetaNamespaceTalk = false;
3429 
3456 $wgExtraNamespaces = array();
3457 
3464 $wgExtraGenderNamespaces = array();
3465 
3484 $wgNamespaceAliases = array();
3485 
3513 $wgLegalTitleChars = " %!\"$&'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF+";
3514 
3520 $wgLocalInterwiki = false;
3521 
3530 $wgLocalInterwikis = array();
3531 
3535 $wgInterwikiExpiry = 10800;
3536 
3555 $wgInterwikiCache = false;
3556 
3563 $wgInterwikiScopes = 3;
3564 
3568 $wgInterwikiFallbackSite = 'wiki';
3569  # end of Interwiki caching settings.
3571 
3587 $wgRedirectSources = false;
3588 
3596 $wgCapitalLinks = true;
3597 
3612 $wgCapitalLinkOverrides = array();
3613 
3618 $wgNamespacesWithSubpages = array(
3619  NS_TALK => true,
3620  NS_USER => true,
3621  NS_USER_TALK => true,
3622  NS_PROJECT => true,
3623  NS_PROJECT_TALK => true,
3624  NS_FILE_TALK => true,
3625  NS_MEDIAWIKI => true,
3626  NS_MEDIAWIKI_TALK => true,
3627  NS_TEMPLATE_TALK => true,
3628  NS_HELP => true,
3629  NS_HELP_TALK => true,
3630  NS_CATEGORY_TALK => true
3631 );
3632 
3642 $wgTrackingCategories = array(
3643  'index-category',
3644  'noindex-category',
3645  'expensive-parserfunction-category',
3646  'post-expand-template-argument-category',
3647  'post-expand-template-inclusion-category',
3648  'hidden-category-category',
3649  'broken-file-category',
3650 );
3651 
3658 $wgContentNamespaces = array( NS_MAIN );
3659 
3665 $wgMaxRedirects = 1;
3666 
3677 $wgInvalidRedirectTargets = array( 'Filepath', 'Mypage', 'Mytalk', 'Redirect' );
3678  # End of title and interwiki settings }
3680 
3681 /************************************************************************//**
3682  * @name Parser settings
3683  * These settings configure the transformation from wikitext to HTML.
3684  * @{
3685  */
3686 
3708 $wgParserConf = array(
3709  'class' => 'Parser',
3710  #'preprocessorClass' => 'Preprocessor_Hash',
3711 );
3712 
3716 $wgMaxTocLevel = 999;
3717 
3722 $wgMaxPPNodeCount = 1000000;
3723 
3733 $wgMaxGeneratedPPNodeCount = 1000000;
3734 
3741 $wgMaxTemplateDepth = 40;
3742 
3746 $wgMaxPPExpandDepth = 40;
3747 
3751 $wgUrlProtocols = array(
3752  'http://',
3753  'https://',
3754  'ftp://',
3755  'ftps://', // If we allow ftp:// we should allow the secure version.
3756  'ssh://',
3757  'sftp://', // SFTP > FTP
3758  'irc://',
3759  'ircs://', // @bug 28503
3760  'xmpp:', // Another open communication protocol
3761  'sip:',
3762  'sips:',
3763  'gopher://',
3764  'telnet://', // Well if we're going to support the above.. -ævar
3765  'nntp://', // @bug 3808 RFC 1738
3766  'worldwind://',
3767  'mailto:',
3768  'tel:', // If we can make emails linkable, why not phone numbers?
3769  'sms:', // Likewise this is standardized too
3770  'news:',
3771  'svn://',
3772  'git://',
3773  'mms://',
3774  'bitcoin:', // Even registerProtocolHandler whitelists this along with mailto:
3775  'magnet:', // No reason to reject torrents over magnet: when they're allowed over http://
3776  'urn:', // Allow URNs to be used in Microdata/RDFa <link ... href="urn:...">s
3777  'geo:', // urls define geo locations, they're useful in Microdata/RDFa and for coordinates
3778  '//', // for protocol-relative URLs
3779 );
3780 
3784 $wgCleanSignatures = true;
3785 
3789 $wgAllowExternalImages = false;
3790 
3803 $wgAllowExternalImagesFrom = '';
3804 
3814 $wgEnableImageWhitelist = true;
3815 
3824 $wgAllowImageTag = false;
3825 
3841 $wgUseTidy = false;
3842 
3846 $wgAlwaysUseTidy = false;
3847 
3851 $wgTidyBin = 'tidy';
3852 
3856 $wgTidyConf = $IP . '/includes/tidy.conf';
3857 
3861 $wgTidyOpts = '';
3862 
3866 $wgTidyInternal = extension_loaded( 'tidy' );
3867 
3872 $wgDebugTidy = false;
3873 
3879 $wgRawHtml = false;
3880 
3884 $wgExternalLinkTarget = false;
3885 
3892 $wgNoFollowLinks = true;
3893 
3898 $wgNoFollowNsExceptions = array();
3899 
3914 $wgNoFollowDomainExceptions = array( 'mediawiki.org' );
3915 
3919 $wgAllowDisplayTitle = true;
3920 
3926 $wgRestrictDisplayTitle = true;
3927 
3932 $wgExpensiveParserFunctionLimit = 100;
3933 
3938 $wgPreprocessorCacheThreshold = 1000;
3939 
3943 $wgEnableScaryTranscluding = false;
3944 
3949 $wgTranscludeCacheExpiry = 3600;
3950  # end of parser settings }
3952 
3953 /************************************************************************//**
3954  * @name Statistics
3955  * @{
3956  */
3957 
3978 $wgArticleCountMethod = null;
3979 
3984 $wgUseCommaCount = false;
3985 
3993 $wgHitcounterUpdateFreq = 1;
3994 
4002 $wgActiveUserDays = 30;
4003  # End of statistics }
4005 
4006 /************************************************************************//**
4007  * @name User accounts, authentication
4008  * @{
4009  */
4010 
4014 $wgPasswordSalt = true;
4015 
4020 $wgMinimalPasswordLength = 1;
4021 
4027 $wgInvalidPasswordReset = true;
4028 
4035 $wgPasswordResetRoutes = array(
4036  'username' => true,
4037  'email' => false,
4038 );
4039 
4043 $wgMaxSigChars = 255;
4044 
4049 $wgMaxNameChars = 255;
4050 
4055 $wgReservedUsernames = array(
4056  'MediaWiki default', // Default 'Main Page' and MediaWiki: message pages
4057  'Conversion script', // Used for the old Wikipedia software upgrade
4058  'Maintenance script', // Maintenance scripts which perform editing, image import script
4059  'Template namespace initialisation script', // Used in 1.2->1.3 upgrade
4060  'ScriptImporter', // Default user name used by maintenance/importSiteScripts.php
4061  'msg:double-redirect-fixer', // Automatic double redirect fix
4062  'msg:usermessage-editor', // Default user for leaving user messages
4063  'msg:proxyblocker', // For $wgProxyList and Special:Blockme (removed in 1.22)
4064 );
4065 
4072 $wgDefaultUserOptions = array(
4073  'ccmeonemails' => 0,
4074  'cols' => 80,
4075  'date' => 'default',
4076  'diffonly' => 0,
4077  'disablemail' => 0,
4078  'editfont' => 'default',
4079  'editondblclick' => 0,
4080  'editsectiononrightclick' => 0,
4081  'enotifminoredits' => 0,
4082  'enotifrevealaddr' => 0,
4083  'enotifusertalkpages' => 1,
4084  'enotifwatchlistpages' => 1,
4085  'extendwatchlist' => 0,
4086  'fancysig' => 0,
4087  'forceeditsummary' => 0,
4088  'gender' => 'unknown',
4089  'hideminor' => 0,
4090  'hidepatrolled' => 0,
4091  'imagesize' => 2,
4092  'math' => 1,
4093  'minordefault' => 0,
4094  'newpageshidepatrolled' => 0,
4095  'nickname' => '',
4096  'norollbackdiff' => 0,
4097  'numberheadings' => 0,
4098  'previewonfirst' => 0,
4099  'previewontop' => 1,
4100  'rcdays' => 7,
4101  'rclimit' => 50,
4102  'rows' => 25,
4103  'showhiddencats' => 0,
4104  'shownumberswatching' => 1,
4105  'showtoolbar' => 1,
4106  'skin' => false,
4107  'stubthreshold' => 0,
4108  'thumbsize' => 2,
4109  'underline' => 2,
4110  'uselivepreview' => 0,
4111  'usenewrc' => 0,
4112  'watchcreations' => 1,
4113  'watchdefault' => 1,
4114  'watchdeletion' => 0,
4115  'watchlistdays' => 3.0,
4116  'watchlisthideanons' => 0,
4117  'watchlisthidebots' => 0,
4118  'watchlisthideliu' => 0,
4119  'watchlisthideminor' => 0,
4120  'watchlisthideown' => 0,
4121  'watchlisthidepatrolled' => 0,
4122  'watchmoves' => 0,
4123  'wllimit' => 250,
4124  'useeditwarning' => 1,
4125  'prefershttps' => 1,
4126 );
4127 
4131 $wgHiddenPrefs = array();
4132 
4138 $wgInvalidUsernameCharacters = '@';
4139 
4149 $wgUserrightsInterwikiDelimiter = '@';
4150 
4157 $wgSecureLogin = false;
4158  # end user accounts }
4160 
4161 /************************************************************************//**
4162  * @name User rights, access control and monitoring
4163  * @{
4164  */
4165 
4169 $wgAutoblockExpiry = 86400;
4170 
4174 $wgBlockAllowsUTEdit = false;
4175 
4179 $wgSysopEmailBans = true;
4180 
4195 $wgBlockCIDRLimit = array(
4196  'IPv4' => 16, # Blocks larger than a /16 (64k addresses) will not be allowed
4197  'IPv6' => 19,
4198 );
4199 
4207 $wgBlockDisablesLogin = false;
4208 
4226 $wgWhitelistRead = false;
4227 
4254 $wgWhitelistReadRegexp = false;
4255 
4260 $wgEmailConfirmToEdit = false;
4261 
4286 $wgGroupPermissions = array();
4287 
4289 // Implicit group for all visitors
4290 $wgGroupPermissions['*']['createaccount'] = true;
4291 $wgGroupPermissions['*']['read'] = true;
4292 $wgGroupPermissions['*']['edit'] = true;
4293 $wgGroupPermissions['*']['createpage'] = true;
4294 $wgGroupPermissions['*']['createtalk'] = true;
4295 $wgGroupPermissions['*']['writeapi'] = true;
4296 $wgGroupPermissions['*']['editmyusercss'] = true;
4297 $wgGroupPermissions['*']['editmyuserjs'] = true;
4298 $wgGroupPermissions['*']['viewmywatchlist'] = true;
4299 $wgGroupPermissions['*']['editmywatchlist'] = true;
4300 $wgGroupPermissions['*']['viewmyprivateinfo'] = true;
4301 $wgGroupPermissions['*']['editmyprivateinfo'] = true;
4302 $wgGroupPermissions['*']['editmyoptions'] = true;
4303 #$wgGroupPermissions['*']['patrolmarks'] = false; // let anons see what was patrolled
4304 
4305 // Implicit group for all logged-in accounts
4306 $wgGroupPermissions['user']['move'] = true;
4307 $wgGroupPermissions['user']['move-subpages'] = true;
4308 $wgGroupPermissions['user']['move-rootuserpages'] = true; // can move root userpages
4309 $wgGroupPermissions['user']['movefile'] = true;
4310 $wgGroupPermissions['user']['read'] = true;
4311 $wgGroupPermissions['user']['edit'] = true;
4312 $wgGroupPermissions['user']['createpage'] = true;
4313 $wgGroupPermissions['user']['createtalk'] = true;
4314 $wgGroupPermissions['user']['writeapi'] = true;
4315 $wgGroupPermissions['user']['upload'] = true;
4316 $wgGroupPermissions['user']['reupload'] = true;
4317 $wgGroupPermissions['user']['reupload-shared'] = true;
4318 $wgGroupPermissions['user']['minoredit'] = true;
4319 $wgGroupPermissions['user']['purge'] = true; // can use ?action=purge without clicking "ok"
4320 $wgGroupPermissions['user']['sendemail'] = true;
4321 
4322 // Implicit group for accounts that pass $wgAutoConfirmAge
4323 $wgGroupPermissions['autoconfirmed']['autoconfirmed'] = true;
4324 $wgGroupPermissions['autoconfirmed']['editsemiprotected'] = true;
4325 
4326 // Users with bot privilege can have their edits hidden
4327 // from various log pages by default
4328 $wgGroupPermissions['bot']['bot'] = true;
4329 $wgGroupPermissions['bot']['autoconfirmed'] = true;
4330 $wgGroupPermissions['bot']['editsemiprotected'] = true;
4331 $wgGroupPermissions['bot']['nominornewtalk'] = true;
4332 $wgGroupPermissions['bot']['autopatrol'] = true;
4333 $wgGroupPermissions['bot']['suppressredirect'] = true;
4334 $wgGroupPermissions['bot']['apihighlimits'] = true;
4335 $wgGroupPermissions['bot']['writeapi'] = true;
4336 
4337 // Most extra permission abilities go to this group
4338 $wgGroupPermissions['sysop']['block'] = true;
4339 $wgGroupPermissions['sysop']['createaccount'] = true;
4340 $wgGroupPermissions['sysop']['delete'] = true;
4341 // can be separately configured for pages with > $wgDeleteRevisionsLimit revs
4342 $wgGroupPermissions['sysop']['bigdelete'] = true;
4343 // can view deleted history entries, but not see or restore the text
4344 $wgGroupPermissions['sysop']['deletedhistory'] = true;
4345 // can view deleted revision text
4346 $wgGroupPermissions['sysop']['deletedtext'] = true;
4347 $wgGroupPermissions['sysop']['undelete'] = true;
4348 $wgGroupPermissions['sysop']['editinterface'] = true;
4349 $wgGroupPermissions['sysop']['editusercss'] = true;
4350 $wgGroupPermissions['sysop']['edituserjs'] = true;
4351 $wgGroupPermissions['sysop']['import'] = true;
4352 $wgGroupPermissions['sysop']['importupload'] = true;
4353 $wgGroupPermissions['sysop']['move'] = true;
4354 $wgGroupPermissions['sysop']['move-subpages'] = true;
4355 $wgGroupPermissions['sysop']['move-rootuserpages'] = true;
4356 $wgGroupPermissions['sysop']['patrol'] = true;
4357 $wgGroupPermissions['sysop']['autopatrol'] = true;
4358 $wgGroupPermissions['sysop']['protect'] = true;
4359 $wgGroupPermissions['sysop']['editprotected'] = true;
4360 $wgGroupPermissions['sysop']['proxyunbannable'] = true;
4361 $wgGroupPermissions['sysop']['rollback'] = true;
4362 $wgGroupPermissions['sysop']['upload'] = true;
4363 $wgGroupPermissions['sysop']['reupload'] = true;
4364 $wgGroupPermissions['sysop']['reupload-shared'] = true;
4365 $wgGroupPermissions['sysop']['unwatchedpages'] = true;
4366 $wgGroupPermissions['sysop']['autoconfirmed'] = true;
4367 $wgGroupPermissions['sysop']['editsemiprotected'] = true;
4368 $wgGroupPermissions['sysop']['ipblock-exempt'] = true;
4369 $wgGroupPermissions['sysop']['blockemail'] = true;
4370 $wgGroupPermissions['sysop']['markbotedits'] = true;
4371 $wgGroupPermissions['sysop']['apihighlimits'] = true;
4372 $wgGroupPermissions['sysop']['browsearchive'] = true;
4373 $wgGroupPermissions['sysop']['noratelimit'] = true;
4374 $wgGroupPermissions['sysop']['movefile'] = true;
4375 $wgGroupPermissions['sysop']['unblockself'] = true;
4376 $wgGroupPermissions['sysop']['suppressredirect'] = true;
4377 #$wgGroupPermissions['sysop']['upload_by_url'] = true;
4378 #$wgGroupPermissions['sysop']['mergehistory'] = true;
4379 
4380 // Permission to change users' group assignments
4381 $wgGroupPermissions['bureaucrat']['userrights'] = true;
4382 $wgGroupPermissions['bureaucrat']['noratelimit'] = true;
4383 // Permission to change users' groups assignments across wikis
4384 #$wgGroupPermissions['bureaucrat']['userrights-interwiki'] = true;
4385 // Permission to export pages including linked pages regardless of $wgExportMaxLinkDepth
4386 #$wgGroupPermissions['bureaucrat']['override-export-depth'] = true;
4387 
4388 #$wgGroupPermissions['sysop']['deletelogentry'] = true;
4389 #$wgGroupPermissions['sysop']['deleterevision'] = true;
4390 // To hide usernames from users and Sysops
4391 #$wgGroupPermissions['suppress']['hideuser'] = true;
4392 // To hide revisions/log items from users and Sysops
4393 #$wgGroupPermissions['suppress']['suppressrevision'] = true;
4394 // For private suppression log access
4395 #$wgGroupPermissions['suppress']['suppressionlog'] = true;
4396 
4403 # $wgGroupPermissions['developer']['siteadmin'] = true;
4404 
4416 $wgRevokePermissions = array();
4417 
4421 $wgImplicitGroups = array( '*', 'user', 'autoconfirmed' );
4422 
4444 $wgGroupsAddToSelf = array();
4445 
4449 $wgGroupsRemoveFromSelf = array();
4450 
4458 $wgRestrictionTypes = array( 'create', 'edit', 'move', 'upload' );
4459 
4471 $wgRestrictionLevels = array( '', 'autoconfirmed', 'sysop' );
4472 
4482 $wgCascadingRestrictionLevels = array( 'sysop' );
4483 
4496 $wgSemiprotectedRestrictionLevels = array( 'autoconfirmed' );
4497 
4505 $wgNamespaceProtection = array();
4506 
4516 $wgNonincludableNamespaces = array();
4517 
4538 $wgAutoConfirmAge = 0;
4539 
4549 $wgAutoConfirmCount = 0;
4550 
4574 $wgAutopromote = array(
4575  'autoconfirmed' => array( '&',
4576  array( APCOND_EDITCOUNT, &$wgAutoConfirmCount ),
4577  array( APCOND_AGE, &$wgAutoConfirmAge ),
4578  ),
4579 );
4580 
4600 $wgAutopromoteOnce = array(
4601  'onEdit' => array(),
4602  'onView' => array()
4603 );
4604 
4609 $wgAutopromoteOnceLogInRC = true;
4610 
4633 $wgAddGroups = array();
4634 
4638 $wgRemoveGroups = array();
4639 
4644 $wgAvailableRights = array();
4645 
4650 $wgDeleteRevisionsLimit = 0;
4651 
4659 $wgHideUserContribLimit = 1000;
4660 
4666 $wgAccountCreationThrottle = 0;
4667 
4679 $wgSpamRegex = array();
4680 
4684 $wgSummarySpamRegex = array();
4685 
4691 $wgEnableDnsBlacklist = false;
4692 
4697 $wgEnableSorbs = false;
4698 
4722 $wgDnsBlacklistUrls = array( 'http.dnsbl.sorbs.net.' );
4723 
4728 $wgSorbsUrl = array();
4729 
4734 $wgProxyWhitelist = array();
4735 
4741 $wgApplyIpBlocksToXff = false;
4742 
4763 $wgRateLimits = array(
4764  'edit' => array(
4765  'anon' => null, // for any and all anonymous edits (aggregate)
4766  'user' => null, // for each logged-in user
4767  'newbie' => null, // for each recent (autoconfirmed) account; overrides 'user'
4768  'ip' => null, // for each anon and recent account
4769  'subnet' => null, // ... within a /24 subnet in IPv4 or /64 in IPv6
4770  ),
4771  'move' => array(
4772  'user' => null,
4773  'newbie' => null,
4774  'ip' => null,
4775  'subnet' => null,
4776  ),
4777  'mailpassword' => array( // triggering password resets emails
4778  'anon' => null,
4779  ),
4780  'emailuser' => array( // emailing other users using MediaWiki
4781  'user' => null,
4782  ),
4783  'linkpurge' => array( // purges of link tables
4784  'anon' => null,
4785  'user' => null,
4786  'newbie' => null,
4787  'ip' => null,
4788  'subnet' => null,
4789  ),
4790  'renderfile' => array( // files rendered via thumb.php or thumb_handler.php
4791  'anon' => null,
4792  'user' => null,
4793  'newbie' => null,
4794  'ip' => null,
4795  'subnet' => null,
4796  ),
4797 );
4798 
4804 $wgRateLimitLog = null;
4805 
4810 $wgRateLimitsExcludedIPs = array();
4811 
4817 $wgPutIPinRC = true;
4818 
4823 $wgQueryPageDefaultLimit = 50;
4824 
4830 $wgPasswordAttemptThrottle = array( 'count' => 5, 'seconds' => 300 );
4831  # end of user rights settings
4833 
4834 /************************************************************************//**
4835  * @name Proxy scanner settings
4836  * @{
4837  */
4838 
4842 $wgSecretKey = false;
4843 
4853 $wgProxyList = array();
4854 
4858 $wgProxyKey = false;
4859  # end of proxy scanner settings
4861 
4862 /************************************************************************//**
4863  * @name Cookie settings
4864  * @{
4865  */
4866 
4870 $wgCookieExpiration = 180 * 86400;
4871 
4876 $wgCookieDomain = '';
4877 
4882 $wgCookiePath = '/';
4883 
4890 $wgCookieSecure = 'detect';
4891 
4898 $wgDisableCookieCheck = false;
4899 
4905 $wgCookiePrefix = false;
4906 
4912 $wgCookieHttpOnly = true;
4913 
4917 $wgCacheVaryCookies = array();
4918 
4922 $wgSessionName = false;
4923  # end of cookie settings }
4925 
4926 /************************************************************************//**
4927  * @name LaTeX (mathematical formulas)
4928  * @{
4929  */
4930 
4937 $wgUseTeX = false;
4938  # end LaTeX }
4940 
4941 /************************************************************************//**
4942  * @name Profiling, testing and debugging
4943  *
4944  * To enable profiling, edit StartProfiler.php
4945  *
4946  * @{
4947  */
4948 
4954 $wgDebugLogFile = '';
4955 
4959 $wgDebugLogPrefix = '';
4960 
4966 $wgDebugRedirects = false;
4967 
4973 $wgDebugRawPage = false;
4974 
4983 $wgDebugComments = false;
4984 
4990 $wgDebugDBTransactions = false;
4991 
4995 $wgDebugDumpSql = false;
4996 
5024 $wgDebugLogGroups = array();
5025 
5031 $wgShowDebug = false;
5032 
5037 $wgDebugTimestamps = false;
5038 
5042 $wgDebugPrintHttpHeaders = true;
5043 
5047 $wgSpecialVersionShowHooks = false;
5048 
5054 $wgShowSQLErrors = false;
5055 
5062 $wgShowExceptionDetails = false;
5063 
5072 $wgShowDBErrorBacktrace = false;
5073 
5077 $wgLogExceptionBacktrace = true;
5078 
5082 $wgShowHostnames = false;
5083 
5089 $wgOverrideHostname = false;
5090 
5095 $wgDevelopmentWarnings = false;
5096 
5102 $wgDeprecationReleaseLimit = false;
5103 
5107 $wgProfileLimit = 0.0;
5108 
5115 $wgProfileOnly = false;
5116 
5127 $wgProfileToDatabase = false;
5128 
5132 $wgProfileCallTree = false;
5133 
5137 $wgProfilePerHost = false;
5138 
5146 $wgUDPProfilerHost = '127.0.0.1';
5147 
5152 $wgUDPProfilerPort = '3811';
5153 
5163 $wgUDPProfilerFormatString = "%s - %d %f %f %f %f %s\n";
5164 
5168 $wgDebugFunctionEntry = false;
5169 
5176 $wgStatsMethod = 'cache';
5177 
5184 $wgAggregateStatsID = false;
5185 
5197 $wgStatsFormatString = "stats/%s - %s 1 1 1 1 %s\n";
5198 
5203 $wgDisableCounters = false;
5204 
5210 $wgPageInfoTransclusionLimit = 50;
5211 
5218 $wgSiteStatsAsyncFactor = false;
5219 
5229 $wgParserTestFiles = array(
5230  "$IP/tests/parser/parserTests.txt",
5231  "$IP/tests/parser/extraParserTests.txt"
5232 );
5233 
5247 $wgParserTestRemote = false;
5248 
5252 $wgEnableJavaScriptTest = false;
5253 
5257 $wgJavaScriptTestConfig = array(
5258  'qunit' => array(
5259  // Page where documentation can be found relevant to the QUnit test suite being ran.
5260  // Used in the intro paragraph on [[Special:JavaScriptTest/qunit]] for the
5261  // documentation link in the "javascripttest-qunit-intro" message.
5262  'documentation' => '//www.mediawiki.org/wiki/Manual:JavaScript_unit_testing',
5263  // If you are submitting the QUnit test suite to a TestSwarm instance,
5264  // point this to the "inject.js" script of that instance. This is was registers
5265  // the QUnit hooks to extract the test results and push them back up into the
5266  // TestSwarm database.
5267  // @example 'http://localhost/testswarm/js/inject.js'
5268  // @example '//integration.mediawiki.org/testswarm/js/inject.js'
5269  'testswarm-injectjs' => false,
5270  ),
5271 );
5272 
5277 $wgCachePrefix = false;
5278 
5286 $wgDebugToolbar = false;
5287  # end of profiling, testing and debugging }
5289 
5290 /************************************************************************//**
5291  * @name Search
5292  * @{
5293  */
5294 
5298 $wgDisableTextSearch = false;
5299 
5304 $wgAdvancedSearchHighlighting = false;
5305 
5310 $wgSearchHighlightBoundaries = '[\p{Z}\p{P}\p{C}]';
5311 
5322 $wgCountTotalSearchHits = false;
5323 
5332 $wgOpenSearchTemplate = false;
5333 
5340 $wgEnableOpenSearchSuggest = true;
5341 
5346 $wgOpenSearchDefaultLimit = 10;
5347 
5351 $wgSearchSuggestCacheExpiry = 1200;
5352 
5357 $wgDisableSearchUpdate = false;
5358 
5368 $wgNamespacesToBeSearchedDefault = array(
5369  NS_MAIN => true,
5370 );
5371 
5378 $wgNamespacesToBeSearchedHelp = array(
5379  NS_PROJECT => true,
5380  NS_HELP => true,
5381 );
5382 
5389 $wgSearchEverythingOnlyLoggedIn = false;
5390 
5395 $wgDisableInternalSearch = false;
5396 
5412 $wgSearchForwardUrl = null;
5413 
5419 $wgUseTwoButtonsSearchForm = true;
5420 
5426 $wgSitemapNamespaces = false;
5427 
5442 $wgSitemapNamespacesPriorities = false;
5443 
5449 $wgEnableSearchContributorsByIP = true;
5450  # end of search settings
5452 
5453 /************************************************************************//**
5454  * @name Edit user interface
5455  * @{
5456  */
5457 
5462 $wgDiff3 = '/usr/bin/diff3';
5463 
5467 $wgDiff = '/usr/bin/diff';
5468 
5474 $wgPreviewOnOpenNamespaces = array(
5475  NS_CATEGORY => true
5476 );
5477 
5481 $wgGoToEdit = false;
5482 
5488 $wgUniversalEditButton = true;
5489 
5495 $wgUseAutomaticEditSummaries = true;
5496  # end edit UI }
5498 
5499 /************************************************************************//**
5500  * @name Maintenance
5501  * See also $wgSiteNotice
5502  * @{
5503  */
5504 
5509 if ( !isset( $wgCommandLineMode ) ) {
5510  $wgCommandLineMode = false;
5511 }
5517 $wgCommandLineDarkBg = false;
5518 
5527 $wgReadOnly = null;
5528 
5536 $wgReadOnlyFile = false;
5537 
5547 $wgUpgradeKey = false;
5548 
5552 $wgGitBin = '/usr/bin/git';
5553 
5566 $wgGitRepositoryViewers = array(
5567  'https://(?:[a-z0-9_]+@)?gerrit.wikimedia.org/r/(?:p/)?(.*)' =>
5568  'https://git.wikimedia.org/commit/%r/%H',
5569  'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)' =>
5570  'https://git.wikimedia.org/commit/%r/%H',
5571 );
5572  # End of maintenance }
5574 
5575 /************************************************************************//**
5576  * @name Recent changes, new pages, watchlist and history
5577  * @{
5578  */
5579 
5585 $wgRCMaxAge = 13 * 7 * 24 * 3600;
5586 
5594 $wgRCFilterByAge = false;
5595 
5600 $wgRCLinkLimits = array( 50, 100, 250, 500 );
5601 
5606 $wgRCLinkDays = array( 1, 3, 7, 14, 30 );
5607 
5614 $wgRC2UDPAddress = false;
5615 
5621 $wgRC2UDPPort = false;
5622 
5631 $wgRC2UDPPrefix = '';
5632 
5640 $wgRC2UDPInterwikiPrefix = false;
5641 
5648 $wgRC2UDPOmitBots = false;
5649 
5690 $wgRCFeeds = array();
5691 
5696 $wgRCEngines = array(
5697  'redis' => 'RedisPubSubFeedEngine',
5698  'udp' => 'UDPRCFeedEngine',
5699 );
5700 
5706 $wgEnableNewpagesUserFilter = true;
5707 
5711 $wgUseRCPatrol = true;
5712 
5716 $wgUseNPPatrol = true;
5717 
5721 $wgLogAutopatrol = true;
5722 
5726 $wgFeed = true;
5727 
5732 $wgFeedLimit = 50;
5733 
5742 $wgFeedCacheTimeout = 60;
5743 
5748 $wgFeedDiffCutoff = 32768;
5749 
5762 $wgOverrideSiteFeed = array();
5763 
5769 $wgFeedClasses = array(
5770  'rss' => 'RSSFeed',
5771  'atom' => 'AtomFeed',
5772 );
5773 
5778 $wgAdvertisedFeedTypes = array( 'atom' );
5779 
5783 $wgRCShowWatchingUsers = false; # UPO
5784 
5788 $wgPageShowWatchingUsers = false;
5789 
5793 $wgRCShowChangedSize = true;
5794 
5800 $wgRCChangedSizeThreshold = 500;
5801 
5806 $wgShowUpdatedMarker = true;
5807 
5812 $wgDisableAnonTalk = false;
5813 
5817 $wgAllowCategorizedRecentChanges = false;
5818 
5823 $wgUseTagFilter = true;
5824 
5832 $wgUnwatchedPageThreshold = false;
5833 
5850 $wgRecentChangesFlags = array(
5851  'newpage' => array( 'letter' => 'newpageletter',
5852  'title' => 'recentchanges-label-newpage' ),
5853  'minor' => array( 'letter' => 'minoreditletter',
5854  'title' => 'recentchanges-label-minor', 'class' => 'minoredit' ),
5855  'bot' => array( 'letter' => 'boteditletter',
5856  'title' => 'recentchanges-label-bot', 'class' => 'botedit' ),
5857  'unpatrolled' => array( 'letter' => 'unpatrolledletter',
5858  'title' => 'recentchanges-label-unpatrolled' ),
5859 );
5860  # end RC/watchlist }
5862 
5863 /************************************************************************//**
5864  * @name Copyright and credits settings
5865  * @{
5866  */
5867 
5875 $wgRightsPage = null;
5876 
5882 $wgRightsUrl = null;
5883 
5890 $wgRightsText = null;
5891 
5895 $wgRightsIcon = null;
5896 
5901 $wgCopyrightIcon = null;
5902 
5906 $wgUseCopyrightUpload = false;
5907 
5915 $wgMaxCredits = 0;
5916 
5921 $wgShowCreditsIfMax = true;
5922  # end of copyright and credits settings }
5924 
5925 /************************************************************************//**
5926  * @name Import / Export
5927  * @{
5928  */
5929 
5938 $wgImportSources = array();
5939 
5947 $wgImportTargetNamespace = null;
5948 
5954 $wgExportAllowHistory = true;
5955 
5961 $wgExportMaxHistory = 0;
5962 
5966 $wgExportAllowListContributors = false;
5967 
5979 $wgExportMaxLinkDepth = 0;
5980 
5984 $wgExportFromNamespaces = false;
5985 
5989 $wgExportAllowAll = false;
5990  # end of import/export }
5992 
5993 /*************************************************************************//**
5994  * @name Extensions
5995  * @{
5996  */
5997 
6002 $wgExtensionFunctions = array();
6003 
6030 $wgExtensionMessagesFiles = array();
6031 
6055 $wgMessagesDirs = array(
6056  'core' => "$IP/languages/i18n",
6057  'oojs-ui' => "$IP/resources/lib/oojs-ui/i18n",
6058 );
6059 
6065 $wgExtensionEntryPointListFiles = array();
6066 
6081 $wgParserOutputHooks = array();
6082 
6086 $wgEnableParserLimitReporting = true;
6087 
6097 $wgValidSkinNames = array();
6098 
6103 $wgSpecialPages = array();
6104 
6108 $wgAutoloadClasses = array();
6109 
6115 $wgAutoloadAttemptLowercase = true;
6116 
6157 $wgExtensionCredits = array();
6158 
6163 $wgAuth = null;
6164 
6199 $wgHooks = array();
6200 
6205 $wgJobClasses = array(
6206  'refreshLinks' => 'RefreshLinksJob',
6207  'refreshLinks2' => 'RefreshLinksJob2', // b/c
6208  'htmlCacheUpdate' => 'HTMLCacheUpdateJob',
6209  'sendMail' => 'EmaillingJob',
6210  'enotifNotify' => 'EnotifNotifyJob',
6211  'fixDoubleRedirect' => 'DoubleRedirectJob',
6212  'uploadFromUrl' => 'UploadFromUrlJob',
6213  'AssembleUploadChunks' => 'AssembleUploadChunksJob',
6214  'PublishStashedFile' => 'PublishStashedFileJob',
6215  'null' => 'NullJob'
6216 );
6217 
6229 $wgJobTypesExcludedFromDefaultQueue = array( 'AssembleUploadChunks', 'PublishStashedFile' );
6230 
6239 $wgJobBackoffThrottling = array();
6240 
6247 $wgJobTypeConf = array(
6248  'default' => array( 'class' => 'JobQueueDB', 'order' => 'random' ),
6249 );
6250 
6255 $wgJobQueueAggregator = array(
6256  'class' => 'JobQueueAggregatorMemc'
6257 );
6258 
6263 $wgSpecialPageCacheUpdates = array(
6264  'Statistics' => array( 'SiteStatsUpdate', 'cacheUpdate' ),
6265  'Activeusers' => array( 'SpecialActiveUsers', 'cacheUpdate' ),
6266 );
6267 
6275 $wgExceptionHooks = array();
6276 
6284 $wgPagePropLinkInvalidations = array(
6285  'hiddencat' => 'categorylinks',
6286 );
6287  # End extensions }
6289 
6290 /*************************************************************************//**
6291  * @name Categories
6292  * @{
6293  */
6294 
6298 $wgUseCategoryBrowser = false;
6299 
6304 $wgCategoryMagicGallery = true;
6305 
6309 $wgCategoryPagingLimit = 200;
6310 
6336 $wgCategoryCollation = 'uppercase';
6337  # End categories }
6339 
6340 /*************************************************************************//**
6341  * @name Logging
6342  * @{
6343  */
6344 
6351 $wgLogTypes = array(
6352  '',
6353  'block',
6354  'protect',
6355  'rights',
6356  'delete',
6357  'upload',
6358  'move',
6359  'import',
6360  'patrol',
6361  'merge',
6362  'suppress',
6363 );
6364 
6372 $wgLogRestrictions = array(
6373  'suppress' => 'suppressionlog'
6374 );
6375 
6398 $wgFilterLogTypes = array(
6399  'patrol' => true
6400 );
6401 
6411 $wgLogNames = array(
6412  '' => 'all-logs-page',
6413  'block' => 'blocklogpage',
6414  'protect' => 'protectlogpage',
6415  'rights' => 'rightslog',
6416  'delete' => 'dellogpage',
6417  'upload' => 'uploadlogpage',
6418  'move' => 'movelogpage',
6419  'import' => 'importlogpage',
6420  'patrol' => 'patrol-log-page',
6421  'merge' => 'mergelog',
6422  'suppress' => 'suppressionlog',
6423 );
6424 
6434 $wgLogHeaders = array(
6435  '' => 'alllogstext',
6436  'block' => 'blocklogtext',
6437  'protect' => 'protectlogtext',
6438  'rights' => 'rightslogtext',
6439  'delete' => 'dellogpagetext',
6440  'upload' => 'uploadlogpagetext',
6441  'move' => 'movelogpagetext',
6442  'import' => 'importlogpagetext',
6443  'patrol' => 'patrol-log-header',
6444  'merge' => 'mergelogpagetext',
6445  'suppress' => 'suppressionlogtext',
6446 );
6447 
6454 $wgLogActions = array(
6455  'block/block' => 'blocklogentry',
6456  'block/unblock' => 'unblocklogentry',
6457  'block/reblock' => 'reblock-logentry',
6458  'protect/protect' => 'protectedarticle',
6459  'protect/modify' => 'modifiedarticleprotection',
6460  'protect/unprotect' => 'unprotectedarticle',
6461  'protect/move_prot' => 'movedarticleprotection',
6462  'upload/upload' => 'uploadedimage',
6463  'upload/overwrite' => 'overwroteimage',
6464  'upload/revert' => 'uploadedimage',
6465  'import/upload' => 'import-logentry-upload',
6466  'import/interwiki' => 'import-logentry-interwiki',
6467  'merge/merge' => 'pagemerge-logentry',
6468  'suppress/block' => 'blocklogentry',
6469  'suppress/reblock' => 'reblock-logentry',
6470 );
6471 
6478 $wgLogActionsHandlers = array(
6479  'move/move' => 'MoveLogFormatter',
6480  'move/move_redir' => 'MoveLogFormatter',
6481  'delete/delete' => 'DeleteLogFormatter',
6482  'delete/restore' => 'DeleteLogFormatter',
6483  'delete/revision' => 'DeleteLogFormatter',
6484  'delete/event' => 'DeleteLogFormatter',
6485  'suppress/revision' => 'DeleteLogFormatter',
6486  'suppress/event' => 'DeleteLogFormatter',
6487  'suppress/delete' => 'DeleteLogFormatter',
6488  'patrol/patrol' => 'PatrolLogFormatter',
6489  'rights/rights' => 'RightsLogFormatter',
6490  'rights/autopromote' => 'RightsLogFormatter',
6491 );
6492 
6496 $wgNewUserLog = true;
6497  # end logging }
6499 
6500 /*************************************************************************//**
6501  * @name Special pages (general and miscellaneous)
6502  * @{
6503  */
6504 
6508 $wgAllowSpecialInclusion = true;
6509 
6514 $wgDisableQueryPageUpdate = false;
6515 
6522 $wgSpecialPageGroups = array();
6523 
6527 $wgSortSpecialPages = true;
6528 
6533 $wgCountCategorizedImagesAsUsed = false;
6534 
6539 $wgMaxRedirectLinksRetrieved = 500;
6540  # end special pages }
6542 
6543 /*************************************************************************//**
6544  * @name Actions
6545  * @{
6546  */
6547 
6558 $wgActions = array(
6559  'credits' => true,
6560  'delete' => true,
6561  'edit' => true,
6562  'history' => true,
6563  'info' => true,
6564  'markpatrolled' => true,
6565  'protect' => true,
6566  'purge' => true,
6567  'raw' => true,
6568  'render' => true,
6569  'revert' => true,
6570  'revisiondelete' => true,
6571  'rollback' => true,
6572  'submit' => true,
6573  'unprotect' => true,
6574  'unwatch' => true,
6575  'view' => true,
6576  'watch' => true,
6577 );
6578  # end actions }
6580 
6581 /*************************************************************************//**
6582  * @name Robot (search engine crawler) policy
6583  * See also $wgNoFollowLinks.
6584  * @{
6585  */
6586 
6592 $wgDefaultRobotPolicy = 'index,follow';
6593 
6608 $wgNamespaceRobotPolicies = array();
6609 
6636 $wgArticleRobotPolicies = array();
6637 
6648 $wgExemptFromUserRobotsControl = null;
6649  # End robot policy }
6651 
6652 /************************************************************************//**
6653  * @name AJAX and API
6654  * Note: The AJAX entry point which this section refers to is gradually being
6655  * replaced by the API entry point, api.php. They are essentially equivalent.
6656  * Both of them are used for dynamic client-side features, via XHR.
6657  * @{
6658  */
6659 
6666 $wgEnableAPI = true;
6667 
6673 $wgEnableWriteAPI = true;
6674 
6689 $wgDebugAPI = false;
6690 
6698 $wgAPIModules = array();
6699 
6707 $wgAPIFormatModules = array();
6708 
6716 $wgAPIMetaModules = array();
6717 
6725 $wgAPIPropModules = array();
6726 
6734 $wgAPIListModules = array();
6735 
6740 $wgAPIGeneratorModules = array();
6741 
6746 $wgAPIMaxDBRows = 5000;
6747 
6752 $wgAPIMaxResultSize = 8388608;
6753 
6758 $wgAPIMaxUncachedDiffs = 1;
6759 
6764 $wgAPIRequestLog = false;
6765 
6769 $wgAPICacheHelpTimeout = 60 * 60;
6770 
6775 $wgAPIUselessQueryPages = array(
6776  'MIMEsearch', // aiprop=mime
6777  'LinkSearch', // list=exturlusage
6778  'FileDuplicateSearch', // prop=duplicatefiles
6779 );
6780 
6784 $wgUseAjax = true;
6785 
6790 $wgAjaxExportList = array();
6791 
6796 $wgAjaxWatch = true;
6797 
6801 $wgAjaxUploadDestCheck = true;
6802 
6806 $wgAjaxLicensePreview = true;
6807 
6828 $wgCrossSiteAJAXdomains = array();
6829 
6835 $wgCrossSiteAJAXdomainExceptions = array();
6836  # End AJAX and API }
6838 
6839 /************************************************************************//**
6840  * @name Shell and process control
6841  * @{
6842  */
6843 
6847 $wgMaxShellMemory = 307200;
6848 
6853 $wgMaxShellFileSize = 102400;
6854 
6858 $wgMaxShellTime = 180;
6859 
6864 $wgMaxShellWallClockTime = 180;
6865 
6889 $wgShellCgroup = false;
6890 
6894 $wgPhpCli = '/usr/bin/php';
6895 
6901 $wgShellLocale = 'en_US.utf8';
6902  # End shell }
6904 
6905 /************************************************************************//**
6906  * @name HTTP client
6907  * @{
6908  */
6909 
6913 $wgHTTPTimeout = 25;
6914 
6918 $wgAsyncHTTPTimeout = 25;
6919 
6923 $wgHTTPProxy = false;
6924 
6929 $wgHTTPConnectTimeout = 5e0;
6930  # End HTTP client }
6932 
6933 /************************************************************************//**
6934  * @name Job queue
6935  * See also $wgEnotifUseJobQ.
6936  * @{
6937  */
6938 
6945 $wgJobRunRate = 1;
6946 
6953 $wgRunJobsAsync = true;
6954 
6958 $wgUpdateRowsPerJob = 500;
6959 
6963 $wgUpdateRowsPerQuery = 100;
6964  # End job queue }
6966 
6967 /************************************************************************//**
6968  * @name Miscellaneous
6969  * @{
6970  */
6971 
6975 $wgExternalDiffEngine = false;
6976 
6985 $wgDisableHardRedirects = false;
6986 
6991 $wgLinkHolderBatchSize = 1000;
6992 
6997 $wgRegisterInternalExternals = false;
6998 
7002 $wgMaximumMovedPages = 100;
7003 
7008 $wgFixDoubleRedirects = false;
7009 
7014 $wgRedirectOnLogin = null;
7015 
7036 $wgPoolCounterConf = null;
7037 
7041 $wgUploadMaintenance = false;
7042 
7051 $wgNamespaceContentModels = array();
7052 
7063 $wgContentHandlerTextFallback = 'ignore';
7064 
7078 $wgContentHandlerUseDB = true;
7079 
7090 $wgTextModelsToParse = array(
7091  CONTENT_MODEL_WIKITEXT, // Just for completeness, wikitext will always be parsed.
7092  CONTENT_MODEL_JAVASCRIPT, // Make categories etc work, people put them into comments.
7093  CONTENT_MODEL_CSS, // Make categories etc work, people put them into comments.
7094 );
7095 
7101 $wgRequirePasswordforEmailChange = true;
7102 
7108 $wgSiteTypes = array(
7109  'mediawiki' => 'MediaWikiSite',
7110 );
7111 
7116 $wgCompiledFiles = array();
7117 
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
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:362
simple
and how to run hooks for an and one after Each event has a preferably in CamelCase For ArticleDelete hook A clump of code and data that should be run when an event happens This can be either a function and a chunk of or an object and a method hook function The function part of a third party developers and administrators to define code that will be run at certain points in the mainline and to modify the data run by that mainline code Hooks can keep mainline code simple
Definition: hooks.txt:23
false
processing should stop and the error should be shown to the user * false
Definition: hooks.txt:188
$wgLockManagers
$wgLockManagers[]
Initialise $wgLockManagers to include basic FS version.
Definition: Setup.php:148
execute
$batch execute()
user
This document is intended to provide useful advice for parties seeking to redistribute MediaWiki to end users It s targeted particularly at maintainers for Linux since it s been observed that distribution packages of MediaWiki often break We ve consistently had to recommend that users seeking support use official tarballs instead of their distribution s and this often solves whatever problem the user is having It would be nice if this could such and we might be restricted by PHP settings such as safe mode or open_basedir We cannot assume that the software even has read access anywhere useful Many shared hosts run all users web applications under the same user
Definition: distributors.txt:9
vulnerability
storage can be distributed across multiple and multiple web servers can use the same cache cluster *********************W A R N I N G ***********************Memcached has no security or authentication Please ensure that your server is appropriately and that the anyone on the internet can put data into and read data from your cache An attacker familiar with MediaWiki internals could use this to steal passwords and email or to make themselves a sysop and install malicious javascript on the site There may be other types of vulnerability
Definition: memcached.txt:43
some
I won t presume to tell you how to I m just describing the methods I chose to use for myself If you do choose to follow these it will probably be easier for you to collaborate with others on the but if you want to contribute without by all means do which work well I also use K &R brace matching style I know that s a religious issue for some
Definition: design.txt:79
LocalisationCache
Class for caching the contents of localisation files, Messages*.php and *.i18n.php.
Definition: LocalisationCache.php:37
ObjectCache\newAccelerator
static newAccelerator( $params)
Factory function referenced from DefaultSettings.php for CACHE_ACCEL.
Definition: ObjectCache.php:125
scripts
The package scripts
Definition: README.txt:1
SqlBagOStuff
Class to store objects in the database.
Definition: SqlBagOStuff.php:29
$wgArticlePath
$wgArticlePath
Definition: img_auth.php:48
MemcachedPeclBagOStuff
A wrapper class for the PECL memcached client.
Definition: MemcachedPeclBagOStuff.php:29
ResourceLoaderLESSFunctions\embed
static embed( $frame, $less)
Convert an image URI to a base64-encoded data URI.
Definition: ResourceLoaderLESSFunctions.php:58
WinCacheBagOStuff
Wrapper for WinCache object caching functions; identical interface to the APC wrapper.
Definition: WinCacheBagOStuff.php:30
on
We ve cleaned up the code here by removing clumps of infrequently used code and moving them off somewhere else It s much easier for someone working with this code to see what s _really_ going on
Definition: hooks.txt:86
format
if the prop value should be in the metadata multi language array format
Definition: hooks.txt:1230
WebRequest\detectServer
static detectServer()
Work out an appropriate URL prefix containing scheme and host, based on information detected from $_S...
Definition: WebRequest.php:165
that
deferred txt A few of the database updates required by various functions here can be deferred until after the result page is displayed to the user For updating the view updating the linked to tables after a etc PHP does not yet have any way to tell the server to actually return and disconnect while still running these but it might have such a feature in the future We handle these by creating a deferred update object and putting those objects on a global then executing the whole list after the page is displayed We don t do anything smart like collating updates to the same table or such because the list is almost always going to have just one item on if that
Definition: deferred.txt:11
CONTENT_MODEL_JAVASCRIPT
const CONTENT_MODEL_JAVASCRIPT
Definition: Defines.php:284
MEDIATYPE_VIDEO
const MEDIATYPE_VIDEO
Definition: Defines.php:132
code
and how to run hooks for an and one after Each event has a preferably in CamelCase For ArticleDelete hook A clump of code and data that should be run when an event happens This can be either a function and a chunk of or an object and a method hook function The function part of a third party developers and administrators to define code that will be run at certain points in the mainline code
Definition: hooks.txt:23
CONTENT_MODEL_TEXT
const CONTENT_MODEL_TEXT
Definition: Defines.php:286
XCacheBagOStuff
Wrapper for XCache object caching functions; identical interface to the APC wrapper.
Definition: XCacheBagOStuff.php:30
$IP
$IP
Definition: WebStart.php:88
LBFactorySimple
A simple single-master LBFactory that gets its configuration from the b/c globals.
Definition: LBFactory.php:220
server
This document is intended to provide useful advice for parties seeking to redistribute MediaWiki to end users It s targeted particularly at maintainers for Linux since it s been observed that distribution packages of MediaWiki often break We ve consistently had to recommend that users seeking support use official tarballs instead of their distribution s and this often solves whatever problem the user is having It would be nice if this could such and we might be restricted by PHP settings such as safe mode or open_basedir We cannot assume that the software even has read access anywhere useful Many shared hosts run all users web applications under the same so they can t rely on Unix and must forbid reads to even standard directories like tmp lest users read each others files We cannot assume that the user has the ability to install or run any programs not written as web accessible PHP scripts Since anything that works on cheap shared hosting will work if you have shell or root access MediaWiki s design is based around catering to the lowest common denominator Although we support higher end setups as the way many things work by default is tailored toward shared hosting These defaults are unconventional from the point of view of and they certainly aren t ideal for someone who s installing MediaWiki as MediaWiki does not conform to normal Unix filesystem layout Hopefully we ll offer direct support for standard layouts in the but for now *any change to the location of files is unsupported *Moving things and leaving symlinks will *probably *not break but it is *strongly *advised not to try any more intrusive changes to get MediaWiki to conform more closely to your filesystem hierarchy Any such attempt will almost certainly result in unnecessary bugs The standard recommended location to install relative to the web is it should be possible to enable the appropriate rewrite rules by if you can reconfigure the web server
Definition: distributors.txt:53
APCBagOStuff
This is a wrapper for APC's shared memory functions.
Definition: APCBagOStuff.php:29
MEDIATYPE_BITMAP
const MEDIATYPE_BITMAP
Definition: Defines.php:125
MEDIATYPE_AUDIO
const MEDIATYPE_AUDIO
Definition: Defines.php:129