Index: trunk/extensions/Configure/Configure.body.php |
— | — | @@ -11,13 +11,12 @@ |
12 | 12 | protected static $settings, $restricted, $arrayDefs, $settingsVersion; |
13 | 13 | protected $conf; |
14 | 14 | |
| 15 | + // Static methods |
| 16 | + |
15 | 17 | /** |
16 | | - * Constructor |
17 | 18 | * Load messages and initialise static variables |
18 | 19 | */ |
19 | | - public function __construct() { |
20 | | - efConfigureLoadMessages(); |
21 | | - parent::__construct( 'Configure', 'configure' ); |
| 20 | + protected static function loadSettingsDefs(){ |
22 | 21 | if( !self::$initialized ){ |
23 | 22 | self::$initialized = true; |
24 | 23 | require( dirname( __FILE__ ) . '/Configure.settings.php' ); |
— | — | @@ -29,6 +28,69 @@ |
30 | 29 | } |
31 | 30 | |
32 | 31 | /** |
| 32 | + * Return true if the setting is available in this version of MediaWiki |
| 33 | + * |
| 34 | + * @param string $setting setting name |
| 35 | + * @return bool |
| 36 | + */ |
| 37 | + protected static function isSettingAvailable( $setting ){ |
| 38 | + global $wgVersion; |
| 39 | + self::loadSettingsDefs(); |
| 40 | + if( !array_key_exists( $setting, self::getAllSettings() ) ) |
| 41 | + return false; |
| 42 | + if( !array_key_exists( $setting, self::$settingsVersion ) ) |
| 43 | + return true; |
| 44 | + foreach( self::$settingsVersion[$setting] as $test ){ |
| 45 | + list( $ver, $comp ) = $test; |
| 46 | + if( !version_compare( $wgVersion, $ver, $comp ) ) |
| 47 | + return false; |
| 48 | + } |
| 49 | + return true; |
| 50 | + } |
| 51 | + |
| 52 | + /** |
| 53 | + * Get a simple array with all config settings |
| 54 | + * |
| 55 | + * @return array |
| 56 | + */ |
| 57 | + protected static function getAllSettings(){ |
| 58 | + static $arr = null; |
| 59 | + if( is_array( $arr ) && !empty( $arr ) ) |
| 60 | + return $arr; |
| 61 | + self::loadSettingsDefs(); |
| 62 | + $arr = array(); |
| 63 | + foreach( self::$settings as $section ){ |
| 64 | + foreach( $section as $group ){ |
| 65 | + $arr = array_merge( $arr, $group ); |
| 66 | + } |
| 67 | + } |
| 68 | + return $arr; |
| 69 | + } |
| 70 | + |
| 71 | + /** |
| 72 | + * Get the type of a setting |
| 73 | + * |
| 74 | + * @param string $setting |
| 75 | + * @return mixed |
| 76 | + */ |
| 77 | + protected static function getSettingType( $setting ){ |
| 78 | + $settings = self::getAllSettings(); |
| 79 | + if( isset( $settings[$setting] ) ) |
| 80 | + return $settings[$setting]; |
| 81 | + else |
| 82 | + return false; |
| 83 | + } |
| 84 | + |
| 85 | + /** |
| 86 | + * Constructor |
| 87 | + */ |
| 88 | + public function __construct() { |
| 89 | + efConfigureLoadMessages(); |
| 90 | + parent::__construct( 'Configure', 'configure' ); |
| 91 | + self::loadSettingsDefs(); |
| 92 | + } |
| 93 | + |
| 94 | + /** |
33 | 95 | * Show the special page |
34 | 96 | * |
35 | 97 | * @param mixed $par Parameter passed to the page |
— | — | @@ -104,26 +166,6 @@ |
105 | 167 | } |
106 | 168 | |
107 | 169 | /** |
108 | | - * Return true if the setting is available in this version of MediaWiki |
109 | | - * |
110 | | - * @param string $setting setting name |
111 | | - * @return bool |
112 | | - */ |
113 | | - protected function isSettingAvailable( $setting ){ |
114 | | - global $wgVersion; |
115 | | - if( !array_key_exists( $setting, self::$settings ) ) |
116 | | - return false; |
117 | | - if( !array_key_exists( $setting, self::$settingsVersion ) ) |
118 | | - return true; |
119 | | - foreach( self::$settingsVersion[$setting] as $test ){ |
120 | | - list( $ver, $comp ) = $test; |
121 | | - if( !version_compare( $wgVersion, $ver, $comp ) ) |
122 | | - return false; |
123 | | - } |
124 | | - return true; |
125 | | - } |
126 | | - |
127 | | - /** |
128 | 170 | * Submit the posted request |
129 | 171 | */ |
130 | 172 | protected function doSubmit(){ |
— | — | @@ -137,7 +179,7 @@ |
138 | 180 | } |
139 | 181 | } |
140 | 182 | $settings = array(); |
141 | | - foreach( self::$settings as $name => $type ){ |
| 183 | + foreach( self::getAllSettings() as $name => $type ){ |
142 | 184 | if( in_array( $name, self::$restricted ) && !$allowedRestricted ){ |
143 | 185 | $settings[$name] = $this->getSettingValue( $name ); |
144 | 186 | continue; |
— | — | @@ -292,146 +334,8 @@ |
293 | 335 | Xml::openElement( 'form', array( 'method' => 'post', 'action' => $action ) ) . "\n" . |
294 | 336 | Xml::openElement( 'div', array( 'id' => 'preferences' ) ) . "\n" . |
295 | 337 | |
296 | | - Xml::openElement( 'fieldset' ) . "\n" . |
297 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-general', array( 'parseinline' ) ) ) . "\n" . |
298 | | - $this->buildGeneralSettings() . |
299 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
| 338 | + $this->buildAllSettings() . "\n" . |
300 | 339 | |
301 | | - Xml::openElement( 'fieldset' ) . "\n" . |
302 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-db', array( 'parseinline' ) ) ) . "\n" . |
303 | | - $this->buildDbSettings() . |
304 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
305 | | - |
306 | | - Xml::openElement( 'fieldset' ) . "\n" . |
307 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-email', array( 'parseinline' ) ) ) . "\n" . |
308 | | - $this->buildEmailSettings() . |
309 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
310 | | - |
311 | | - Xml::openElement( 'fieldset' ) . "\n" . |
312 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-localization', array( 'parseinline' ) ) ) . "\n" . |
313 | | - $this->buildLocalizationSettings() . |
314 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
315 | | - |
316 | | - Xml::openElement( 'fieldset' ) . "\n" . |
317 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-debug', array( 'parseinline' ) ) ) . "\n" . |
318 | | - $this->buildDebugSettings() . |
319 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
320 | | - |
321 | | - Xml::openElement( 'fieldset' ) . "\n" . |
322 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-site', array( 'parseinline' ) ) ) . "\n" . |
323 | | - $this->buildSiteSettings() . |
324 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
325 | | - |
326 | | - Xml::openElement( 'fieldset' ) . "\n" . |
327 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-namespaces', array( 'parseinline' ) ) ) . "\n" . |
328 | | - $this->buildNamespacesSettings() . |
329 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
330 | | - |
331 | | - Xml::openElement( 'fieldset' ) . "\n" . |
332 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-skin', array( 'parseinline' ) ) ) . "\n" . |
333 | | - $this->buildSkinSettings() . |
334 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
335 | | - |
336 | | - Xml::openElement( 'fieldset' ) . "\n" . |
337 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-category', array( 'parseinline' ) ) ) . "\n" . |
338 | | - $this->buildCategorySettings() . |
339 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
340 | | - |
341 | | - Xml::openElement( 'fieldset' ) . "\n" . |
342 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-cache', array( 'parseinline' ) ) ) . "\n" . |
343 | | - $this->buildCacheSettings() . |
344 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
345 | | - |
346 | | - Xml::openElement( 'fieldset' ) . "\n" . |
347 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-interwiki', array( 'parseinline' ) ) ) . "\n" . |
348 | | - $this->buildInterwikiSettings() . |
349 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
350 | | - |
351 | | - Xml::openElement( 'fieldset' ) . "\n" . |
352 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-access', array( 'parseinline' ) ) ) . "\n" . |
353 | | - $this->buildAccessSettings() . |
354 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
355 | | - |
356 | | - Xml::openElement( 'fieldset' ) . "\n" . |
357 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-rates', array( 'parseinline' ) ) ) . "\n" . |
358 | | - $this->buildRateLimitsSettings() . |
359 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
360 | | - |
361 | | - Xml::openElement( 'fieldset' ) . "\n" . |
362 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-proxy', array( 'parseinline' ) ) ) . "\n" . |
363 | | - $this->buildProxySettings() . |
364 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
365 | | - |
366 | | - Xml::openElement( 'fieldset' ) . "\n" . |
367 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-squid', array( 'parseinline' ) ) ) . "\n" . |
368 | | - $this->buildSquidSettings() . |
369 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
370 | | - |
371 | | - Xml::openElement( 'fieldset' ) . "\n" . |
372 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-cookie', array( 'parseinline' ) ) ) . "\n" . |
373 | | - $this->buildCookieSettings() . |
374 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
375 | | - |
376 | | - Xml::openElement( 'fieldset' ) . "\n" . |
377 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-reduction', array( 'parseinline' ) ) ) . "\n" . |
378 | | - $this->buildReductionSettings() . |
379 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
380 | | - |
381 | | - Xml::openElement( 'fieldset' ) . "\n" . |
382 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-upload', array( 'parseinline' ) ) ) . "\n" . |
383 | | - $this->buildUploadSettings() . |
384 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
385 | | - |
386 | | - Xml::openElement( 'fieldset' ) . "\n" . |
387 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-images', array( 'parseinline' ) ) ) . "\n" . |
388 | | - $this->buildImageSettings() . |
389 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
390 | | - |
391 | | - Xml::openElement( 'fieldset' ) . "\n" . |
392 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-parser', array( 'parseinline' ) ) ) . "\n" . |
393 | | - $this->buildParserSettings() . |
394 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
395 | | - |
396 | | - Xml::openElement( 'fieldset' ) . "\n" . |
397 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-specialpages', array( 'parseinline' ) ) ) . "\n" . |
398 | | - $this->buildSpecialPagesSettings() . |
399 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
400 | | - |
401 | | - Xml::openElement( 'fieldset' ) . "\n" . |
402 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-users', array( 'parseinline' ) ) ) . "\n" . |
403 | | - $this->buildUsersSettings() . |
404 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
405 | | - |
406 | | - Xml::openElement( 'fieldset' ) . "\n" . |
407 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-feed', array( 'parseinline' ) ) ) . "\n" . |
408 | | - $this->buildFeedSettings() . |
409 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
410 | | - |
411 | | - Xml::openElement( 'fieldset' ) . "\n" . |
412 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-job', array( 'parseinline' ) ) ) . "\n" . |
413 | | - $this->buildJobSettings() . |
414 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
415 | | - |
416 | | - Xml::openElement( 'fieldset' ) . "\n" . |
417 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-extension', array( 'parseinline' ) ) ) . "\n" . |
418 | | - $this->buildExtensionSettings() . |
419 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
420 | | - |
421 | | - Xml::openElement( 'fieldset' ) . "\n" . |
422 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-copyright', array( 'parseinline' ) ) ) . "\n" . |
423 | | - $this->buildCopyrightSettings() . |
424 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
425 | | - |
426 | | - Xml::openElement( 'fieldset' ) . "\n" . |
427 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-htcp', array( 'parseinline' ) ) ) . "\n" . |
428 | | - $this->buildHtcpSettings() . |
429 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
430 | | - |
431 | | - Xml::openElement( 'fieldset' ) . "\n" . |
432 | | - Xml::element( 'legend', null, wfMsgExt( 'configure-section-misc', array( 'parseinline' ) ) ) . "\n" . |
433 | | - $this->buildMiscSettings() . |
434 | | - Xml::closeElement( 'fieldset' ) . "\n" . |
435 | | - |
436 | 340 | Xml::openElement( 'div', array( 'id' => 'prefsubmit' ) ) . "\n" . |
437 | 341 | Xml::openElement( 'div', array() ) . "\n" . |
438 | 342 | Xml::element( 'input', array( 'type' => 'submit', 'name' => 'wpSave', 'class' => 'btnSavePrefs', 'value' => wfMsgHtml( 'configure-btn-save' ) ) ) . "\n" . |
— | — | @@ -465,19 +369,6 @@ |
466 | 370 | } |
467 | 371 | |
468 | 372 | /** |
469 | | - * Build a beginning of table with a header if requested |
470 | | - * |
471 | | - * @param String $msg name of the message to display or null |
472 | | - * @return String xhtml fragment |
473 | | - */ |
474 | | - protected function buildTableStart( $msg = null ){ |
475 | | - $table = "<table>\n"; |
476 | | - if( $msg !== null ) |
477 | | - $table .= $this->buildTableHeading( $msg ); |
478 | | - return $table; |
479 | | - } |
480 | | - |
481 | | - /** |
482 | 373 | * Like before but only for the header |
483 | 374 | * |
484 | 375 | * @param String $msg name of the message to display |
— | — | @@ -491,17 +382,17 @@ |
492 | 383 | * Build an input for $conf setting with $default as default value |
493 | 384 | * |
494 | 385 | * @param String $conf name of the setting |
| 386 | + * @param String $type type of the setting |
495 | 387 | * @param String $default default value |
496 | 388 | * @return String xhtml fragment |
497 | 389 | */ |
498 | | - protected function buildInput( $conf, $default ){ |
| 390 | + protected function buildInput( $conf, $type, $default ){ |
499 | 391 | $allowed = true; |
500 | 392 | if( in_array( $conf, self::$restricted ) ){ |
501 | 393 | global $wgUser; |
502 | 394 | if( !$wgUser->isAllowed( 'configure-all' ) ) |
503 | 395 | $allowed = false; |
504 | 396 | } |
505 | | - $type = self::$settings[$conf]; |
506 | 397 | if( $type == 'text' || $type == 'int' ){ |
507 | 398 | if( !$allowed ) |
508 | 399 | return htmlspecialchars( $default ); |
— | — | @@ -732,10 +623,11 @@ |
733 | 624 | * @parm String $msg message name to display, use $conf if the message is |
734 | 625 | * empty |
735 | 626 | * @param String $conf name of the setting |
| 627 | + * @param String $type type of the setting |
736 | 628 | * @param String $default default value |
737 | 629 | * @return String xhtml fragment |
738 | 630 | */ |
739 | | - protected function buildTableRow( $msg, $conf, $default ){ |
| 631 | + protected function buildTableRow( $msg, $conf, $type, $default ){ |
740 | 632 | global $wgContLang; |
741 | 633 | |
742 | 634 | $align = array(); |
— | — | @@ -745,7 +637,7 @@ |
746 | 638 | $msgVal = "\$$conf"; |
747 | 639 | $td1 = Xml::openElement( 'td', $align ) . $msgVal . '</td>'; |
748 | 640 | if( $this->isSettingAvailable( $conf ) ) |
749 | | - $td2 = Xml::openElement( 'td', $align ) . $this->buildInput( $conf, $default ) . '</td>'; |
| 641 | + $td2 = Xml::openElement( 'td', $align ) . $this->buildInput( $conf, $type, $default ) . '</td>'; |
750 | 642 | else |
751 | 643 | $td2 = Xml::openElement( 'td', $align ) . wfMsgExt( 'configure-setting-not-available', array( 'parseinline' ) ) . '</td>'; |
752 | 644 | |
— | — | @@ -753,384 +645,25 @@ |
754 | 646 | } |
755 | 647 | |
756 | 648 | /** |
757 | | - * Simple wrapper for self::buildTableRow() |
| 649 | + * Build the content of the form |
758 | 650 | * |
759 | | - * @param String $setting setting name |
760 | | - * @return String xhtml fragment |
| 651 | + * @return xhtml |
761 | 652 | */ |
762 | | - protected function buildSimpleSetting( $setting ){ |
763 | | - return $this->buildTableRow( 'configure-setting-' . $setting, $setting, $this->getSettingValue( $setting ) ); |
764 | | - } |
765 | | - |
766 | | - /** |
767 | | - * Like self::buildSimpleSetting() but accepts an array of settings |
768 | | - * |
769 | | - * @param array $settingArr array of settings name |
770 | | - * @return string html |
771 | | - */ |
772 | | - protected function buildSimpleSettingArray( $settingArr ){ |
773 | | - $text = ''; |
774 | | - foreach( $settingArr as $setting ){ |
775 | | - $text .= $this->buildSimpleSetting( $setting ); |
| 653 | + protected function buildAllSettings(){ |
| 654 | + $ret = ''; |
| 655 | + foreach( self::$settings as $title => $groups ){ |
| 656 | + $ret .= Xml::openElement( 'fieldset' ) . "\n" . |
| 657 | + Xml::element( 'legend', null, wfMsgExt( 'configure-section-' . $title, array( 'parseinline' ) ) ) . "\n" . |
| 658 | + Xml::openElement( 'table' ) . "\n"; |
| 659 | + foreach( $groups as $group => $settings ){ |
| 660 | + $ret .= $this->buildTableHeading( 'configure-section-' . $group ); |
| 661 | + foreach( $settings as $setting => $type ){ |
| 662 | + $ret .= $this->buildTableRow( 'configure-setting-' . $setting, $setting, $type, $this->getSettingValue( $setting ) ); |
| 663 | + } |
| 664 | + } |
| 665 | + $ret .= Xml::closeElement( 'table' ) . "\n" . |
| 666 | + Xml::closeElement( 'fieldset' ); |
776 | 667 | } |
777 | | - return $text; |
| 668 | + return $ret; |
778 | 669 | } |
779 | | - |
780 | | - private function buildGeneralSettings(){ |
781 | | - $out = $this->buildTableStart( 'configure-section-general' ); |
782 | | - $out .= $this->buildSimpleSetting( 'wgSitename' ); |
783 | | - $out .= $this->buildTableHeading( 'configure-section-paths' ); |
784 | | - $arr = array( 'wgAppleTouchIcon', 'wgArticlePath', 'wgDiff3', 'wgFavicon', |
785 | | - 'wgLogo', 'wgMathDirectory', 'wgMathPath', 'wgRedirectScript', 'wgScriptExtension', |
786 | | - 'wgScriptPath', 'wgStyleDirectory', 'wgStylePath', 'wgTmpDirectory', 'wgUsePathInfo', |
787 | | - 'wgUploadNavigationUrl', 'wgVariantArticlePath' ); |
788 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
789 | | - $out .= "</table>\n"; |
790 | | - return $out; |
791 | | - } |
792 | | - |
793 | | - private function buildDbSettings(){ |
794 | | - global $wgUser; |
795 | | - if( !$wgUser->isAllowed( 'configure-all' ) ) |
796 | | - return wfMsgExt( 'configure-section-db-notallowed', array( 'parse' ) ); |
797 | | - $out = $this->buildTableStart( 'configure-section-db' ); |
798 | | - $arr = array( 'wgAllDBsAreLocalhost', 'wgCheckDBSchema', 'wgDBAvgStatusPoll', |
799 | | - 'wgDBClusterTimeout', 'wgDBminWordLen', 'wgDBmwschema', 'wgDBmysql5', |
800 | | - 'wgDBprefix', 'wgDBservers', 'wgDBTableOptions', 'wgDBtransactions', |
801 | | - 'wgDBts2schema', 'wgDBtype', 'wgLBFactoryConf', 'wgDefaultExternalStore', |
802 | | - 'wgLocalDatabases', 'wgMasterWaitTimeout', 'wgSearchType', 'wgSlaveLagCritical', |
803 | | - 'wgSlaveLagWarning', 'wgExternalServers' ); |
804 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
805 | | - $out .= "</table>\n"; |
806 | | - return $out; |
807 | | - } |
808 | | - |
809 | | - private function buildEmailSettings(){ |
810 | | - $out = $this->buildTableStart( 'configure-section-email' ); |
811 | | - $arr = array( 'wgEmailAuthentication', 'wgEmergencyContact', 'wgEnableEmail', |
812 | | - 'wgEnableUserEmail', 'wgNoReplyAddress', 'wgPasswordSender', 'wgSMTP', |
813 | | - 'wgUserEmailUseReplyTo' ); |
814 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
815 | | - $out .= $this->buildTableHeading( 'configure-section-enotif' ); |
816 | | - $arr = array( 'wgEnotifFromEditor', 'wgEnotifImpersonal', 'wgEnotifMaxRecips', |
817 | | - 'wgEnotifMinorEdits', 'wgEnotifRevealEditorAddress', 'wgEnotifUseJobQ', |
818 | | - 'wgEnotifUserTalk', 'wgEnotifWatchlist', 'wgShowUpdatedMarker', |
819 | | - 'wgUsersNotifedOnAllChanges', 'wgUsersNotifiedOnAllChanges' ); |
820 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
821 | | - $out .= "</table>\n"; |
822 | | - return $out; |
823 | | - } |
824 | | - |
825 | | - private function buildLocalizationSettings(){ |
826 | | - $out = $this->buildTableStart( 'configure-section-localization' ); |
827 | | - $arr = array( 'wgAmericanDates', 'wgDisableLangConversion', 'wgForceUIMsgAsContentMsg', |
828 | | - 'wgInterwikiMagic', 'wgLanguageCode', 'wgLegacyEncoding', 'wgLocaltimezone', |
829 | | - 'wgLocalTZoffset', 'wgLoginLanguageSelector', 'wgTranslateNumerals', |
830 | | - 'wgUseDatabaseMessages', 'wgUseDynamicDates', 'wgUseZhdaemon', 'wgZhdaemonHost', |
831 | | - 'wgZhdaemonPort' ); |
832 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
833 | | - $out .= $this->buildTableHeading( 'configure-section-html' ); |
834 | | - $arr = array( 'wgDocType', 'wgDTD', 'wgMimeType', 'wgXhtmlDefaultNamespace', 'wgXhtmlNamespaces' ); |
835 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
836 | | - $out .= "</table>\n"; |
837 | | - return $out; |
838 | | - } |
839 | | - |
840 | | - private function buildDebugSettings(){ |
841 | | - $out = $this->buildTableStart( 'configure-section-debug' ); |
842 | | - $arr = array( 'wgColorErrors', 'wgDebugComments', 'wgDebugDumpSql', 'wgDebugLogFile', |
843 | | - 'wgDebugLogGroups', 'wgDebugRawPage', 'wgDebugRedirects', 'wgLogQueries', |
844 | | - 'wgShowSQLErrors', 'wgStatsMethod' ); |
845 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
846 | | - $out .= $this->buildTableHeading( 'configure-section-profiling' ); |
847 | | - $arr = array( 'wgDebugFunctionEntry', 'wgDebugProfiling', 'wgDebugSquid', |
848 | | - 'wgProfileCallTree', 'wgProfileLimit', 'wgProfileOnly', 'wgProfilePerHost', |
849 | | - 'wgProfileToDatabase', 'wgUDPProfilerHost', 'wgUDPProfilerPort' ); |
850 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
851 | | - $out .= "</table>\n"; |
852 | | - return $out; |
853 | | - } |
854 | | - |
855 | | - private function buildSiteSettings(){ |
856 | | - $out = $this->buildTableStart( 'configure-section-site' ); |
857 | | - $arr = array( 'wgAllowUserCss', 'wgAllowUserJs', 'wgDefaultUserOptions', |
858 | | - 'wgCapitalLinks', 'wgDefaultLanguageVariant', 'wgDefaultRobotPolicy', |
859 | | - 'wgExtraLanguageNames', 'wgExtraSubtitle', 'wgHideInterlanguageLinks', |
860 | | - 'wgLegalTitleChars', 'wgNoFollowLinks', 'wgPageShowWatchingUsers', |
861 | | - 'wgPageShowWatchingUsers', 'wgRestrictionLevels', 'wgRestrictionTypes', |
862 | | - 'wgSiteNotice', 'wgSiteSupportPage', 'wgUrlProtocols', 'wgUseSiteCss', |
863 | | - 'wgUseSiteJs' ); |
864 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
865 | | - $out .= $this->buildTableHeading( 'configure-section-ajax' ); |
866 | | - $arr = array( 'wgUseAjax', 'wgAjaxSearch', 'wgAjaxUploadDestCheck', |
867 | | - 'wgAjaxWatch', 'wgLivePreview' ); |
868 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
869 | | - $out .= "</table>\n"; |
870 | | - return $out; |
871 | | - } |
872 | | - |
873 | | - private function buildNamespacesSettings(){ |
874 | | - $out = $this->buildTableStart( 'configure-section-namespaces' ); |
875 | | - $arr = array( 'wgContentNamespaces', 'wgExtraNamespaces', 'wgMetaNamespace', |
876 | | - 'wgMetaNamespaceTalk', 'wgNamespaceAliases', 'wgNamespaceProtection', |
877 | | - 'wgNamespaceRobotPolicies', 'wgNamespacesToBeSearchedDefault', |
878 | | - 'wgNamespacesWithSubpages', 'wgNoFollowNsExceptions', 'wgNonincludableNamespaces', |
879 | | - 'wgArticleRobotPolicies' ); |
880 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
881 | | - $out .= "</table>\n"; |
882 | | - return $out; |
883 | | - } |
884 | | - |
885 | | - private function buildSkinSettings(){ |
886 | | - $out = $this->buildTableStart( 'configure-section-skin' ); |
887 | | - $arr = array( 'wgDefaultSkin', 'wgSkipSkin', 'wgSkipSkins', 'wgValidSkinNames' ); |
888 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
889 | | - $out .= "</table>\n"; |
890 | | - return $out; |
891 | | - } |
892 | | - |
893 | | - private function buildCategorySettings(){ |
894 | | - $out = $this->buildTableStart( 'configure-section-category' ); |
895 | | - $arr = array( 'wgCategoryMagicGallery', 'wgCategoryPagingLimit', 'wgUseCategoryBrowser' ); |
896 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
897 | | - $out .= "</table>\n"; |
898 | | - return $out; |
899 | | - } |
900 | | - |
901 | | - private function buildCacheSettings(){ |
902 | | - $out = $this->buildTableStart( 'configure-section-cache' ); |
903 | | - $arr = array( 'wgCacheEpoch', 'wgCachePages', 'wgForcedRawSMaxage', 'wgMainCacheType', |
904 | | - 'wgQueryCacheLimit', 'wgRevisionCacheExpiry', 'wgThumbnailEpoch', 'wgTranscludeCacheExpiry', |
905 | | - 'wgUseFileCache', 'wgFileCacheDirectory', 'wgUseGzip' ); |
906 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
907 | | - $out .= $this->buildTableHeading( 'configure-section-pcache' ); |
908 | | - $arr = array( 'wgEnableParserCache', 'wgEnableSidebarCache', 'wgParserCacheType', |
909 | | - 'wgSidebarCacheExpiry' ); |
910 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
911 | | - $out .= $this->buildTableHeading( 'configure-section-messagecache' ); |
912 | | - $arr = array( 'wgMessageCacheType', 'wgLocalMessageCache', 'wgMsgCacheExpiry', |
913 | | - 'wgCachedMessageArrays', 'wgCheckSerialized', 'wgLocalMessageCacheSerialized', |
914 | | - 'wgMaxMsgCacheEntrySize' ); |
915 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
916 | | - $out .= $this->buildTableHeading( 'configure-section-memcached' ); |
917 | | - $arr = array( 'wgLinkCacheMemcached', 'wgMemCachedDebug', 'wgMemCachedPersistent', |
918 | | - 'wgMemCachedServers', 'wgSessionsInMemcached' ); |
919 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
920 | | - $out .= "</table>\n"; |
921 | | - return $out; |
922 | | - } |
923 | | - |
924 | | - private function buildInterwikiSettings(){ |
925 | | - $out = $this->buildTableStart( 'configure-section-interwiki' ); |
926 | | - $arr = array( 'wgEnableScaryTranscluding', 'wgImportSources', 'wgInterwikiCache', |
927 | | - 'wgInterwikiExpiry', 'wgInterwikiFallbackSite', 'wgInterwikiScopes', 'wgLocalInterwiki' ); |
928 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
929 | | - $out .= "</table>\n"; |
930 | | - return $out; |
931 | | - } |
932 | | - |
933 | | - private function buildAccessSettings(){ |
934 | | - $out = $this->buildTableStart( 'configure-section-access' ); |
935 | | - $arr = array( 'wgAutopromote', 'wgAccountCreationThrottle', 'wgAllowPageInfo', |
936 | | - 'wgAutoblockExpiry', 'wgDeleteRevisionsLimit', 'wgDisabledActions', |
937 | | - 'wgEmailConfirmToEdit', 'wgEnableCascadingProtection', 'wgEnableAPI', |
938 | | - 'wgEnableWriteAPI', 'wgImplicitGroups', 'wgPasswordSalt', 'wgReadOnly', |
939 | | - 'wgReadOnlyFile', 'wgWhitelistRead' ); |
940 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
941 | | - $out .= $this->buildTableHeading( 'configure-section-groups' ); |
942 | | - $arr = array( 'wgGroupPermissions', 'wgAddGroups', 'wgRemoveGroups', 'wgGroupsAddToSelf', |
943 | | - 'wgGroupsRemoveFromSelf' ); |
944 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
945 | | - $out .= $this->buildTableHeading( 'configure-section-block' ); |
946 | | - $arr = array( 'wgBlockAllowsUTEdit', 'wgSysopEmailBans', 'wgSysopRangeBans', |
947 | | - 'wgSysopUserBans' ); |
948 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
949 | | - $out .= "</table>\n"; |
950 | | - return $out; |
951 | | - } |
952 | | - |
953 | | - private function buildRateLimitsSettings(){ |
954 | | - $out = $this->buildTableStart( 'configure-section-rates' ); |
955 | | - $arr = array( 'wgRateLimitLog', 'wgRateLimits', 'wgRateLimitsExcludedGroups' ); |
956 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
957 | | - $out .= "</table>\n"; |
958 | | - return $out; |
959 | | - } |
960 | | - |
961 | | - private function buildProxySettings(){ |
962 | | - $out = $this->buildTableStart( 'configure-section-proxy' ); |
963 | | - $arr = array( 'wgBlockOpenProxies', 'wgEnableSorbs', 'wgProxyList', 'wgProxyMemcExpiry', |
964 | | - 'wgProxyPorts', 'wgProxyScriptPath', 'wgProxyWhitelist', 'wgSecretKey' ); |
965 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
966 | | - $out .= "</table>\n"; |
967 | | - return $out; |
968 | | - } |
969 | | - |
970 | | - private function buildSquidSettings(){ |
971 | | - $out = $this->buildTableStart( 'configure-section-squid' ); |
972 | | - $arr = array( 'wgInternalServer', 'wgMaxSquidPurgeTitles', 'wgSquidMaxage', |
973 | | - 'wgSquidServers', 'wgSquidServersNoPurge', 'wgUseESI', 'wgUseSquid' ); |
974 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
975 | | - $out .= "</table>\n"; |
976 | | - return $out; |
977 | | - } |
978 | | - |
979 | | - private function buildCookieSettings(){ |
980 | | - $out = $this->buildTableStart( 'configure-section-cookie' ); |
981 | | - $arr = array( 'wgCookieDomain', 'wgCookieExpiration', 'wgCookieHttpOnly', |
982 | | - 'wgCookiePath', 'wgCookieSecure', 'wgDisableCookieCheck', 'wgSessionName' ); |
983 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
984 | | - $out .= "</table>\n"; |
985 | | - return $out; |
986 | | - } |
987 | | - |
988 | | - private function buildReductionSettings(){ |
989 | | - $out = $this->buildTableStart( 'configure-section-reduction' ); |
990 | | - $arr = array( 'wgDisableAnonTalk', 'wgDisableCounters', 'wgDisableQueryPages', |
991 | | - 'wgDisableQueryPageUpdate', 'wgDisableSearchContext', 'wgDisableSearchUpdate', |
992 | | - 'wgDisableTextSearch', 'wgMiserMode', 'wgShowHostnames', 'wgUseDumbLinkUpdate', |
993 | | - 'wgWantedPagesThreshold' ); |
994 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
995 | | - $out .= "</table>\n"; |
996 | | - return $out; |
997 | | - } |
998 | | - |
999 | | - private function buildUploadSettings(){ |
1000 | | - $out = $this->buildTableStart( 'configure-section-upload' ); |
1001 | | - $arr = array( 'wgAjaxLicensePreview', 'wgAllowCopyUploads', 'wgCheckFileExtensions', |
1002 | | - 'wgEnableUploads', 'wgFileBlacklist', 'wgFileExtensions', 'wgFileStore', |
1003 | | - 'wgLocalFileRepo', 'wgRemoteUploads', 'wgStrictFileExtensions', 'wgUploadSizeWarning', |
1004 | | - 'wgMaxUploadSize', 'wgHTTPTimeout', 'wgHTTPProxy', 'wgSaveDeletedFiles' ); |
1005 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
1006 | | - $out .= $this->buildTableHeading( 'configure-section-sharedupload' ); |
1007 | | - $out .= $this->buildSimpleSetting( 'wgForeignFileRepos' ); |
1008 | | - $out .= $this->buildTableHeading( 'configure-section-mime' ); |
1009 | | - $arr = array( 'wgLoadFileinfoExtension', 'wgMimeDetectorCommand', 'wgMimeInfoFile', |
1010 | | - 'wgMimeTypeFile', 'wgVerifyMimeType', 'wgMimeTypeBlacklist' ); |
1011 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
1012 | | - $out .= "</table>\n"; |
1013 | | - return $out; |
1014 | | - } |
1015 | | - |
1016 | | - private function buildImageSettings(){ |
1017 | | - $out = $this->buildTableStart( 'configure-section-images' ); |
1018 | | - $arr = array( 'wgDjvuPostProcessor', 'wgDjvuRenderer', 'wgDjvuToXML', |
1019 | | - 'wgGenerateThumbnailOnParse', 'wgFileRedirects', 'wgIgnoreImageErrors', |
1020 | | - 'wgImageLimits', 'wgImageMagickConvertCommand', 'wgMaxImageArea', 'wgMediaHandlers', |
1021 | | - 'wgThumbnailScriptPath', 'wgThumbUpright', 'wgUseImageMagick', 'wgShowEXIF', |
1022 | | - 'wgThumbLimits', 'wgTrustedMediaFormats' ); |
1023 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
1024 | | - $out .= $this->buildTableHeading( 'configure-section-svg' ); |
1025 | | - $arr = array( 'wgAllowTitlesInSVG', 'wgSVGConverter', 'wgSVGConverterPath', |
1026 | | - 'wgSVGConverters', 'wgSVGMaxSize' ); |
1027 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
1028 | | - $out .= $this->buildTableHeading( 'configure-section-antivirus' ); |
1029 | | - $arr = array( 'wgAntivirus', 'wgAntivirusRequired', 'wgAntivirusSetup' ); |
1030 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
1031 | | - $out .= "</table>\n"; |
1032 | | - return $out; |
1033 | | - } |
1034 | | - |
1035 | | - private function buildParserSettings(){ |
1036 | | - $out = $this->buildTableStart( 'configure-section-parser' ); |
1037 | | - $arr = array( 'wgAllowDisplayTitle', 'wgAllowExternalImages', 'wgAllowExternalImagesFrom', |
1038 | | - 'wgExpensiveParserFunctionLimit', 'wgMaxPPNodeCount', 'wgMaxPPExpandDepth', |
1039 | | - 'wgParserConf', 'wgParserCacheExpireTime' ); |
1040 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
1041 | | - $out .= $this->buildTableHeading( 'configure-section-html' ); |
1042 | | - $arr = array( 'wgRawHtml', 'wgUserHtml' ); |
1043 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
1044 | | - $out .= $this->buildTableHeading( 'configure-section-tex' ); |
1045 | | - $arr = array( 'wgTexvc', 'wgUseTeX' ); |
1046 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
1047 | | - $out .= $this->buildTableHeading( 'configure-section-tidy' ); |
1048 | | - $arr = array( 'wgAlwaysUseTidy', 'wgDebugTidy', 'wgTidyBin', 'wgTidyConf', |
1049 | | - 'wgTidyInternal', 'wgTidyOpts', 'wgUseTidy', 'wgValidateAllHtml' ); |
1050 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
1051 | | - $out .= "</table>\n"; |
1052 | | - return $out; |
1053 | | - } |
1054 | | - |
1055 | | - private function buildSpecialPagesSettings(){ |
1056 | | - $out = $this->buildTableStart( 'configure-section-specialpages' ); |
1057 | | - $arr = array( 'wgAllowSpecialInclusion', 'wgExportAllowHistory', 'wgCountCategorizedImagesAsUsed', |
1058 | | - 'wgExportAllowListContributors', 'wgExportMaxHistory', 'wgImportTargetNamespace', |
1059 | | - 'wgLogRestrictions', 'wgMaxRedirectLinksRetrieved', 'wgUseNPPatrol', 'wgSortSpecialPages' ); |
1060 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
1061 | | - $out .= $this->buildTableHeading( 'configure-section-recentchanges' ); |
1062 | | - $arr = array( 'wgAllowCategorizedRecentChanges', 'wgPutIPinRC', 'wgRCChangedSizeThreshold', |
1063 | | - 'wgRCMaxAge', 'wgRCShowChangedSize', 'wgRCShowWatchingUsers', 'wgUseRCPatrol', |
1064 | | - 'wgRC2UDPAddress', 'wgRC2UDPPort', 'wgRC2UDPPrefix' ); |
1065 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
1066 | | - $out .= "</table>\n"; |
1067 | | - return $out; |
1068 | | - } |
1069 | | - |
1070 | | - private function buildUsersSettings(){ |
1071 | | - $out = $this->buildTableStart( 'configure-section-users' ); |
1072 | | - $arr = array( 'wgAutoConfirmAge', 'wgAutoConfirmCount', 'wgAllowRealName', |
1073 | | - 'wgMaxNameChars', 'wgMinimalPasswordLength', 'wgMaxSigChars', 'wgPasswordReminderResendTime', |
1074 | | - 'wgReservedUsernames', 'wgBrowserBlackList' ); |
1075 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
1076 | | - $out .= "</table>\n"; |
1077 | | - return $out; |
1078 | | - } |
1079 | | - |
1080 | | - private function buildFeedSettings(){ |
1081 | | - $out = $this->buildTableStart( 'configure-section-feed' ); |
1082 | | - $arr = array( 'wgFeed', 'wgFeedCacheTimeout', 'wgFeedDiffCutoff', 'wgFeedLimit' ); |
1083 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
1084 | | - $out .= "</table>\n"; |
1085 | | - return $out; |
1086 | | - } |
1087 | | - |
1088 | | - private function buildCopyrightSettings(){ |
1089 | | - $out = $this->buildTableStart( 'configure-section-copyright' ); |
1090 | | - $arr = array( 'wgCheckCopyrightUpload', 'wgCopyrightIcon', 'wgEnableCreativeCommonsRdf', |
1091 | | - 'wgEnableDublinCoreRdf', 'wgMaxCredits', 'wgRightsIcon', 'wgRightsPage', |
1092 | | - 'wgRightsText', 'wgRightsUrl', 'wgShowCreditsIfMax', 'wgUseCopyrightUpload' ); |
1093 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
1094 | | - $out .= "</table>\n"; |
1095 | | - return $out; |
1096 | | - } |
1097 | | - |
1098 | | - private function buildJobSettings(){ |
1099 | | - $out = $this->buildTableStart( 'configure-section-job' ); |
1100 | | - $arr = array( 'wgJobRunRate', 'wgUpdateRowsPerJob' ); |
1101 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
1102 | | - $out .= "</table>\n"; |
1103 | | - return $out; |
1104 | | - } |
1105 | | - |
1106 | | - private function buildExtensionSettings(){ |
1107 | | - $out = $this->buildTableStart( 'configure-section-extension' ); |
1108 | | - $arr = array( 'wgAllowSlowParserFunctions', 'wgDisableInternalSearch', |
1109 | | - 'wgExternalStores', 'wgSearchForwardUrl' ); |
1110 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
1111 | | - $out .= "</table>\n"; |
1112 | | - return $out; |
1113 | | - } |
1114 | | - |
1115 | | - private function buildHtcpSettings(){ |
1116 | | - $out = $this->buildTableStart( 'configure-section-htcp' ); |
1117 | | - $arr = array( 'wgHTCPMulticastAddress', 'wgHTCPMulticastTTL', 'wgHTCPPort' ); |
1118 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
1119 | | - $out .= "</table>\n"; |
1120 | | - return $out; |
1121 | | - } |
1122 | | - |
1123 | | - private function buildMiscSettings(){ |
1124 | | - $out = $this->buildTableStart( 'configure-section-misc' ); |
1125 | | - $arr = array( 'wgAntiLockFlags', 'wgBreakFrames', 'wgClockSkewFudge', 'wgCommandLineDarkBg', |
1126 | | - 'wgCompressRevisions', 'wgDisableHardRedirects', 'wgDisableOutputCompression', |
1127 | | - 'wgEnableMWSuggest', 'wgExternalDiffEngine', 'wgExtraRandompageSQL', |
1128 | | - 'wgGoToEdit', 'wgGrammarForms', 'wgHitcounterUpdateFreq', 'wgJsMimeType', |
1129 | | - 'wgMaxArticleSize', 'wgMaxShellFileSize', 'wgMaxShellMemory', 'wgMaxTocLevel', |
1130 | | - 'wgMWSuggestTemplate', 'wgOpenSearchTemplate', 'wgRedirectSources', |
1131 | | - 'wgShowIPinHeader', 'wgSpamRegex', 'wgUpdateRowsPerQuery', 'wgUseCommaCount', |
1132 | | - 'wgUseETag', 'wgUseExternalEditor' ); |
1133 | | - $out .= $this->buildSimpleSettingArray( $arr ); |
1134 | | - $out .= "</table>\n"; |
1135 | | - return $out; |
1136 | | - } |
1137 | 670 | } |
Index: trunk/extensions/Configure/Configure.settings.php |
— | — | @@ -2,465 +2,580 @@ |
3 | 3 | if ( !defined( 'MEDIAWIKI' ) ) die(); |
4 | 4 | |
5 | 5 | /** |
6 | | - * Array mapping all editable settings to their type. |
7 | | - * These settings are in the same order as |
| 6 | + * Array mapping all editable settings to their type depending of their section |
| 7 | + * First two keys will be used to show sections |
| 8 | + * These settings are more or less in the same order as |
8 | 9 | * http://www.mediawiki.org/wiki/Manual:Configuration_settings |
9 | 10 | */ |
10 | 11 | $settings = array( |
11 | | -# General |
12 | | - 'wgSitename' => 'text', |
13 | | - 'wgAppleTouchIcon' => 'text', |
14 | | - 'wgArticlePath' => 'text', |
15 | | - 'wgDiff3' => 'text', |
16 | | - 'wgFavicon' => 'text', |
17 | | - 'wgLogo' => 'text', |
18 | | - 'wgMathDirectory' => 'text', |
19 | | - 'wgMathPath' => 'text', |
20 | | - 'wgRedirectScript' => 'text', |
21 | | - 'wgScriptExtension' => 'text', |
22 | | - 'wgScriptPath' => 'text', |
23 | | - 'wgStyleDirectory' => 'text', |
24 | | - 'wgStylePath' => 'text', |
25 | | -# 'wgStyleSheetPath' => 'text', |
26 | | - 'wgTmpDirectory' => 'text', |
27 | | - 'wgUsePathInfo' => 'bool', |
28 | | -# 'wgUploadDirectory' => 'text', |
29 | | - 'wgUploadNavigationUrl' => 'text', |
30 | | -# 'wgUploadPath' => 'text', |
31 | | - 'wgVariantArticlePath' => 'text', |
32 | | -# Db |
33 | | - 'wgAllDBsAreLocalhost' => 'bool', |
34 | | - 'wgAlternateMaster' => 'array', |
35 | | - 'wgCheckDBSchema' => 'bool', |
36 | | - 'wgDBAvgStatusPoll' => 'int', |
37 | | - 'wgDBClusterTimeout' => 'int', |
38 | | - 'wgDBerrorLog' => 'text', |
39 | | - 'wgDBminWordLen' => 'int', |
40 | | - 'wgDBmwschema' => 'text', |
41 | | - 'wgDBmysql5' => 'bool', |
42 | | - 'wgDBprefix' => 'text', |
43 | | -# 'wgDBschema' => 'text', |
44 | | - 'wgDBservers' => 'array', |
45 | | - 'wgDBTableOptions' => 'text', |
46 | | - 'wgDBtransactions' => 'bool', |
47 | | - 'wgDBts2schema' => 'text', |
48 | | - 'wgDBtype' => array( 'mysql' => 'MySQL', 'postgres' => 'PostreSQL' ), |
49 | | - 'wgDefaultExternalStore' => 'array', |
50 | | - 'wgLBFactoryConf' => 'array', |
51 | | - 'wgLocalDatabases' => 'array', |
52 | | - 'wgMasterWaitTimeout' => 'int', |
53 | | - 'wgSearchType' => 'text', |
54 | | - 'wgSlaveLagCritical' => 'int', |
55 | | - 'wgSlaveLagWarning' => 'int', |
56 | | - 'wgExternalServers' => 'array', |
57 | | -# Email |
58 | | - 'wgEmailAuthentication' => 'bool', |
59 | | - 'wgEmergencyContact' => 'text', |
60 | | - 'wgEnableEmail' => 'bool', |
61 | | - 'wgEnableUserEmail' => 'bool', |
62 | | - 'wgNoReplyAddress' => 'text', |
63 | | - 'wgPasswordSender' => 'text', |
64 | | - 'wgSMTP' => 'array', |
65 | | - 'wgUserEmailUseReplyTo' => 'bool', |
66 | | - 'wgEnotifFromEditor' => 'bool', |
67 | | - 'wgEnotifImpersonal' => 'bool', |
68 | | - 'wgEnotifMaxRecips' => 'int', |
69 | | - 'wgEnotifMinorEdits' => 'bool', |
70 | | - 'wgEnotifRevealEditorAddress' => 'bool', |
71 | | - 'wgEnotifUseJobQ' => 'bool', |
72 | | - 'wgEnotifUserTalk' => 'bool', |
73 | | - 'wgEnotifWatchlist' => 'bool', |
74 | | - 'wgShowUpdatedMarker' => 'bool', |
75 | | - 'wgUsersNotifedOnAllChanges' => 'array', |
76 | | - 'wgUsersNotifiedOnAllChanges' => 'array', |
77 | | -# Localization |
78 | | - 'wgAmericanDates' => 'bool', |
79 | | - 'wgDisableLangConversion' => 'bool', |
80 | | - 'wgDocType' => 'text', |
81 | | - 'wgDTD' => 'text', |
82 | | -# 'wgEditEncoding' => 'text', |
83 | | - 'wgForceUIMsgAsContentMsg' => 'array', |
84 | | -# 'wgInputEncoding' => 'text', |
85 | | - 'wgInterwikiMagic' => 'bool', |
86 | | - 'wgLanguageCode' => 'lang', |
87 | | - 'wgLegacyEncoding' => 'text', |
88 | | - 'wgLocaltimezone' => 'text', |
89 | | - 'wgLocalTZoffset' => 'int', |
90 | | - 'wgLoginLanguageSelector' => 'bool', |
91 | | - 'wgMimeType' => 'text', |
92 | | - 'wgMsgCacheExpiry' => 'int', |
93 | | -# 'wgOutputEncoding' => 'text', |
94 | | - 'wgTranslateNumerals' => 'bool', |
95 | | - 'wgUseDatabaseMessages' => 'bool', |
96 | | - 'wgUseDynamicDates' => 'bool', |
97 | | - 'wgUseZhdaemon' => 'bool', |
98 | | - 'wgXhtmlDefaultNamespace' => 'text', |
99 | | - 'wgXhtmlNamespaces' => 'array', |
100 | | - 'wgZhdaemonHost' => 'text', |
101 | | - 'wgZhdaemonPort' => 'int', |
102 | | -# Debug |
103 | | - 'wgColorErrors' => 'bool', |
104 | | - 'wgDebugComments' => 'bool', |
105 | | - 'wgDebugDumpSql' => 'bool', |
106 | | - 'wgDebugLogFile' => 'text', |
107 | | - 'wgDebugLogGroups' => 'array', |
108 | | - 'wgDebugRawPage' => 'bool', |
109 | | - 'wgDebugRedirects' => 'bool', |
110 | | - 'wgLogQueries' => 'bool', |
111 | | - 'wgShowSQLErrors' => 'bool', |
112 | | - 'wgStatsMethod' => array( 'cache' => 'Cache', 'udp' => 'UDP', 0 => 'None' ), |
113 | | - 'wgDebugFunctionEntry' => 'bool', |
114 | | - 'wgDebugProfiling' => 'bool', |
115 | | - 'wgDebugSquid' => 'bool', |
116 | | - 'wgProfileCallTree' => 'bool', |
117 | | - 'wgProfileLimit' => 'int', |
118 | | - 'wgProfileOnly' => 'bool', |
119 | | - 'wgProfilePerHost' => 'bool', |
120 | | - 'wgProfileSampleRate' => 'int', |
121 | | - 'wgProfileToDatabase' => 'bool', |
122 | | - 'wgProfilerType' => 'text', |
123 | | - 'wgProfiling' => 'bool', |
124 | | - 'wgUDPProfilerHost' => 'text', |
125 | | - 'wgUDPProfilerPort' => 'int', |
126 | | -# Site custom |
127 | | -# 'wgAjaxExportList' => 'array', |
128 | | - 'wgAjaxSearch' => 'bool', |
129 | | - 'wgAjaxUploadDestCheck' => 'bool', |
130 | | - 'wgAjaxWatch' => 'bool', |
131 | | - 'wgAllowUserCss' => 'bool', |
132 | | - 'wgAllowUserJs' => 'bool', |
133 | | - 'wgDefaultUserOptions' => 'array', |
134 | | - 'wgCapitalLinks' => 'bool', |
135 | | - 'wgDefaultLanguageVariant' => 'text', |
136 | | - 'wgDefaultRobotPolicy' => 'text', |
137 | | - 'wgExtraLanguageNames' => 'array', |
138 | | - 'wgExtraSubtitle' => 'text', |
139 | | - 'wgHideInterlanguageLinks' => 'bool', |
140 | | - 'wgLegalTitleChars' => 'text', |
141 | | - 'wgNoFollowLinks' => 'bool', |
142 | | - 'wgPageShowWatchingUsers' => 'bool', |
143 | | - 'wgRestrictionLevels' => 'array', |
144 | | - 'wgSiteNotice' => 'text', |
145 | | - 'wgSiteSupportPage' => 'text', |
146 | | - 'wgUrlProtocols' => 'array', |
147 | | - 'wgUseAjax' => 'bool', |
148 | | - 'wgUseSiteCss' => 'bool', |
149 | | - 'wgUseSiteJs' => 'bool', |
150 | | - 'wgContentNamespaces' => 'array', |
151 | | - 'wgExtraNamespaces' => 'array', |
152 | | - 'wgMetaNamespace' => 'text', |
153 | | - 'wgMetaNamespaceTalk' => 'text', |
154 | | - 'wgNamespaceAliases' => 'array', |
155 | | - 'wgNamespaceProtection' => 'array', |
156 | | - 'wgNamespaceRobotPolicies' => 'array', |
157 | | - 'wgNamespacesToBeSearchedDefault' => 'array', |
158 | | - 'wgNamespacesWithSubpages' => 'array', |
159 | | - 'wgNoFollowNsExceptions' => 'array', |
160 | | - 'wgNonincludableNamespaces' => 'array', |
161 | | - 'wgArticleRobotPolicies' => 'array', |
162 | | -# Skins |
163 | | - 'wgDefaultSkin' => 'text', |
164 | | - 'wgSkipSkin' => 'text', |
165 | | - 'wgSkipSkins' => 'array', |
166 | | - 'wgValidSkinNames' => 'array', |
167 | | -# Category |
168 | | - 'wgCategoryMagicGallery' => 'bool', |
169 | | - 'wgCategoryPagingLimit' => 'int', |
170 | | - 'wgUseCategoryBrowser' => 'bool', |
171 | | -# Cache |
172 | | - 'wgCachedMessageArrays' => 'text', |
173 | | - 'wgCacheEpoch' => 'text', |
174 | | - 'wgCachePages' => 'bool', |
175 | | - 'wgCheckSerialized' => 'bool', |
176 | | - 'wgEnableParserCache' => 'bool', |
177 | | - 'wgEnableSidebarCache' => 'bool', |
178 | | - 'wgFileCacheDirectory' => 'text', |
179 | | - 'wgForcedRawSMaxage' => 'int', |
180 | | - 'wgLocalMessageCache' => 'text', |
181 | | - 'wgLocalMessageCacheSerialized' => 'bool', |
182 | | - 'wgMainCacheType' => array( -1 => 'Anything', 0 => 'None', |
| 12 | + 'general' => array( |
| 13 | + 'general' => array( |
| 14 | + 'wgSitename' => 'text', |
| 15 | + ), |
| 16 | + 'paths' => array( |
| 17 | + 'wgAppleTouchIcon' => 'text', |
| 18 | + 'wgArticlePath' => 'text', |
| 19 | + 'wgDiff3' => 'text', |
| 20 | + 'wgFavicon' => 'text', |
| 21 | + 'wgLogo' => 'text', |
| 22 | + 'wgMathDirectory' => 'text', |
| 23 | + 'wgMathPath' => 'text', |
| 24 | + 'wgRedirectScript' => 'text', |
| 25 | + 'wgScriptExtension' => 'text', |
| 26 | + 'wgScriptPath' => 'text', |
| 27 | + 'wgStyleDirectory' => 'text', |
| 28 | + 'wgStylePath' => 'text', |
| 29 | +# 'wgStyleSheetPath' => 'text', |
| 30 | + 'wgTmpDirectory' => 'text', |
| 31 | + 'wgUsePathInfo' => 'bool', |
| 32 | +# 'wgUploadDirectory' => 'text', |
| 33 | + 'wgUploadNavigationUrl' => 'text', |
| 34 | +# 'wgUploadPath' => 'text', |
| 35 | + 'wgVariantArticlePath' => 'text', |
| 36 | + ), |
| 37 | + ), |
| 38 | + 'db' => array( |
| 39 | + 'db' => array( |
| 40 | + 'wgAllDBsAreLocalhost' => 'bool', |
| 41 | + 'wgAlternateMaster' => 'array', |
| 42 | + 'wgCheckDBSchema' => 'bool', |
| 43 | + 'wgDBAvgStatusPoll' => 'int', |
| 44 | + 'wgDBClusterTimeout' => 'int', |
| 45 | + 'wgDBerrorLog' => 'text', |
| 46 | + 'wgDBminWordLen' => 'int', |
| 47 | + 'wgDBmwschema' => 'text', |
| 48 | + 'wgDBmysql5' => 'bool', |
| 49 | + 'wgDBprefix' => 'text', |
| 50 | +# 'wgDBschema' => 'text', |
| 51 | + 'wgDBservers' => 'array', |
| 52 | + 'wgDBTableOptions' => 'text', |
| 53 | + 'wgDBtransactions' => 'bool', |
| 54 | + 'wgDBts2schema' => 'text', |
| 55 | + 'wgDBtype' => array( 'mysql' => 'MySQL', 'postgres' => 'PostreSQL' ), |
| 56 | + 'wgDefaultExternalStore' => 'array', |
| 57 | + 'wgLBFactoryConf' => 'array', |
| 58 | + 'wgLocalDatabases' => 'array', |
| 59 | + 'wgMasterWaitTimeout' => 'int', |
| 60 | + 'wgSearchType' => 'text', |
| 61 | + 'wgSlaveLagCritical' => 'int', |
| 62 | + 'wgSlaveLagWarning' => 'int', |
| 63 | + 'wgExternalServers' => 'array', |
| 64 | + ), |
| 65 | + ), |
| 66 | + 'email' => array( |
| 67 | + 'enotif' => array( |
| 68 | + 'wgEmailAuthentication' => 'bool', |
| 69 | + 'wgEmergencyContact' => 'text', |
| 70 | + 'wgEnableEmail' => 'bool', |
| 71 | + 'wgEnableUserEmail' => 'bool', |
| 72 | + 'wgNoReplyAddress' => 'text', |
| 73 | + 'wgPasswordSender' => 'text', |
| 74 | + 'wgSMTP' => 'array', |
| 75 | + 'wgUserEmailUseReplyTo' => 'bool', |
| 76 | + ), |
| 77 | + 'enotif' => array( |
| 78 | + 'wgEnotifFromEditor' => 'bool', |
| 79 | + 'wgEnotifImpersonal' => 'bool', |
| 80 | + 'wgEnotifMaxRecips' => 'int', |
| 81 | + 'wgEnotifMinorEdits' => 'bool', |
| 82 | + 'wgEnotifRevealEditorAddress' => 'bool', |
| 83 | + 'wgEnotifUseJobQ' => 'bool', |
| 84 | + 'wgEnotifUserTalk' => 'bool', |
| 85 | + 'wgEnotifWatchlist' => 'bool', |
| 86 | + 'wgShowUpdatedMarker' => 'bool', |
| 87 | + 'wgUsersNotifedOnAllChanges' => 'array', |
| 88 | + 'wgUsersNotifiedOnAllChanges' => 'array', |
| 89 | + ), |
| 90 | + ), |
| 91 | + 'localization' => array( |
| 92 | + 'localization' => array( |
| 93 | + 'wgAmericanDates' => 'bool', |
| 94 | + 'wgDisableLangConversion' => 'bool', |
| 95 | +# 'wgEditEncoding' => 'text', |
| 96 | + 'wgForceUIMsgAsContentMsg' => 'array', |
| 97 | +# 'wgInputEncoding' => 'text', |
| 98 | + 'wgInterwikiMagic' => 'bool', |
| 99 | + 'wgLanguageCode' => 'lang', |
| 100 | + 'wgLegacyEncoding' => 'text', |
| 101 | + 'wgLocaltimezone' => 'text', |
| 102 | + 'wgLocalTZoffset' => 'int', |
| 103 | + 'wgLoginLanguageSelector' => 'bool', |
| 104 | +# 'wgOutputEncoding' => 'text', |
| 105 | + 'wgTranslateNumerals' => 'bool', |
| 106 | + 'wgUseDatabaseMessages' => 'bool', |
| 107 | + 'wgUseDynamicDates' => 'bool', |
| 108 | + 'wgUseZhdaemon' => 'bool', |
| 109 | + 'wgZhdaemonHost' => 'text', |
| 110 | + 'wgZhdaemonPort' => 'int', |
| 111 | + ), |
| 112 | + 'html' => array( |
| 113 | + 'wgDocType' => 'text', |
| 114 | + 'wgDTD' => 'text', |
| 115 | + 'wgMimeType' => 'text', |
| 116 | + 'wgXhtmlDefaultNamespace' => 'text', |
| 117 | + 'wgXhtmlNamespaces' => 'array', |
| 118 | + ), |
| 119 | + ), |
| 120 | + 'debug' => array( |
| 121 | + 'debug' => array( |
| 122 | + 'wgColorErrors' => 'bool', |
| 123 | + 'wgDebugComments' => 'bool', |
| 124 | + 'wgDebugDumpSql' => 'bool', |
| 125 | + 'wgDebugLogFile' => 'text', |
| 126 | + 'wgDebugLogGroups' => 'array', |
| 127 | + 'wgDebugRawPage' => 'bool', |
| 128 | + 'wgDebugRedirects' => 'bool', |
| 129 | + 'wgLogQueries' => 'bool', |
| 130 | + 'wgShowSQLErrors' => 'bool', |
| 131 | + 'wgStatsMethod' => array( 'cache' => 'Cache', 'udp' => 'UDP', 0 => 'None' ), |
| 132 | + ), |
| 133 | + 'profiling' => array( |
| 134 | + 'wgDebugFunctionEntry' => 'bool', |
| 135 | + 'wgDebugProfiling' => 'bool', |
| 136 | + 'wgDebugSquid' => 'bool', |
| 137 | + 'wgProfileCallTree' => 'bool', |
| 138 | + 'wgProfileLimit' => 'int', |
| 139 | + 'wgProfileOnly' => 'bool', |
| 140 | + 'wgProfilePerHost' => 'bool', |
| 141 | + 'wgProfileSampleRate' => 'int', |
| 142 | + 'wgProfileToDatabase' => 'bool', |
| 143 | + 'wgProfilerType' => 'text', |
| 144 | + 'wgProfiling' => 'bool', |
| 145 | + 'wgUDPProfilerHost' => 'text', |
| 146 | + 'wgUDPProfilerPort' => 'int', |
| 147 | + ), |
| 148 | + ), |
| 149 | + 'site' => array( |
| 150 | + 'site' => array( |
| 151 | + 'wgAllowUserCss' => 'bool', |
| 152 | + 'wgAllowUserJs' => 'bool', |
| 153 | + 'wgDefaultUserOptions' => 'array', |
| 154 | + 'wgCapitalLinks' => 'bool', |
| 155 | + 'wgDefaultLanguageVariant' => 'text', |
| 156 | + 'wgDefaultRobotPolicy' => 'text', |
| 157 | + 'wgExtraLanguageNames' => 'array', |
| 158 | + 'wgExtraSubtitle' => 'text', |
| 159 | + 'wgHideInterlanguageLinks' => 'bool', |
| 160 | + 'wgLegalTitleChars' => 'text', |
| 161 | + 'wgNoFollowLinks' => 'bool', |
| 162 | + 'wgPageShowWatchingUsers' => 'bool', |
| 163 | + 'wgRestrictionLevels' => 'array', |
| 164 | + 'wgSiteNotice' => 'text', |
| 165 | + 'wgSiteSupportPage' => 'text', |
| 166 | + 'wgUrlProtocols' => 'array', |
| 167 | + 'wgUseAjax' => 'bool', |
| 168 | + 'wgUseSiteCss' => 'bool', |
| 169 | + 'wgUseSiteJs' => 'bool', |
| 170 | + 'wgArticleRobotPolicies' => 'array', |
| 171 | + ), |
| 172 | + 'ajax' => array( |
| 173 | +# 'wgAjaxExportList' => 'array', |
| 174 | + 'wgAjaxSearch' => 'bool', |
| 175 | + 'wgAjaxUploadDestCheck' => 'bool', |
| 176 | + 'wgAjaxWatch' => 'bool', |
| 177 | + 'wgLivePreview' => 'bool', |
| 178 | + ), |
| 179 | + ), |
| 180 | + 'namespaces' => array( |
| 181 | + 'namespaces' => array( |
| 182 | + 'wgContentNamespaces' => 'array', |
| 183 | + 'wgExtraNamespaces' => 'array', |
| 184 | + 'wgMetaNamespace' => 'text', |
| 185 | + 'wgMetaNamespaceTalk' => 'text', |
| 186 | + 'wgNamespaceAliases' => 'array', |
| 187 | + 'wgNamespaceProtection' => 'array', |
| 188 | + 'wgNamespaceRobotPolicies' => 'array', |
| 189 | + 'wgNamespacesToBeSearchedDefault' => 'array', |
| 190 | + 'wgNamespacesWithSubpages' => 'array', |
| 191 | + 'wgNoFollowNsExceptions' => 'array', |
| 192 | + 'wgNonincludableNamespaces' => 'array', |
| 193 | + ), |
| 194 | + ), |
| 195 | + 'skin' => array( |
| 196 | + 'skin' => array( |
| 197 | + 'wgDefaultSkin' => 'text', |
| 198 | + 'wgSkipSkin' => 'text', |
| 199 | + 'wgSkipSkins' => 'array', |
| 200 | + 'wgValidSkinNames' => 'array', |
| 201 | + ), |
| 202 | + ), |
| 203 | + 'category' => array( |
| 204 | + 'category' => array( |
| 205 | + 'wgCategoryMagicGallery' => 'bool', |
| 206 | + 'wgCategoryPagingLimit' => 'int', |
| 207 | + 'wgUseCategoryBrowser' => 'bool', |
| 208 | + ), |
| 209 | + ), |
| 210 | + 'cache' => array( |
| 211 | + 'cache' => array( |
| 212 | + 'wgMainCacheType' => array( -1 => 'Anything', 0 => 'None', |
183 | 213 | 1 => 'DB', 2 => 'Memcached', |
184 | 214 | 3 => 'Accel', 4 => 'DBA' ), |
185 | | - 'wgMaxMsgCacheEntrySize' => 'int', |
186 | | - 'wgMessageCacheType' => array( -1 => 'Anything', 0 => 'None', |
187 | | - 1 => 'DB', 2 => 'Memcached', |
188 | | - 3 => 'Accel', 4 => 'DBA' ), |
189 | | - 'wgParserCacheType' => array( -1 => 'Anything', 0 => 'None', |
190 | | - 1 => 'DB', 2 => 'Memcached', |
191 | | - 3 => 'Accel', 4 => 'DBA' ), |
192 | | - 'wgQueryCacheLimit' => 'int', |
193 | | - 'wgRevisionCacheExpiry' => 'int', |
194 | | - 'wgThumbnailEpoch' => 'text', |
195 | | - 'wgTranscludeCacheExpiry' => 'int', |
196 | | - 'wgUseFileCache' => 'bool', |
197 | | - 'wgUseGzip' => 'bool', |
198 | | - 'wgSidebarCacheExpiry' => 'int', |
199 | | - 'wgLinkCacheMemcached' => 'bool', |
200 | | - 'wgMemCachedDebug' => 'bool', |
201 | | - 'wgMemCachedPersistent' => 'bool', |
202 | | - 'wgMemCachedServers' => 'array', |
203 | | - 'wgSessionsInMemcached' => 'bool', |
204 | | - 'wgUseWatchlistCache' => 'bool', |
205 | | - 'wgWLCacheTimeout' => 'int', |
206 | | -# Interwiki |
207 | | - 'wgEnableScaryTranscluding' => 'bool', |
208 | | - 'wgImportSources' => 'array', |
209 | | - 'wgInterwikiCache' => 'text', |
210 | | - 'wgInterwikiExpiry' => 'int', |
211 | | - 'wgInterwikiFallbackSite' => 'text', |
212 | | - 'wgInterwikiScopes' => 'int', |
213 | | - 'wgLocalInterwiki' => 'text', |
214 | | -# Access |
215 | | - 'wgAutopromote' => 'array', |
216 | | - 'wgAccountCreationThrottle' => 'int', |
217 | | - 'wgAddGroups' => 'array', |
218 | | - 'wgAllowPageInfo' => 'bool', |
219 | | - 'wgAutoblockExpiry' => 'int', |
220 | | - 'wgBlockAllowsUTEdit' => 'bool', |
221 | | - 'wgDeleteRevisionsLimit' => 'int', |
222 | | - 'wgDisabledActions' => 'array', |
223 | | - 'wgEmailConfirmToEdit' => 'bool', |
224 | | - 'wgEnableCascadingProtection' => 'bool', |
225 | | - 'wgEnableAPI' => 'bool', |
226 | | - 'wgEnableWriteAPI' => 'bool', |
227 | | - 'wgGroupPermissions' => 'array', |
228 | | - 'wgGroupsAddToSelf' => 'array', |
229 | | - 'wgGroupsRemoveFromSelf' => 'array', |
230 | | - 'wgImplicitGroups' => 'array', |
231 | | - 'wgPasswordSalt' => 'bool', |
232 | | - 'wgReadOnly' => 'text', |
233 | | - 'wgReadOnlyFile' => 'text', |
234 | | - 'wgRemoveGroups' => 'array', |
235 | | - 'wgSysopEmailBans' => 'bool', |
236 | | - 'wgSysopRangeBans' => 'bool', |
237 | | - 'wgSysopUserBans' => 'bool', |
238 | | - 'wgWhitelistRead' => 'array', |
239 | | -# Rate limits |
240 | | - 'wgRateLimitLog' => 'text', |
241 | | - 'wgRateLimits' => 'array', |
242 | | - 'wgRateLimitsExcludedGroups' => 'array', |
243 | | -# Proxies |
244 | | - 'wgBlockOpenProxies' => 'bool', |
245 | | - 'wgEnableSorbs' => 'bool', |
246 | | - 'wgProxyList' => 'array', |
247 | | - 'wgProxyMemcExpiry' => 'int', |
248 | | - 'wgProxyPorts' => 'array', |
249 | | - 'wgProxyScriptPath' => 'text', |
250 | | - 'wgProxyWhitelist' => 'array', |
251 | | - 'wgSecretKey' => 'text', |
252 | | -# Squid |
253 | | - 'wgInternalServer' => 'text', |
254 | | - 'wgMaxSquidPurgeTitles' => 'int', |
255 | | - 'wgSquidMaxage' => 'int', |
256 | | - 'wgSquidServers' => 'array', |
257 | | - 'wgSquidServersNoPurge' => 'array', |
258 | | - 'wgUseESI' => 'bool', |
259 | | - 'wgUseSquid' => 'bool', |
260 | | -# Cookies |
261 | | - 'wgCookieDomain' => 'text', |
262 | | - 'wgCookieExpiration' => 'int', |
263 | | - 'wgCookieHttpOnly' => 'bool', |
264 | | - 'wgCookiePath' => 'text', |
265 | | - 'wgCookieSecure' => 'bool', |
266 | | - 'wgDisableCookieCheck' => 'bool', |
267 | | - 'wgSessionName' => 'text', |
268 | | -# Reduction |
269 | | - 'wgDisableAnonTalk' => 'bool', |
270 | | - 'wgDisableCounters' => 'bool', |
271 | | - 'wgDisableQueryPages' => 'bool', |
272 | | - 'wgDisableQueryPageUpdate' => 'array', |
273 | | - 'wgDisableSearchContext' => 'bool', |
274 | | - 'wgDisableSearchUpdate' => 'bool', |
275 | | - 'wgDisableTextSearch' => 'bool', |
276 | | - 'wgMiserMode' => 'bool', |
277 | | - 'wgShowHostnames' => 'bool', |
278 | | - 'wgUseDumbLinkUpdate' => 'bool', |
279 | | - 'wgWantedPagesThreshold' => 'int', |
280 | | -# Uploads |
281 | | - 'wgAjaxLicensePreview' => 'bool', |
282 | | - 'wgAllowCopyUploads' => 'bool', |
283 | | - 'wgCheckFileExtensions' => 'bool', |
284 | | - 'wgEnableUploads' => 'bool', |
285 | | - 'wgFileBlacklist' => 'array', |
286 | | - 'wgFileExtensions' => 'array', |
287 | | - 'wgFileStore' => 'array', |
288 | | - 'wgLocalFileRepo' => 'array', |
289 | | - 'wgRemoteUploads' => 'bool', |
290 | | - 'wgStrictFileExtensions' => 'bool', |
291 | | - 'wgUploadSizeWarning' => 'int', |
292 | | - 'wgMaxUploadSize' => 'int', |
293 | | - 'wgHTTPTimeout' => 'int', |
294 | | - 'wgHTTPProxy' => 'text', |
295 | | - 'wgSaveDeletedFiles' => 'bool', |
296 | | - |
297 | | - 'wgForeignFileRepos' => 'array', |
298 | | - |
299 | | - 'wgLoadFileinfoExtension' => 'bool', |
300 | | - 'wgMimeDetectorCommand' => 'text', |
301 | | - 'wgMimeInfoFile' => 'text', |
302 | | - 'wgMimeTypeFile' => 'text', |
303 | | - 'wgVerifyMimeType' => 'bool', |
304 | | - 'wgMimeTypeBlacklist' => 'array', |
305 | | -# Images |
306 | | - 'wgAllowTitlesInSVG' => 'bool', |
307 | | - 'wgDjvuPostProcessor' => 'text', |
308 | | - 'wgDjvuRenderer' => 'text', |
309 | | - 'wgDjvuToXML' => 'text', |
310 | | - 'wgFileRedirects' => 'bool', |
311 | | - 'wgGenerateThumbnailOnParse' => 'bool', |
312 | | - 'wgIgnoreImageErrors' => 'bool', |
313 | | - 'wgImageLimits' => 'array', |
314 | | - 'wgImageMagickConvertCommand' => 'text', |
315 | | - 'wgMaxImageArea' => 'int', |
316 | | - 'wgMediaHandlers' => 'array', |
317 | | - 'wgSVGConverter' => 'text', |
318 | | - 'wgSVGConverterPath' => 'text', |
319 | | - 'wgSVGConverters' => 'array', |
320 | | - 'wgThumbnailScriptPath' => 'text', |
321 | | - 'wgThumbUpright' => 'text', |
322 | | - 'wgUseImageMagick' => 'bool', |
323 | | - 'wgShowEXIF' => 'bool', |
324 | | - 'wgUseImageResize' => 'bool', |
325 | | - 'wgThumbLimits' => 'array', |
326 | | - 'wgTrustedMediaFormats' => 'array', |
327 | | - 'wgSVGMaxSize' => 'int', |
328 | | - |
329 | | - 'wgAntivirus' => 'text', |
330 | | - 'wgAntivirusRequired' => 'bool', |
331 | | - 'wgAntivirusSetup' => 'array', |
332 | | -# Parser |
333 | | - 'wgAllowDisplayTitle' => 'bool', |
334 | | - 'wgAllowExternalImages' => 'bool', |
335 | | - 'wgAllowExternalImagesFrom' => 'text', |
336 | | - 'wgExpensiveParserFunctionLimit' => 'int', |
337 | | - 'wgMaxPPExpandDepth' => 'int', |
338 | | - 'wgMaxPPNodeCount' => 'int', |
339 | | - 'wgParserConf' => 'array', |
340 | | - 'wgParserCacheExpireTime' => 'int', |
341 | | -# 'wgParserTestFiles' => 'array', |
342 | | - 'wgUseXMLparser' => 'bool', |
343 | | - |
344 | | - 'wgRawHtml' => 'bool', |
345 | | - 'wgUserHtml' => 'bool', |
346 | | - |
347 | | - 'wgTexvc' => 'text', |
348 | | - 'wgUseTeX' => 'bool', |
349 | | - |
350 | | - 'wgAlwaysUseTidy' => 'bool', |
351 | | - 'wgDebugTidy' => 'bool', |
352 | | - 'wgTidyBin' => 'text', |
353 | | - 'wgTidyConf' => 'text', |
354 | | - 'wgTidyInternal' => 'bool', |
355 | | - 'wgTidyOpts' => 'text', |
356 | | - 'wgUseTidy' => 'bool', |
357 | | - 'wgValidateAllHtml' => 'bool', |
358 | | -# Special pages |
359 | | - 'wgAllowSpecialInclusion' => 'bool', |
360 | | - 'wgExportAllowHistory' => 'bool', |
361 | | - 'wgExportAllowListContributors' => 'bool', |
362 | | - 'wgExportMaxHistory' => 'int', |
363 | | - 'wgImportTargetNamespace' => 'text', |
364 | | -# 'wgLogActions' => 'array', |
365 | | -# 'wgLogHeaders' => 'array', |
366 | | -# 'wgLogNames' => 'array', |
367 | | - 'wgLogRestrictions' => 'array', |
368 | | -# 'wgLogTypes' => 'array', |
369 | | - 'wgMaxRedirectLinksRetrieved' => 'int', |
370 | | - 'wgUseNPPatrol' => 'bool', |
371 | | - |
372 | | - 'wgAllowCategorizedRecentChanges' => 'bool', |
373 | | - 'wgPutIPinRC' => 'bool', |
374 | | - 'wgRCChangedSizeThreshold' => 'int', |
375 | | - 'wgRCMaxAge' => 'int', |
376 | | - 'wgRCShowChangedSize' => 'bool', |
377 | | - 'wgRCShowWatchingUsers' => 'bool', |
378 | | - 'wgUseRCPatrol' => 'bool', |
379 | | - 'wgRC2UDPAddress' => 'text', |
380 | | - 'wgRC2UDPPort' => 'int', |
381 | | - 'wgRC2UDPPrefix' => 'text', |
382 | | -# Users |
383 | | - 'wgAutoConfirmAge' => 'int', |
384 | | - 'wgAutoConfirmCount' => 'int', |
385 | | - 'wgAllowRealName' => 'bool', |
386 | | - 'wgMaxNameChars' => 'int', |
387 | | - 'wgMinimalPasswordLength' => 'int', |
388 | | - 'wgMaxSigChars' => 'int', |
389 | | - 'wgPasswordReminderResendTime' => 'int', |
390 | | - 'wgReservedUsernames' => 'array', |
391 | | - 'wgBrowserBlackList' => 'array', |
392 | | -# Feed |
393 | | - 'wgFeed' => 'bool', |
394 | | - 'wgFeedCacheTimeout' => 'int', |
395 | | - 'wgFeedDiffCutoff' => 'int', |
396 | | - 'wgFeedLimit' => 'int', |
397 | | -# Copyright |
398 | | - 'wgCheckCopyrightUpload' => 'bool', |
399 | | - 'wgCopyrightIcon' => 'text', |
400 | | - 'wgEnableCreativeCommonsRdf' => 'bool', |
401 | | - 'wgEnableDublinCoreRdf' => 'bool', |
402 | | - 'wgMaxCredits' => 'int', |
403 | | - 'wgRightsIcon' => 'text', |
404 | | - 'wgRightsPage' => 'text', |
405 | | - 'wgRightsText' => 'text', |
406 | | - 'wgRightsUrl' => 'bool', |
407 | | - 'wgShowCreditsIfMax' => 'bool', |
408 | | - 'wgUseCopyrightUpload' => 'bool', |
409 | | -# Jobs |
410 | | - 'wgJobRunRate' => 'int', |
411 | | -# 'wgJobClasses' => 'array', |
412 | | - 'wgUpdateRowsPerJob' => 'int', |
413 | | -# Extensions |
414 | | - 'wgAllowSlowParserFunctions' => 'bool', |
415 | | -# 'wgAPIModules' => 'array', |
416 | | -# 'wgAutoloadClasses' => 'array', |
417 | | - 'wgDisableInternalSearch' => 'bool', |
418 | | -# 'wgExtensionCredits' => 'array', |
419 | | -# 'wgExtensionFunctions' => 'array', |
420 | | -# 'wgExtensionMessagesFiles' => 'array', |
421 | | - 'wgExternalStores' => 'array', |
422 | | -# 'wgHooks' => 'array', |
423 | | -# 'wgPagePropLinkInvalidations' => 'array', |
424 | | -# 'wgParserOutputHooks' => 'array', |
425 | | - 'wgSearchForwardUrl' => 'text', |
426 | | -# 'wgSkinExtensionFunctions' => 'array', |
427 | | -# HTCP multicast purging |
428 | | - 'wgHTCPMulticastAddress' => 'text', |
429 | | - 'wgHTCPMulticastTTL' => 'int', |
430 | | - 'wgHTCPPort' => 'int', |
431 | | -# Miscellaneous settings |
432 | | - 'wgAntiLockFlags' => 'int', |
433 | | - 'wgBreakFrames' => 'bool', |
434 | | - 'wgClockSkewFudge' => 'int', |
435 | | - 'wgCommandLineDarkBg' => 'bool', |
436 | | - 'wgCompressRevisions' => 'bool', |
437 | | - 'wgCountCategorizedImagesAsUsed' => 'bool', |
438 | | - 'wgDisableHardRedirects' => 'bool', |
439 | | - 'wgDisableOutputCompression' => 'bool', |
440 | | - 'wgEnableMWSuggest' => 'bool', |
441 | | - 'wgExternalDiffEngine' => 'text', |
442 | | - 'wgExtraRandompageSQL' => 'text', |
443 | | -# 'wgFilterCallback' => 'text', |
444 | | - 'wgGoToEdit' => 'bool', |
445 | | - 'wgGrammarForms' => 'array', |
446 | | - 'wgHitcounterUpdateFreq' => 'int', |
447 | | - 'wgJsMimeType' => 'text', |
448 | | - 'wgLivePreview' => 'bool', |
449 | | - 'wgMaxArticleSize' => 'int', |
450 | | - 'wgMaxShellFileSize' => 'int', |
451 | | - 'wgMaxShellMemory' => 'int', |
452 | | - 'wgMaxTocLevel' => 'int', |
453 | | - 'wgMWSuggestTemplate' => 'text', |
454 | | - 'wgOpenSearchTemplate' => 'text', |
455 | | - 'wgRedirectSources' => 'array', |
456 | | - 'wgRestrictionTypes' => 'array', |
457 | | - 'wgShowIPinHeader' => 'bool', |
458 | | - 'wgSortSpecialPages' => 'bool', |
459 | | - 'wgSpamRegex' => 'text', |
460 | | -# 'wgStyleVersion' => 'int', |
461 | | - 'wgUpdateRowsPerQuery' => 'int', |
462 | | - 'wgUseCommaCount' => 'int', |
463 | | - 'wgUseETag' => 'bool', |
464 | | - 'wgUseExternalEditor' => 'bool', |
| 215 | + 'wgCacheEpoch' => 'text', |
| 216 | + 'wgCachePages' => 'bool', |
| 217 | + 'wgFileCacheDirectory' => 'text', |
| 218 | + 'wgForcedRawSMaxage' => 'int', |
| 219 | + 'wgQueryCacheLimit' => 'int', |
| 220 | + 'wgRevisionCacheExpiry' => 'int', |
| 221 | + 'wgThumbnailEpoch' => 'text', |
| 222 | + 'wgTranscludeCacheExpiry' => 'int', |
| 223 | + 'wgUseFileCache' => 'bool', |
| 224 | + 'wgUseGzip' => 'bool', |
| 225 | + 'wgUseWatchlistCache' => 'bool', |
| 226 | + 'wgWLCacheTimeout' => 'int', |
| 227 | + ), |
| 228 | + 'pcache' => array( |
| 229 | + 'wgParserCacheType' => array( -1 => 'Anything', 0 => 'None', |
| 230 | + 1 => 'DB', 2 => 'Memcached', |
| 231 | + 3 => 'Accel', 4 => 'DBA' ), |
| 232 | + 'wgEnableParserCache' => 'bool', |
| 233 | + 'wgEnableSidebarCache' => 'bool', |
| 234 | + 'wgSidebarCacheExpiry' => 'int', |
| 235 | + ), |
| 236 | + 'messagecache' => array( |
| 237 | + 'wgMessageCacheType' => array( -1 => 'Anything', 0 => 'None', |
| 238 | + 1 => 'DB', 2 => 'Memcached', |
| 239 | + 3 => 'Accel', 4 => 'DBA' ), |
| 240 | + 'wgLocalMessageCache' => 'text', |
| 241 | + 'wgMsgCacheExpiry' => 'int', |
| 242 | + 'wgCachedMessageArrays' => 'text', |
| 243 | + 'wgCheckSerialized' => 'bool', |
| 244 | + 'wgLocalMessageCacheSerialized' => 'bool', |
| 245 | + 'wgMaxMsgCacheEntrySize' => 'int', |
| 246 | + ), |
| 247 | + 'memcached' => array( |
| 248 | + 'wgLinkCacheMemcached' => 'bool', |
| 249 | + 'wgMemCachedDebug' => 'bool', |
| 250 | + 'wgMemCachedPersistent' => 'bool', |
| 251 | + 'wgMemCachedServers' => 'array', |
| 252 | + 'wgSessionsInMemcached' => 'bool', |
| 253 | + ), |
| 254 | + ), |
| 255 | + 'interwiki' => array( |
| 256 | + 'interwiki' => array( |
| 257 | + 'wgEnableScaryTranscluding' => 'bool', |
| 258 | + 'wgImportSources' => 'array', |
| 259 | + 'wgInterwikiCache' => 'text', |
| 260 | + 'wgInterwikiExpiry' => 'int', |
| 261 | + 'wgInterwikiFallbackSite' => 'text', |
| 262 | + 'wgInterwikiScopes' => 'int', |
| 263 | + 'wgLocalInterwiki' => 'text', |
| 264 | + ), |
| 265 | + ), |
| 266 | + 'access' => array( |
| 267 | + 'access' => array( |
| 268 | + 'wgAutopromote' => 'array', |
| 269 | + 'wgAccountCreationThrottle' => 'int', |
| 270 | + 'wgAllowPageInfo' => 'bool', |
| 271 | + 'wgAutoblockExpiry' => 'int', |
| 272 | + 'wgDeleteRevisionsLimit' => 'int', |
| 273 | + 'wgDisabledActions' => 'array', |
| 274 | + 'wgEmailConfirmToEdit' => 'bool', |
| 275 | + 'wgEnableCascadingProtection' => 'bool', |
| 276 | + 'wgEnableAPI' => 'bool', |
| 277 | + 'wgEnableWriteAPI' => 'bool', |
| 278 | + 'wgImplicitGroups' => 'array', |
| 279 | + 'wgPasswordSalt' => 'bool', |
| 280 | + 'wgReadOnly' => 'text', |
| 281 | + 'wgReadOnlyFile' => 'text', |
| 282 | + 'wgWhitelistRead' => 'array', |
| 283 | + ), |
| 284 | + 'groups' => array( |
| 285 | + 'wgGroupPermissions' => 'array', |
| 286 | + 'wgAddGroups' => 'array', |
| 287 | + 'wgRemoveGroups' => 'array', |
| 288 | + 'wgGroupsAddToSelf' => 'array', |
| 289 | + 'wgGroupsRemoveFromSelf' => 'array', |
| 290 | + ), |
| 291 | + 'block' => array( |
| 292 | + 'wgBlockAllowsUTEdit' => 'bool', |
| 293 | + 'wgSysopEmailBans' => 'bool', |
| 294 | + 'wgSysopRangeBans' => 'bool', |
| 295 | + 'wgSysopUserBans' => 'bool', |
| 296 | + ), |
| 297 | + ), |
| 298 | + 'rates' => array( |
| 299 | + 'rates' => array( |
| 300 | + 'wgRateLimitLog' => 'text', |
| 301 | + 'wgRateLimits' => 'array', |
| 302 | + 'wgRateLimitsExcludedGroups' => 'array', |
| 303 | + ), |
| 304 | + ), |
| 305 | + 'proxy' => array( |
| 306 | + 'proxy' => array( |
| 307 | + 'wgBlockOpenProxies' => 'bool', |
| 308 | + 'wgEnableSorbs' => 'bool', |
| 309 | + 'wgProxyList' => 'array', |
| 310 | + 'wgProxyMemcExpiry' => 'int', |
| 311 | + 'wgProxyPorts' => 'array', |
| 312 | + 'wgProxyScriptPath' => 'text', |
| 313 | + 'wgProxyWhitelist' => 'array', |
| 314 | + 'wgSecretKey' => 'text', |
| 315 | + ), |
| 316 | + ), |
| 317 | + 'squid' => array( |
| 318 | + 'squid' => array( |
| 319 | + 'wgInternalServer' => 'text', |
| 320 | + 'wgMaxSquidPurgeTitles' => 'int', |
| 321 | + 'wgSquidMaxage' => 'int', |
| 322 | + 'wgSquidServers' => 'array', |
| 323 | + 'wgSquidServersNoPurge' => 'array', |
| 324 | + 'wgUseESI' => 'bool', |
| 325 | + 'wgUseSquid' => 'bool', |
| 326 | + ), |
| 327 | + ), |
| 328 | + 'cookie' => array( |
| 329 | + 'cookie' => array( |
| 330 | + 'wgCookieDomain' => 'text', |
| 331 | + 'wgCookieExpiration' => 'int', |
| 332 | + 'wgCookieHttpOnly' => 'bool', |
| 333 | + 'wgCookiePath' => 'text', |
| 334 | + 'wgCookieSecure' => 'bool', |
| 335 | + 'wgDisableCookieCheck' => 'bool', |
| 336 | + 'wgSessionName' => 'text', |
| 337 | + ), |
| 338 | + ), |
| 339 | + 'reduction' => array( |
| 340 | + 'reduction' => array( |
| 341 | + 'wgDisableAnonTalk' => 'bool', |
| 342 | + 'wgDisableCounters' => 'bool', |
| 343 | + 'wgDisableQueryPages' => 'bool', |
| 344 | + 'wgDisableQueryPageUpdate' => 'array', |
| 345 | + 'wgDisableSearchContext' => 'bool', |
| 346 | + 'wgDisableSearchUpdate' => 'bool', |
| 347 | + 'wgDisableTextSearch' => 'bool', |
| 348 | + 'wgMiserMode' => 'bool', |
| 349 | + 'wgShowHostnames' => 'bool', |
| 350 | + 'wgUseDumbLinkUpdate' => 'bool', |
| 351 | + 'wgWantedPagesThreshold' => 'int', |
| 352 | + ), |
| 353 | + ), |
| 354 | + 'upload' => array( |
| 355 | + 'upload' => array( |
| 356 | + 'wgAjaxLicensePreview' => 'bool', |
| 357 | + 'wgAllowCopyUploads' => 'bool', |
| 358 | + 'wgCheckFileExtensions' => 'bool', |
| 359 | + 'wgEnableUploads' => 'bool', |
| 360 | + 'wgFileBlacklist' => 'array', |
| 361 | + 'wgFileExtensions' => 'array', |
| 362 | + 'wgFileStore' => 'array', |
| 363 | + 'wgLocalFileRepo' => 'array', |
| 364 | + 'wgRemoteUploads' => 'bool', |
| 365 | + 'wgStrictFileExtensions' => 'bool', |
| 366 | + 'wgUploadSizeWarning' => 'int', |
| 367 | + 'wgMaxUploadSize' => 'int', |
| 368 | + 'wgHTTPTimeout' => 'int', |
| 369 | + 'wgHTTPProxy' => 'text', |
| 370 | + 'wgSaveDeletedFiles' => 'bool', |
| 371 | + ), |
| 372 | + 'sharedupload' => array( |
| 373 | + 'wgForeignFileRepos' => 'array', |
| 374 | + ), |
| 375 | + 'mime' => array( |
| 376 | + 'wgLoadFileinfoExtension' => 'bool', |
| 377 | + 'wgMimeDetectorCommand' => 'text', |
| 378 | + 'wgMimeInfoFile' => 'text', |
| 379 | + 'wgMimeTypeFile' => 'text', |
| 380 | + 'wgVerifyMimeType' => 'bool', |
| 381 | + 'wgMimeTypeBlacklist' => 'array', |
| 382 | + ), |
| 383 | + ), |
| 384 | + 'images' => array( |
| 385 | + 'images' => array( |
| 386 | + 'wgDjvuPostProcessor' => 'text', |
| 387 | + 'wgDjvuRenderer' => 'text', |
| 388 | + 'wgDjvuToXML' => 'text', |
| 389 | + 'wgFileRedirects' => 'bool', |
| 390 | + 'wgGenerateThumbnailOnParse' => 'bool', |
| 391 | + 'wgIgnoreImageErrors' => 'bool', |
| 392 | + 'wgImageLimits' => 'array', |
| 393 | + 'wgImageMagickConvertCommand' => 'text', |
| 394 | + 'wgMaxImageArea' => 'int', |
| 395 | + 'wgMediaHandlers' => 'array', |
| 396 | + 'wgThumbnailScriptPath' => 'text', |
| 397 | + 'wgThumbUpright' => 'text', |
| 398 | + 'wgUseImageMagick' => 'bool', |
| 399 | + 'wgShowEXIF' => 'bool', |
| 400 | + 'wgUseImageResize' => 'bool', |
| 401 | + 'wgThumbLimits' => 'array', |
| 402 | + 'wgTrustedMediaFormats' => 'array', |
| 403 | + ), |
| 404 | + 'svg' => array( |
| 405 | + 'wgAllowTitlesInSVG' => 'bool', |
| 406 | + 'wgSVGConverter' => 'text', |
| 407 | + 'wgSVGConverterPath' => 'text', |
| 408 | + 'wgSVGConverters' => 'array', |
| 409 | + 'wgSVGMaxSize' => 'int', |
| 410 | + ), |
| 411 | + 'antivirus' => array( |
| 412 | + 'wgAntivirus' => 'text', |
| 413 | + 'wgAntivirusRequired' => 'bool', |
| 414 | + 'wgAntivirusSetup' => 'array', |
| 415 | + ), |
| 416 | + ), |
| 417 | + 'parser' => array( |
| 418 | + 'parser' => array( |
| 419 | + 'wgAllowDisplayTitle' => 'bool', |
| 420 | + 'wgAllowExternalImages' => 'bool', |
| 421 | + 'wgAllowExternalImagesFrom' => 'text', |
| 422 | + 'wgExpensiveParserFunctionLimit' => 'int', |
| 423 | + 'wgMaxPPExpandDepth' => 'int', |
| 424 | + 'wgMaxPPNodeCount' => 'int', |
| 425 | + 'wgParserConf' => 'array', |
| 426 | + 'wgParserCacheExpireTime' => 'int', |
| 427 | +# 'wgParserTestFiles' => 'array', |
| 428 | + 'wgUseXMLparser' => 'bool', |
| 429 | + ), |
| 430 | + 'html' => array( |
| 431 | + 'wgRawHtml' => 'bool', |
| 432 | + 'wgUserHtml' => 'bool', |
| 433 | + ), |
| 434 | + 'tex' => array( |
| 435 | + 'wgTexvc' => 'text', |
| 436 | + 'wgUseTeX' => 'bool', |
| 437 | + ), |
| 438 | + 'tidy' => array( |
| 439 | + 'wgAlwaysUseTidy' => 'bool', |
| 440 | + 'wgDebugTidy' => 'bool', |
| 441 | + 'wgTidyBin' => 'text', |
| 442 | + 'wgTidyConf' => 'text', |
| 443 | + 'wgTidyInternal' => 'bool', |
| 444 | + 'wgTidyOpts' => 'text', |
| 445 | + 'wgUseTidy' => 'bool', |
| 446 | + 'wgValidateAllHtml' => 'bool', |
| 447 | + ), |
| 448 | + ), |
| 449 | + 'specialpages' => array( |
| 450 | + 'specialpages' => array( |
| 451 | + 'wgAllowSpecialInclusion' => 'bool', |
| 452 | + 'wgExportAllowHistory' => 'bool', |
| 453 | + 'wgExportAllowListContributors' => 'bool', |
| 454 | + 'wgExportMaxHistory' => 'int', |
| 455 | + 'wgImportTargetNamespace' => 'text', |
| 456 | +# 'wgLogActions' => 'array', |
| 457 | +# 'wgLogHeaders' => 'array', |
| 458 | +# 'wgLogNames' => 'array', |
| 459 | + 'wgLogRestrictions' => 'array', |
| 460 | +# 'wgLogTypes' => 'array', |
| 461 | + 'wgMaxRedirectLinksRetrieved' => 'int', |
| 462 | + 'wgUseNPPatrol' => 'bool', |
| 463 | + ), |
| 464 | + 'recentchanges' => array( |
| 465 | + 'wgAllowCategorizedRecentChanges' => 'bool', |
| 466 | + 'wgPutIPinRC' => 'bool', |
| 467 | + 'wgRCChangedSizeThreshold' => 'int', |
| 468 | + 'wgRCMaxAge' => 'int', |
| 469 | + 'wgRCShowChangedSize' => 'bool', |
| 470 | + 'wgRCShowWatchingUsers' => 'bool', |
| 471 | + 'wgUseRCPatrol' => 'bool', |
| 472 | + 'wgRC2UDPAddress' => 'text', |
| 473 | + 'wgRC2UDPPort' => 'int', |
| 474 | + 'wgRC2UDPPrefix' => 'text', |
| 475 | + ), |
| 476 | + ), |
| 477 | + 'users' => array( |
| 478 | + 'users' => array( |
| 479 | + 'wgAutoConfirmAge' => 'int', |
| 480 | + 'wgAutoConfirmCount' => 'int', |
| 481 | + 'wgAllowRealName' => 'bool', |
| 482 | + 'wgMaxNameChars' => 'int', |
| 483 | + 'wgMinimalPasswordLength' => 'int', |
| 484 | + 'wgMaxSigChars' => 'int', |
| 485 | + 'wgPasswordReminderResendTime' => 'int', |
| 486 | + 'wgReservedUsernames' => 'array', |
| 487 | + 'wgBrowserBlackList' => 'array', |
| 488 | + ), |
| 489 | + ), |
| 490 | + 'feed' => array( |
| 491 | + 'feed' => array( |
| 492 | + 'wgFeed' => 'bool', |
| 493 | + 'wgFeedCacheTimeout' => 'int', |
| 494 | + 'wgFeedDiffCutoff' => 'int', |
| 495 | + 'wgFeedLimit' => 'int', |
| 496 | + ), |
| 497 | + ), |
| 498 | + 'copyright' => array( |
| 499 | + 'copyright' => array( |
| 500 | + 'wgCheckCopyrightUpload' => 'bool', |
| 501 | + 'wgCopyrightIcon' => 'text', |
| 502 | + 'wgEnableCreativeCommonsRdf' => 'bool', |
| 503 | + 'wgEnableDublinCoreRdf' => 'bool', |
| 504 | + 'wgMaxCredits' => 'int', |
| 505 | + 'wgRightsIcon' => 'text', |
| 506 | + 'wgRightsPage' => 'text', |
| 507 | + 'wgRightsText' => 'text', |
| 508 | + 'wgRightsUrl' => 'bool', |
| 509 | + 'wgShowCreditsIfMax' => 'bool', |
| 510 | + 'wgUseCopyrightUpload' => 'bool', |
| 511 | + ), |
| 512 | + ), |
| 513 | + 'job' => array( |
| 514 | + 'job' => array( |
| 515 | + 'wgJobRunRate' => 'int', |
| 516 | +# 'wgJobClasses' => 'array', |
| 517 | + 'wgUpdateRowsPerJob' => 'int', |
| 518 | + ), |
| 519 | + ), |
| 520 | + 'extension' => array( |
| 521 | + 'extension' => array( |
| 522 | + 'wgAllowSlowParserFunctions' => 'bool', |
| 523 | +# 'wgAPIModules' => 'array', |
| 524 | +# 'wgAutoloadClasses' => 'array', |
| 525 | + 'wgDisableInternalSearch' => 'bool', |
| 526 | +# 'wgExtensionCredits' => 'array', |
| 527 | +# 'wgExtensionFunctions' => 'array', |
| 528 | +# 'wgExtensionMessagesFiles' => 'array', |
| 529 | + 'wgExternalStores' => 'array', |
| 530 | +# 'wgHooks' => 'array', |
| 531 | +# 'wgPagePropLinkInvalidations' => 'array', |
| 532 | +# 'wgParserOutputHooks' => 'array', |
| 533 | + 'wgSearchForwardUrl' => 'text', |
| 534 | +# 'wgSkinExtensionFunctions' => 'array', |
| 535 | + ), |
| 536 | + ), |
| 537 | + 'htcp' => array( |
| 538 | + 'htcp' => array( |
| 539 | + 'wgHTCPMulticastAddress' => 'text', |
| 540 | + 'wgHTCPMulticastTTL' => 'int', |
| 541 | + 'wgHTCPPort' => 'int', |
| 542 | + ), |
| 543 | + ), |
| 544 | + 'misc' => array( |
| 545 | + 'misc' => array( |
| 546 | + 'wgAntiLockFlags' => 'int', |
| 547 | + 'wgBreakFrames' => 'bool', |
| 548 | + 'wgClockSkewFudge' => 'int', |
| 549 | + 'wgCommandLineDarkBg' => 'bool', |
| 550 | + 'wgCompressRevisions' => 'bool', |
| 551 | + 'wgCountCategorizedImagesAsUsed' => 'bool', |
| 552 | + 'wgDisableHardRedirects' => 'bool', |
| 553 | + 'wgDisableOutputCompression' => 'bool', |
| 554 | + 'wgEnableMWSuggest' => 'bool', |
| 555 | + 'wgExternalDiffEngine' => 'text', |
| 556 | + 'wgExtraRandompageSQL' => 'text', |
| 557 | +# 'wgFilterCallback' => 'text', |
| 558 | + 'wgGoToEdit' => 'bool', |
| 559 | + 'wgGrammarForms' => 'array', |
| 560 | + 'wgHitcounterUpdateFreq' => 'int', |
| 561 | + 'wgJsMimeType' => 'text', |
| 562 | + 'wgMaxArticleSize' => 'int', |
| 563 | + 'wgMaxShellFileSize' => 'int', |
| 564 | + 'wgMaxShellMemory' => 'int', |
| 565 | + 'wgMaxTocLevel' => 'int', |
| 566 | + 'wgMWSuggestTemplate' => 'text', |
| 567 | + 'wgOpenSearchTemplate' => 'text', |
| 568 | + 'wgRedirectSources' => 'array', |
| 569 | + 'wgRestrictionTypes' => 'array', |
| 570 | + 'wgShowIPinHeader' => 'bool', |
| 571 | + 'wgSortSpecialPages' => 'bool', |
| 572 | + 'wgSpamRegex' => 'text', |
| 573 | +# 'wgStyleVersion' => 'int', |
| 574 | + 'wgUpdateRowsPerQuery' => 'int', |
| 575 | + 'wgUseCommaCount' => 'int', |
| 576 | + 'wgUseETag' => 'bool', |
| 577 | + 'wgUseExternalEditor' => 'bool', |
| 578 | + ), |
| 579 | + ), |
465 | 580 | ); |
466 | 581 | |
467 | 582 | /** |
Index: trunk/extensions/Configure/CHANGELOG |
— | — | @@ -0,0 +1,26 @@ |
| 2 | +This file lists changes on this extension. |
| 3 | +Localisation updates are done on betawiki and aren't listed here. |
| 4 | + |
| 5 | +0.2.0 - 1 May 2008 |
| 6 | + Rewrote the part that generate the form, will now use $settings variable that |
| 7 | + is defined Configure.settings.php to put the variables into groups. |
| 8 | + |
| 9 | +0.1.5 - 26 April 2008 |
| 10 | + Now check that the directory used to store the settings is writable. |
| 11 | + |
| 12 | +0.1.4 - 23 April 2008 |
| 13 | + Now support $wgImageLimits. |
| 14 | + |
| 15 | +0.1.3 - 22 April 2008 |
| 16 | + Now support $wgNamespaceProtection. |
| 17 | + |
| 18 | +0.1.2 - 21 April 2008 |
| 19 | + Now support $wgGroupPermissions, $wgAddGroups, $wgRemoveGroups, |
| 20 | + $wgGroupsAddToSelf and $wgGroupsRemoveFromSelf. |
| 21 | + |
| 22 | +0.1.1 - 20 April 2008 |
| 23 | + Now treats an empty an empty text area as an empty array, was breaking some |
| 24 | + settings. |
| 25 | + |
| 26 | +0.1.0 - 18 April 2008 |
| 27 | + Initial version of the extension. |
\ No newline at end of file |
Property changes on: trunk/extensions/Configure/CHANGELOG |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 28 | + native |
Index: trunk/extensions/Configure/Configure.php |
— | — | @@ -16,7 +16,7 @@ |
17 | 17 | 'url' => 'http://www.mediawiki.org/wiki/Extension:Configure', |
18 | 18 | 'description' => 'Allow authorised users to configure the wiki by a web-based interface', |
19 | 19 | 'descriptionmsg' => 'configure-desc', |
20 | | - 'version' => '0.1.5', |
| 20 | + 'version' => '0.2.0', |
21 | 21 | ); |
22 | 22 | |
23 | 23 | ## Adding new rights... |
Index: trunk/extensions/Configure/README |
— | — | @@ -43,13 +43,13 @@ |
44 | 44 | (all what need also "external" changes, i.e. server rewrite rules, squid |
45 | 45 | configuration, ...) but also $wgGroupPermission. |
46 | 46 | |
47 | | -Even this extension allows you configure about the whole settings, it's |
48 | | -recommanded to keep the original LocalSettings.php file. You can simply add the |
49 | | -extension after the default settings. If you don't want a setting to be |
50 | | -modified, simply redeclare it after calling efConfigureSetup(), it will still be |
51 | | -customizable in Special:Configure but changes won't have any effect. |
| 47 | +Although this extension allows you to configure all settings, it's recommended |
| 48 | +to keep the original LocalSettings.php file. You can simply add the extension |
| 49 | +after the default settings. If you don't want a setting to be modified, simply |
| 50 | +redeclare it after calling efConfigureSetup(), it will still be customizable in |
| 51 | +Special:Configure but changes won't have any effect. |
52 | 52 | |
53 | | -This extension use an extended class of SiteConfiguration, for "normal" |
| 53 | +This extension uses an extended class of SiteConfiguration, for "normal" |
54 | 54 | installation, it isn't useful, but for some wiki farms, it will allow to |
55 | 55 | multiple with only one copy of the software. To change the configuration you |
56 | 56 | want to load, pass an argument to efConfigureSetup(). A user with |