MediaWiki  1.23.2
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.2';
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  # End of resource loader settings }
3388 
3389 /*************************************************************************//**
3390  * @name Page title and interwiki link settings
3391  * @{
3392  */
3393 
3398 $wgMetaNamespace = false;
3399 
3407 $wgMetaNamespaceTalk = false;
3408 
3435 $wgExtraNamespaces = array();
3436 
3443 $wgExtraGenderNamespaces = array();
3444 
3463 $wgNamespaceAliases = array();
3464 
3492 $wgLegalTitleChars = " %!\"$&'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF+";
3493 
3499 $wgLocalInterwiki = false;
3500 
3509 $wgLocalInterwikis = array();
3510 
3514 $wgInterwikiExpiry = 10800;
3515 
3534 $wgInterwikiCache = false;
3535 
3542 $wgInterwikiScopes = 3;
3543 
3547 $wgInterwikiFallbackSite = 'wiki';
3548  # end of Interwiki caching settings.
3550 
3566 $wgRedirectSources = false;
3567 
3575 $wgCapitalLinks = true;
3576 
3591 $wgCapitalLinkOverrides = array();
3592 
3597 $wgNamespacesWithSubpages = array(
3598  NS_TALK => true,
3599  NS_USER => true,
3600  NS_USER_TALK => true,
3601  NS_PROJECT => true,
3602  NS_PROJECT_TALK => true,
3603  NS_FILE_TALK => true,
3604  NS_MEDIAWIKI => true,
3605  NS_MEDIAWIKI_TALK => true,
3606  NS_TEMPLATE_TALK => true,
3607  NS_HELP => true,
3608  NS_HELP_TALK => true,
3609  NS_CATEGORY_TALK => true
3610 );
3611 
3621 $wgTrackingCategories = array(
3622  'index-category',
3623  'noindex-category',
3624  'expensive-parserfunction-category',
3625  'post-expand-template-argument-category',
3626  'post-expand-template-inclusion-category',
3627  'hidden-category-category',
3628  'broken-file-category',
3629 );
3630 
3637 $wgContentNamespaces = array( NS_MAIN );
3638 
3644 $wgMaxRedirects = 1;
3645 
3656 $wgInvalidRedirectTargets = array( 'Filepath', 'Mypage', 'Mytalk', 'Redirect' );
3657  # End of title and interwiki settings }
3659 
3660 /************************************************************************//**
3661  * @name Parser settings
3662  * These settings configure the transformation from wikitext to HTML.
3663  * @{
3664  */
3665 
3687 $wgParserConf = array(
3688  'class' => 'Parser',
3689  #'preprocessorClass' => 'Preprocessor_Hash',
3690 );
3691 
3695 $wgMaxTocLevel = 999;
3696 
3701 $wgMaxPPNodeCount = 1000000;
3702 
3712 $wgMaxGeneratedPPNodeCount = 1000000;
3713 
3720 $wgMaxTemplateDepth = 40;
3721 
3725 $wgMaxPPExpandDepth = 40;
3726 
3730 $wgUrlProtocols = array(
3731  'http://',
3732  'https://',
3733  'ftp://',
3734  'ftps://', // If we allow ftp:// we should allow the secure version.
3735  'ssh://',
3736  'sftp://', // SFTP > FTP
3737  'irc://',
3738  'ircs://', // @bug 28503
3739  'xmpp:', // Another open communication protocol
3740  'sip:',
3741  'sips:',
3742  'gopher://',
3743  'telnet://', // Well if we're going to support the above.. -ævar
3744  'nntp://', // @bug 3808 RFC 1738
3745  'worldwind://',
3746  'mailto:',
3747  'tel:', // If we can make emails linkable, why not phone numbers?
3748  'sms:', // Likewise this is standardized too
3749  'news:',
3750  'svn://',
3751  'git://',
3752  'mms://',
3753  'bitcoin:', // Even registerProtocolHandler whitelists this along with mailto:
3754  'magnet:', // No reason to reject torrents over magnet: when they're allowed over http://
3755  'urn:', // Allow URNs to be used in Microdata/RDFa <link ... href="urn:...">s
3756  'geo:', // urls define geo locations, they're useful in Microdata/RDFa and for coordinates
3757  '//', // for protocol-relative URLs
3758 );
3759 
3763 $wgCleanSignatures = true;
3764 
3768 $wgAllowExternalImages = false;
3769 
3782 $wgAllowExternalImagesFrom = '';
3783 
3793 $wgEnableImageWhitelist = true;
3794 
3803 $wgAllowImageTag = false;
3804 
3820 $wgUseTidy = false;
3821 
3825 $wgAlwaysUseTidy = false;
3826 
3830 $wgTidyBin = 'tidy';
3831 
3835 $wgTidyConf = $IP . '/includes/tidy.conf';
3836 
3840 $wgTidyOpts = '';
3841 
3845 $wgTidyInternal = extension_loaded( 'tidy' );
3846 
3851 $wgDebugTidy = false;
3852 
3858 $wgRawHtml = false;
3859 
3863 $wgExternalLinkTarget = false;
3864 
3871 $wgNoFollowLinks = true;
3872 
3877 $wgNoFollowNsExceptions = array();
3878 
3893 $wgNoFollowDomainExceptions = array( 'mediawiki.org' );
3894 
3898 $wgAllowDisplayTitle = true;
3899 
3905 $wgRestrictDisplayTitle = true;
3906 
3911 $wgExpensiveParserFunctionLimit = 100;
3912 
3917 $wgPreprocessorCacheThreshold = 1000;
3918 
3922 $wgEnableScaryTranscluding = false;
3923 
3928 $wgTranscludeCacheExpiry = 3600;
3929  # end of parser settings }
3931 
3932 /************************************************************************//**
3933  * @name Statistics
3934  * @{
3935  */
3936 
3957 $wgArticleCountMethod = null;
3958 
3963 $wgUseCommaCount = false;
3964 
3972 $wgHitcounterUpdateFreq = 1;
3973 
3981 $wgActiveUserDays = 30;
3982  # End of statistics }
3984 
3985 /************************************************************************//**
3986  * @name User accounts, authentication
3987  * @{
3988  */
3989 
3993 $wgPasswordSalt = true;
3994 
3999 $wgMinimalPasswordLength = 1;
4000 
4006 $wgInvalidPasswordReset = true;
4007 
4014 $wgPasswordResetRoutes = array(
4015  'username' => true,
4016  'email' => false,
4017 );
4018 
4022 $wgMaxSigChars = 255;
4023 
4028 $wgMaxNameChars = 255;
4029 
4034 $wgReservedUsernames = array(
4035  'MediaWiki default', // Default 'Main Page' and MediaWiki: message pages
4036  'Conversion script', // Used for the old Wikipedia software upgrade
4037  'Maintenance script', // Maintenance scripts which perform editing, image import script
4038  'Template namespace initialisation script', // Used in 1.2->1.3 upgrade
4039  'ScriptImporter', // Default user name used by maintenance/importSiteScripts.php
4040  'msg:double-redirect-fixer', // Automatic double redirect fix
4041  'msg:usermessage-editor', // Default user for leaving user messages
4042  'msg:proxyblocker', // For $wgProxyList and Special:Blockme (removed in 1.22)
4043 );
4044 
4051 $wgDefaultUserOptions = array(
4052  'ccmeonemails' => 0,
4053  'cols' => 80,
4054  'date' => 'default',
4055  'diffonly' => 0,
4056  'disablemail' => 0,
4057  'editfont' => 'default',
4058  'editondblclick' => 0,
4059  'editsectiononrightclick' => 0,
4060  'enotifminoredits' => 0,
4061  'enotifrevealaddr' => 0,
4062  'enotifusertalkpages' => 1,
4063  'enotifwatchlistpages' => 1,
4064  'extendwatchlist' => 0,
4065  'fancysig' => 0,
4066  'forceeditsummary' => 0,
4067  'gender' => 'unknown',
4068  'hideminor' => 0,
4069  'hidepatrolled' => 0,
4070  'imagesize' => 2,
4071  'math' => 1,
4072  'minordefault' => 0,
4073  'newpageshidepatrolled' => 0,
4074  'nickname' => '',
4075  'norollbackdiff' => 0,
4076  'numberheadings' => 0,
4077  'previewonfirst' => 0,
4078  'previewontop' => 1,
4079  'rcdays' => 7,
4080  'rclimit' => 50,
4081  'rows' => 25,
4082  'showhiddencats' => 0,
4083  'shownumberswatching' => 1,
4084  'showtoolbar' => 1,
4085  'skin' => false,
4086  'stubthreshold' => 0,
4087  'thumbsize' => 2,
4088  'underline' => 2,
4089  'uselivepreview' => 0,
4090  'usenewrc' => 0,
4091  'watchcreations' => 1,
4092  'watchdefault' => 1,
4093  'watchdeletion' => 0,
4094  'watchlistdays' => 3.0,
4095  'watchlisthideanons' => 0,
4096  'watchlisthidebots' => 0,
4097  'watchlisthideliu' => 0,
4098  'watchlisthideminor' => 0,
4099  'watchlisthideown' => 0,
4100  'watchlisthidepatrolled' => 0,
4101  'watchmoves' => 0,
4102  'wllimit' => 250,
4103  'useeditwarning' => 1,
4104  'prefershttps' => 1,
4105 );
4106 
4110 $wgHiddenPrefs = array();
4111 
4117 $wgInvalidUsernameCharacters = '@';
4118 
4128 $wgUserrightsInterwikiDelimiter = '@';
4129 
4136 $wgSecureLogin = false;
4137  # end user accounts }
4139 
4140 /************************************************************************//**
4141  * @name User rights, access control and monitoring
4142  * @{
4143  */
4144 
4148 $wgAutoblockExpiry = 86400;
4149 
4153 $wgBlockAllowsUTEdit = false;
4154 
4158 $wgSysopEmailBans = true;
4159 
4174 $wgBlockCIDRLimit = array(
4175  'IPv4' => 16, # Blocks larger than a /16 (64k addresses) will not be allowed
4176  'IPv6' => 19,
4177 );
4178 
4186 $wgBlockDisablesLogin = false;
4187 
4205 $wgWhitelistRead = false;
4206 
4233 $wgWhitelistReadRegexp = false;
4234 
4239 $wgEmailConfirmToEdit = false;
4240 
4265 $wgGroupPermissions = array();
4266 
4268 // Implicit group for all visitors
4269 $wgGroupPermissions['*']['createaccount'] = true;
4270 $wgGroupPermissions['*']['read'] = true;
4271 $wgGroupPermissions['*']['edit'] = true;
4272 $wgGroupPermissions['*']['createpage'] = true;
4273 $wgGroupPermissions['*']['createtalk'] = true;
4274 $wgGroupPermissions['*']['writeapi'] = true;
4275 $wgGroupPermissions['*']['editmyusercss'] = true;
4276 $wgGroupPermissions['*']['editmyuserjs'] = true;
4277 $wgGroupPermissions['*']['viewmywatchlist'] = true;
4278 $wgGroupPermissions['*']['editmywatchlist'] = true;
4279 $wgGroupPermissions['*']['viewmyprivateinfo'] = true;
4280 $wgGroupPermissions['*']['editmyprivateinfo'] = true;
4281 $wgGroupPermissions['*']['editmyoptions'] = true;
4282 #$wgGroupPermissions['*']['patrolmarks'] = false; // let anons see what was patrolled
4283 
4284 // Implicit group for all logged-in accounts
4285 $wgGroupPermissions['user']['move'] = true;
4286 $wgGroupPermissions['user']['move-subpages'] = true;
4287 $wgGroupPermissions['user']['move-rootuserpages'] = true; // can move root userpages
4288 $wgGroupPermissions['user']['movefile'] = true;
4289 $wgGroupPermissions['user']['read'] = true;
4290 $wgGroupPermissions['user']['edit'] = true;
4291 $wgGroupPermissions['user']['createpage'] = true;
4292 $wgGroupPermissions['user']['createtalk'] = true;
4293 $wgGroupPermissions['user']['writeapi'] = true;
4294 $wgGroupPermissions['user']['upload'] = true;
4295 $wgGroupPermissions['user']['reupload'] = true;
4296 $wgGroupPermissions['user']['reupload-shared'] = true;
4297 $wgGroupPermissions['user']['minoredit'] = true;
4298 $wgGroupPermissions['user']['purge'] = true; // can use ?action=purge without clicking "ok"
4299 $wgGroupPermissions['user']['sendemail'] = true;
4300 
4301 // Implicit group for accounts that pass $wgAutoConfirmAge
4302 $wgGroupPermissions['autoconfirmed']['autoconfirmed'] = true;
4303 $wgGroupPermissions['autoconfirmed']['editsemiprotected'] = true;
4304 
4305 // Users with bot privilege can have their edits hidden
4306 // from various log pages by default
4307 $wgGroupPermissions['bot']['bot'] = true;
4308 $wgGroupPermissions['bot']['autoconfirmed'] = true;
4309 $wgGroupPermissions['bot']['editsemiprotected'] = true;
4310 $wgGroupPermissions['bot']['nominornewtalk'] = true;
4311 $wgGroupPermissions['bot']['autopatrol'] = true;
4312 $wgGroupPermissions['bot']['suppressredirect'] = true;
4313 $wgGroupPermissions['bot']['apihighlimits'] = true;
4314 $wgGroupPermissions['bot']['writeapi'] = true;
4315 
4316 // Most extra permission abilities go to this group
4317 $wgGroupPermissions['sysop']['block'] = true;
4318 $wgGroupPermissions['sysop']['createaccount'] = true;
4319 $wgGroupPermissions['sysop']['delete'] = true;
4320 // can be separately configured for pages with > $wgDeleteRevisionsLimit revs
4321 $wgGroupPermissions['sysop']['bigdelete'] = true;
4322 // can view deleted history entries, but not see or restore the text
4323 $wgGroupPermissions['sysop']['deletedhistory'] = true;
4324 // can view deleted revision text
4325 $wgGroupPermissions['sysop']['deletedtext'] = true;
4326 $wgGroupPermissions['sysop']['undelete'] = true;
4327 $wgGroupPermissions['sysop']['editinterface'] = true;
4328 $wgGroupPermissions['sysop']['editusercss'] = true;
4329 $wgGroupPermissions['sysop']['edituserjs'] = true;
4330 $wgGroupPermissions['sysop']['import'] = true;
4331 $wgGroupPermissions['sysop']['importupload'] = true;
4332 $wgGroupPermissions['sysop']['move'] = true;
4333 $wgGroupPermissions['sysop']['move-subpages'] = true;
4334 $wgGroupPermissions['sysop']['move-rootuserpages'] = true;
4335 $wgGroupPermissions['sysop']['patrol'] = true;
4336 $wgGroupPermissions['sysop']['autopatrol'] = true;
4337 $wgGroupPermissions['sysop']['protect'] = true;
4338 $wgGroupPermissions['sysop']['editprotected'] = true;
4339 $wgGroupPermissions['sysop']['proxyunbannable'] = true;
4340 $wgGroupPermissions['sysop']['rollback'] = true;
4341 $wgGroupPermissions['sysop']['upload'] = true;
4342 $wgGroupPermissions['sysop']['reupload'] = true;
4343 $wgGroupPermissions['sysop']['reupload-shared'] = true;
4344 $wgGroupPermissions['sysop']['unwatchedpages'] = true;
4345 $wgGroupPermissions['sysop']['autoconfirmed'] = true;
4346 $wgGroupPermissions['sysop']['editsemiprotected'] = true;
4347 $wgGroupPermissions['sysop']['ipblock-exempt'] = true;
4348 $wgGroupPermissions['sysop']['blockemail'] = true;
4349 $wgGroupPermissions['sysop']['markbotedits'] = true;
4350 $wgGroupPermissions['sysop']['apihighlimits'] = true;
4351 $wgGroupPermissions['sysop']['browsearchive'] = true;
4352 $wgGroupPermissions['sysop']['noratelimit'] = true;
4353 $wgGroupPermissions['sysop']['movefile'] = true;
4354 $wgGroupPermissions['sysop']['unblockself'] = true;
4355 $wgGroupPermissions['sysop']['suppressredirect'] = true;
4356 #$wgGroupPermissions['sysop']['upload_by_url'] = true;
4357 #$wgGroupPermissions['sysop']['mergehistory'] = true;
4358 
4359 // Permission to change users' group assignments
4360 $wgGroupPermissions['bureaucrat']['userrights'] = true;
4361 $wgGroupPermissions['bureaucrat']['noratelimit'] = true;
4362 // Permission to change users' groups assignments across wikis
4363 #$wgGroupPermissions['bureaucrat']['userrights-interwiki'] = true;
4364 // Permission to export pages including linked pages regardless of $wgExportMaxLinkDepth
4365 #$wgGroupPermissions['bureaucrat']['override-export-depth'] = true;
4366 
4367 #$wgGroupPermissions['sysop']['deletelogentry'] = true;
4368 #$wgGroupPermissions['sysop']['deleterevision'] = true;
4369 // To hide usernames from users and Sysops
4370 #$wgGroupPermissions['suppress']['hideuser'] = true;
4371 // To hide revisions/log items from users and Sysops
4372 #$wgGroupPermissions['suppress']['suppressrevision'] = true;
4373 // For private suppression log access
4374 #$wgGroupPermissions['suppress']['suppressionlog'] = true;
4375 
4382 # $wgGroupPermissions['developer']['siteadmin'] = true;
4383 
4395 $wgRevokePermissions = array();
4396 
4400 $wgImplicitGroups = array( '*', 'user', 'autoconfirmed' );
4401 
4423 $wgGroupsAddToSelf = array();
4424 
4428 $wgGroupsRemoveFromSelf = array();
4429 
4437 $wgRestrictionTypes = array( 'create', 'edit', 'move', 'upload' );
4438 
4450 $wgRestrictionLevels = array( '', 'autoconfirmed', 'sysop' );
4451 
4461 $wgCascadingRestrictionLevels = array( 'sysop' );
4462 
4475 $wgSemiprotectedRestrictionLevels = array( 'autoconfirmed' );
4476 
4484 $wgNamespaceProtection = array();
4485 
4495 $wgNonincludableNamespaces = array();
4496 
4517 $wgAutoConfirmAge = 0;
4518 
4528 $wgAutoConfirmCount = 0;
4529 
4553 $wgAutopromote = array(
4554  'autoconfirmed' => array( '&',
4555  array( APCOND_EDITCOUNT, &$wgAutoConfirmCount ),
4556  array( APCOND_AGE, &$wgAutoConfirmAge ),
4557  ),
4558 );
4559 
4579 $wgAutopromoteOnce = array(
4580  'onEdit' => array(),
4581  'onView' => array()
4582 );
4583 
4588 $wgAutopromoteOnceLogInRC = true;
4589 
4612 $wgAddGroups = array();
4613 
4617 $wgRemoveGroups = array();
4618 
4623 $wgAvailableRights = array();
4624 
4629 $wgDeleteRevisionsLimit = 0;
4630 
4638 $wgHideUserContribLimit = 1000;
4639 
4645 $wgAccountCreationThrottle = 0;
4646 
4658 $wgSpamRegex = array();
4659 
4663 $wgSummarySpamRegex = array();
4664 
4670 $wgEnableDnsBlacklist = false;
4671 
4676 $wgEnableSorbs = false;
4677 
4701 $wgDnsBlacklistUrls = array( 'http.dnsbl.sorbs.net.' );
4702 
4707 $wgSorbsUrl = array();
4708 
4713 $wgProxyWhitelist = array();
4714 
4720 $wgApplyIpBlocksToXff = false;
4721 
4742 $wgRateLimits = array(
4743  'edit' => array(
4744  'anon' => null, // for any and all anonymous edits (aggregate)
4745  'user' => null, // for each logged-in user
4746  'newbie' => null, // for each recent (autoconfirmed) account; overrides 'user'
4747  'ip' => null, // for each anon and recent account
4748  'subnet' => null, // ... within a /24 subnet in IPv4 or /64 in IPv6
4749  ),
4750  'move' => array(
4751  'user' => null,
4752  'newbie' => null,
4753  'ip' => null,
4754  'subnet' => null,
4755  ),
4756  'mailpassword' => array( // triggering password resets emails
4757  'anon' => null,
4758  ),
4759  'emailuser' => array( // emailing other users using MediaWiki
4760  'user' => null,
4761  ),
4762  'linkpurge' => array( // purges of link tables
4763  'anon' => null,
4764  'user' => null,
4765  'newbie' => null,
4766  'ip' => null,
4767  'subnet' => null,
4768  ),
4769  'renderfile' => array( // files rendered via thumb.php or thumb_handler.php
4770  'anon' => null,
4771  'user' => null,
4772  'newbie' => null,
4773  'ip' => null,
4774  'subnet' => null,
4775  ),
4776 );
4777 
4783 $wgRateLimitLog = null;
4784 
4789 $wgRateLimitsExcludedIPs = array();
4790 
4796 $wgPutIPinRC = true;
4797 
4802 $wgQueryPageDefaultLimit = 50;
4803 
4809 $wgPasswordAttemptThrottle = array( 'count' => 5, 'seconds' => 300 );
4810  # end of user rights settings
4812 
4813 /************************************************************************//**
4814  * @name Proxy scanner settings
4815  * @{
4816  */
4817 
4821 $wgSecretKey = false;
4822 
4832 $wgProxyList = array();
4833 
4837 $wgProxyKey = false;
4838  # end of proxy scanner settings
4840 
4841 /************************************************************************//**
4842  * @name Cookie settings
4843  * @{
4844  */
4845 
4849 $wgCookieExpiration = 180 * 86400;
4850 
4855 $wgCookieDomain = '';
4856 
4861 $wgCookiePath = '/';
4862 
4869 $wgCookieSecure = 'detect';
4870 
4877 $wgDisableCookieCheck = false;
4878 
4884 $wgCookiePrefix = false;
4885 
4891 $wgCookieHttpOnly = true;
4892 
4896 $wgCacheVaryCookies = array();
4897 
4901 $wgSessionName = false;
4902  # end of cookie settings }
4904 
4905 /************************************************************************//**
4906  * @name LaTeX (mathematical formulas)
4907  * @{
4908  */
4909 
4916 $wgUseTeX = false;
4917  # end LaTeX }
4919 
4920 /************************************************************************//**
4921  * @name Profiling, testing and debugging
4922  *
4923  * To enable profiling, edit StartProfiler.php
4924  *
4925  * @{
4926  */
4927 
4933 $wgDebugLogFile = '';
4934 
4938 $wgDebugLogPrefix = '';
4939 
4945 $wgDebugRedirects = false;
4946 
4952 $wgDebugRawPage = false;
4953 
4962 $wgDebugComments = false;
4963 
4969 $wgDebugDBTransactions = false;
4970 
4974 $wgDebugDumpSql = false;
4975 
5003 $wgDebugLogGroups = array();
5004 
5010 $wgShowDebug = false;
5011 
5016 $wgDebugTimestamps = false;
5017 
5021 $wgDebugPrintHttpHeaders = true;
5022 
5026 $wgSpecialVersionShowHooks = false;
5027 
5033 $wgShowSQLErrors = false;
5034 
5041 $wgShowExceptionDetails = false;
5042 
5051 $wgShowDBErrorBacktrace = false;
5052 
5056 $wgLogExceptionBacktrace = true;
5057 
5061 $wgShowHostnames = false;
5062 
5068 $wgOverrideHostname = false;
5069 
5074 $wgDevelopmentWarnings = false;
5075 
5081 $wgDeprecationReleaseLimit = false;
5082 
5086 $wgProfileLimit = 0.0;
5087 
5094 $wgProfileOnly = false;
5095 
5106 $wgProfileToDatabase = false;
5107 
5111 $wgProfileCallTree = false;
5112 
5116 $wgProfilePerHost = false;
5117 
5125 $wgUDPProfilerHost = '127.0.0.1';
5126 
5131 $wgUDPProfilerPort = '3811';
5132 
5142 $wgUDPProfilerFormatString = "%s - %d %f %f %f %f %s\n";
5143 
5147 $wgDebugFunctionEntry = false;
5148 
5155 $wgStatsMethod = 'cache';
5156 
5163 $wgAggregateStatsID = false;
5164 
5176 $wgStatsFormatString = "stats/%s - %s 1 1 1 1 %s\n";
5177 
5182 $wgDisableCounters = false;
5183 
5189 $wgPageInfoTransclusionLimit = 50;
5190 
5197 $wgSiteStatsAsyncFactor = false;
5198 
5208 $wgParserTestFiles = array(
5209  "$IP/tests/parser/parserTests.txt",
5210  "$IP/tests/parser/extraParserTests.txt"
5211 );
5212 
5226 $wgParserTestRemote = false;
5227 
5231 $wgEnableJavaScriptTest = false;
5232 
5236 $wgJavaScriptTestConfig = array(
5237  'qunit' => array(
5238  // Page where documentation can be found relevant to the QUnit test suite being ran.
5239  // Used in the intro paragraph on [[Special:JavaScriptTest/qunit]] for the
5240  // documentation link in the "javascripttest-qunit-intro" message.
5241  'documentation' => '//www.mediawiki.org/wiki/Manual:JavaScript_unit_testing',
5242  // If you are submitting the QUnit test suite to a TestSwarm instance,
5243  // point this to the "inject.js" script of that instance. This is was registers
5244  // the QUnit hooks to extract the test results and push them back up into the
5245  // TestSwarm database.
5246  // @example 'http://localhost/testswarm/js/inject.js'
5247  // @example '//integration.mediawiki.org/testswarm/js/inject.js'
5248  'testswarm-injectjs' => false,
5249  ),
5250 );
5251 
5256 $wgCachePrefix = false;
5257 
5265 $wgDebugToolbar = false;
5266  # end of profiling, testing and debugging }
5268 
5269 /************************************************************************//**
5270  * @name Search
5271  * @{
5272  */
5273 
5277 $wgDisableTextSearch = false;
5278 
5283 $wgAdvancedSearchHighlighting = false;
5284 
5289 $wgSearchHighlightBoundaries = '[\p{Z}\p{P}\p{C}]';
5290 
5301 $wgCountTotalSearchHits = false;
5302 
5311 $wgOpenSearchTemplate = false;
5312 
5319 $wgEnableOpenSearchSuggest = true;
5320 
5325 $wgOpenSearchDefaultLimit = 10;
5326 
5330 $wgSearchSuggestCacheExpiry = 1200;
5331 
5336 $wgDisableSearchUpdate = false;
5337 
5347 $wgNamespacesToBeSearchedDefault = array(
5348  NS_MAIN => true,
5349 );
5350 
5357 $wgNamespacesToBeSearchedHelp = array(
5358  NS_PROJECT => true,
5359  NS_HELP => true,
5360 );
5361 
5368 $wgSearchEverythingOnlyLoggedIn = false;
5369 
5374 $wgDisableInternalSearch = false;
5375 
5391 $wgSearchForwardUrl = null;
5392 
5398 $wgUseTwoButtonsSearchForm = true;
5399 
5405 $wgSitemapNamespaces = false;
5406 
5421 $wgSitemapNamespacesPriorities = false;
5422 
5428 $wgEnableSearchContributorsByIP = true;
5429  # end of search settings
5431 
5432 /************************************************************************//**
5433  * @name Edit user interface
5434  * @{
5435  */
5436 
5441 $wgDiff3 = '/usr/bin/diff3';
5442 
5446 $wgDiff = '/usr/bin/diff';
5447 
5453 $wgPreviewOnOpenNamespaces = array(
5454  NS_CATEGORY => true
5455 );
5456 
5460 $wgGoToEdit = false;
5461 
5467 $wgUniversalEditButton = true;
5468 
5474 $wgUseAutomaticEditSummaries = true;
5475  # end edit UI }
5477 
5478 /************************************************************************//**
5479  * @name Maintenance
5480  * See also $wgSiteNotice
5481  * @{
5482  */
5483 
5488 if ( !isset( $wgCommandLineMode ) ) {
5489  $wgCommandLineMode = false;
5490 }
5496 $wgCommandLineDarkBg = false;
5497 
5506 $wgReadOnly = null;
5507 
5515 $wgReadOnlyFile = false;
5516 
5526 $wgUpgradeKey = false;
5527 
5531 $wgGitBin = '/usr/bin/git';
5532 
5545 $wgGitRepositoryViewers = array(
5546  'https://(?:[a-z0-9_]+@)?gerrit.wikimedia.org/r/(?:p/)?(.*)' =>
5547  'https://git.wikimedia.org/commit/%r/%H',
5548  'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)' =>
5549  'https://git.wikimedia.org/commit/%r/%H',
5550 );
5551  # End of maintenance }
5553 
5554 /************************************************************************//**
5555  * @name Recent changes, new pages, watchlist and history
5556  * @{
5557  */
5558 
5564 $wgRCMaxAge = 13 * 7 * 24 * 3600;
5565 
5573 $wgRCFilterByAge = false;
5574 
5579 $wgRCLinkLimits = array( 50, 100, 250, 500 );
5580 
5585 $wgRCLinkDays = array( 1, 3, 7, 14, 30 );
5586 
5593 $wgRC2UDPAddress = false;
5594 
5600 $wgRC2UDPPort = false;
5601 
5610 $wgRC2UDPPrefix = '';
5611 
5619 $wgRC2UDPInterwikiPrefix = false;
5620 
5627 $wgRC2UDPOmitBots = false;
5628 
5669 $wgRCFeeds = array();
5670 
5675 $wgRCEngines = array(
5676  'redis' => 'RedisPubSubFeedEngine',
5677  'udp' => 'UDPRCFeedEngine',
5678 );
5679 
5685 $wgEnableNewpagesUserFilter = true;
5686 
5690 $wgUseRCPatrol = true;
5691 
5695 $wgUseNPPatrol = true;
5696 
5700 $wgLogAutopatrol = true;
5701 
5705 $wgFeed = true;
5706 
5711 $wgFeedLimit = 50;
5712 
5721 $wgFeedCacheTimeout = 60;
5722 
5727 $wgFeedDiffCutoff = 32768;
5728 
5741 $wgOverrideSiteFeed = array();
5742 
5748 $wgFeedClasses = array(
5749  'rss' => 'RSSFeed',
5750  'atom' => 'AtomFeed',
5751 );
5752 
5757 $wgAdvertisedFeedTypes = array( 'atom' );
5758 
5762 $wgRCShowWatchingUsers = false; # UPO
5763 
5767 $wgPageShowWatchingUsers = false;
5768 
5772 $wgRCShowChangedSize = true;
5773 
5779 $wgRCChangedSizeThreshold = 500;
5780 
5785 $wgShowUpdatedMarker = true;
5786 
5791 $wgDisableAnonTalk = false;
5792 
5796 $wgAllowCategorizedRecentChanges = false;
5797 
5802 $wgUseTagFilter = true;
5803 
5811 $wgUnwatchedPageThreshold = false;
5812 
5829 $wgRecentChangesFlags = array(
5830  'newpage' => array( 'letter' => 'newpageletter',
5831  'title' => 'recentchanges-label-newpage' ),
5832  'minor' => array( 'letter' => 'minoreditletter',
5833  'title' => 'recentchanges-label-minor', 'class' => 'minoredit' ),
5834  'bot' => array( 'letter' => 'boteditletter',
5835  'title' => 'recentchanges-label-bot', 'class' => 'botedit' ),
5836  'unpatrolled' => array( 'letter' => 'unpatrolledletter',
5837  'title' => 'recentchanges-label-unpatrolled' ),
5838 );
5839  # end RC/watchlist }
5841 
5842 /************************************************************************//**
5843  * @name Copyright and credits settings
5844  * @{
5845  */
5846 
5854 $wgRightsPage = null;
5855 
5861 $wgRightsUrl = null;
5862 
5869 $wgRightsText = null;
5870 
5874 $wgRightsIcon = null;
5875 
5880 $wgCopyrightIcon = null;
5881 
5885 $wgUseCopyrightUpload = false;
5886 
5894 $wgMaxCredits = 0;
5895 
5900 $wgShowCreditsIfMax = true;
5901  # end of copyright and credits settings }
5903 
5904 /************************************************************************//**
5905  * @name Import / Export
5906  * @{
5907  */
5908 
5917 $wgImportSources = array();
5918 
5926 $wgImportTargetNamespace = null;
5927 
5933 $wgExportAllowHistory = true;
5934 
5940 $wgExportMaxHistory = 0;
5941 
5945 $wgExportAllowListContributors = false;
5946 
5958 $wgExportMaxLinkDepth = 0;
5959 
5963 $wgExportFromNamespaces = false;
5964 
5968 $wgExportAllowAll = false;
5969  # end of import/export }
5971 
5972 /*************************************************************************//**
5973  * @name Extensions
5974  * @{
5975  */
5976 
5981 $wgExtensionFunctions = array();
5982 
6009 $wgExtensionMessagesFiles = array();
6010 
6034 $wgMessagesDirs = array(
6035  'core' => "$IP/languages/i18n",
6036  'oojs-ui' => "$IP/resources/lib/oojs-ui/i18n",
6037 );
6038 
6044 $wgExtensionEntryPointListFiles = array();
6045 
6060 $wgParserOutputHooks = array();
6061 
6065 $wgEnableParserLimitReporting = true;
6066 
6076 $wgValidSkinNames = array();
6077 
6082 $wgSpecialPages = array();
6083 
6087 $wgAutoloadClasses = array();
6088 
6094 $wgAutoloadAttemptLowercase = true;
6095 
6136 $wgExtensionCredits = array();
6137 
6142 $wgAuth = null;
6143 
6178 $wgHooks = array();
6179 
6184 $wgJobClasses = array(
6185  'refreshLinks' => 'RefreshLinksJob',
6186  'refreshLinks2' => 'RefreshLinksJob2', // b/c
6187  'htmlCacheUpdate' => 'HTMLCacheUpdateJob',
6188  'sendMail' => 'EmaillingJob',
6189  'enotifNotify' => 'EnotifNotifyJob',
6190  'fixDoubleRedirect' => 'DoubleRedirectJob',
6191  'uploadFromUrl' => 'UploadFromUrlJob',
6192  'AssembleUploadChunks' => 'AssembleUploadChunksJob',
6193  'PublishStashedFile' => 'PublishStashedFileJob',
6194  'null' => 'NullJob'
6195 );
6196 
6208 $wgJobTypesExcludedFromDefaultQueue = array( 'AssembleUploadChunks', 'PublishStashedFile' );
6209 
6218 $wgJobBackoffThrottling = array();
6219 
6226 $wgJobTypeConf = array(
6227  'default' => array( 'class' => 'JobQueueDB', 'order' => 'random' ),
6228 );
6229 
6234 $wgJobQueueAggregator = array(
6235  'class' => 'JobQueueAggregatorMemc'
6236 );
6237 
6242 $wgSpecialPageCacheUpdates = array(
6243  'Statistics' => array( 'SiteStatsUpdate', 'cacheUpdate' ),
6244  'Activeusers' => array( 'SpecialActiveUsers', 'cacheUpdate' ),
6245 );
6246 
6254 $wgExceptionHooks = array();
6255 
6263 $wgPagePropLinkInvalidations = array(
6264  'hiddencat' => 'categorylinks',
6265 );
6266  # End extensions }
6268 
6269 /*************************************************************************//**
6270  * @name Categories
6271  * @{
6272  */
6273 
6277 $wgUseCategoryBrowser = false;
6278 
6283 $wgCategoryMagicGallery = true;
6284 
6288 $wgCategoryPagingLimit = 200;
6289 
6315 $wgCategoryCollation = 'uppercase';
6316  # End categories }
6318 
6319 /*************************************************************************//**
6320  * @name Logging
6321  * @{
6322  */
6323 
6330 $wgLogTypes = array(
6331  '',
6332  'block',
6333  'protect',
6334  'rights',
6335  'delete',
6336  'upload',
6337  'move',
6338  'import',
6339  'patrol',
6340  'merge',
6341  'suppress',
6342 );
6343 
6351 $wgLogRestrictions = array(
6352  'suppress' => 'suppressionlog'
6353 );
6354 
6377 $wgFilterLogTypes = array(
6378  'patrol' => true
6379 );
6380 
6390 $wgLogNames = array(
6391  '' => 'all-logs-page',
6392  'block' => 'blocklogpage',
6393  'protect' => 'protectlogpage',
6394  'rights' => 'rightslog',
6395  'delete' => 'dellogpage',
6396  'upload' => 'uploadlogpage',
6397  'move' => 'movelogpage',
6398  'import' => 'importlogpage',
6399  'patrol' => 'patrol-log-page',
6400  'merge' => 'mergelog',
6401  'suppress' => 'suppressionlog',
6402 );
6403 
6413 $wgLogHeaders = array(
6414  '' => 'alllogstext',
6415  'block' => 'blocklogtext',
6416  'protect' => 'protectlogtext',
6417  'rights' => 'rightslogtext',
6418  'delete' => 'dellogpagetext',
6419  'upload' => 'uploadlogpagetext',
6420  'move' => 'movelogpagetext',
6421  'import' => 'importlogpagetext',
6422  'patrol' => 'patrol-log-header',
6423  'merge' => 'mergelogpagetext',
6424  'suppress' => 'suppressionlogtext',
6425 );
6426 
6433 $wgLogActions = array(
6434  'block/block' => 'blocklogentry',
6435  'block/unblock' => 'unblocklogentry',
6436  'block/reblock' => 'reblock-logentry',
6437  'protect/protect' => 'protectedarticle',
6438  'protect/modify' => 'modifiedarticleprotection',
6439  'protect/unprotect' => 'unprotectedarticle',
6440  'protect/move_prot' => 'movedarticleprotection',
6441  'upload/upload' => 'uploadedimage',
6442  'upload/overwrite' => 'overwroteimage',
6443  'upload/revert' => 'uploadedimage',
6444  'import/upload' => 'import-logentry-upload',
6445  'import/interwiki' => 'import-logentry-interwiki',
6446  'merge/merge' => 'pagemerge-logentry',
6447  'suppress/block' => 'blocklogentry',
6448  'suppress/reblock' => 'reblock-logentry',
6449 );
6450 
6457 $wgLogActionsHandlers = array(
6458  'move/move' => 'MoveLogFormatter',
6459  'move/move_redir' => 'MoveLogFormatter',
6460  'delete/delete' => 'DeleteLogFormatter',
6461  'delete/restore' => 'DeleteLogFormatter',
6462  'delete/revision' => 'DeleteLogFormatter',
6463  'delete/event' => 'DeleteLogFormatter',
6464  'suppress/revision' => 'DeleteLogFormatter',
6465  'suppress/event' => 'DeleteLogFormatter',
6466  'suppress/delete' => 'DeleteLogFormatter',
6467  'patrol/patrol' => 'PatrolLogFormatter',
6468  'rights/rights' => 'RightsLogFormatter',
6469  'rights/autopromote' => 'RightsLogFormatter',
6470 );
6471 
6475 $wgNewUserLog = true;
6476  # end logging }
6478 
6479 /*************************************************************************//**
6480  * @name Special pages (general and miscellaneous)
6481  * @{
6482  */
6483 
6487 $wgAllowSpecialInclusion = true;
6488 
6493 $wgDisableQueryPageUpdate = false;
6494 
6501 $wgSpecialPageGroups = array();
6502 
6506 $wgSortSpecialPages = true;
6507 
6512 $wgCountCategorizedImagesAsUsed = false;
6513 
6518 $wgMaxRedirectLinksRetrieved = 500;
6519  # end special pages }
6521 
6522 /*************************************************************************//**
6523  * @name Actions
6524  * @{
6525  */
6526 
6537 $wgActions = array(
6538  'credits' => true,
6539  'delete' => true,
6540  'edit' => true,
6541  'history' => true,
6542  'info' => true,
6543  'markpatrolled' => true,
6544  'protect' => true,
6545  'purge' => true,
6546  'raw' => true,
6547  'render' => true,
6548  'revert' => true,
6549  'revisiondelete' => true,
6550  'rollback' => true,
6551  'submit' => true,
6552  'unprotect' => true,
6553  'unwatch' => true,
6554  'view' => true,
6555  'watch' => true,
6556 );
6557  # end actions }
6559 
6560 /*************************************************************************//**
6561  * @name Robot (search engine crawler) policy
6562  * See also $wgNoFollowLinks.
6563  * @{
6564  */
6565 
6571 $wgDefaultRobotPolicy = 'index,follow';
6572 
6587 $wgNamespaceRobotPolicies = array();
6588 
6615 $wgArticleRobotPolicies = array();
6616 
6627 $wgExemptFromUserRobotsControl = null;
6628  # End robot policy }
6630 
6631 /************************************************************************//**
6632  * @name AJAX and API
6633  * Note: The AJAX entry point which this section refers to is gradually being
6634  * replaced by the API entry point, api.php. They are essentially equivalent.
6635  * Both of them are used for dynamic client-side features, via XHR.
6636  * @{
6637  */
6638 
6645 $wgEnableAPI = true;
6646 
6652 $wgEnableWriteAPI = true;
6653 
6668 $wgDebugAPI = false;
6669 
6677 $wgAPIModules = array();
6678 
6686 $wgAPIFormatModules = array();
6687 
6695 $wgAPIMetaModules = array();
6696 
6704 $wgAPIPropModules = array();
6705 
6713 $wgAPIListModules = array();
6714 
6719 $wgAPIGeneratorModules = array();
6720 
6725 $wgAPIMaxDBRows = 5000;
6726 
6731 $wgAPIMaxResultSize = 8388608;
6732 
6737 $wgAPIMaxUncachedDiffs = 1;
6738 
6743 $wgAPIRequestLog = false;
6744 
6748 $wgAPICacheHelpTimeout = 60 * 60;
6749 
6754 $wgAPIUselessQueryPages = array(
6755  'MIMEsearch', // aiprop=mime
6756  'LinkSearch', // list=exturlusage
6757  'FileDuplicateSearch', // prop=duplicatefiles
6758 );
6759 
6763 $wgUseAjax = true;
6764 
6769 $wgAjaxExportList = array();
6770 
6775 $wgAjaxWatch = true;
6776 
6780 $wgAjaxUploadDestCheck = true;
6781 
6785 $wgAjaxLicensePreview = true;
6786 
6807 $wgCrossSiteAJAXdomains = array();
6808 
6814 $wgCrossSiteAJAXdomainExceptions = array();
6815  # End AJAX and API }
6817 
6818 /************************************************************************//**
6819  * @name Shell and process control
6820  * @{
6821  */
6822 
6826 $wgMaxShellMemory = 307200;
6827 
6832 $wgMaxShellFileSize = 102400;
6833 
6837 $wgMaxShellTime = 180;
6838 
6843 $wgMaxShellWallClockTime = 180;
6844 
6868 $wgShellCgroup = false;
6869 
6873 $wgPhpCli = '/usr/bin/php';
6874 
6880 $wgShellLocale = 'en_US.utf8';
6881  # End shell }
6883 
6884 /************************************************************************//**
6885  * @name HTTP client
6886  * @{
6887  */
6888 
6892 $wgHTTPTimeout = 25;
6893 
6897 $wgAsyncHTTPTimeout = 25;
6898 
6902 $wgHTTPProxy = false;
6903 
6908 $wgHTTPConnectTimeout = 5e0;
6909  # End HTTP client }
6911 
6912 /************************************************************************//**
6913  * @name Job queue
6914  * See also $wgEnotifUseJobQ.
6915  * @{
6916  */
6917 
6924 $wgJobRunRate = 1;
6925 
6932 $wgRunJobsAsync = true;
6933 
6937 $wgUpdateRowsPerJob = 500;
6938 
6942 $wgUpdateRowsPerQuery = 100;
6943  # End job queue }
6945 
6946 /************************************************************************//**
6947  * @name Miscellaneous
6948  * @{
6949  */
6950 
6954 $wgExternalDiffEngine = false;
6955 
6964 $wgDisableHardRedirects = false;
6965 
6970 $wgLinkHolderBatchSize = 1000;
6971 
6976 $wgRegisterInternalExternals = false;
6977 
6981 $wgMaximumMovedPages = 100;
6982 
6987 $wgFixDoubleRedirects = false;
6988 
6993 $wgRedirectOnLogin = null;
6994 
7015 $wgPoolCounterConf = null;
7016 
7020 $wgUploadMaintenance = false;
7021 
7030 $wgNamespaceContentModels = array();
7031 
7042 $wgContentHandlerTextFallback = 'ignore';
7043 
7057 $wgContentHandlerUseDB = true;
7058 
7069 $wgTextModelsToParse = array(
7070  CONTENT_MODEL_WIKITEXT, // Just for completeness, wikitext will always be parsed.
7071  CONTENT_MODEL_JAVASCRIPT, // Make categories etc work, people put them into comments.
7072  CONTENT_MODEL_CSS, // Make categories etc work, people put them into comments.
7073 );
7074 
7080 $wgRequirePasswordforEmailChange = true;
7081 
7087 $wgSiteTypes = array(
7088  'mediawiki' => 'MediaWikiSite',
7089 );
7090 
7095 $wgCompiledFiles = array();
7096 
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