DefaultSettings.php 125 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794
  1. <?php
  2. /**
  3. *
  4. * NEVER EDIT THIS FILE
  5. *
  6. *
  7. * To customize your installation, edit "LocalSettings.php". If you make
  8. * changes here, they will be lost on next upgrade of MediaWiki!
  9. *
  10. * Note that since all these string interpolations are expanded
  11. * before LocalSettings is included, if you localize something
  12. * like $wgScriptPath, you must also localize everything that
  13. * depends on it.
  14. *
  15. * Documentation is in the source and on:
  16. * http://www.mediawiki.org/wiki/Manual:Configuration_settings
  17. *
  18. */
  19. # This is not a valid entry point, perform no further processing unless MEDIAWIKI is defined
  20. if( !defined( 'MEDIAWIKI' ) ) {
  21. echo "This file is part of MediaWiki and is not a valid entry point\n";
  22. die( 1 );
  23. }
  24. /**
  25. * Create a site configuration object
  26. * Not used for much in a default install
  27. */
  28. if ( !defined( 'MW_PHP4' ) ) {
  29. require_once( "$IP/includes/SiteConfiguration.php" );
  30. $wgConf = new SiteConfiguration;
  31. }
  32. /** MediaWiki version number */
  33. $wgVersion = '1.15.1';
  34. /** Name of the site. It must be changed in LocalSettings.php */
  35. $wgSitename = 'MediaWiki';
  36. /**
  37. * Name of the project namespace. If left set to false, $wgSitename will be
  38. * used instead.
  39. */
  40. $wgMetaNamespace = false;
  41. /**
  42. * Name of the project talk namespace.
  43. *
  44. * Normally you can ignore this and it will be something like
  45. * $wgMetaNamespace . "_talk". In some languages, you may want to set this
  46. * manually for grammatical reasons. It is currently only respected by those
  47. * languages where it might be relevant and where no automatic grammar converter
  48. * exists.
  49. */
  50. $wgMetaNamespaceTalk = false;
  51. /** URL of the server. It will be automatically built including https mode */
  52. $wgServer = '';
  53. if( isset( $_SERVER['SERVER_NAME'] ) ) {
  54. $wgServerName = $_SERVER['SERVER_NAME'];
  55. } elseif( isset( $_SERVER['HOSTNAME'] ) ) {
  56. $wgServerName = $_SERVER['HOSTNAME'];
  57. } elseif( isset( $_SERVER['HTTP_HOST'] ) ) {
  58. $wgServerName = $_SERVER['HTTP_HOST'];
  59. } elseif( isset( $_SERVER['SERVER_ADDR'] ) ) {
  60. $wgServerName = $_SERVER['SERVER_ADDR'];
  61. } else {
  62. $wgServerName = 'localhost';
  63. }
  64. # check if server use https:
  65. $wgProto = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http';
  66. $wgServer = $wgProto.'://' . $wgServerName;
  67. # If the port is a non-standard one, add it to the URL
  68. if( isset( $_SERVER['SERVER_PORT'] )
  69. && !strpos( $wgServerName, ':' )
  70. && ( ( $wgProto == 'http' && $_SERVER['SERVER_PORT'] != 80 )
  71. || ( $wgProto == 'https' && $_SERVER['SERVER_PORT'] != 443 ) ) ) {
  72. $wgServer .= ":" . $_SERVER['SERVER_PORT'];
  73. }
  74. /**
  75. * The path we should point to.
  76. * It might be a virtual path in case with use apache mod_rewrite for example
  77. *
  78. * This *needs* to be set correctly.
  79. *
  80. * Other paths will be set to defaults based on it unless they are directly
  81. * set in LocalSettings.php
  82. */
  83. $wgScriptPath = '/wiki';
  84. /**
  85. * Whether to support URLs like index.php/Page_title These often break when PHP
  86. * is set up in CGI mode. PATH_INFO *may* be correct if cgi.fix_pathinfo is set,
  87. * but then again it may not; lighttpd converts incoming path data to lowercase
  88. * on systems with case-insensitive filesystems, and there have been reports of
  89. * problems on Apache as well.
  90. *
  91. * To be safe we'll continue to keep it off by default.
  92. *
  93. * Override this to false if $_SERVER['PATH_INFO'] contains unexpectedly
  94. * incorrect garbage, or to true if it is really correct.
  95. *
  96. * The default $wgArticlePath will be set based on this value at runtime, but if
  97. * you have customized it, having this incorrectly set to true can cause
  98. * redirect loops when "pretty URLs" are used.
  99. */
  100. $wgUsePathInfo =
  101. ( strpos( php_sapi_name(), 'cgi' ) === false ) &&
  102. ( strpos( php_sapi_name(), 'apache2filter' ) === false ) &&
  103. ( strpos( php_sapi_name(), 'isapi' ) === false );
  104. /**@{
  105. * Script users will request to get articles
  106. * ATTN: Old installations used wiki.phtml and redirect.phtml - make sure that
  107. * LocalSettings.php is correctly set!
  108. *
  109. * Will be set based on $wgScriptPath in Setup.php if not overridden in
  110. * LocalSettings.php. Generally you should not need to change this unless you
  111. * don't like seeing "index.php".
  112. */
  113. $wgScriptExtension = '.php'; ///< extension to append to script names by default
  114. $wgScript = false; ///< defaults to "{$wgScriptPath}/index{$wgScriptExtension}"
  115. $wgRedirectScript = false; ///< defaults to "{$wgScriptPath}/redirect{$wgScriptExtension}"
  116. /**@}*/
  117. /**@{
  118. * These various web and file path variables are set to their defaults
  119. * in Setup.php if they are not explicitly set from LocalSettings.php.
  120. * If you do override them, be sure to set them all!
  121. *
  122. * These will relatively rarely need to be set manually, unless you are
  123. * splitting style sheets or images outside the main document root.
  124. */
  125. /**
  126. * style path as seen by users
  127. */
  128. $wgStylePath = false; ///< defaults to "{$wgScriptPath}/skins"
  129. /**
  130. * filesystem stylesheets directory
  131. */
  132. $wgStyleDirectory = false; ///< defaults to "{$IP}/skins"
  133. $wgStyleSheetPath = &$wgStylePath;
  134. $wgArticlePath = false; ///< default to "{$wgScript}/$1" or "{$wgScript}?title=$1", depending on $wgUsePathInfo
  135. $wgVariantArticlePath = false;
  136. $wgUploadPath = false; ///< defaults to "{$wgScriptPath}/images"
  137. $wgUploadDirectory = false; ///< defaults to "{$IP}/images"
  138. $wgHashedUploadDirectory = true;
  139. $wgLogo = false; ///< defaults to "{$wgStylePath}/common/images/wiki.png"
  140. $wgFavicon = '/favicon.ico';
  141. $wgAppleTouchIcon = false; ///< This one'll actually default to off. For iPhone and iPod Touch web app bookmarks
  142. $wgMathPath = false; ///< defaults to "{$wgUploadPath}/math"
  143. $wgMathDirectory = false; ///< defaults to "{$wgUploadDirectory}/math"
  144. $wgTmpDirectory = false; ///< defaults to "{$wgUploadDirectory}/tmp"
  145. $wgUploadBaseUrl = "";
  146. /**@}*/
  147. /**
  148. * Default value for chmoding of new directories.
  149. */
  150. $wgDirectoryMode = 0777;
  151. /**
  152. * New file storage paths; currently used only for deleted files.
  153. * Set it like this:
  154. *
  155. * $wgFileStore['deleted']['directory'] = '/var/wiki/private/deleted';
  156. *
  157. */
  158. $wgFileStore = array();
  159. $wgFileStore['deleted']['directory'] = false;///< Defaults to $wgUploadDirectory/deleted
  160. $wgFileStore['deleted']['url'] = null; ///< Private
  161. $wgFileStore['deleted']['hash'] = 3; ///< 3-level subdirectory split
  162. /**@{
  163. * File repository structures
  164. *
  165. * $wgLocalFileRepo is a single repository structure, and $wgForeignFileRepo is
  166. * a an array of such structures. Each repository structure is an associative
  167. * array of properties configuring the repository.
  168. *
  169. * Properties required for all repos:
  170. * class The class name for the repository. May come from the core or an extension.
  171. * The core repository classes are LocalRepo, ForeignDBRepo, FSRepo.
  172. *
  173. * name A unique name for the repository.
  174. *
  175. * For all core repos:
  176. * url Base public URL
  177. * hashLevels The number of directory levels for hash-based division of files
  178. * thumbScriptUrl The URL for thumb.php (optional, not recommended)
  179. * transformVia404 Whether to skip media file transformation on parse and rely on a 404
  180. * handler instead.
  181. * initialCapital Equivalent to $wgCapitalLinks, determines whether filenames implicitly
  182. * start with a capital letter. The current implementation may give incorrect
  183. * description page links when the local $wgCapitalLinks and initialCapital
  184. * are mismatched.
  185. * pathDisclosureProtection
  186. * May be 'paranoid' to remove all parameters from error messages, 'none' to
  187. * leave the paths in unchanged, or 'simple' to replace paths with
  188. * placeholders. Default for LocalRepo is 'simple'.
  189. *
  190. * These settings describe a foreign MediaWiki installation. They are optional, and will be ignored
  191. * for local repositories:
  192. * descBaseUrl URL of image description pages, e.g. http://en.wikipedia.org/wiki/Image:
  193. * scriptDirUrl URL of the MediaWiki installation, equivalent to $wgScriptPath, e.g.
  194. * http://en.wikipedia.org/w
  195. *
  196. * articleUrl Equivalent to $wgArticlePath, e.g. http://en.wikipedia.org/wiki/$1
  197. * fetchDescription Fetch the text of the remote file description page. Equivalent to
  198. * $wgFetchCommonsDescriptions.
  199. *
  200. * ForeignDBRepo:
  201. * dbType, dbServer, dbUser, dbPassword, dbName, dbFlags
  202. * equivalent to the corresponding member of $wgDBservers
  203. * tablePrefix Table prefix, the foreign wiki's $wgDBprefix
  204. * hasSharedCache True if the wiki's shared cache is accessible via the local $wgMemc
  205. *
  206. * ForeignAPIRepo:
  207. * apibase Use for the foreign API's URL
  208. * apiThumbCacheExpiry How long to locally cache thumbs for
  209. *
  210. * The default is to initialise these arrays from the MW<1.11 backwards compatible settings:
  211. * $wgUploadPath, $wgThumbnailScriptPath, $wgSharedUploadDirectory, etc.
  212. */
  213. $wgLocalFileRepo = false;
  214. $wgForeignFileRepos = array();
  215. /**@}*/
  216. /**
  217. * Allowed title characters -- regex character class
  218. * Don't change this unless you know what you're doing
  219. *
  220. * Problematic punctuation:
  221. * []{}|# Are needed for link syntax, never enable these
  222. * <> Causes problems with HTML escaping, don't use
  223. * % Enabled by default, minor problems with path to query rewrite rules, see below
  224. * + Enabled by default, but doesn't work with path to query rewrite rules, corrupted by apache
  225. * ? Enabled by default, but doesn't work with path to PATH_INFO rewrites
  226. *
  227. * All three of these punctuation problems can be avoided by using an alias, instead of a
  228. * rewrite rule of either variety.
  229. *
  230. * The problem with % is that when using a path to query rewrite rule, URLs are
  231. * double-unescaped: once by Apache's path conversion code, and again by PHP. So
  232. * %253F, for example, becomes "?". Our code does not double-escape to compensate
  233. * for this, indeed double escaping would break if the double-escaped title was
  234. * passed in the query string rather than the path. This is a minor security issue
  235. * because articles can be created such that they are hard to view or edit.
  236. *
  237. * In some rare cases you may wish to remove + for compatibility with old links.
  238. *
  239. * Theoretically 0x80-0x9F of ISO 8859-1 should be disallowed, but
  240. * this breaks interlanguage links
  241. */
  242. $wgLegalTitleChars = " %!\"$&'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF+";
  243. /**
  244. * The external URL protocols
  245. */
  246. $wgUrlProtocols = array(
  247. 'http://',
  248. 'https://',
  249. 'ftp://',
  250. 'irc://',
  251. 'gopher://',
  252. 'telnet://', // Well if we're going to support the above.. -ævar
  253. 'nntp://', // @bug 3808 RFC 1738
  254. 'worldwind://',
  255. 'mailto:',
  256. 'news:',
  257. 'svn://',
  258. );
  259. /** internal name of virus scanner. This servers as a key to the $wgAntivirusSetup array.
  260. * Set this to NULL to disable virus scanning. If not null, every file uploaded will be scanned for viruses.
  261. */
  262. $wgAntivirus= NULL;
  263. /** Configuration for different virus scanners. This an associative array of associative arrays:
  264. * it contains on setup array per known scanner type. The entry is selected by $wgAntivirus, i.e.
  265. * valid values for $wgAntivirus are the keys defined in this array.
  266. *
  267. * The configuration array for each scanner contains the following keys: "command", "codemap", "messagepattern";
  268. *
  269. * "command" is the full command to call the virus scanner - %f will be replaced with the name of the
  270. * file to scan. If not present, the filename will be appended to the command. Note that this must be
  271. * overwritten if the scanner is not in the system path; in that case, plase set
  272. * $wgAntivirusSetup[$wgAntivirus]['command'] to the desired command with full path.
  273. *
  274. * "codemap" is a mapping of exit code to return codes of the detectVirus function in SpecialUpload.
  275. * An exit code mapped to AV_SCAN_FAILED causes the function to consider the scan to be failed. This will pass
  276. * the file if $wgAntivirusRequired is not set.
  277. * An exit code mapped to AV_SCAN_ABORTED causes the function to consider the file to have an usupported format,
  278. * which is probably imune to virusses. This causes the file to pass.
  279. * An exit code mapped to AV_NO_VIRUS will cause the file to pass, meaning no virus was found.
  280. * All other codes (like AV_VIRUS_FOUND) will cause the function to report a virus.
  281. * You may use "*" as a key in the array to catch all exit codes not mapped otherwise.
  282. *
  283. * "messagepattern" is a perl regular expression to extract the meaningful part of the scanners
  284. * output. The relevant part should be matched as group one (\1).
  285. * If not defined or the pattern does not match, the full message is shown to the user.
  286. */
  287. $wgAntivirusSetup = array(
  288. #setup for clamav
  289. 'clamav' => array (
  290. 'command' => "clamscan --no-summary ",
  291. 'codemap' => array (
  292. "0" => AV_NO_VIRUS, # no virus
  293. "1" => AV_VIRUS_FOUND, # virus found
  294. "52" => AV_SCAN_ABORTED, # unsupported file format (probably imune)
  295. "*" => AV_SCAN_FAILED, # else scan failed
  296. ),
  297. 'messagepattern' => '/.*?:(.*)/sim',
  298. ),
  299. #setup for f-prot
  300. 'f-prot' => array (
  301. 'command' => "f-prot ",
  302. 'codemap' => array (
  303. "0" => AV_NO_VIRUS, # no virus
  304. "3" => AV_VIRUS_FOUND, # virus found
  305. "6" => AV_VIRUS_FOUND, # virus found
  306. "*" => AV_SCAN_FAILED, # else scan failed
  307. ),
  308. 'messagepattern' => '/.*?Infection:(.*)$/m',
  309. ),
  310. );
  311. /** Determines if a failed virus scan (AV_SCAN_FAILED) will cause the file to be rejected. */
  312. $wgAntivirusRequired= true;
  313. /** Determines if the mime type of uploaded files should be checked */
  314. $wgVerifyMimeType= true;
  315. /** Sets the mime type definition file to use by MimeMagic.php. */
  316. $wgMimeTypeFile= "includes/mime.types";
  317. #$wgMimeTypeFile= "/etc/mime.types";
  318. #$wgMimeTypeFile= NULL; #use built-in defaults only.
  319. /** Sets the mime type info file to use by MimeMagic.php. */
  320. $wgMimeInfoFile= "includes/mime.info";
  321. #$wgMimeInfoFile= NULL; #use built-in defaults only.
  322. /** Switch for loading the FileInfo extension by PECL at runtime.
  323. * This should be used only if fileinfo is installed as a shared object
  324. * or a dynamic libary
  325. */
  326. $wgLoadFileinfoExtension= false;
  327. /** Sets an external mime detector program. The command must print only
  328. * the mime type to standard output.
  329. * The name of the file to process will be appended to the command given here.
  330. * If not set or NULL, mime_content_type will be used if available.
  331. */
  332. $wgMimeDetectorCommand= NULL; # use internal mime_content_type function, available since php 4.3.0
  333. #$wgMimeDetectorCommand= "file -bi"; #use external mime detector (Linux)
  334. /** Switch for trivial mime detection. Used by thumb.php to disable all fance
  335. * things, because only a few types of images are needed and file extensions
  336. * can be trusted.
  337. */
  338. $wgTrivialMimeDetection= false;
  339. /**
  340. * Additional XML types we can allow via mime-detection.
  341. * array = ( 'rootElement' => 'associatedMimeType' )
  342. */
  343. $wgXMLMimeTypes = array(
  344. 'http://www.w3.org/2000/svg:svg' => 'image/svg+xml',
  345. 'svg' => 'image/svg+xml',
  346. 'http://www.lysator.liu.se/~alla/dia/:diagram' => 'application/x-dia-diagram',
  347. 'http://www.w3.org/1999/xhtml:html' => 'text/html', // application/xhtml+xml?
  348. 'html' => 'text/html', // application/xhtml+xml?
  349. );
  350. /**
  351. * To set 'pretty' URL paths for actions other than
  352. * plain page views, add to this array. For instance:
  353. * 'edit' => "$wgScriptPath/edit/$1"
  354. *
  355. * There must be an appropriate script or rewrite rule
  356. * in place to handle these URLs.
  357. */
  358. $wgActionPaths = array();
  359. /**
  360. * If you operate multiple wikis, you can define a shared upload path here.
  361. * Uploads to this wiki will NOT be put there - they will be put into
  362. * $wgUploadDirectory.
  363. * If $wgUseSharedUploads is set, the wiki will look in the shared repository if
  364. * no file of the given name is found in the local repository (for [[Image:..]],
  365. * [[Media:..]] links). Thumbnails will also be looked for and generated in this
  366. * directory.
  367. *
  368. * Note that these configuration settings can now be defined on a per-
  369. * repository basis for an arbitrary number of file repositories, using the
  370. * $wgForeignFileRepos variable.
  371. */
  372. $wgUseSharedUploads = false;
  373. /** Full path on the web server where shared uploads can be found */
  374. $wgSharedUploadPath = "http://commons.wikimedia.org/shared/images";
  375. /** Fetch commons image description pages and display them on the local wiki? */
  376. $wgFetchCommonsDescriptions = false;
  377. /** Path on the file system where shared uploads can be found. */
  378. $wgSharedUploadDirectory = "/var/www/wiki3/images";
  379. /** DB name with metadata about shared directory. Set this to false if the uploads do not come from a wiki. */
  380. $wgSharedUploadDBname = false;
  381. /** Optional table prefix used in database. */
  382. $wgSharedUploadDBprefix = '';
  383. /** Cache shared metadata in memcached. Don't do this if the commons wiki is in a different memcached domain */
  384. $wgCacheSharedUploads = true;
  385. /** Allow for upload to be copied from an URL. Requires Special:Upload?source=web */
  386. $wgAllowCopyUploads = false;
  387. /**
  388. * Max size for uploads, in bytes. Currently only works for uploads from URL
  389. * via CURL (see $wgAllowCopyUploads). The only way to impose limits on
  390. * normal uploads is currently to edit php.ini.
  391. */
  392. $wgMaxUploadSize = 1024*1024*100; # 100MB
  393. /**
  394. * Point the upload navigation link to an external URL
  395. * Useful if you want to use a shared repository by default
  396. * without disabling local uploads (use $wgEnableUploads = false for that)
  397. * e.g. $wgUploadNavigationUrl = 'http://commons.wikimedia.org/wiki/Special:Upload';
  398. */
  399. $wgUploadNavigationUrl = false;
  400. /**
  401. * Give a path here to use thumb.php for thumbnail generation on client request, instead of
  402. * generating them on render and outputting a static URL. This is necessary if some of your
  403. * apache servers don't have read/write access to the thumbnail path.
  404. *
  405. * Example:
  406. * $wgThumbnailScriptPath = "{$wgScriptPath}/thumb{$wgScriptExtension}";
  407. */
  408. $wgThumbnailScriptPath = false;
  409. $wgSharedThumbnailScriptPath = false;
  410. /**
  411. * Set the following to false especially if you have a set of files that need to
  412. * be accessible by all wikis, and you do not want to use the hash (path/a/aa/)
  413. * directory layout.
  414. */
  415. $wgHashedSharedUploadDirectory = true;
  416. /**
  417. * Base URL for a repository wiki. Leave this blank if uploads are just stored
  418. * in a shared directory and not meant to be accessible through a separate wiki.
  419. * Otherwise the image description pages on the local wiki will link to the
  420. * image description page on this wiki.
  421. *
  422. * Please specify the namespace, as in the example below.
  423. */
  424. $wgRepositoryBaseUrl = "http://commons.wikimedia.org/wiki/Image:";
  425. #
  426. # Email settings
  427. #
  428. /**
  429. * Site admin email address
  430. * Default to wikiadmin@SERVER_NAME
  431. */
  432. $wgEmergencyContact = 'wikiadmin@' . $wgServerName;
  433. /**
  434. * Password reminder email address
  435. * The address we should use as sender when a user is requesting his password
  436. * Default to apache@SERVER_NAME
  437. */
  438. $wgPasswordSender = 'MediaWiki Mail <apache@' . $wgServerName . '>';
  439. /**
  440. * dummy address which should be accepted during mail send action
  441. * It might be necessay to adapt the address or to set it equal
  442. * to the $wgEmergencyContact address
  443. */
  444. #$wgNoReplyAddress = $wgEmergencyContact;
  445. $wgNoReplyAddress = 'reply@not.possible';
  446. /**
  447. * Set to true to enable the e-mail basic features:
  448. * Password reminders, etc. If sending e-mail on your
  449. * server doesn't work, you might want to disable this.
  450. */
  451. $wgEnableEmail = true;
  452. /**
  453. * Set to true to enable user-to-user e-mail.
  454. * This can potentially be abused, as it's hard to track.
  455. */
  456. $wgEnableUserEmail = true;
  457. /**
  458. * Set to true to put the sending user's email in a Reply-To header
  459. * instead of From. ($wgEmergencyContact will be used as From.)
  460. *
  461. * Some mailers (eg sSMTP) set the SMTP envelope sender to the From value,
  462. * which can cause problems with SPF validation and leak recipient addressses
  463. * when bounces are sent to the sender.
  464. */
  465. $wgUserEmailUseReplyTo = false;
  466. /**
  467. * Minimum time, in hours, which must elapse between password reminder
  468. * emails for a given account. This is to prevent abuse by mail flooding.
  469. */
  470. $wgPasswordReminderResendTime = 24;
  471. /**
  472. * The time, in seconds, when an emailed temporary password expires.
  473. */
  474. $wgNewPasswordExpiry = 3600 * 24 * 7;
  475. /**
  476. * SMTP Mode
  477. * For using a direct (authenticated) SMTP server connection.
  478. * Default to false or fill an array :
  479. * <code>
  480. * "host" => 'SMTP domain',
  481. * "IDHost" => 'domain for MessageID',
  482. * "port" => "25",
  483. * "auth" => true/false,
  484. * "username" => user,
  485. * "password" => password
  486. * </code>
  487. */
  488. $wgSMTP = false;
  489. /**@{
  490. * Database settings
  491. */
  492. /** database host name or ip address */
  493. $wgDBserver = 'localhost';
  494. /** database port number (for PostgreSQL) */
  495. $wgDBport = 5432;
  496. /** name of the database */
  497. $wgDBname = 'my_wiki';
  498. /** */
  499. $wgDBconnection = '';
  500. /** Database username */
  501. $wgDBuser = 'wikiuser';
  502. /** Database user's password */
  503. $wgDBpassword = '';
  504. /** Database type */
  505. $wgDBtype = 'mysql';
  506. /** Search type
  507. * Leave as null to select the default search engine for the
  508. * selected database type (eg SearchMySQL), or set to a class
  509. * name to override to a custom search engine.
  510. */
  511. $wgSearchType = null;
  512. /** Table name prefix */
  513. $wgDBprefix = '';
  514. /** MySQL table options to use during installation or update */
  515. $wgDBTableOptions = 'ENGINE=InnoDB';
  516. /** Mediawiki schema */
  517. $wgDBmwschema = 'mediawiki';
  518. /** Tsearch2 schema */
  519. $wgDBts2schema = 'public';
  520. /** To override default SQLite data directory ($docroot/../data) */
  521. $wgSQLiteDataDir = '';
  522. /** Default directory mode for SQLite data directory on creation.
  523. * Note that this is different from the default directory mode used
  524. * elsewhere.
  525. */
  526. $wgSQLiteDataDirMode = 0700;
  527. /**
  528. * Make all database connections secretly go to localhost. Fool the load balancer
  529. * thinking there is an arbitrarily large cluster of servers to connect to.
  530. * Useful for debugging.
  531. */
  532. $wgAllDBsAreLocalhost = false;
  533. /**@}*/
  534. /** Live high performance sites should disable this - some checks acquire giant mysql locks */
  535. $wgCheckDBSchema = true;
  536. /**
  537. * Shared database for multiple wikis. Commonly used for storing a user table
  538. * for single sign-on. The server for this database must be the same as for the
  539. * main database.
  540. * For backwards compatibility the shared prefix is set to the same as the local
  541. * prefix, and the user table is listed in the default list of shared tables.
  542. *
  543. * $wgSharedTables may be customized with a list of tables to share in the shared
  544. * datbase. However it is advised to limit what tables you do share as many of
  545. * MediaWiki's tables may have side effects if you try to share them.
  546. * EXPERIMENTAL
  547. */
  548. $wgSharedDB = null;
  549. $wgSharedPrefix = false; # Defaults to $wgDBprefix
  550. $wgSharedTables = array( 'user' );
  551. /**
  552. * Database load balancer
  553. * This is a two-dimensional array, an array of server info structures
  554. * Fields are:
  555. * host: Host name
  556. * dbname: Default database name
  557. * user: DB user
  558. * password: DB password
  559. * type: "mysql" or "postgres"
  560. * load: ratio of DB_SLAVE load, must be >=0, the sum of all loads must be >0
  561. * groupLoads: array of load ratios, the key is the query group name. A query may belong
  562. * to several groups, the most specific group defined here is used.
  563. *
  564. * flags: bit field
  565. * DBO_DEFAULT -- turns on DBO_TRX only if !$wgCommandLineMode (recommended)
  566. * DBO_DEBUG -- equivalent of $wgDebugDumpSql
  567. * DBO_TRX -- wrap entire request in a transaction
  568. * DBO_IGNORE -- ignore errors (not useful in LocalSettings.php)
  569. * DBO_NOBUFFER -- turn off buffering (not useful in LocalSettings.php)
  570. *
  571. * max lag: (optional) Maximum replication lag before a slave will taken out of rotation
  572. * max threads: (optional) Maximum number of running threads
  573. *
  574. * These and any other user-defined properties will be assigned to the mLBInfo member
  575. * variable of the Database object.
  576. *
  577. * Leave at false to use the single-server variables above. If you set this
  578. * variable, the single-server variables will generally be ignored (except
  579. * perhaps in some command-line scripts).
  580. *
  581. * The first server listed in this array (with key 0) will be the master. The
  582. * rest of the servers will be slaves. To prevent writes to your slaves due to
  583. * accidental misconfiguration or MediaWiki bugs, set read_only=1 on all your
  584. * slaves in my.cnf. You can set read_only mode at runtime using:
  585. *
  586. * SET @@read_only=1;
  587. *
  588. * Since the effect of writing to a slave is so damaging and difficult to clean
  589. * up, we at Wikimedia set read_only=1 in my.cnf on all our DB servers, even
  590. * our masters, and then set read_only=0 on masters at runtime.
  591. */
  592. $wgDBservers = false;
  593. /**
  594. * Load balancer factory configuration
  595. * To set up a multi-master wiki farm, set the class here to something that
  596. * can return a LoadBalancer with an appropriate master on a call to getMainLB().
  597. * The class identified here is responsible for reading $wgDBservers,
  598. * $wgDBserver, etc., so overriding it may cause those globals to be ignored.
  599. *
  600. * The LBFactory_Multi class is provided for this purpose, please see
  601. * includes/db/LBFactory_Multi.php for configuration information.
  602. */
  603. $wgLBFactoryConf = array( 'class' => 'LBFactory_Simple' );
  604. /** How long to wait for a slave to catch up to the master */
  605. $wgMasterWaitTimeout = 10;
  606. /** File to log database errors to */
  607. $wgDBerrorLog = false;
  608. /** When to give an error message */
  609. $wgDBClusterTimeout = 10;
  610. /**
  611. * Scale load balancer polling time so that under overload conditions, the database server
  612. * receives a SHOW STATUS query at an average interval of this many microseconds
  613. */
  614. $wgDBAvgStatusPoll = 2000;
  615. /** Set to true if using InnoDB tables */
  616. $wgDBtransactions = false;
  617. /** Set to true for compatibility with extensions that might be checking.
  618. * MySQL 3.23.x is no longer supported. */
  619. $wgDBmysql4 = true;
  620. /**
  621. * Set to true to engage MySQL 4.1/5.0 charset-related features;
  622. * for now will just cause sending of 'SET NAMES=utf8' on connect.
  623. *
  624. * WARNING: THIS IS EXPERIMENTAL!
  625. *
  626. * May break if you're not using the table defs from mysql5/tables.sql.
  627. * May break if you're upgrading an existing wiki if set differently.
  628. * Broken symptoms likely to include incorrect behavior with page titles,
  629. * usernames, comments etc containing non-ASCII characters.
  630. * Might also cause failures on the object cache and other things.
  631. *
  632. * Even correct usage may cause failures with Unicode supplementary
  633. * characters (those not in the Basic Multilingual Plane) unless MySQL
  634. * has enhanced their Unicode support.
  635. */
  636. $wgDBmysql5 = false;
  637. /**
  638. * Other wikis on this site, can be administered from a single developer
  639. * account.
  640. * Array numeric key => database name
  641. */
  642. $wgLocalDatabases = array();
  643. /** @{
  644. * Object cache settings
  645. * See Defines.php for types
  646. */
  647. $wgMainCacheType = CACHE_NONE;
  648. $wgMessageCacheType = CACHE_ANYTHING;
  649. $wgParserCacheType = CACHE_ANYTHING;
  650. /**@}*/
  651. $wgParserCacheExpireTime = 86400;
  652. $wgSessionsInMemcached = false;
  653. /**@{
  654. * Memcached-specific settings
  655. * See docs/memcached.txt
  656. */
  657. $wgUseMemCached = false;
  658. $wgMemCachedDebug = false; ///< Will be set to false in Setup.php, if the server isn't working
  659. $wgMemCachedServers = array( '127.0.0.1:11000' );
  660. $wgMemCachedPersistent = false;
  661. /**@}*/
  662. /**
  663. * Directory for local copy of message cache, for use in addition to memcached
  664. */
  665. $wgLocalMessageCache = false;
  666. /**
  667. * Defines format of local cache
  668. * true - Serialized object
  669. * false - PHP source file (Warning - security risk)
  670. */
  671. $wgLocalMessageCacheSerialized = true;
  672. # Language settings
  673. #
  674. /** Site language code, should be one of ./languages/Language(.*).php */
  675. $wgLanguageCode = 'en';
  676. /**
  677. * Some languages need different word forms, usually for different cases.
  678. * Used in Language::convertGrammar().
  679. */
  680. $wgGrammarForms = array();
  681. #$wgGrammarForms['en']['genitive']['car'] = 'car\'s';
  682. /** Treat language links as magic connectors, not inline links */
  683. $wgInterwikiMagic = true;
  684. /** Hide interlanguage links from the sidebar */
  685. $wgHideInterlanguageLinks = false;
  686. /** List of language names or overrides for default names in Names.php */
  687. $wgExtraLanguageNames = array();
  688. /** We speak UTF-8 all the time now, unless some oddities happen */
  689. $wgInputEncoding = 'UTF-8';
  690. $wgOutputEncoding = 'UTF-8';
  691. $wgEditEncoding = '';
  692. /**
  693. * Locale for LC_CTYPE, to work around http://bugs.php.net/bug.php?id=45132
  694. * For Unix-like operating systems, set this to to a locale that has a UTF-8
  695. * character set. Only the character set is relevant.
  696. */
  697. $wgShellLocale = 'en_US.utf8';
  698. /**
  699. * Set this to eg 'ISO-8859-1' to perform character set
  700. * conversion when loading old revisions not marked with
  701. * "utf-8" flag. Use this when converting wiki to UTF-8
  702. * without the burdensome mass conversion of old text data.
  703. *
  704. * NOTE! This DOES NOT touch any fields other than old_text.
  705. * Titles, comments, user names, etc still must be converted
  706. * en masse in the database before continuing as a UTF-8 wiki.
  707. */
  708. $wgLegacyEncoding = false;
  709. /**
  710. * If set to true, the MediaWiki 1.4 to 1.5 schema conversion will
  711. * create stub reference rows in the text table instead of copying
  712. * the full text of all current entries from 'cur' to 'text'.
  713. *
  714. * This will speed up the conversion step for large sites, but
  715. * requires that the cur table be kept around for those revisions
  716. * to remain viewable.
  717. *
  718. * maintenance/migrateCurStubs.php can be used to complete the
  719. * migration in the background once the wiki is back online.
  720. *
  721. * This option affects the updaters *only*. Any present cur stub
  722. * revisions will be readable at runtime regardless of this setting.
  723. */
  724. $wgLegacySchemaConversion = false;
  725. $wgMimeType = 'text/html';
  726. $wgJsMimeType = 'text/javascript';
  727. $wgDocType = '-//W3C//DTD XHTML 1.0 Transitional//EN';
  728. $wgDTD = 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd';
  729. $wgXhtmlDefaultNamespace = 'http://www.w3.org/1999/xhtml';
  730. /**
  731. * Permit other namespaces in addition to the w3.org default.
  732. * Use the prefix for the key and the namespace for the value. For
  733. * example:
  734. * $wgXhtmlNamespaces['svg'] = 'http://www.w3.org/2000/svg';
  735. * Normally we wouldn't have to define this in the root <html>
  736. * element, but IE needs it there in some circumstances.
  737. */
  738. $wgXhtmlNamespaces = array();
  739. /** Enable to allow rewriting dates in page text.
  740. * DOES NOT FORMAT CORRECTLY FOR MOST LANGUAGES */
  741. $wgUseDynamicDates = false;
  742. /** Enable dates like 'May 12' instead of '12 May', this only takes effect if
  743. * the interface is set to English
  744. */
  745. $wgAmericanDates = false;
  746. /**
  747. * For Hindi and Arabic use local numerals instead of Western style (0-9)
  748. * numerals in interface.
  749. */
  750. $wgTranslateNumerals = true;
  751. /**
  752. * Translation using MediaWiki: namespace.
  753. * Interface messages will be loaded from the database.
  754. */
  755. $wgUseDatabaseMessages = true;
  756. /**
  757. * Expiry time for the message cache key
  758. */
  759. $wgMsgCacheExpiry = 86400;
  760. /**
  761. * Maximum entry size in the message cache, in bytes
  762. */
  763. $wgMaxMsgCacheEntrySize = 10000;
  764. /**
  765. * If true, serialized versions of the messages arrays will be
  766. * read from the 'serialized' subdirectory if they are present.
  767. * Set to false to always use the Messages files, regardless of
  768. * whether they are up to date or not.
  769. */
  770. $wgEnableSerializedMessages = true;
  771. /**
  772. * Set to false if you are thorough system admin who always remembers to keep
  773. * serialized files up to date to save few mtime calls.
  774. */
  775. $wgCheckSerialized = true;
  776. /** Whether to enable language variant conversion. */
  777. $wgDisableLangConversion = false;
  778. /** Whether to enable language variant conversion for links. */
  779. $wgDisableTitleConversion = false;
  780. /** Default variant code, if false, the default will be the language code */
  781. $wgDefaultLanguageVariant = false;
  782. /**
  783. * Show a bar of language selection links in the user login and user
  784. * registration forms; edit the "loginlanguagelinks" message to
  785. * customise these
  786. */
  787. $wgLoginLanguageSelector = false;
  788. /**
  789. * Whether to use zhdaemon to perform Chinese text processing
  790. * zhdaemon is under developement, so normally you don't want to
  791. * use it unless for testing
  792. */
  793. $wgUseZhdaemon = false;
  794. $wgZhdaemonHost="localhost";
  795. $wgZhdaemonPort=2004;
  796. # Miscellaneous configuration settings
  797. #
  798. $wgLocalInterwiki = 'w';
  799. $wgInterwikiExpiry = 10800; # Expiry time for cache of interwiki table
  800. /** Interwiki caching settings.
  801. $wgInterwikiCache specifies path to constant database file
  802. This cdb database is generated by dumpInterwiki from maintenance
  803. and has such key formats:
  804. dbname:key - a simple key (e.g. enwiki:meta)
  805. _sitename:key - site-scope key (e.g. wiktionary:meta)
  806. __global:key - global-scope key (e.g. __global:meta)
  807. __sites:dbname - site mapping (e.g. __sites:enwiki)
  808. Sites mapping just specifies site name, other keys provide
  809. "local url" data layout.
  810. $wgInterwikiScopes specify number of domains to check for messages:
  811. 1 - Just wiki(db)-level
  812. 2 - wiki and global levels
  813. 3 - site levels
  814. $wgInterwikiFallbackSite - if unable to resolve from cache
  815. */
  816. $wgInterwikiCache = false;
  817. $wgInterwikiScopes = 3;
  818. $wgInterwikiFallbackSite = 'wiki';
  819. /**
  820. * If local interwikis are set up which allow redirects,
  821. * set this regexp to restrict URLs which will be displayed
  822. * as 'redirected from' links.
  823. *
  824. * It might look something like this:
  825. * $wgRedirectSources = '!^https?://[a-z-]+\.wikipedia\.org/!';
  826. *
  827. * Leave at false to avoid displaying any incoming redirect markers.
  828. * This does not affect intra-wiki redirects, which don't change
  829. * the URL.
  830. */
  831. $wgRedirectSources = false;
  832. $wgShowIPinHeader = true; # For non-logged in users
  833. $wgMaxSigChars = 255; # Maximum number of Unicode characters in signature
  834. $wgMaxArticleSize = 2048; # Maximum article size in kilobytes
  835. # Maximum number of bytes in username. You want to run the maintenance
  836. # script ./maintenancecheckUsernames.php once you have changed this value
  837. $wgMaxNameChars = 255;
  838. $wgMaxPPNodeCount = 1000000; # A complexity limit on template expansion
  839. /**
  840. * Maximum recursion depth for templates within templates.
  841. * The current parser adds two levels to the PHP call stack for each template,
  842. * and xdebug limits the call stack to 100 by default. So this should hopefully
  843. * stop the parser before it hits the xdebug limit.
  844. */
  845. $wgMaxTemplateDepth = 40;
  846. $wgMaxPPExpandDepth = 40;
  847. /**
  848. * If true, removes (substitutes) templates in "~~~~" signatures.
  849. */
  850. $wgCleanSignatures = true;
  851. $wgExtraSubtitle = '';
  852. $wgSiteSupportPage = ''; # A page where you users can receive donations
  853. /**
  854. * Set this to a string to put the wiki into read-only mode. The text will be
  855. * used as an explanation to users.
  856. *
  857. * This prevents most write operations via the web interface. Cache updates may
  858. * still be possible. To prevent database writes completely, use the read_only
  859. * option in MySQL.
  860. */
  861. $wgReadOnly = null;
  862. /***
  863. * If this lock file exists (size > 0), the wiki will be forced into read-only mode.
  864. * Its contents will be shown to users as part of the read-only warning
  865. * message.
  866. */
  867. $wgReadOnlyFile = false; ///< defaults to "{$wgUploadDirectory}/lock_yBgMBwiR";
  868. /**
  869. * Filename for debug logging. See http://www.mediawiki.org/wiki/How_to_debug
  870. * The debug log file should be not be publicly accessible if it is used, as it
  871. * may contain private data.
  872. */
  873. $wgDebugLogFile = '';
  874. /**
  875. * Prefix for debug log lines
  876. */
  877. $wgDebugLogPrefix = '';
  878. /**
  879. * If true, instead of redirecting, show a page with a link to the redirect
  880. * destination. This allows for the inspection of PHP error messages, and easy
  881. * resubmission of form data. For developer use only.
  882. */
  883. $wgDebugRedirects = false;
  884. /**
  885. * If true, log debugging data from action=raw.
  886. * This is normally false to avoid overlapping debug entries due to gen=css and
  887. * gen=js requests.
  888. */
  889. $wgDebugRawPage = false;
  890. /**
  891. * Send debug data to an HTML comment in the output.
  892. *
  893. * This may occasionally be useful when supporting a non-technical end-user. It's
  894. * more secure than exposing the debug log file to the web, since the output only
  895. * contains private data for the current user. But it's not ideal for development
  896. * use since data is lost on fatal errors and redirects.
  897. */
  898. $wgDebugComments = false;
  899. /** Does nothing. Obsolete? */
  900. $wgLogQueries = false;
  901. /**
  902. * Write SQL queries to the debug log
  903. */
  904. $wgDebugDumpSql = false;
  905. /**
  906. * Set to an array of log group keys to filenames.
  907. * If set, wfDebugLog() output for that group will go to that file instead
  908. * of the regular $wgDebugLogFile. Useful for enabling selective logging
  909. * in production.
  910. */
  911. $wgDebugLogGroups = array();
  912. /**
  913. * Display debug data at the bottom of the main content area.
  914. *
  915. * Useful for developers and technical users trying to working on a closed wiki.
  916. */
  917. $wgShowDebug = false;
  918. /**
  919. * Show the contents of $wgHooks in Special:Version
  920. */
  921. $wgSpecialVersionShowHooks = false;
  922. /**
  923. * Whether to show "we're sorry, but there has been a database error" pages.
  924. * Displaying errors aids in debugging, but may display information useful
  925. * to an attacker.
  926. */
  927. $wgShowSQLErrors = false;
  928. /**
  929. * If true, some error messages will be colorized when running scripts on the
  930. * command line; this can aid picking important things out when debugging.
  931. * Ignored when running on Windows or when output is redirected to a file.
  932. */
  933. $wgColorErrors = true;
  934. /**
  935. * If set to true, uncaught exceptions will print a complete stack trace
  936. * to output. This should only be used for debugging, as it may reveal
  937. * private information in function parameters due to PHP's backtrace
  938. * formatting.
  939. */
  940. $wgShowExceptionDetails = false;
  941. /**
  942. * Expose backend server host names through the API and various HTML comments
  943. */
  944. $wgShowHostnames = false;
  945. /**
  946. * Use experimental, DMOZ-like category browser
  947. */
  948. $wgUseCategoryBrowser = false;
  949. /**
  950. * Keep parsed pages in a cache (objectcache table, turck, or memcached)
  951. * to speed up output of the same page viewed by another user with the
  952. * same options.
  953. *
  954. * This can provide a significant speedup for medium to large pages,
  955. * so you probably want to keep it on. Extensions that conflict with the
  956. * parser cache should disable the cache on a per-page basis instead.
  957. */
  958. $wgEnableParserCache = true;
  959. /**
  960. * Append a configured value to the parser cache and the sitenotice key so
  961. * that they can be kept separate for some class of activity.
  962. */
  963. $wgRenderHashAppend = '';
  964. /**
  965. * If on, the sidebar navigation links are cached for users with the
  966. * current language set. This can save a touch of load on a busy site
  967. * by shaving off extra message lookups.
  968. *
  969. * However it is also fragile: changing the site configuration, or
  970. * having a variable $wgArticlePath, can produce broken links that
  971. * don't update as expected.
  972. */
  973. $wgEnableSidebarCache = false;
  974. /**
  975. * Expiry time for the sidebar cache, in seconds
  976. */
  977. $wgSidebarCacheExpiry = 86400;
  978. /**
  979. * Under which condition should a page in the main namespace be counted
  980. * as a valid article? If $wgUseCommaCount is set to true, it will be
  981. * counted if it contains at least one comma. If it is set to false
  982. * (default), it will only be counted if it contains at least one [[wiki
  983. * link]]. See http://meta.wikimedia.org/wiki/Help:Article_count
  984. *
  985. * Retroactively changing this variable will not affect
  986. * the existing count (cf. maintenance/recount.sql).
  987. */
  988. $wgUseCommaCount = false;
  989. /**
  990. * wgHitcounterUpdateFreq sets how often page counters should be updated, higher
  991. * values are easier on the database. A value of 1 causes the counters to be
  992. * updated on every hit, any higher value n cause them to update *on average*
  993. * every n hits. Should be set to either 1 or something largish, eg 1000, for
  994. * maximum efficiency.
  995. */
  996. $wgHitcounterUpdateFreq = 1;
  997. # Basic user rights and block settings
  998. $wgSysopUserBans = true; # Allow sysops to ban logged-in users
  999. $wgSysopRangeBans = true; # Allow sysops to ban IP ranges
  1000. $wgAutoblockExpiry = 86400; # Number of seconds before autoblock entries expire
  1001. $wgBlockAllowsUTEdit = false; # Default setting for option on block form to allow self talkpage editing whilst blocked
  1002. $wgSysopEmailBans = true; # Allow sysops to ban users from accessing Emailuser
  1003. # Pages anonymous user may see as an array, e.g.:
  1004. # array ( "Main Page", "Wikipedia:Help");
  1005. # Special:Userlogin and Special:Resetpass are always whitelisted.
  1006. # NOTE: This will only work if $wgGroupPermissions['*']['read']
  1007. # is false -- see below. Otherwise, ALL pages are accessible,
  1008. # regardless of this setting.
  1009. # Also note that this will only protect _pages in the wiki_.
  1010. # Uploaded files will remain readable. Make your upload
  1011. # directory name unguessable, or use .htaccess to protect it.
  1012. $wgWhitelistRead = false;
  1013. /**
  1014. * Should editors be required to have a validated e-mail
  1015. * address before being allowed to edit?
  1016. */
  1017. $wgEmailConfirmToEdit=false;
  1018. /**
  1019. * Permission keys given to users in each group.
  1020. * All users are implicitly in the '*' group including anonymous visitors;
  1021. * logged-in users are all implicitly in the 'user' group. These will be
  1022. * combined with the permissions of all groups that a given user is listed
  1023. * in in the user_groups table.
  1024. *
  1025. * Note: Don't set $wgGroupPermissions = array(); unless you know what you're
  1026. * doing! This will wipe all permissions, and may mean that your users are
  1027. * unable to perform certain essential tasks or access new functionality
  1028. * when new permissions are introduced and default grants established.
  1029. *
  1030. * Functionality to make pages inaccessible has not been extensively tested
  1031. * for security. Use at your own risk!
  1032. *
  1033. * This replaces wgWhitelistAccount and wgWhitelistEdit
  1034. */
  1035. $wgGroupPermissions = array();
  1036. // Implicit group for all visitors
  1037. $wgGroupPermissions['*']['createaccount'] = true;
  1038. $wgGroupPermissions['*']['read'] = true;
  1039. $wgGroupPermissions['*']['edit'] = true;
  1040. $wgGroupPermissions['*']['createpage'] = true;
  1041. $wgGroupPermissions['*']['createtalk'] = true;
  1042. $wgGroupPermissions['*']['writeapi'] = true;
  1043. // Implicit group for all logged-in accounts
  1044. $wgGroupPermissions['user']['move'] = true;
  1045. $wgGroupPermissions['user']['move-subpages'] = true;
  1046. $wgGroupPermissions['user']['move-rootuserpages'] = true; // can move root userpages
  1047. //$wgGroupPermissions['user']['movefile'] = true; // Disabled for now due to possible bugs and security concerns
  1048. $wgGroupPermissions['user']['read'] = true;
  1049. $wgGroupPermissions['user']['edit'] = true;
  1050. $wgGroupPermissions['user']['createpage'] = true;
  1051. $wgGroupPermissions['user']['createtalk'] = true;
  1052. $wgGroupPermissions['user']['writeapi'] = true;
  1053. $wgGroupPermissions['user']['upload'] = true;
  1054. $wgGroupPermissions['user']['reupload'] = true;
  1055. $wgGroupPermissions['user']['reupload-shared'] = true;
  1056. $wgGroupPermissions['user']['minoredit'] = true;
  1057. $wgGroupPermissions['user']['purge'] = true; // can use ?action=purge without clicking "ok"
  1058. // Implicit group for accounts that pass $wgAutoConfirmAge
  1059. $wgGroupPermissions['autoconfirmed']['autoconfirmed'] = true;
  1060. // Users with bot privilege can have their edits hidden
  1061. // from various log pages by default
  1062. $wgGroupPermissions['bot']['bot'] = true;
  1063. $wgGroupPermissions['bot']['autoconfirmed'] = true;
  1064. $wgGroupPermissions['bot']['nominornewtalk'] = true;
  1065. $wgGroupPermissions['bot']['autopatrol'] = true;
  1066. $wgGroupPermissions['bot']['suppressredirect'] = true;
  1067. $wgGroupPermissions['bot']['apihighlimits'] = true;
  1068. $wgGroupPermissions['bot']['writeapi'] = true;
  1069. #$wgGroupPermissions['bot']['editprotected'] = true; // can edit all protected pages without cascade protection enabled
  1070. // Most extra permission abilities go to this group
  1071. $wgGroupPermissions['sysop']['block'] = true;
  1072. $wgGroupPermissions['sysop']['createaccount'] = true;
  1073. $wgGroupPermissions['sysop']['delete'] = true;
  1074. $wgGroupPermissions['sysop']['bigdelete'] = true; // can be separately configured for pages with > $wgDeleteRevisionsLimit revs
  1075. $wgGroupPermissions['sysop']['deletedhistory'] = true; // can view deleted history entries, but not see or restore the text
  1076. $wgGroupPermissions['sysop']['undelete'] = true;
  1077. $wgGroupPermissions['sysop']['editinterface'] = true;
  1078. $wgGroupPermissions['sysop']['editusercssjs'] = true;
  1079. $wgGroupPermissions['sysop']['import'] = true;
  1080. $wgGroupPermissions['sysop']['importupload'] = true;
  1081. $wgGroupPermissions['sysop']['move'] = true;
  1082. $wgGroupPermissions['sysop']['move-subpages'] = true;
  1083. $wgGroupPermissions['sysop']['move-rootuserpages'] = true;
  1084. $wgGroupPermissions['sysop']['patrol'] = true;
  1085. $wgGroupPermissions['sysop']['autopatrol'] = true;
  1086. $wgGroupPermissions['sysop']['protect'] = true;
  1087. $wgGroupPermissions['sysop']['proxyunbannable'] = true;
  1088. $wgGroupPermissions['sysop']['rollback'] = true;
  1089. $wgGroupPermissions['sysop']['trackback'] = true;
  1090. $wgGroupPermissions['sysop']['upload'] = true;
  1091. $wgGroupPermissions['sysop']['reupload'] = true;
  1092. $wgGroupPermissions['sysop']['reupload-shared'] = true;
  1093. $wgGroupPermissions['sysop']['unwatchedpages'] = true;
  1094. $wgGroupPermissions['sysop']['autoconfirmed'] = true;
  1095. $wgGroupPermissions['sysop']['upload_by_url'] = true;
  1096. $wgGroupPermissions['sysop']['ipblock-exempt'] = true;
  1097. $wgGroupPermissions['sysop']['blockemail'] = true;
  1098. $wgGroupPermissions['sysop']['markbotedits'] = true;
  1099. $wgGroupPermissions['sysop']['apihighlimits'] = true;
  1100. $wgGroupPermissions['sysop']['browsearchive'] = true;
  1101. $wgGroupPermissions['sysop']['noratelimit'] = true;
  1102. $wgGroupPermissions['sysop']['movefile'] = true;
  1103. #$wgGroupPermissions['sysop']['mergehistory'] = true;
  1104. // Permission to change users' group assignments
  1105. $wgGroupPermissions['bureaucrat']['userrights'] = true;
  1106. $wgGroupPermissions['bureaucrat']['noratelimit'] = true;
  1107. // Permission to change users' groups assignments across wikis
  1108. #$wgGroupPermissions['bureaucrat']['userrights-interwiki'] = true;
  1109. // Permission to export pages including linked pages regardless of $wgExportMaxLinkDepth
  1110. #$wgGroupPermissions['bureaucrat']['override-export-depth'] = true;
  1111. #$wgGroupPermissions['sysop']['deleterevision'] = true;
  1112. // To hide usernames from users and Sysops
  1113. #$wgGroupPermissions['suppress']['hideuser'] = true;
  1114. // To hide revisions/log items from users and Sysops
  1115. #$wgGroupPermissions['suppress']['suppressrevision'] = true;
  1116. // For private suppression log access
  1117. #$wgGroupPermissions['suppress']['suppressionlog'] = true;
  1118. /**
  1119. * The developer group is deprecated, but can be activated if need be
  1120. * to use the 'lockdb' and 'unlockdb' special pages. Those require
  1121. * that a lock file be defined and creatable/removable by the web
  1122. * server.
  1123. */
  1124. # $wgGroupPermissions['developer']['siteadmin'] = true;
  1125. /**
  1126. * Implicit groups, aren't shown on Special:Listusers or somewhere else
  1127. */
  1128. $wgImplicitGroups = array( '*', 'user', 'autoconfirmed' );
  1129. /**
  1130. * A map of group names that the user is in, to group names that those users
  1131. * are allowed to add or revoke.
  1132. *
  1133. * Setting the list of groups to add or revoke to true is equivalent to "any group".
  1134. *
  1135. * For example, to allow sysops to add themselves to the "bot" group:
  1136. *
  1137. * $wgGroupsAddToSelf = array( 'sysop' => array( 'bot' ) );
  1138. *
  1139. * Implicit groups may be used for the source group, for instance:
  1140. *
  1141. * $wgGroupsRemoveFromSelf = array( '*' => true );
  1142. *
  1143. * This allows users in the '*' group (i.e. any user) to remove themselves from
  1144. * any group that they happen to be in.
  1145. *
  1146. */
  1147. $wgGroupsAddToSelf = array();
  1148. $wgGroupsRemoveFromSelf = array();
  1149. /**
  1150. * Set of available actions that can be restricted via action=protect
  1151. * You probably shouldn't change this.
  1152. * Translated through restriction-* messages.
  1153. */
  1154. $wgRestrictionTypes = array( 'edit', 'move' );
  1155. /**
  1156. * Rights which can be required for each protection level (via action=protect)
  1157. *
  1158. * You can add a new protection level that requires a specific
  1159. * permission by manipulating this array. The ordering of elements
  1160. * dictates the order on the protection form's lists.
  1161. *
  1162. * '' will be ignored (i.e. unprotected)
  1163. * 'sysop' is quietly rewritten to 'protect' for backwards compatibility
  1164. */
  1165. $wgRestrictionLevels = array( '', 'autoconfirmed', 'sysop' );
  1166. /**
  1167. * Set the minimum permissions required to edit pages in each
  1168. * namespace. If you list more than one permission, a user must
  1169. * have all of them to edit pages in that namespace.
  1170. *
  1171. * Note: NS_MEDIAWIKI is implicitly restricted to editinterface.
  1172. */
  1173. $wgNamespaceProtection = array();
  1174. /**
  1175. * Pages in namespaces in this array can not be used as templates.
  1176. * Elements must be numeric namespace ids.
  1177. * Among other things, this may be useful to enforce read-restrictions
  1178. * which may otherwise be bypassed by using the template machanism.
  1179. */
  1180. $wgNonincludableNamespaces = array();
  1181. /**
  1182. * Number of seconds an account is required to age before
  1183. * it's given the implicit 'autoconfirm' group membership.
  1184. * This can be used to limit privileges of new accounts.
  1185. *
  1186. * Accounts created by earlier versions of the software
  1187. * may not have a recorded creation date, and will always
  1188. * be considered to pass the age test.
  1189. *
  1190. * When left at 0, all registered accounts will pass.
  1191. */
  1192. $wgAutoConfirmAge = 0;
  1193. //$wgAutoConfirmAge = 600; // ten minutes
  1194. //$wgAutoConfirmAge = 3600*24; // one day
  1195. # Number of edits an account requires before it is autoconfirmed
  1196. # Passing both this AND the time requirement is needed
  1197. $wgAutoConfirmCount = 0;
  1198. //$wgAutoConfirmCount = 50;
  1199. /**
  1200. * Automatically add a usergroup to any user who matches certain conditions.
  1201. * The format is
  1202. * array( '&' or '|' or '^', cond1, cond2, ... )
  1203. * where cond1, cond2, ... are themselves conditions; *OR*
  1204. * APCOND_EMAILCONFIRMED, *OR*
  1205. * array( APCOND_EMAILCONFIRMED ), *OR*
  1206. * array( APCOND_EDITCOUNT, number of edits ), *OR*
  1207. * array( APCOND_AGE, seconds since registration ), *OR*
  1208. * array( APCOND_INGROUPS, group1, group2, ... ), *OR*
  1209. * array( APCOND_ISIP, ip ), *OR*
  1210. * array( APCOND_IPINRANGE, range ), *OR*
  1211. * array( APCOND_AGE_FROM_EDIT, seconds since first edit ), *OR*
  1212. * similar constructs defined by extensions.
  1213. *
  1214. * If $wgEmailAuthentication is off, APCOND_EMAILCONFIRMED will be true for any
  1215. * user who has provided an e-mail address.
  1216. */
  1217. $wgAutopromote = array(
  1218. 'autoconfirmed' => array( '&',
  1219. array( APCOND_EDITCOUNT, &$wgAutoConfirmCount ),
  1220. array( APCOND_AGE, &$wgAutoConfirmAge ),
  1221. ),
  1222. );
  1223. /**
  1224. * These settings can be used to give finer control over who can assign which
  1225. * groups at Special:Userrights. Example configuration:
  1226. *
  1227. * // Bureaucrat can add any group
  1228. * $wgAddGroups['bureaucrat'] = true;
  1229. * // Bureaucrats can only remove bots and sysops
  1230. * $wgRemoveGroups['bureaucrat'] = array( 'bot', 'sysop' );
  1231. * // Sysops can make bots
  1232. * $wgAddGroups['sysop'] = array( 'bot' );
  1233. * // Sysops can disable other sysops in an emergency, and disable bots
  1234. * $wgRemoveGroups['sysop'] = array( 'sysop', 'bot' );
  1235. */
  1236. $wgAddGroups = array();
  1237. $wgRemoveGroups = array();
  1238. /**
  1239. * A list of available rights, in addition to the ones defined by the core.
  1240. * For extensions only.
  1241. */
  1242. $wgAvailableRights = array();
  1243. /**
  1244. * Optional to restrict deletion of pages with higher revision counts
  1245. * to users with the 'bigdelete' permission. (Default given to sysops.)
  1246. */
  1247. $wgDeleteRevisionsLimit = 0;
  1248. /**
  1249. * Used to figure out if a user is "active" or not. User::isActiveEditor()
  1250. * sees if a user has made at least $wgActiveUserEditCount number of edits
  1251. * within the last $wgActiveUserDays days.
  1252. */
  1253. $wgActiveUserEditCount = 30;
  1254. $wgActiveUserDays = 30;
  1255. # Proxy scanner settings
  1256. #
  1257. /**
  1258. * If you enable this, every editor's IP address will be scanned for open HTTP
  1259. * proxies.
  1260. *
  1261. * Don't enable this. Many sysops will report "hostile TCP port scans" to your
  1262. * ISP and ask for your server to be shut down.
  1263. *
  1264. * You have been warned.
  1265. */
  1266. $wgBlockOpenProxies = false;
  1267. /** Port we want to scan for a proxy */
  1268. $wgProxyPorts = array( 80, 81, 1080, 3128, 6588, 8000, 8080, 8888, 65506 );
  1269. /** Script used to scan */
  1270. $wgProxyScriptPath = "$IP/includes/proxy_check.php";
  1271. /** */
  1272. $wgProxyMemcExpiry = 86400;
  1273. /** This should always be customised in LocalSettings.php */
  1274. $wgSecretKey = false;
  1275. /** big list of banned IP addresses, in the keys not the values */
  1276. $wgProxyList = array();
  1277. /** deprecated */
  1278. $wgProxyKey = false;
  1279. /** Number of accounts each IP address may create, 0 to disable.
  1280. * Requires memcached */
  1281. $wgAccountCreationThrottle = 0;
  1282. # Client-side caching:
  1283. /** Allow client-side caching of pages */
  1284. $wgCachePages = true;
  1285. /**
  1286. * Set this to current time to invalidate all prior cached pages. Affects both
  1287. * client- and server-side caching.
  1288. * You can get the current date on your server by using the command:
  1289. * date +%Y%m%d%H%M%S
  1290. */
  1291. $wgCacheEpoch = '20030516000000';
  1292. /**
  1293. * Bump this number when changing the global style sheets and JavaScript.
  1294. * It should be appended in the query string of static CSS and JS includes,
  1295. * to ensure that client-side caches don't keep obsolete copies of global
  1296. * styles.
  1297. */
  1298. $wgStyleVersion = '207';
  1299. # Server-side caching:
  1300. /**
  1301. * This will cache static pages for non-logged-in users to reduce
  1302. * database traffic on public sites.
  1303. * Must set $wgShowIPinHeader = false
  1304. */
  1305. $wgUseFileCache = false;
  1306. /** Directory where the cached page will be saved */
  1307. $wgFileCacheDirectory = false; ///< defaults to "{$wgUploadDirectory}/cache";
  1308. /**
  1309. * When using the file cache, we can store the cached HTML gzipped to save disk
  1310. * space. Pages will then also be served compressed to clients that support it.
  1311. * THIS IS NOT COMPATIBLE with ob_gzhandler which is now enabled if supported in
  1312. * the default LocalSettings.php! If you enable this, remove that setting first.
  1313. *
  1314. * Requires zlib support enabled in PHP.
  1315. */
  1316. $wgUseGzip = false;
  1317. /** Whether MediaWiki should send an ETag header */
  1318. $wgUseETag = false;
  1319. # Email notification settings
  1320. #
  1321. /** For email notification on page changes */
  1322. $wgPasswordSender = $wgEmergencyContact;
  1323. # true: from page editor if s/he opted-in
  1324. # false: Enotif mails appear to come from $wgEmergencyContact
  1325. $wgEnotifFromEditor = false;
  1326. // TODO move UPO to preferences probably ?
  1327. # If set to true, users get a corresponding option in their preferences and can choose to enable or disable at their discretion
  1328. # If set to false, the corresponding input form on the user preference page is suppressed
  1329. # It call this to be a "user-preferences-option (UPO)"
  1330. $wgEmailAuthentication = true; # UPO (if this is set to false, texts referring to authentication are suppressed)
  1331. $wgEnotifWatchlist = false; # UPO
  1332. $wgEnotifUserTalk = false; # UPO
  1333. $wgEnotifRevealEditorAddress = false; # UPO; reply-to address may be filled with page editor's address (if user allowed this in the preferences)
  1334. $wgEnotifMinorEdits = true; # UPO; false: "minor edits" on pages do not trigger notification mails.
  1335. # # Attention: _every_ change on a user_talk page trigger a notification mail (if the user is not yet notified)
  1336. # Send a generic mail instead of a personalised mail for each user. This
  1337. # always uses UTC as the time zone, and doesn't include the username.
  1338. #
  1339. # For pages with many users watching, this can significantly reduce mail load.
  1340. # Has no effect when using sendmail rather than SMTP;
  1341. $wgEnotifImpersonal = false;
  1342. # Maximum number of users to mail at once when using impersonal mail. Should
  1343. # match the limit on your mail server.
  1344. $wgEnotifMaxRecips = 500;
  1345. # Send mails via the job queue.
  1346. $wgEnotifUseJobQ = false;
  1347. # Use real name instead of username in e-mail "from" field
  1348. $wgEnotifUseRealName = false;
  1349. /**
  1350. * Array of usernames who will be sent a notification email for every change which occurs on a wiki
  1351. */
  1352. $wgUsersNotifiedOnAllChanges = array();
  1353. /** Show watching users in recent changes, watchlist and page history views */
  1354. $wgRCShowWatchingUsers = false; # UPO
  1355. /** Show watching users in Page views */
  1356. $wgPageShowWatchingUsers = false;
  1357. /** Show the amount of changed characters in recent changes */
  1358. $wgRCShowChangedSize = true;
  1359. /**
  1360. * If the difference between the character counts of the text
  1361. * before and after the edit is below that value, the value will be
  1362. * highlighted on the RC page.
  1363. */
  1364. $wgRCChangedSizeThreshold = 500;
  1365. /**
  1366. * Show "Updated (since my last visit)" marker in RC view, watchlist and history
  1367. * view for watched pages with new changes */
  1368. $wgShowUpdatedMarker = true;
  1369. /**
  1370. * Default cookie expiration time. Setting to 0 makes all cookies session-only.
  1371. */
  1372. $wgCookieExpiration = 30*86400;
  1373. /** Clock skew or the one-second resolution of time() can occasionally cause cache
  1374. * problems when the user requests two pages within a short period of time. This
  1375. * variable adds a given number of seconds to vulnerable timestamps, thereby giving
  1376. * a grace period.
  1377. */
  1378. $wgClockSkewFudge = 5;
  1379. # Squid-related settings
  1380. #
  1381. /** Enable/disable Squid */
  1382. $wgUseSquid = false;
  1383. /** If you run Squid3 with ESI support, enable this (default:false): */
  1384. $wgUseESI = false;
  1385. /** Internal server name as known to Squid, if different */
  1386. # $wgInternalServer = 'http://yourinternal.tld:8000';
  1387. $wgInternalServer = $wgServer;
  1388. /**
  1389. * Cache timeout for the squid, will be sent as s-maxage (without ESI) or
  1390. * Surrogate-Control (with ESI). Without ESI, you should strip out s-maxage in
  1391. * the Squid config. 18000 seconds = 5 hours, more cache hits with 2678400 = 31
  1392. * days
  1393. */
  1394. $wgSquidMaxage = 18000;
  1395. /**
  1396. * Default maximum age for raw CSS/JS accesses
  1397. */
  1398. $wgForcedRawSMaxage = 300;
  1399. /**
  1400. * List of proxy servers to purge on changes; default port is 80. Use IP addresses.
  1401. *
  1402. * When MediaWiki is running behind a proxy, it will trust X-Forwarded-For
  1403. * headers sent/modified from these proxies when obtaining the remote IP address
  1404. *
  1405. * For a list of trusted servers which *aren't* purged, see $wgSquidServersNoPurge.
  1406. */
  1407. $wgSquidServers = array();
  1408. /**
  1409. * As above, except these servers aren't purged on page changes; use to set a
  1410. * list of trusted proxies, etc.
  1411. */
  1412. $wgSquidServersNoPurge = array();
  1413. /** Maximum number of titles to purge in any one client operation */
  1414. $wgMaxSquidPurgeTitles = 400;
  1415. /** HTCP multicast purging */
  1416. $wgHTCPPort = 4827;
  1417. $wgHTCPMulticastTTL = 1;
  1418. # $wgHTCPMulticastAddress = "224.0.0.85";
  1419. $wgHTCPMulticastAddress = false;
  1420. /** Should forwarded Private IPs be accepted? */
  1421. $wgUsePrivateIPs = false;
  1422. # Cookie settings:
  1423. #
  1424. /**
  1425. * Set to set an explicit domain on the login cookies eg, "justthis.domain. org"
  1426. * or ".any.subdomain.net"
  1427. */
  1428. $wgCookieDomain = '';
  1429. $wgCookiePath = '/';
  1430. $wgCookieSecure = ($wgProto == 'https');
  1431. $wgDisableCookieCheck = false;
  1432. /**
  1433. * Set $wgCookiePrefix to use a custom one. Setting to false sets the default of
  1434. * using the database name.
  1435. */
  1436. $wgCookiePrefix = false;
  1437. /**
  1438. * Set authentication cookies to HttpOnly to prevent access by JavaScript,
  1439. * in browsers that support this feature. This can mitigates some classes of
  1440. * XSS attack.
  1441. *
  1442. * Only supported on PHP 5.2 or higher.
  1443. */
  1444. $wgCookieHttpOnly = version_compare("5.2", PHP_VERSION, "<");
  1445. /**
  1446. * If the requesting browser matches a regex in this blacklist, we won't
  1447. * send it cookies with HttpOnly mode, even if $wgCookieHttpOnly is on.
  1448. */
  1449. $wgHttpOnlyBlacklist = array(
  1450. // Internet Explorer for Mac; sometimes the cookies work, sometimes
  1451. // they don't. It's difficult to predict, as combinations of path
  1452. // and expiration options affect its parsing.
  1453. '/^Mozilla\/4\.0 \(compatible; MSIE \d+\.\d+; Mac_PowerPC\)/',
  1454. );
  1455. /** A list of cookies that vary the cache (for use by extensions) */
  1456. $wgCacheVaryCookies = array();
  1457. /** Override to customise the session name */
  1458. $wgSessionName = false;
  1459. /** Whether to allow inline image pointing to other websites */
  1460. $wgAllowExternalImages = false;
  1461. /** If the above is false, you can specify an exception here. Image URLs
  1462. * that start with this string are then rendered, while all others are not.
  1463. * You can use this to set up a trusted, simple repository of images.
  1464. * You may also specify an array of strings to allow multiple sites
  1465. *
  1466. * Examples:
  1467. * $wgAllowExternalImagesFrom = 'http://127.0.0.1/';
  1468. * $wgAllowExternalImagesFrom = array( 'http://127.0.0.1/', 'http://example.com' );
  1469. */
  1470. $wgAllowExternalImagesFrom = '';
  1471. /** If $wgAllowExternalImages is false, you can allow an on-wiki
  1472. * whitelist of regular expression fragments to match the image URL
  1473. * against. If the image matches one of the regular expression fragments,
  1474. * The image will be displayed.
  1475. *
  1476. * Set this to true to enable the on-wiki whitelist (MediaWiki:External image whitelist)
  1477. * Or false to disable it
  1478. */
  1479. $wgEnableImageWhitelist = true;
  1480. /** Allows to move images and other media files */
  1481. $wgAllowImageMoving = true;
  1482. /** Disable database-intensive features */
  1483. $wgMiserMode = false;
  1484. /** Disable all query pages if miser mode is on, not just some */
  1485. $wgDisableQueryPages = false;
  1486. /** Number of rows to cache in 'querycache' table when miser mode is on */
  1487. $wgQueryCacheLimit = 1000;
  1488. /** Number of links to a page required before it is deemed "wanted" */
  1489. $wgWantedPagesThreshold = 1;
  1490. /** Enable slow parser functions */
  1491. $wgAllowSlowParserFunctions = false;
  1492. /**
  1493. * Maps jobs to their handling classes; extensions
  1494. * can add to this to provide custom jobs
  1495. */
  1496. $wgJobClasses = array(
  1497. 'refreshLinks' => 'RefreshLinksJob',
  1498. 'refreshLinks2' => 'RefreshLinksJob2',
  1499. 'htmlCacheUpdate' => 'HTMLCacheUpdateJob',
  1500. 'html_cache_update' => 'HTMLCacheUpdateJob', // backwards-compatible
  1501. 'sendMail' => 'EmaillingJob',
  1502. 'enotifNotify' => 'EnotifNotifyJob',
  1503. 'fixDoubleRedirect' => 'DoubleRedirectJob',
  1504. );
  1505. /**
  1506. * Additional functions to be performed with updateSpecialPages.
  1507. * Expensive Querypages are already updated.
  1508. */
  1509. $wgSpecialPageCacheUpdates = array(
  1510. 'Statistics' => array('SiteStatsUpdate','cacheUpdate')
  1511. );
  1512. /**
  1513. * To use inline TeX, you need to compile 'texvc' (in the 'math' subdirectory of
  1514. * the MediaWiki package and have latex, dvips, gs (ghostscript), andconvert
  1515. * (ImageMagick) installed and available in the PATH.
  1516. * Please see math/README for more information.
  1517. */
  1518. $wgUseTeX = false;
  1519. /** Location of the texvc binary */
  1520. $wgTexvc = './math/texvc';
  1521. #
  1522. # Profiling / debugging
  1523. #
  1524. # You have to create a 'profiling' table in your database before using
  1525. # profiling see maintenance/archives/patch-profiling.sql .
  1526. #
  1527. # To enable profiling, edit StartProfiler.php
  1528. /** Only record profiling info for pages that took longer than this */
  1529. $wgProfileLimit = 0.0;
  1530. /** Don't put non-profiling info into log file */
  1531. $wgProfileOnly = false;
  1532. /** Log sums from profiling into "profiling" table in db. */
  1533. $wgProfileToDatabase = false;
  1534. /** If true, print a raw call tree instead of per-function report */
  1535. $wgProfileCallTree = false;
  1536. /** Should application server host be put into profiling table */
  1537. $wgProfilePerHost = false;
  1538. /** Settings for UDP profiler */
  1539. $wgUDPProfilerHost = '127.0.0.1';
  1540. $wgUDPProfilerPort = '3811';
  1541. /** Detects non-matching wfProfileIn/wfProfileOut calls */
  1542. $wgDebugProfiling = false;
  1543. /** Output debug message on every wfProfileIn/wfProfileOut */
  1544. $wgDebugFunctionEntry = 0;
  1545. /** Lots of debugging output from SquidUpdate.php */
  1546. $wgDebugSquid = false;
  1547. /*
  1548. * Destination for wfIncrStats() data...
  1549. * 'cache' to go into the system cache, if enabled (memcached)
  1550. * 'udp' to be sent to the UDP profiler (see $wgUDPProfilerHost)
  1551. * false to disable
  1552. */
  1553. $wgStatsMethod = 'cache';
  1554. /** Whereas to count the number of time an article is viewed.
  1555. * Does not work if pages are cached (for example with squid).
  1556. */
  1557. $wgDisableCounters = false;
  1558. $wgDisableTextSearch = false;
  1559. $wgDisableSearchContext = false;
  1560. /**
  1561. * Set to true to have nicer highligted text in search results,
  1562. * by default off due to execution overhead
  1563. */
  1564. $wgAdvancedSearchHighlighting = false;
  1565. /**
  1566. * Regexp to match word boundaries, defaults for non-CJK languages
  1567. * should be empty for CJK since the words are not separate
  1568. */
  1569. $wgSearchHighlightBoundaries = version_compare("5.1", PHP_VERSION, "<")? '[\p{Z}\p{P}\p{C}]'
  1570. : '[ ,.;:!?~!@#$%\^&*\(\)+=\-\\|\[\]"\'<>\n\r\/{}]'; // PHP 5.0 workaround
  1571. /**
  1572. * Template for OpenSearch suggestions, defaults to API action=opensearch
  1573. *
  1574. * Sites with heavy load would tipically have these point to a custom
  1575. * PHP wrapper to avoid firing up mediawiki for every keystroke
  1576. *
  1577. * Placeholders: {searchTerms}
  1578. *
  1579. */
  1580. $wgOpenSearchTemplate = false;
  1581. /**
  1582. * Enable suggestions while typing in search boxes
  1583. * (results are passed around in OpenSearch format)
  1584. */
  1585. $wgEnableMWSuggest = false;
  1586. /**
  1587. * Template for internal MediaWiki suggestion engine, defaults to API action=opensearch
  1588. *
  1589. * Placeholders: {searchTerms}, {namespaces}, {dbname}
  1590. *
  1591. */
  1592. $wgMWSuggestTemplate = false;
  1593. /**
  1594. * If you've disabled search semi-permanently, this also disables updates to the
  1595. * table. If you ever re-enable, be sure to rebuild the search table.
  1596. */
  1597. $wgDisableSearchUpdate = false;
  1598. /** Uploads have to be specially set up to be secure */
  1599. $wgEnableUploads = false;
  1600. /**
  1601. * Show EXIF data, on by default if available.
  1602. * Requires PHP's EXIF extension: http://www.php.net/manual/en/ref.exif.php
  1603. *
  1604. * NOTE FOR WINDOWS USERS:
  1605. * To enable EXIF functions, add the folloing lines to the
  1606. * "Windows extensions" section of php.ini:
  1607. *
  1608. * extension=extensions/php_mbstring.dll
  1609. * extension=extensions/php_exif.dll
  1610. */
  1611. $wgShowEXIF = function_exists( 'exif_read_data' );
  1612. /**
  1613. * Set to true to enable the upload _link_ while local uploads are disabled.
  1614. * Assumes that the special page link will be bounced to another server where
  1615. * uploads do work.
  1616. */
  1617. $wgRemoteUploads = false;
  1618. $wgDisableAnonTalk = false;
  1619. /**
  1620. * Do DELETE/INSERT for link updates instead of incremental
  1621. */
  1622. $wgUseDumbLinkUpdate = false;
  1623. /**
  1624. * Anti-lock flags - bitfield
  1625. * ALF_PRELOAD_LINKS
  1626. * Preload links during link update for save
  1627. * ALF_PRELOAD_EXISTENCE
  1628. * Preload cur_id during replaceLinkHolders
  1629. * ALF_NO_LINK_LOCK
  1630. * Don't use locking reads when updating the link table. This is
  1631. * necessary for wikis with a high edit rate for performance
  1632. * reasons, but may cause link table inconsistency
  1633. * ALF_NO_BLOCK_LOCK
  1634. * As for ALF_LINK_LOCK, this flag is a necessity for high-traffic
  1635. * wikis.
  1636. */
  1637. $wgAntiLockFlags = 0;
  1638. /**
  1639. * Path to the GNU diff3 utility. If the file doesn't exist, edit conflicts will
  1640. * fall back to the old behaviour (no merging).
  1641. */
  1642. $wgDiff3 = '/usr/bin/diff3';
  1643. /**
  1644. * Path to the GNU diff utility.
  1645. */
  1646. $wgDiff = '/usr/bin/diff';
  1647. /**
  1648. * We can also compress text stored in the 'text' table. If this is set on, new
  1649. * revisions will be compressed on page save if zlib support is available. Any
  1650. * compressed revisions will be decompressed on load regardless of this setting
  1651. * *but will not be readable at all* if zlib support is not available.
  1652. */
  1653. $wgCompressRevisions = false;
  1654. /**
  1655. * This is the list of preferred extensions for uploading files. Uploading files
  1656. * with extensions not in this list will trigger a warning.
  1657. */
  1658. $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg' );
  1659. /** Files with these extensions will never be allowed as uploads. */
  1660. $wgFileBlacklist = array(
  1661. # HTML may contain cookie-stealing JavaScript and web bugs
  1662. 'html', 'htm', 'js', 'jsb', 'mhtml', 'mht',
  1663. # PHP scripts may execute arbitrary code on the server
  1664. 'php', 'phtml', 'php3', 'php4', 'php5', 'phps',
  1665. # Other types that may be interpreted by some servers
  1666. 'shtml', 'jhtml', 'pl', 'py', 'cgi',
  1667. # May contain harmful executables for Windows victims
  1668. 'exe', 'scr', 'dll', 'msi', 'vbs', 'bat', 'com', 'pif', 'cmd', 'vxd', 'cpl' );
  1669. /** Files with these mime types will never be allowed as uploads
  1670. * if $wgVerifyMimeType is enabled.
  1671. */
  1672. $wgMimeTypeBlacklist= array(
  1673. # HTML may contain cookie-stealing JavaScript and web bugs
  1674. 'text/html', 'text/javascript', 'text/x-javascript', 'application/x-shellscript',
  1675. # PHP scripts may execute arbitrary code on the server
  1676. 'application/x-php', 'text/x-php',
  1677. # Other types that may be interpreted by some servers
  1678. 'text/x-python', 'text/x-perl', 'text/x-bash', 'text/x-sh', 'text/x-csh',
  1679. # Client-side hazards on Internet Explorer
  1680. 'text/scriptlet', 'application/x-msdownload',
  1681. # Windows metafile, client-side vulnerability on some systems
  1682. 'application/x-msmetafile',
  1683. # A ZIP file may be a valid Java archive containing an applet which exploits the
  1684. # same-origin policy to steal cookies
  1685. 'application/zip',
  1686. );
  1687. /** This is a flag to determine whether or not to check file extensions on upload. */
  1688. $wgCheckFileExtensions = true;
  1689. /**
  1690. * If this is turned off, users may override the warning for files not covered
  1691. * by $wgFileExtensions.
  1692. */
  1693. $wgStrictFileExtensions = true;
  1694. /** Warn if uploaded files are larger than this (in bytes), or false to disable*/
  1695. $wgUploadSizeWarning = false;
  1696. /** For compatibility with old installations set to false */
  1697. $wgPasswordSalt = true;
  1698. /** Which namespaces should support subpages?
  1699. * See Language.php for a list of namespaces.
  1700. */
  1701. $wgNamespacesWithSubpages = array(
  1702. NS_TALK => true,
  1703. NS_USER => true,
  1704. NS_USER_TALK => true,
  1705. NS_PROJECT_TALK => true,
  1706. NS_FILE_TALK => true,
  1707. NS_MEDIAWIKI_TALK => true,
  1708. NS_TEMPLATE_TALK => true,
  1709. NS_HELP_TALK => true,
  1710. NS_CATEGORY_TALK => true
  1711. );
  1712. $wgNamespacesToBeSearchedDefault = array(
  1713. NS_MAIN => true,
  1714. );
  1715. /**
  1716. * Additional namespaces to those in $wgNamespacesToBeSearchedDefault that
  1717. * will be added to default search for "project" page inclusive searches
  1718. *
  1719. * Same format as $wgNamespacesToBeSearchedDefault
  1720. */
  1721. $wgNamespacesToBeSearchedProject = array(
  1722. NS_USER => true,
  1723. NS_PROJECT => true,
  1724. NS_HELP => true,
  1725. NS_CATEGORY => true,
  1726. );
  1727. $wgUseOldSearchUI = true; // temp testing variable
  1728. /**
  1729. * Site notice shown at the top of each page
  1730. *
  1731. * This message can contain wiki text, and can also be set through the
  1732. * MediaWiki:Sitenotice page. You can also provide a separate message for
  1733. * logged-out users using the MediaWiki:Anonnotice page.
  1734. */
  1735. $wgSiteNotice = '';
  1736. #
  1737. # Images settings
  1738. #
  1739. /**
  1740. * Plugins for media file type handling.
  1741. * Each entry in the array maps a MIME type to a class name
  1742. */
  1743. $wgMediaHandlers = array(
  1744. 'image/jpeg' => 'BitmapHandler',
  1745. 'image/png' => 'BitmapHandler',
  1746. 'image/gif' => 'BitmapHandler',
  1747. 'image/tiff' => 'TiffHandler',
  1748. 'image/x-ms-bmp' => 'BmpHandler',
  1749. 'image/x-bmp' => 'BmpHandler',
  1750. 'image/svg+xml' => 'SvgHandler', // official
  1751. 'image/svg' => 'SvgHandler', // compat
  1752. 'image/vnd.djvu' => 'DjVuHandler', // official
  1753. 'image/x.djvu' => 'DjVuHandler', // compat
  1754. 'image/x-djvu' => 'DjVuHandler', // compat
  1755. );
  1756. /**
  1757. * Resizing can be done using PHP's internal image libraries or using
  1758. * ImageMagick or another third-party converter, e.g. GraphicMagick.
  1759. * These support more file formats than PHP, which only supports PNG,
  1760. * GIF, JPG, XBM and WBMP.
  1761. *
  1762. * Use Image Magick instead of PHP builtin functions.
  1763. */
  1764. $wgUseImageMagick = false;
  1765. /** The convert command shipped with ImageMagick */
  1766. $wgImageMagickConvertCommand = '/usr/bin/convert';
  1767. /** Sharpening parameter to ImageMagick */
  1768. $wgSharpenParameter = '0x0.4';
  1769. /** Reduction in linear dimensions below which sharpening will be enabled */
  1770. $wgSharpenReductionThreshold = 0.85;
  1771. /**
  1772. * Temporary directory used for ImageMagick. The directory must exist. Leave
  1773. * this set to false to let ImageMagick decide for itself.
  1774. */
  1775. $wgImageMagickTempDir = false;
  1776. /**
  1777. * Use another resizing converter, e.g. GraphicMagick
  1778. * %s will be replaced with the source path, %d with the destination
  1779. * %w and %h will be replaced with the width and height
  1780. *
  1781. * An example is provided for GraphicMagick
  1782. * Leave as false to skip this
  1783. */
  1784. #$wgCustomConvertCommand = "gm convert %s -resize %wx%h %d"
  1785. $wgCustomConvertCommand = false;
  1786. # Scalable Vector Graphics (SVG) may be uploaded as images.
  1787. # Since SVG support is not yet standard in browsers, it is
  1788. # necessary to rasterize SVGs to PNG as a fallback format.
  1789. #
  1790. # An external program is required to perform this conversion:
  1791. $wgSVGConverters = array(
  1792. 'ImageMagick' => '$path/convert -background white -thumbnail $widthx$height\! $input PNG:$output',
  1793. 'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
  1794. 'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
  1795. 'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d $output $input',
  1796. 'rsvg' => '$path/rsvg -w$width -h$height $input $output',
  1797. 'imgserv' => '$path/imgserv-wrapper -i svg -o png -w$width $input $output',
  1798. );
  1799. /** Pick one of the above */
  1800. $wgSVGConverter = 'ImageMagick';
  1801. /** If not in the executable PATH, specify */
  1802. $wgSVGConverterPath = '';
  1803. /** Don't scale a SVG larger than this */
  1804. $wgSVGMaxSize = 2048;
  1805. /**
  1806. * Don't thumbnail an image if it will use too much working memory
  1807. * Default is 50 MB if decompressed to RGBA form, which corresponds to
  1808. * 12.5 million pixels or 3500x3500
  1809. */
  1810. $wgMaxImageArea = 1.25e7;
  1811. /**
  1812. * Force thumbnailing of animated GIFs above this size to a single
  1813. * frame instead of an animated thumbnail. ImageMagick seems to
  1814. * get real unhappy and doesn't play well with resource limits. :P
  1815. * Defaulting to 1 megapixel (1000x1000)
  1816. */
  1817. $wgMaxAnimatedGifArea = 1.0e6;
  1818. /**
  1819. * Browsers don't support TIFF inline generally...
  1820. * For inline display, we need to convert to PNG or JPEG.
  1821. * Note scaling should work with ImageMagick, but may not with GD scaling.
  1822. * // PNG is lossless, but inefficient for photos
  1823. * $wgTiffThumbnailType = array( 'png', 'image/png' );
  1824. * // JPEG is good for photos, but has no transparency support. Bad for diagrams.
  1825. * $wgTiffThumbnailType = array( 'jpg', 'image/jpeg' );
  1826. */
  1827. $wgTiffThumbnailType = false;
  1828. /**
  1829. * If rendered thumbnail files are older than this timestamp, they
  1830. * will be rerendered on demand as if the file didn't already exist.
  1831. * Update if there is some need to force thumbs and SVG rasterizations
  1832. * to rerender, such as fixes to rendering bugs.
  1833. */
  1834. $wgThumbnailEpoch = '20030516000000';
  1835. /**
  1836. * If set, inline scaled images will still produce <img> tags ready for
  1837. * output instead of showing an error message.
  1838. *
  1839. * This may be useful if errors are transitory, especially if the site
  1840. * is configured to automatically render thumbnails on request.
  1841. *
  1842. * On the other hand, it may obscure error conditions from debugging.
  1843. * Enable the debug log or the 'thumbnail' log group to make sure errors
  1844. * are logged to a file for review.
  1845. */
  1846. $wgIgnoreImageErrors = false;
  1847. /**
  1848. * Allow thumbnail rendering on page view. If this is false, a valid
  1849. * thumbnail URL is still output, but no file will be created at
  1850. * the target location. This may save some time if you have a
  1851. * thumb.php or 404 handler set up which is faster than the regular
  1852. * webserver(s).
  1853. */
  1854. $wgGenerateThumbnailOnParse = true;
  1855. /** Whether or not to use image resizing */
  1856. $wgUseImageResize = true;
  1857. /** Set $wgCommandLineMode if it's not set already, to avoid notices */
  1858. if( !isset( $wgCommandLineMode ) ) {
  1859. $wgCommandLineMode = false;
  1860. }
  1861. /** For colorized maintenance script output, is your terminal background dark ? */
  1862. $wgCommandLineDarkBg = false;
  1863. #
  1864. # Recent changes settings
  1865. #
  1866. /** Log IP addresses in the recentchanges table; can be accessed only by extensions (e.g. CheckUser) or a DB admin */
  1867. $wgPutIPinRC = true;
  1868. /**
  1869. * Recentchanges items are periodically purged; entries older than this many
  1870. * seconds will go.
  1871. * For one week : 7 * 24 * 3600
  1872. */
  1873. $wgRCMaxAge = 7 * 24 * 3600;
  1874. /**
  1875. * Filter $wgRCLinkDays by $wgRCMaxAge to avoid showing links for numbers higher than what will be stored.
  1876. * Note that this is disabled by default because we sometimes do have RC data which is beyond the limit
  1877. * for some reason, and some users may use the high numbers to display that data which is still there.
  1878. */
  1879. $wgRCFilterByAge = false;
  1880. /**
  1881. * List of Days and Limits options to list in the Special:Recentchanges and Special:Recentchangeslinked pages.
  1882. */
  1883. $wgRCLinkLimits = array( 50, 100, 250, 500 );
  1884. $wgRCLinkDays = array( 1, 3, 7, 14, 30 );
  1885. /**
  1886. * Send recent changes updates via UDP. The updates will be formatted for IRC.
  1887. * Set this to the IP address of the receiver.
  1888. */
  1889. $wgRC2UDPAddress = false;
  1890. /**
  1891. * Port number for RC updates
  1892. */
  1893. $wgRC2UDPPort = false;
  1894. /**
  1895. * Prefix to prepend to each UDP packet.
  1896. * This can be used to identify the wiki. A script is available called
  1897. * mxircecho.py which listens on a UDP port, and uses a prefix ending in a
  1898. * tab to identify the IRC channel to send the log line to.
  1899. */
  1900. $wgRC2UDPPrefix = '';
  1901. /**
  1902. * If this is set to true, $wgLocalInterwiki will be prepended to links in the
  1903. * IRC feed. If this is set to a string, that string will be used as the prefix.
  1904. */
  1905. $wgRC2UDPInterwikiPrefix = false;
  1906. /**
  1907. * Set to true to omit "bot" edits (by users with the bot permission) from the
  1908. * UDP feed.
  1909. */
  1910. $wgRC2UDPOmitBots = false;
  1911. /**
  1912. * Enable user search in Special:Newpages
  1913. * This is really a temporary hack around an index install bug on some Wikipedias.
  1914. * Kill it once fixed.
  1915. */
  1916. $wgEnableNewpagesUserFilter = true;
  1917. /**
  1918. * Whether to use metadata edition
  1919. * This will put categories, language links and allowed templates in a separate text box
  1920. * while editing pages
  1921. * EXPERIMENTAL
  1922. */
  1923. $wgUseMetadataEdit = false;
  1924. /** Full name (including namespace) of the page containing templates names that will be allowed as metadata */
  1925. $wgMetadataWhitelist = '';
  1926. #
  1927. # Copyright and credits settings
  1928. #
  1929. /** RDF metadata toggles */
  1930. $wgEnableDublinCoreRdf = false;
  1931. $wgEnableCreativeCommonsRdf = false;
  1932. /** Override for copyright metadata.
  1933. * TODO: these options need documentation
  1934. */
  1935. $wgRightsPage = NULL;
  1936. $wgRightsUrl = NULL;
  1937. $wgRightsText = NULL;
  1938. $wgRightsIcon = NULL;
  1939. /** Set this to some HTML to override the rights icon with an arbitrary logo */
  1940. $wgCopyrightIcon = NULL;
  1941. /** Set this to true if you want detailed copyright information forms on Upload. */
  1942. $wgUseCopyrightUpload = false;
  1943. /** Set this to false if you want to disable checking that detailed copyright
  1944. * information values are not empty. */
  1945. $wgCheckCopyrightUpload = true;
  1946. /**
  1947. * Set this to the number of authors that you want to be credited below an
  1948. * article text. Set it to zero to hide the attribution block, and a negative
  1949. * number (like -1) to show all authors. Note that this will require 2-3 extra
  1950. * database hits, which can have a not insignificant impact on performance for
  1951. * large wikis.
  1952. */
  1953. $wgMaxCredits = 0;
  1954. /** If there are more than $wgMaxCredits authors, show $wgMaxCredits of them.
  1955. * Otherwise, link to a separate credits page. */
  1956. $wgShowCreditsIfMax = true;
  1957. /**
  1958. * Set this to false to avoid forcing the first letter of links to capitals.
  1959. * WARNING: may break links! This makes links COMPLETELY case-sensitive. Links
  1960. * appearing with a capital at the beginning of a sentence will *not* go to the
  1961. * same place as links in the middle of a sentence using a lowercase initial.
  1962. */
  1963. $wgCapitalLinks = true;
  1964. /**
  1965. * List of interwiki prefixes for wikis we'll accept as sources for
  1966. * Special:Import (for sysops). Since complete page history can be imported,
  1967. * these should be 'trusted'.
  1968. *
  1969. * If a user has the 'import' permission but not the 'importupload' permission,
  1970. * they will only be able to run imports through this transwiki interface.
  1971. */
  1972. $wgImportSources = array();
  1973. /**
  1974. * Optional default target namespace for interwiki imports.
  1975. * Can use this to create an incoming "transwiki"-style queue.
  1976. * Set to numeric key, not the name.
  1977. *
  1978. * Users may override this in the Special:Import dialog.
  1979. */
  1980. $wgImportTargetNamespace = null;
  1981. /**
  1982. * If set to false, disables the full-history option on Special:Export.
  1983. * This is currently poorly optimized for long edit histories, so is
  1984. * disabled on Wikimedia's sites.
  1985. */
  1986. $wgExportAllowHistory = true;
  1987. /**
  1988. * If set nonzero, Special:Export requests for history of pages with
  1989. * more revisions than this will be rejected. On some big sites things
  1990. * could get bogged down by very very long pages.
  1991. */
  1992. $wgExportMaxHistory = 0;
  1993. $wgExportAllowListContributors = false ;
  1994. /**
  1995. * If non-zero, Special:Export accepts a "pagelink-depth" parameter
  1996. * up to this specified level, which will cause it to include all
  1997. * pages linked to from the pages you specify. Since this number
  1998. * can become *insanely large* and could easily break your wiki,
  1999. * it's disabled by default for now.
  2000. *
  2001. * There's a HARD CODED limit of 5 levels of recursion to prevent a
  2002. * crazy-big export from being done by someone setting the depth
  2003. * number too high. In other words, last resort safety net.
  2004. */
  2005. $wgExportMaxLinkDepth = 0;
  2006. /**
  2007. * Whether to allow the "export all pages in namespace" option
  2008. */
  2009. $wgExportFromNamespaces = false;
  2010. /**
  2011. * Edits matching these regular expressions in body text
  2012. * will be recognised as spam and rejected automatically.
  2013. *
  2014. * There's no administrator override on-wiki, so be careful what you set. :)
  2015. * May be an array of regexes or a single string for backwards compatibility.
  2016. *
  2017. * See http://en.wikipedia.org/wiki/Regular_expression
  2018. */
  2019. $wgSpamRegex = array();
  2020. /** Same as the above except for edit summaries */
  2021. $wgSummarySpamRegex = array();
  2022. /** Similarly you can get a function to do the job. The function will be given
  2023. * the following args:
  2024. * - a Title object for the article the edit is made on
  2025. * - the text submitted in the textarea (wpTextbox1)
  2026. * - the section number.
  2027. * The return should be boolean indicating whether the edit matched some evilness:
  2028. * - true : block it
  2029. * - false : let it through
  2030. *
  2031. * For a complete example, have a look at the SpamBlacklist extension.
  2032. */
  2033. $wgFilterCallback = false;
  2034. /** Go button goes straight to the edit screen if the article doesn't exist. */
  2035. $wgGoToEdit = false;
  2036. /** Allow raw, unchecked HTML in <html>...</html> sections.
  2037. * THIS IS VERY DANGEROUS on a publically editable site, so USE wgGroupPermissions
  2038. * TO RESTRICT EDITING to only those that you trust
  2039. */
  2040. $wgRawHtml = false;
  2041. /**
  2042. * $wgUseTidy: use tidy to make sure HTML output is sane.
  2043. * Tidy is a free tool that fixes broken HTML.
  2044. * See http://www.w3.org/People/Raggett/tidy/
  2045. * $wgTidyBin should be set to the path of the binary and
  2046. * $wgTidyConf to the path of the configuration file.
  2047. * $wgTidyOpts can include any number of parameters.
  2048. *
  2049. * $wgTidyInternal controls the use of the PECL extension to use an in-
  2050. * process tidy library instead of spawning a separate program.
  2051. * Normally you shouldn't need to override the setting except for
  2052. * debugging. To install, use 'pear install tidy' and add a line
  2053. * 'extension=tidy.so' to php.ini.
  2054. */
  2055. $wgUseTidy = false;
  2056. $wgAlwaysUseTidy = false;
  2057. $wgTidyBin = 'tidy';
  2058. $wgTidyConf = $IP.'/includes/tidy.conf';
  2059. $wgTidyOpts = '';
  2060. $wgTidyInternal = extension_loaded( 'tidy' );
  2061. /**
  2062. * Put tidy warnings in HTML comments
  2063. * Only works for internal tidy.
  2064. */
  2065. $wgDebugTidy = false;
  2066. /**
  2067. * Validate the overall output using tidy and refuse
  2068. * to display the page if it's not valid.
  2069. */
  2070. $wgValidateAllHtml = false;
  2071. /** See list of skins and their symbolic names in languages/Language.php */
  2072. $wgDefaultSkin = 'monobook';
  2073. /** Should we allow the user's to select their own skin that will override the default? */
  2074. $wgAllowUserSkin = true;
  2075. /**
  2076. * Optionally, we can specify a stylesheet to use for media="handheld".
  2077. * This is recognized by some, but not all, handheld/mobile/PDA browsers.
  2078. * If left empty, compliant handheld browsers won't pick up the skin
  2079. * stylesheet, which is specified for 'screen' media.
  2080. *
  2081. * Can be a complete URL, base-relative path, or $wgStylePath-relative path.
  2082. * Try 'chick/main.css' to apply the Chick styles to the MonoBook HTML.
  2083. *
  2084. * Will also be switched in when 'handheld=yes' is added to the URL, like
  2085. * the 'printable=yes' mode for print media.
  2086. */
  2087. $wgHandheldStyle = false;
  2088. /**
  2089. * If set, 'screen' and 'handheld' media specifiers for stylesheets are
  2090. * transformed such that they apply to the iPhone/iPod Touch Mobile Safari,
  2091. * which doesn't recognize 'handheld' but does support media queries on its
  2092. * screen size.
  2093. *
  2094. * Consider only using this if you have a *really good* handheld stylesheet,
  2095. * as iPhone users won't have any way to disable it and use the "grown-up"
  2096. * styles instead.
  2097. */
  2098. $wgHandheldForIPhone = false;
  2099. /**
  2100. * Settings added to this array will override the default globals for the user
  2101. * preferences used by anonymous visitors and newly created accounts.
  2102. * For instance, to disable section editing links:
  2103. * $wgDefaultUserOptions ['editsection'] = 0;
  2104. *
  2105. */
  2106. $wgDefaultUserOptions = array(
  2107. 'quickbar' => 1,
  2108. 'underline' => 2,
  2109. 'cols' => 80,
  2110. 'rows' => 25,
  2111. 'searchlimit' => 20,
  2112. 'contextlines' => 5,
  2113. 'contextchars' => 50,
  2114. 'disablesuggest' => 0,
  2115. 'skin' => false,
  2116. 'math' => 1,
  2117. 'usenewrc' => 0,
  2118. 'rcdays' => 7,
  2119. 'rclimit' => 50,
  2120. 'wllimit' => 250,
  2121. 'hideminor' => 0,
  2122. 'hidepatrolled' => 0,
  2123. 'newpageshidepatrolled' => 0,
  2124. 'highlightbroken' => 1,
  2125. 'stubthreshold' => 0,
  2126. 'previewontop' => 1,
  2127. 'previewonfirst' => 0,
  2128. 'editsection' => 1,
  2129. 'editsectiononrightclick' => 0,
  2130. 'editondblclick' => 0,
  2131. 'editwidth' => 0,
  2132. 'showtoc' => 1,
  2133. 'showtoolbar' => 1,
  2134. 'minordefault' => 0,
  2135. 'date' => 'default',
  2136. 'imagesize' => 2,
  2137. 'thumbsize' => 2,
  2138. 'rememberpassword' => 0,
  2139. 'nocache' => 0,
  2140. 'diffonly' => 0,
  2141. 'showhiddencats' => 0,
  2142. 'norollbackdiff' => 0,
  2143. 'enotifwatchlistpages' => 0,
  2144. 'enotifusertalkpages' => 1,
  2145. 'enotifminoredits' => 0,
  2146. 'enotifrevealaddr' => 0,
  2147. 'shownumberswatching' => 1,
  2148. 'fancysig' => 0,
  2149. 'externaleditor' => 0,
  2150. 'externaldiff' => 0,
  2151. 'forceeditsummary' => 0,
  2152. 'showjumplinks' => 1,
  2153. 'justify' => 0,
  2154. 'numberheadings' => 0,
  2155. 'uselivepreview' => 0,
  2156. 'watchlistdays' => 3.0,
  2157. 'extendwatchlist' => 0,
  2158. 'watchlisthideminor' => 0,
  2159. 'watchlisthidebots' => 0,
  2160. 'watchlisthideown' => 0,
  2161. 'watchlisthideanons' => 0,
  2162. 'watchlisthideliu' => 0,
  2163. 'watchlisthidepatrolled' => 0,
  2164. 'watchcreations' => 0,
  2165. 'watchdefault' => 0,
  2166. 'watchmoves' => 0,
  2167. 'watchdeletion' => 0,
  2168. 'noconvertlink' => 0,
  2169. 'gender' => 'unknown',
  2170. );
  2171. /** Whether or not to allow and use real name fields. Defaults to true. */
  2172. $wgAllowRealName = true;
  2173. /*****************************************************************************
  2174. * Extensions
  2175. */
  2176. /**
  2177. * A list of callback functions which are called once MediaWiki is fully initialised
  2178. */
  2179. $wgExtensionFunctions = array();
  2180. /**
  2181. * Extension functions for initialisation of skins. This is called somewhat earlier
  2182. * than $wgExtensionFunctions.
  2183. */
  2184. $wgSkinExtensionFunctions = array();
  2185. /**
  2186. * Extension messages files
  2187. * Associative array mapping extension name to the filename where messages can be found.
  2188. * The file must create a variable called $messages.
  2189. * When the messages are needed, the extension should call wfLoadExtensionMessages().
  2190. *
  2191. * Example:
  2192. * $wgExtensionMessagesFiles['ConfirmEdit'] = dirname(__FILE__).'/ConfirmEdit.i18n.php';
  2193. *
  2194. */
  2195. $wgExtensionMessagesFiles = array();
  2196. /**
  2197. * Aliases for special pages provided by extensions.
  2198. * Associative array mapping special page to array of aliases. First alternative
  2199. * for each special page will be used as the normalised name for it. English
  2200. * aliases will be added to the end of the list so that they always work. The
  2201. * file must define a variable $aliases.
  2202. *
  2203. * Example:
  2204. * $wgExtensionAliasesFiles['Translate'] = dirname(__FILE__).'/Translate.alias.php';
  2205. */
  2206. $wgExtensionAliasesFiles = array();
  2207. /**
  2208. * Parser output hooks.
  2209. * This is an associative array where the key is an extension-defined tag
  2210. * (typically the extension name), and the value is a PHP callback.
  2211. * These will be called as an OutputPageParserOutput hook, if the relevant
  2212. * tag has been registered with the parser output object.
  2213. *
  2214. * Registration is done with $pout->addOutputHook( $tag, $data ).
  2215. *
  2216. * The callback has the form:
  2217. * function outputHook( $outputPage, $parserOutput, $data ) { ... }
  2218. */
  2219. $wgParserOutputHooks = array();
  2220. /**
  2221. * List of valid skin names.
  2222. * The key should be the name in all lower case, the value should be a display name.
  2223. * The default skins will be added later, by Skin::getSkinNames(). Use
  2224. * Skin::getSkinNames() as an accessor if you wish to have access to the full list.
  2225. */
  2226. $wgValidSkinNames = array();
  2227. /**
  2228. * Special page list.
  2229. * See the top of SpecialPage.php for documentation.
  2230. */
  2231. $wgSpecialPages = array();
  2232. /**
  2233. * Array mapping class names to filenames, for autoloading.
  2234. */
  2235. $wgAutoloadClasses = array();
  2236. /**
  2237. * An array of extension types and inside that their names, versions, authors,
  2238. * urls, descriptions and pointers to localized description msgs. Note that
  2239. * the version, url, description and descriptionmsg key can be omitted.
  2240. *
  2241. * <code>
  2242. * $wgExtensionCredits[$type][] = array(
  2243. * 'name' => 'Example extension',
  2244. * 'version' => 1.9,
  2245. * 'svn-revision' => '$LastChangedRevision: 53179 $',
  2246. * 'author' => 'Foo Barstein',
  2247. * 'url' => 'http://wwww.example.com/Example%20Extension/',
  2248. * 'description' => 'An example extension',
  2249. * 'descriptionmsg' => 'exampleextension-desc',
  2250. * );
  2251. * </code>
  2252. *
  2253. * Where $type is 'specialpage', 'parserhook', 'variable', 'media' or 'other'.
  2254. */
  2255. $wgExtensionCredits = array();
  2256. /*
  2257. * end extensions
  2258. ******************************************************************************/
  2259. /**
  2260. * Allow user Javascript page?
  2261. * This enables a lot of neat customizations, but may
  2262. * increase security risk to users and server load.
  2263. */
  2264. $wgAllowUserJs = false;
  2265. /**
  2266. * Allow user Cascading Style Sheets (CSS)?
  2267. * This enables a lot of neat customizations, but may
  2268. * increase security risk to users and server load.
  2269. */
  2270. $wgAllowUserCss = false;
  2271. /** Use the site's Javascript page? */
  2272. $wgUseSiteJs = true;
  2273. /** Use the site's Cascading Style Sheets (CSS)? */
  2274. $wgUseSiteCss = true;
  2275. /** Filter for Special:Randompage. Part of a WHERE clause */
  2276. $wgExtraRandompageSQL = false;
  2277. /** Allow the "info" action, very inefficient at the moment */
  2278. $wgAllowPageInfo = false;
  2279. /** Maximum indent level of toc. */
  2280. $wgMaxTocLevel = 999;
  2281. /** Name of the external diff engine to use */
  2282. $wgExternalDiffEngine = false;
  2283. /** Whether to use inline diff */
  2284. $wgEnableHtmlDiff = false;
  2285. /** Use RC Patrolling to check for vandalism */
  2286. $wgUseRCPatrol = true;
  2287. /** Use new page patrolling to check new pages on Special:Newpages */
  2288. $wgUseNPPatrol = true;
  2289. /** Provide syndication feeds (RSS, Atom) for, e.g., Recentchanges, Newpages */
  2290. $wgFeed = true;
  2291. /** Set maximum number of results to return in syndication feeds (RSS, Atom) for
  2292. * eg Recentchanges, Newpages. */
  2293. $wgFeedLimit = 50;
  2294. /** _Minimum_ timeout for cached Recentchanges feed, in seconds.
  2295. * A cached version will continue to be served out even if changes
  2296. * are made, until this many seconds runs out since the last render.
  2297. *
  2298. * If set to 0, feed caching is disabled. Use this for debugging only;
  2299. * feed generation can be pretty slow with diffs.
  2300. */
  2301. $wgFeedCacheTimeout = 60;
  2302. /** When generating Recentchanges RSS/Atom feed, diffs will not be generated for
  2303. * pages larger than this size. */
  2304. $wgFeedDiffCutoff = 32768;
  2305. /** Override the site's default RSS/ATOM feed for recentchanges that appears on
  2306. * every page. Some sites might have a different feed they'd like to promote
  2307. * instead of the RC feed (maybe like a "Recent New Articles" or "Breaking news" one).
  2308. * Ex: $wgSiteFeed['format'] = "http://example.com/somefeed.xml"; Format can be one
  2309. * of either 'rss' or 'atom'.
  2310. */
  2311. $wgOverrideSiteFeed = array();
  2312. /**
  2313. * Additional namespaces. If the namespaces defined in Language.php and
  2314. * Namespace.php are insufficient, you can create new ones here, for example,
  2315. * to import Help files in other languages.
  2316. * PLEASE NOTE: Once you delete a namespace, the pages in that namespace will
  2317. * no longer be accessible. If you rename it, then you can access them through
  2318. * the new namespace name.
  2319. *
  2320. * Custom namespaces should start at 100 to avoid conflicting with standard
  2321. * namespaces, and should always follow the even/odd main/talk pattern.
  2322. */
  2323. #$wgExtraNamespaces =
  2324. # array(100 => "Hilfe",
  2325. # 101 => "Hilfe_Diskussion",
  2326. # 102 => "Aide",
  2327. # 103 => "Discussion_Aide"
  2328. # );
  2329. $wgExtraNamespaces = NULL;
  2330. /**
  2331. * Namespace aliases
  2332. * These are alternate names for the primary localised namespace names, which
  2333. * are defined by $wgExtraNamespaces and the language file. If a page is
  2334. * requested with such a prefix, the request will be redirected to the primary
  2335. * name.
  2336. *
  2337. * Set this to a map from namespace names to IDs.
  2338. * Example:
  2339. * $wgNamespaceAliases = array(
  2340. * 'Wikipedian' => NS_USER,
  2341. * 'Help' => 100,
  2342. * );
  2343. */
  2344. $wgNamespaceAliases = array();
  2345. /**
  2346. * Limit images on image description pages to a user-selectable limit. In order
  2347. * to reduce disk usage, limits can only be selected from a list.
  2348. * The user preference is saved as an array offset in the database, by default
  2349. * the offset is set with $wgDefaultUserOptions['imagesize']. Make sure you
  2350. * change it if you alter the array (see bug 8858).
  2351. * This is the list of settings the user can choose from:
  2352. */
  2353. $wgImageLimits = array (
  2354. array(320,240),
  2355. array(640,480),
  2356. array(800,600),
  2357. array(1024,768),
  2358. array(1280,1024),
  2359. array(10000,10000) );
  2360. /**
  2361. * Adjust thumbnails on image pages according to a user setting. In order to
  2362. * reduce disk usage, the values can only be selected from a list. This is the
  2363. * list of settings the user can choose from:
  2364. */
  2365. $wgThumbLimits = array(
  2366. 120,
  2367. 150,
  2368. 180,
  2369. 200,
  2370. 250,
  2371. 300
  2372. );
  2373. /**
  2374. * Adjust width of upright images when parameter 'upright' is used
  2375. * This allows a nicer look for upright images without the need to fix the width
  2376. * by hardcoded px in wiki sourcecode.
  2377. */
  2378. $wgThumbUpright = 0.75;
  2379. /**
  2380. * On category pages, show thumbnail gallery for images belonging to that
  2381. * category instead of listing them as articles.
  2382. */
  2383. $wgCategoryMagicGallery = true;
  2384. /**
  2385. * Paging limit for categories
  2386. */
  2387. $wgCategoryPagingLimit = 200;
  2388. /**
  2389. * Should the default category sortkey be the prefixed title?
  2390. * Run maintenance/refreshLinks.php after changing this.
  2391. */
  2392. $wgCategoryPrefixedDefaultSortkey = true;
  2393. /**
  2394. * Browser Blacklist for unicode non compliant browsers
  2395. * Contains a list of regexps : "/regexp/" matching problematic browsers
  2396. */
  2397. $wgBrowserBlackList = array(
  2398. /**
  2399. * Netscape 2-4 detection
  2400. * The minor version may contain strings such as "Gold" or "SGoldC-SGI"
  2401. * Lots of non-netscape user agents have "compatible", so it's useful to check for that
  2402. * with a negative assertion. The [UIN] identifier specifies the level of security
  2403. * in a Netscape/Mozilla browser, checking for it rules out a number of fakers.
  2404. * The language string is unreliable, it is missing on NS4 Mac.
  2405. *
  2406. * Reference: http://www.psychedelix.com/agents/index.shtml
  2407. */
  2408. '/^Mozilla\/2\.[^ ]+ [^(]*?\((?!compatible).*; [UIN]/',
  2409. '/^Mozilla\/3\.[^ ]+ [^(]*?\((?!compatible).*; [UIN]/',
  2410. '/^Mozilla\/4\.[^ ]+ [^(]*?\((?!compatible).*; [UIN]/',
  2411. /**
  2412. * MSIE on Mac OS 9 is teh sux0r, converts þ to <thorn>, ð to <eth>, Þ to <THORN> and Ð to <ETH>
  2413. *
  2414. * Known useragents:
  2415. * - Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC)
  2416. * - Mozilla/4.0 (compatible; MSIE 5.15; Mac_PowerPC)
  2417. * - Mozilla/4.0 (compatible; MSIE 5.23; Mac_PowerPC)
  2418. * - [...]
  2419. *
  2420. * @link http://en.wikipedia.org/w/index.php?title=User%3A%C6var_Arnfj%F6r%F0_Bjarmason%2Ftestme&diff=12356041&oldid=12355864
  2421. * @link http://en.wikipedia.org/wiki/Template%3AOS9
  2422. */
  2423. '/^Mozilla\/4\.0 \(compatible; MSIE \d+\.\d+; Mac_PowerPC\)/',
  2424. /**
  2425. * Google wireless transcoder, seems to eat a lot of chars alive
  2426. * http://it.wikipedia.org/w/index.php?title=Luciano_Ligabue&diff=prev&oldid=8857361
  2427. */
  2428. '/^Mozilla\/4\.0 \(compatible; MSIE 6.0; Windows NT 5.0; Google Wireless Transcoder;\)/'
  2429. );
  2430. /**
  2431. * Fake out the timezone that the server thinks it's in. This will be used for
  2432. * date display and not for what's stored in the DB. Leave to null to retain
  2433. * your server's OS-based timezone value. This is the same as the timezone.
  2434. *
  2435. * This variable is currently used ONLY for signature formatting, not for
  2436. * anything else.
  2437. *
  2438. * Timezones can be translated by editing MediaWiki messages of type
  2439. * timezone-nameinlowercase like timezone-utc.
  2440. */
  2441. # $wgLocaltimezone = 'GMT';
  2442. # $wgLocaltimezone = 'PST8PDT';
  2443. # $wgLocaltimezone = 'Europe/Sweden';
  2444. # $wgLocaltimezone = 'CET';
  2445. $wgLocaltimezone = null;
  2446. /**
  2447. * Set an offset from UTC in minutes to use for the default timezone setting
  2448. * for anonymous users and new user accounts.
  2449. *
  2450. * This setting is used for most date/time displays in the software, and is
  2451. * overrideable in user preferences. It is *not* used for signature timestamps.
  2452. *
  2453. * You can set it to match the configured server timezone like this:
  2454. * $wgLocalTZoffset = date("Z") / 60;
  2455. *
  2456. * If your server is not configured for the timezone you want, you can set
  2457. * this in conjunction with the signature timezone and override the TZ
  2458. * environment variable like so:
  2459. * $wgLocaltimezone="Europe/Berlin";
  2460. * putenv("TZ=$wgLocaltimezone");
  2461. * $wgLocalTZoffset = date("Z") / 60;
  2462. *
  2463. * Leave at NULL to show times in universal time (UTC/GMT).
  2464. */
  2465. $wgLocalTZoffset = null;
  2466. /**
  2467. * When translating messages with wfMsg(), it is not always clear what should
  2468. * be considered UI messages and what should be content messages.
  2469. *
  2470. * For example, for the English Wikipedia, there should be only one 'mainpage',
  2471. * so when getting the link for 'mainpage', we should treat it as site content
  2472. * and call wfMsgForContent(), but for rendering the text of the link, we call
  2473. * wfMsg(). The code behaves this way by default. However, sites like the
  2474. * Wikimedia Commons do offer different versions of 'mainpage' and the like for
  2475. * different languages. This array provides a way to override the default
  2476. * behavior. For example, to allow language-specific main page and community
  2477. * portal, set
  2478. *
  2479. * $wgForceUIMsgAsContentMsg = array( 'mainpage', 'portal-url' );
  2480. */
  2481. $wgForceUIMsgAsContentMsg = array();
  2482. /**
  2483. * Authentication plugin.
  2484. */
  2485. $wgAuth = null;
  2486. /**
  2487. * Global list of hooks.
  2488. * Add a hook by doing:
  2489. * $wgHooks['event_name'][] = $function;
  2490. * or:
  2491. * $wgHooks['event_name'][] = array($function, $data);
  2492. * or:
  2493. * $wgHooks['event_name'][] = array($object, 'method');
  2494. */
  2495. $wgHooks = array();
  2496. /**
  2497. * The logging system has two levels: an event type, which describes the
  2498. * general category and can be viewed as a named subset of all logs; and
  2499. * an action, which is a specific kind of event that can exist in that
  2500. * log type.
  2501. */
  2502. $wgLogTypes = array( '',
  2503. 'block',
  2504. 'protect',
  2505. 'rights',
  2506. 'delete',
  2507. 'upload',
  2508. 'move',
  2509. 'import',
  2510. 'patrol',
  2511. 'merge',
  2512. 'suppress',
  2513. );
  2514. /**
  2515. * This restricts log access to those who have a certain right
  2516. * Users without this will not see it in the option menu and can not view it
  2517. * Restricted logs are not added to recent changes
  2518. * Logs should remain non-transcludable
  2519. */
  2520. $wgLogRestrictions = array(
  2521. 'suppress' => 'suppressionlog'
  2522. );
  2523. /**
  2524. * Show/hide links on Special:Log will be shown for these log types.
  2525. *
  2526. * This is associative array of log type => boolean "hide by default"
  2527. *
  2528. * See $wgLogTypes for a list of available log types.
  2529. *
  2530. * For example:
  2531. * $wgFilterLogTypes => array(
  2532. * 'move' => true,
  2533. * 'import' => false,
  2534. * );
  2535. *
  2536. * Will display show/hide links for the move and import logs. Move logs will be
  2537. * hidden by default unless the link is clicked. Import logs will be shown by
  2538. * default, and hidden when the link is clicked.
  2539. *
  2540. * A message of the form log-show-hide-<type> should be added, and will be used
  2541. * for the link text.
  2542. */
  2543. $wgFilterLogTypes = array(
  2544. 'patrol' => true
  2545. );
  2546. /**
  2547. * Lists the message key string for each log type. The localized messages
  2548. * will be listed in the user interface.
  2549. *
  2550. * Extensions with custom log types may add to this array.
  2551. */
  2552. $wgLogNames = array(
  2553. '' => 'all-logs-page',
  2554. 'block' => 'blocklogpage',
  2555. 'protect' => 'protectlogpage',
  2556. 'rights' => 'rightslog',
  2557. 'delete' => 'dellogpage',
  2558. 'upload' => 'uploadlogpage',
  2559. 'move' => 'movelogpage',
  2560. 'import' => 'importlogpage',
  2561. 'patrol' => 'patrol-log-page',
  2562. 'merge' => 'mergelog',
  2563. 'suppress' => 'suppressionlog',
  2564. );
  2565. /**
  2566. * Lists the message key string for descriptive text to be shown at the
  2567. * top of each log type.
  2568. *
  2569. * Extensions with custom log types may add to this array.
  2570. */
  2571. $wgLogHeaders = array(
  2572. '' => 'alllogstext',
  2573. 'block' => 'blocklogtext',
  2574. 'protect' => 'protectlogtext',
  2575. 'rights' => 'rightslogtext',
  2576. 'delete' => 'dellogpagetext',
  2577. 'upload' => 'uploadlogpagetext',
  2578. 'move' => 'movelogpagetext',
  2579. 'import' => 'importlogpagetext',
  2580. 'patrol' => 'patrol-log-header',
  2581. 'merge' => 'mergelogpagetext',
  2582. 'suppress' => 'suppressionlogtext',
  2583. );
  2584. /**
  2585. * Lists the message key string for formatting individual events of each
  2586. * type and action when listed in the logs.
  2587. *
  2588. * Extensions with custom log types may add to this array.
  2589. */
  2590. $wgLogActions = array(
  2591. 'block/block' => 'blocklogentry',
  2592. 'block/unblock' => 'unblocklogentry',
  2593. 'block/reblock' => 'reblock-logentry',
  2594. 'protect/protect' => 'protectedarticle',
  2595. 'protect/modify' => 'modifiedarticleprotection',
  2596. 'protect/unprotect' => 'unprotectedarticle',
  2597. 'protect/move_prot' => 'movedarticleprotection',
  2598. 'rights/rights' => 'rightslogentry',
  2599. 'delete/delete' => 'deletedarticle',
  2600. 'delete/restore' => 'undeletedarticle',
  2601. 'delete/revision' => 'revdelete-logentry',
  2602. 'delete/event' => 'logdelete-logentry',
  2603. 'upload/upload' => 'uploadedimage',
  2604. 'upload/overwrite' => 'overwroteimage',
  2605. 'upload/revert' => 'uploadedimage',
  2606. 'move/move' => '1movedto2',
  2607. 'move/move_redir' => '1movedto2_redir',
  2608. 'import/upload' => 'import-logentry-upload',
  2609. 'import/interwiki' => 'import-logentry-interwiki',
  2610. 'merge/merge' => 'pagemerge-logentry',
  2611. 'suppress/revision' => 'revdelete-logentry',
  2612. 'suppress/file' => 'revdelete-logentry',
  2613. 'suppress/event' => 'logdelete-logentry',
  2614. 'suppress/delete' => 'suppressedarticle',
  2615. 'suppress/block' => 'blocklogentry',
  2616. 'suppress/reblock' => 'reblock-logentry',
  2617. );
  2618. /**
  2619. * The same as above, but here values are names of functions,
  2620. * not messages
  2621. */
  2622. $wgLogActionsHandlers = array();
  2623. /**
  2624. * Maintain a log of newusers at Log/newusers?
  2625. */
  2626. $wgNewUserLog = true;
  2627. /**
  2628. * List of special pages, followed by what subtitle they should go under
  2629. * at Special:SpecialPages
  2630. */
  2631. $wgSpecialPageGroups = array(
  2632. 'DoubleRedirects' => 'maintenance',
  2633. 'BrokenRedirects' => 'maintenance',
  2634. 'Lonelypages' => 'maintenance',
  2635. 'Uncategorizedpages' => 'maintenance',
  2636. 'Uncategorizedcategories' => 'maintenance',
  2637. 'Uncategorizedimages' => 'maintenance',
  2638. 'Uncategorizedtemplates' => 'maintenance',
  2639. 'Unusedcategories' => 'maintenance',
  2640. 'Unusedimages' => 'maintenance',
  2641. 'Protectedpages' => 'maintenance',
  2642. 'Protectedtitles' => 'maintenance',
  2643. 'Unusedtemplates' => 'maintenance',
  2644. 'Withoutinterwiki' => 'maintenance',
  2645. 'Longpages' => 'maintenance',
  2646. 'Shortpages' => 'maintenance',
  2647. 'Ancientpages' => 'maintenance',
  2648. 'Deadendpages' => 'maintenance',
  2649. 'Wantedpages' => 'maintenance',
  2650. 'Wantedcategories' => 'maintenance',
  2651. 'Wantedfiles' => 'maintenance',
  2652. 'Wantedtemplates' => 'maintenance',
  2653. 'Unwatchedpages' => 'maintenance',
  2654. 'Fewestrevisions' => 'maintenance',
  2655. 'Userlogin' => 'login',
  2656. 'Userlogout' => 'login',
  2657. 'CreateAccount' => 'login',
  2658. 'Recentchanges' => 'changes',
  2659. 'Recentchangeslinked' => 'changes',
  2660. 'Watchlist' => 'changes',
  2661. 'Newimages' => 'changes',
  2662. 'Newpages' => 'changes',
  2663. 'Log' => 'changes',
  2664. 'Tags' => 'changes',
  2665. 'Upload' => 'media',
  2666. 'Listfiles' => 'media',
  2667. 'MIMEsearch' => 'media',
  2668. 'FileDuplicateSearch' => 'media',
  2669. 'Filepath' => 'media',
  2670. 'Listusers' => 'users',
  2671. 'Listgrouprights' => 'users',
  2672. 'Ipblocklist' => 'users',
  2673. 'Contributions' => 'users',
  2674. 'Emailuser' => 'users',
  2675. 'Listadmins' => 'users',
  2676. 'Listbots' => 'users',
  2677. 'Userrights' => 'users',
  2678. 'Blockip' => 'users',
  2679. 'Preferences' => 'users',
  2680. 'Resetpass' => 'users',
  2681. 'DeletedContributions' => 'users',
  2682. 'Mostlinked' => 'highuse',
  2683. 'Mostlinkedcategories' => 'highuse',
  2684. 'Mostlinkedtemplates' => 'highuse',
  2685. 'Mostcategories' => 'highuse',
  2686. 'Mostimages' => 'highuse',
  2687. 'Mostrevisions' => 'highuse',
  2688. 'Allpages' => 'pages',
  2689. 'Prefixindex' => 'pages',
  2690. 'Listredirects' => 'pages',
  2691. 'Categories' => 'pages',
  2692. 'Disambiguations' => 'pages',
  2693. 'Randompage' => 'redirects',
  2694. 'Randomredirect' => 'redirects',
  2695. 'Mypage' => 'redirects',
  2696. 'Mytalk' => 'redirects',
  2697. 'Mycontributions' => 'redirects',
  2698. 'Search' => 'redirects',
  2699. 'LinkSearch' => 'redirects',
  2700. 'Movepage' => 'pagetools',
  2701. 'MergeHistory' => 'pagetools',
  2702. 'Revisiondelete' => 'pagetools',
  2703. 'Undelete' => 'pagetools',
  2704. 'Export' => 'pagetools',
  2705. 'Import' => 'pagetools',
  2706. 'Whatlinkshere' => 'pagetools',
  2707. 'Statistics' => 'wiki',
  2708. 'Version' => 'wiki',
  2709. 'Lockdb' => 'wiki',
  2710. 'Unlockdb' => 'wiki',
  2711. 'Allmessages' => 'wiki',
  2712. 'Popularpages' => 'wiki',
  2713. 'Specialpages' => 'other',
  2714. 'Blockme' => 'other',
  2715. 'Booksources' => 'other',
  2716. );
  2717. /**
  2718. * Experimental preview feature to fetch rendered text
  2719. * over an XMLHttpRequest from JavaScript instead of
  2720. * forcing a submit and reload of the whole page.
  2721. * Leave disabled unless you're testing it.
  2722. */
  2723. $wgLivePreview = false;
  2724. /**
  2725. * Disable the internal MySQL-based search, to allow it to be
  2726. * implemented by an extension instead.
  2727. */
  2728. $wgDisableInternalSearch = false;
  2729. /**
  2730. * Set this to a URL to forward search requests to some external location.
  2731. * If the URL includes '$1', this will be replaced with the URL-encoded
  2732. * search term.
  2733. *
  2734. * For example, to forward to Google you'd have something like:
  2735. * $wgSearchForwardUrl = 'http://www.google.com/search?q=$1' .
  2736. * '&domains=http://example.com' .
  2737. * '&sitesearch=http://example.com' .
  2738. * '&ie=utf-8&oe=utf-8';
  2739. */
  2740. $wgSearchForwardUrl = null;
  2741. /**
  2742. * Set a default target for external links, e.g. _blank to pop up a new window
  2743. */
  2744. $wgExternalLinkTarget = false;
  2745. /**
  2746. * If true, external URL links in wiki text will be given the
  2747. * rel="nofollow" attribute as a hint to search engines that
  2748. * they should not be followed for ranking purposes as they
  2749. * are user-supplied and thus subject to spamming.
  2750. */
  2751. $wgNoFollowLinks = true;
  2752. /**
  2753. * Namespaces in which $wgNoFollowLinks doesn't apply.
  2754. * See Language.php for a list of namespaces.
  2755. */
  2756. $wgNoFollowNsExceptions = array();
  2757. /**
  2758. * If this is set to an array of domains, external links to these domain names
  2759. * (or any subdomains) will not be set to rel="nofollow" regardless of the
  2760. * value of $wgNoFollowLinks. For instance:
  2761. *
  2762. * $wgNoFollowDomainExceptions = array( 'en.wikipedia.org', 'wiktionary.org' );
  2763. *
  2764. * This would add rel="nofollow" to links to de.wikipedia.org, but not
  2765. * en.wikipedia.org, wiktionary.org, en.wiktionary.org, us.en.wikipedia.org,
  2766. * etc.
  2767. */
  2768. $wgNoFollowDomainExceptions = array();
  2769. /**
  2770. * Default robot policy. The default policy is to encourage indexing and fol-
  2771. * lowing of links. It may be overridden on a per-namespace and/or per-page
  2772. * basis.
  2773. */
  2774. $wgDefaultRobotPolicy = 'index,follow';
  2775. /**
  2776. * Robot policies per namespaces. The default policy is given above, the array
  2777. * is made of namespace constants as defined in includes/Defines.php. You can-
  2778. * not specify a different default policy for NS_SPECIAL: it is always noindex,
  2779. * nofollow. This is because a number of special pages (e.g., ListPages) have
  2780. * many permutations of options that display the same data under redundant
  2781. * URLs, so search engine spiders risk getting lost in a maze of twisty special
  2782. * pages, all alike, and never reaching your actual content.
  2783. *
  2784. * Example:
  2785. * $wgNamespaceRobotPolicies = array( NS_TALK => 'noindex' );
  2786. */
  2787. $wgNamespaceRobotPolicies = array();
  2788. /**
  2789. * Robot policies per article. These override the per-namespace robot policies.
  2790. * Must be in the form of an array where the key part is a properly canonical-
  2791. * ised text form title and the value is a robot policy.
  2792. * Example:
  2793. * $wgArticleRobotPolicies = array( 'Main Page' => 'noindex,follow',
  2794. * 'User:Bob' => 'index,follow' );
  2795. * Example that DOES NOT WORK because the names are not canonical text forms:
  2796. * $wgArticleRobotPolicies = array(
  2797. * # Underscore, not space!
  2798. * 'Main_Page' => 'noindex,follow',
  2799. * # "Project", not the actual project name!
  2800. * 'Project:X' => 'index,follow',
  2801. * # Needs to be "Abc", not "abc" (unless $wgCapitalLinks is false)!
  2802. * 'abc' => 'noindex,nofollow'
  2803. * );
  2804. */
  2805. $wgArticleRobotPolicies = array();
  2806. /**
  2807. * An array of namespace keys in which the __INDEX__/__NOINDEX__ magic words
  2808. * will not function, so users can't decide whether pages in that namespace are
  2809. * indexed by search engines. If set to null, default to $wgContentNamespaces.
  2810. * Example:
  2811. * $wgExemptFromUserRobotsControl = array( NS_MAIN, NS_TALK, NS_PROJECT );
  2812. */
  2813. $wgExemptFromUserRobotsControl = null;
  2814. /**
  2815. * Specifies the minimal length of a user password. If set to 0, empty pass-
  2816. * words are allowed.
  2817. */
  2818. $wgMinimalPasswordLength = 0;
  2819. /**
  2820. * Activate external editor interface for files and pages
  2821. * See http://meta.wikimedia.org/wiki/Help:External_editors
  2822. */
  2823. $wgUseExternalEditor = true;
  2824. /** Whether or not to sort special pages in Special:Specialpages */
  2825. $wgSortSpecialPages = true;
  2826. /**
  2827. * Specify the name of a skin that should not be presented in the list of a-
  2828. * vailable skins. Use for blacklisting a skin which you do not want to remove
  2829. * from the .../skins/ directory
  2830. */
  2831. $wgSkipSkin = '';
  2832. $wgSkipSkins = array(); # More of the same
  2833. /**
  2834. * Array of disabled article actions, e.g. view, edit, dublincore, delete, etc.
  2835. */
  2836. $wgDisabledActions = array();
  2837. /**
  2838. * Disable redirects to special pages and interwiki redirects, which use a 302
  2839. * and have no "redirected from" link.
  2840. */
  2841. $wgDisableHardRedirects = false;
  2842. /**
  2843. * Use http.dnsbl.sorbs.net to check for open proxies
  2844. */
  2845. $wgEnableSorbs = false;
  2846. $wgSorbsUrl = 'http.dnsbl.sorbs.net.';
  2847. /**
  2848. * Proxy whitelist, list of addresses that are assumed to be non-proxy despite
  2849. * what the other methods might say.
  2850. */
  2851. $wgProxyWhitelist = array();
  2852. /**
  2853. * Simple rate limiter options to brake edit floods. Maximum number actions
  2854. * allowed in the given number of seconds; after that the violating client re-
  2855. * ceives HTTP 500 error pages until the period elapses.
  2856. *
  2857. * array( 4, 60 ) for a maximum of 4 hits in 60 seconds.
  2858. *
  2859. * This option set is experimental and likely to change. Requires memcached.
  2860. */
  2861. $wgRateLimits = array(
  2862. 'edit' => array(
  2863. 'anon' => null, // for any and all anonymous edits (aggregate)
  2864. 'user' => null, // for each logged-in user
  2865. 'newbie' => null, // for each recent (autoconfirmed) account; overrides 'user'
  2866. 'ip' => null, // for each anon and recent account
  2867. 'subnet' => null, // ... with final octet removed
  2868. ),
  2869. 'move' => array(
  2870. 'user' => null,
  2871. 'newbie' => null,
  2872. 'ip' => null,
  2873. 'subnet' => null,
  2874. ),
  2875. 'mailpassword' => array(
  2876. 'anon' => NULL,
  2877. ),
  2878. 'emailuser' => array(
  2879. 'user' => null,
  2880. ),
  2881. );
  2882. /**
  2883. * Set to a filename to log rate limiter hits.
  2884. */
  2885. $wgRateLimitLog = null;
  2886. /**
  2887. * Array of groups which should never trigger the rate limiter
  2888. *
  2889. * @deprecated as of 1.13.0, the preferred method is using
  2890. * $wgGroupPermissions[]['noratelimit']. However, this will still
  2891. * work if desired.
  2892. *
  2893. * $wgRateLimitsExcludedGroups = array( 'sysop', 'bureaucrat' );
  2894. */
  2895. $wgRateLimitsExcludedGroups = array();
  2896. /**
  2897. * Array of IPs which should be excluded from rate limits.
  2898. * This may be useful for whitelisting NAT gateways for conferences, etc.
  2899. */
  2900. $wgRateLimitsExcludedIPs = array();
  2901. /**
  2902. * On Special:Unusedimages, consider images "used", if they are put
  2903. * into a category. Default (false) is not to count those as used.
  2904. */
  2905. $wgCountCategorizedImagesAsUsed = false;
  2906. /**
  2907. * External stores allow including content
  2908. * from non database sources following URL links
  2909. *
  2910. * Short names of ExternalStore classes may be specified in an array here:
  2911. * $wgExternalStores = array("http","file","custom")...
  2912. *
  2913. * CAUTION: Access to database might lead to code execution
  2914. */
  2915. $wgExternalStores = false;
  2916. /**
  2917. * An array of external mysql servers, e.g.
  2918. * $wgExternalServers = array( 'cluster1' => array( 'srv28', 'srv29', 'srv30' ) );
  2919. * Used by LBFactory_Simple, may be ignored if $wgLBFactoryConf is set to another class.
  2920. */
  2921. $wgExternalServers = array();
  2922. /**
  2923. * The place to put new revisions, false to put them in the local text table.
  2924. * Part of a URL, e.g. DB://cluster1
  2925. *
  2926. * Can be an array instead of a single string, to enable data distribution. Keys
  2927. * must be consecutive integers, starting at zero. Example:
  2928. *
  2929. * $wgDefaultExternalStore = array( 'DB://cluster1', 'DB://cluster2' );
  2930. *
  2931. */
  2932. $wgDefaultExternalStore = false;
  2933. /**
  2934. * Revision text may be cached in $wgMemc to reduce load on external storage
  2935. * servers and object extraction overhead for frequently-loaded revisions.
  2936. *
  2937. * Set to 0 to disable, or number of seconds before cache expiry.
  2938. */
  2939. $wgRevisionCacheExpiry = 0;
  2940. /**
  2941. * list of trusted media-types and mime types.
  2942. * Use the MEDIATYPE_xxx constants to represent media types.
  2943. * This list is used by Image::isSafeFile
  2944. *
  2945. * Types not listed here will have a warning about unsafe content
  2946. * displayed on the images description page. It would also be possible
  2947. * to use this for further restrictions, like disabling direct
  2948. * [[media:...]] links for non-trusted formats.
  2949. */
  2950. $wgTrustedMediaFormats= array(
  2951. MEDIATYPE_BITMAP, //all bitmap formats
  2952. MEDIATYPE_AUDIO, //all audio formats
  2953. MEDIATYPE_VIDEO, //all plain video formats
  2954. "image/svg+xml", //svg (only needed if inline rendering of svg is not supported)
  2955. "application/pdf", //PDF files
  2956. #"application/x-shockwave-flash", //flash/shockwave movie
  2957. );
  2958. /**
  2959. * Allow special page inclusions such as {{Special:Allpages}}
  2960. */
  2961. $wgAllowSpecialInclusion = true;
  2962. /**
  2963. * Timeout for HTTP requests done via CURL
  2964. */
  2965. $wgHTTPTimeout = 3;
  2966. /**
  2967. * Proxy to use for CURL requests.
  2968. */
  2969. $wgHTTPProxy = false;
  2970. /**
  2971. * Enable interwiki transcluding. Only when iw_trans=1.
  2972. */
  2973. $wgEnableScaryTranscluding = false;
  2974. /**
  2975. * Expiry time for interwiki transclusion
  2976. */
  2977. $wgTranscludeCacheExpiry = 3600;
  2978. /**
  2979. * Support blog-style "trackbacks" for articles. See
  2980. * http://www.sixapart.com/pronet/docs/trackback_spec for details.
  2981. */
  2982. $wgUseTrackbacks = false;
  2983. /**
  2984. * Enable filtering of categories in Recentchanges
  2985. */
  2986. $wgAllowCategorizedRecentChanges = false ;
  2987. /**
  2988. * Number of jobs to perform per request. May be less than one in which case
  2989. * jobs are performed probabalistically. If this is zero, jobs will not be done
  2990. * during ordinary apache requests. In this case, maintenance/runJobs.php should
  2991. * be run periodically.
  2992. */
  2993. $wgJobRunRate = 1;
  2994. /**
  2995. * Number of rows to update per job
  2996. */
  2997. $wgUpdateRowsPerJob = 500;
  2998. /**
  2999. * Number of rows to update per query
  3000. */
  3001. $wgUpdateRowsPerQuery = 10;
  3002. /**
  3003. * Enable AJAX framework
  3004. */
  3005. $wgUseAjax = true;
  3006. /**
  3007. * List of Ajax-callable functions.
  3008. * Extensions acting as Ajax callbacks must register here
  3009. */
  3010. $wgAjaxExportList = array( 'wfAjaxGetThumbnailUrl', 'wfAjaxGetFileUrl' );
  3011. /**
  3012. * Enable watching/unwatching pages using AJAX.
  3013. * Requires $wgUseAjax to be true too.
  3014. * Causes wfAjaxWatch to be added to $wgAjaxExportList
  3015. */
  3016. $wgAjaxWatch = true;
  3017. /**
  3018. * Enable AJAX check for file overwrite, pre-upload
  3019. */
  3020. $wgAjaxUploadDestCheck = true;
  3021. /**
  3022. * Enable previewing licences via AJAX
  3023. */
  3024. $wgAjaxLicensePreview = true;
  3025. /**
  3026. * Allow DISPLAYTITLE to change title display
  3027. */
  3028. $wgAllowDisplayTitle = true;
  3029. /**
  3030. * for consistency, restrict DISPLAYTITLE to titles that normalize to the same canonical DB key
  3031. */
  3032. $wgRestrictDisplayTitle = true;
  3033. /**
  3034. * Array of usernames which may not be registered or logged in from
  3035. * Maintenance scripts can still use these
  3036. */
  3037. $wgReservedUsernames = array(
  3038. 'MediaWiki default', // Default 'Main Page' and MediaWiki: message pages
  3039. 'Conversion script', // Used for the old Wikipedia software upgrade
  3040. 'Maintenance script', // Maintenance scripts which perform editing, image import script
  3041. 'Template namespace initialisation script', // Used in 1.2->1.3 upgrade
  3042. 'msg:double-redirect-fixer', // Automatic double redirect fix
  3043. );
  3044. /**
  3045. * MediaWiki will reject HTMLesque tags in uploaded files due to idiotic browsers which can't
  3046. * perform basic stuff like MIME detection and which are vulnerable to further idiots uploading
  3047. * crap files as images. When this directive is on, <title> will be allowed in files with
  3048. * an "image/svg+xml" MIME type. You should leave this disabled if your web server is misconfigured
  3049. * and doesn't send appropriate MIME types for SVG images.
  3050. */
  3051. $wgAllowTitlesInSVG = false;
  3052. /**
  3053. * Array of namespaces which can be deemed to contain valid "content", as far
  3054. * as the site statistics are concerned. Useful if additional namespaces also
  3055. * contain "content" which should be considered when generating a count of the
  3056. * number of articles in the wiki.
  3057. */
  3058. $wgContentNamespaces = array( NS_MAIN );
  3059. /**
  3060. * Maximum amount of virtual memory available to shell processes under linux, in KB.
  3061. */
  3062. $wgMaxShellMemory = 102400;
  3063. /**
  3064. * Maximum file size created by shell processes under linux, in KB
  3065. * ImageMagick convert for example can be fairly hungry for scratch space
  3066. */
  3067. $wgMaxShellFileSize = 102400;
  3068. /**
  3069. * Maximum CPU time in seconds for shell processes under linux
  3070. */
  3071. $wgMaxShellTime = 180;
  3072. /**
  3073. * Executable name of PHP cli client (php/php5)
  3074. */
  3075. $wgPhpCli = 'php';
  3076. /**
  3077. * DJVU settings
  3078. * Path of the djvudump executable
  3079. * Enable this and $wgDjvuRenderer to enable djvu rendering
  3080. */
  3081. # $wgDjvuDump = 'djvudump';
  3082. $wgDjvuDump = null;
  3083. /**
  3084. * Path of the ddjvu DJVU renderer
  3085. * Enable this and $wgDjvuDump to enable djvu rendering
  3086. */
  3087. # $wgDjvuRenderer = 'ddjvu';
  3088. $wgDjvuRenderer = null;
  3089. /**
  3090. * Path of the djvutoxml executable
  3091. * This works like djvudump except much, much slower as of version 3.5.
  3092. *
  3093. * For now I recommend you use djvudump instead. The djvuxml output is
  3094. * probably more stable, so we'll switch back to it as soon as they fix
  3095. * the efficiency problem.
  3096. * http://sourceforge.net/tracker/index.php?func=detail&aid=1704049&group_id=32953&atid=406583
  3097. */
  3098. # $wgDjvuToXML = 'djvutoxml';
  3099. $wgDjvuToXML = null;
  3100. /**
  3101. * Shell command for the DJVU post processor
  3102. * Default: pnmtopng, since ddjvu generates ppm output
  3103. * Set this to false to output the ppm file directly.
  3104. */
  3105. $wgDjvuPostProcessor = 'pnmtojpeg';
  3106. /**
  3107. * File extension for the DJVU post processor output
  3108. */
  3109. $wgDjvuOutputExtension = 'jpg';
  3110. /**
  3111. * Enable the MediaWiki API for convenient access to
  3112. * machine-readable data via api.php
  3113. *
  3114. * See http://www.mediawiki.org/wiki/API
  3115. */
  3116. $wgEnableAPI = true;
  3117. /**
  3118. * Allow the API to be used to perform write operations
  3119. * (page edits, rollback, etc.) when an authorised user
  3120. * accesses it
  3121. */
  3122. $wgEnableWriteAPI = true;
  3123. /**
  3124. * API module extensions
  3125. * Associative array mapping module name to class name.
  3126. * Extension modules may override the core modules.
  3127. */
  3128. $wgAPIModules = array();
  3129. $wgAPIMetaModules = array();
  3130. $wgAPIPropModules = array();
  3131. $wgAPIListModules = array();
  3132. /**
  3133. * Maximum amount of rows to scan in a DB query in the API
  3134. * The default value is generally fine
  3135. */
  3136. $wgAPIMaxDBRows = 5000;
  3137. /**
  3138. * The maximum size (in bytes) of an API result.
  3139. * Don't set this lower than $wgMaxArticleSize*1024
  3140. */
  3141. $wgAPIMaxResultSize = 8388608;
  3142. /**
  3143. * The maximum number of uncached diffs that can be retrieved in one API
  3144. * request. Set this to 0 to disable API diffs altogether
  3145. */
  3146. $wgAPIMaxUncachedDiffs = 1;
  3147. /**
  3148. * Parser test suite files to be run by parserTests.php when no specific
  3149. * filename is passed to it.
  3150. *
  3151. * Extensions may add their own tests to this array, or site-local tests
  3152. * may be added via LocalSettings.php
  3153. *
  3154. * Use full paths.
  3155. */
  3156. $wgParserTestFiles = array(
  3157. "$IP/maintenance/parserTests.txt",
  3158. );
  3159. /**
  3160. * Break out of framesets. This can be used to prevent external sites from
  3161. * framing your site with ads.
  3162. */
  3163. $wgBreakFrames = false;
  3164. /**
  3165. * Set this to an array of special page names to prevent
  3166. * maintenance/updateSpecialPages.php from updating those pages.
  3167. */
  3168. $wgDisableQueryPageUpdate = false;
  3169. /**
  3170. * Disable output compression (enabled by default if zlib is available)
  3171. */
  3172. $wgDisableOutputCompression = false;
  3173. /**
  3174. * If lag is higher than $wgSlaveLagWarning, show a warning in some special
  3175. * pages (like watchlist). If the lag is higher than $wgSlaveLagCritical,
  3176. * show a more obvious warning.
  3177. */
  3178. $wgSlaveLagWarning = 10;
  3179. $wgSlaveLagCritical = 30;
  3180. /**
  3181. * Parser configuration. Associative array with the following members:
  3182. *
  3183. * class The class name
  3184. *
  3185. * preprocessorClass The preprocessor class. Two classes are currently available:
  3186. * Preprocessor_Hash, which uses plain PHP arrays for tempoarary
  3187. * storage, and Preprocessor_DOM, which uses the DOM module for
  3188. * temporary storage. Preprocessor_DOM generally uses less memory;
  3189. * the speed of the two is roughly the same.
  3190. *
  3191. * If this parameter is not given, it uses Preprocessor_DOM if the
  3192. * DOM module is available, otherwise it uses Preprocessor_Hash.
  3193. *
  3194. * The entire associative array will be passed through to the constructor as
  3195. * the first parameter. Note that only Setup.php can use this variable --
  3196. * the configuration will change at runtime via $wgParser member functions, so
  3197. * the contents of this variable will be out-of-date. The variable can only be
  3198. * changed during LocalSettings.php, in particular, it can't be changed during
  3199. * an extension setup function.
  3200. */
  3201. $wgParserConf = array(
  3202. 'class' => 'Parser',
  3203. #'preprocessorClass' => 'Preprocessor_Hash',
  3204. );
  3205. /**
  3206. * LinkHolderArray batch size
  3207. * For debugging
  3208. */
  3209. $wgLinkHolderBatchSize = 1000;
  3210. /**
  3211. * Hooks that are used for outputting exceptions. Format is:
  3212. * $wgExceptionHooks[] = $funcname
  3213. * or:
  3214. * $wgExceptionHooks[] = array( $class, $funcname )
  3215. * Hooks should return strings or false
  3216. */
  3217. $wgExceptionHooks = array();
  3218. /**
  3219. * Page property link table invalidation lists. Should only be set by exten-
  3220. * sions.
  3221. */
  3222. $wgPagePropLinkInvalidations = array(
  3223. 'hiddencat' => 'categorylinks',
  3224. );
  3225. /**
  3226. * Maximum number of links to a redirect page listed on
  3227. * Special:Whatlinkshere/RedirectDestination
  3228. */
  3229. $wgMaxRedirectLinksRetrieved = 500;
  3230. /**
  3231. * Maximum number of calls per parse to expensive parser functions such as
  3232. * PAGESINCATEGORY.
  3233. */
  3234. $wgExpensiveParserFunctionLimit = 100;
  3235. /**
  3236. * Maximum number of pages to move at once when moving subpages with a page.
  3237. */
  3238. $wgMaximumMovedPages = 100;
  3239. /**
  3240. * Fix double redirects after a page move.
  3241. * Tends to conflict with page move vandalism, use only on a private wiki.
  3242. */
  3243. $wgFixDoubleRedirects = false;
  3244. /**
  3245. * Max number of redirects to follow when resolving redirects.
  3246. * 1 means only the first redirect is followed (default behavior).
  3247. * 0 or less means no redirects are followed.
  3248. */
  3249. $wgMaxRedirects = 1;
  3250. /**
  3251. * Array of invalid page redirect targets.
  3252. * Attempting to create a redirect to any of the pages in this array
  3253. * will make the redirect fail.
  3254. * Userlogout is hard-coded, so it does not need to be listed here.
  3255. * (bug 10569) Disallow Mypage and Mytalk as well.
  3256. *
  3257. * As of now, this only checks special pages. Redirects to pages in
  3258. * other namespaces cannot be invalidated by this variable.
  3259. */
  3260. $wgInvalidRedirectTargets = array( 'Filepath', 'Mypage', 'Mytalk' );
  3261. /**
  3262. * Array of namespaces to generate a sitemap for when the
  3263. * maintenance/generateSitemap.php script is run, or false if one is to be ge-
  3264. * nerated for all namespaces.
  3265. */
  3266. $wgSitemapNamespaces = false;
  3267. /**
  3268. * If user doesn't specify any edit summary when making a an edit, MediaWiki
  3269. * will try to automatically create one. This feature can be disabled by set-
  3270. * ting this variable false.
  3271. */
  3272. $wgUseAutomaticEditSummaries = true;
  3273. /**
  3274. * Limit password attempts to X attempts per Y seconds per IP per account.
  3275. * Requires memcached.
  3276. */
  3277. $wgPasswordAttemptThrottle = array( 'count' => 5, 'seconds' => 300 );
  3278. /**
  3279. * Display user edit counts in various prominent places.
  3280. */
  3281. $wgEdititis = false;
  3282. /**
  3283. * Enable the UniversalEditButton for browsers that support it
  3284. * (currently only Firefox with an extension)
  3285. * See http://universaleditbutton.org for more background information
  3286. */
  3287. $wgUniversalEditButton = true;
  3288. /**
  3289. * Allow id's that don't conform to HTML4 backward compatibility requirements.
  3290. * This is currently for testing; if all goes well, this option will be removed
  3291. * and the functionality will be enabled universally.
  3292. */
  3293. $wgEnforceHtmlIds = true;
  3294. /**
  3295. * Search form behavior
  3296. * true = use Go & Search buttons
  3297. * false = use Go button & Advanced search link
  3298. */
  3299. $wgUseTwoButtonsSearchForm = true;
  3300. /**
  3301. * Preprocessor caching threshold
  3302. */
  3303. $wgPreprocessorCacheThreshold = 1000;
  3304. /**
  3305. * Allow filtering by change tag in recentchanges, history, etc
  3306. * Has no effect if no tags are defined in valid_tag.
  3307. */
  3308. $wgUseTagFilter = true;
  3309. /**
  3310. * Allow redirection to another page when a user logs in.
  3311. * To enable, set to a string like 'Main Page'
  3312. */
  3313. $wgRedirectOnLogin = null;
  3314. /**
  3315. * Characters to prevent during new account creations.
  3316. * This is used in a regular expression character class during
  3317. * registration (regex metacharacters like / are escaped).
  3318. */
  3319. $wgInvalidUsernameCharacters = '@';
  3320. /**
  3321. * Character used as a delimiter when testing for interwiki userrights
  3322. * (In Special:UserRights, it is possible to modify users on different
  3323. * databases if the delimiter is used, e.g. Someuser@enwiki).
  3324. *
  3325. * It is recommended that you have this delimiter in
  3326. * $wgInvalidUsernameCharacters above, or you will not be able to
  3327. * modify the user rights of those users via Special:UserRights
  3328. */
  3329. $wgUserrightsInterwikiDelimiter = '@';