Revision: 43565
Author:   aaron
Date:     2008-11-16 06:15:06 +0000 (Sun, 16 Nov 2008)

Log Message:
-----------
* Use edit token on submit
* Rename getNotEditable -> getUneditable
* Whitespace/style tweaks
* Add comments

Modified Paths:
--------------
    trunk/extensions/Configure/Configure.api.php
    trunk/extensions/Configure/Configure.handler-db.php
    trunk/extensions/Configure/Configure.handler-files.php
    trunk/extensions/Configure/Configure.handler.php
    trunk/extensions/Configure/Configure.obj.php
    trunk/extensions/Configure/Configure.page.php
    trunk/extensions/Configure/Configure.settings.php
    trunk/extensions/Configure/SpecialConfigure.php

Modified: trunk/extensions/Configure/Configure.api.php
===================================================================
--- trunk/extensions/Configure/Configure.api.php        2008-11-16 02:42:30 UTC 
(rev 43564)
+++ trunk/extensions/Configure/Configure.api.php        2008-11-16 06:15:06 UTC 
(rev 43565)
@@ -64,7 +64,7 @@
                                $this->dieUsage( 'wiki not found in version', 
'nowiki' );
                        $settingsValues = $settingsValues[$wiki];
                        $conf = ConfigurationSettings::singleton( 
CONF_SETTINGS_BOTH );
-                       $notEditable = $conf->getNotEditableSettings();
+                       $notEditable = $conf->getUneditableSettings();
                        $ret = array();
                        if ( $params['group'] ) {
                                $sections = $conf->getSettings();
@@ -120,7 +120,7 @@
 
        protected function userCanRead( $setting, $conf ) {
                global $wgUser, $wgConfigureViewRestrictions;
-               if ( in_array( $setting, $conf->getNotEditableSettings() )
+               if ( in_array( $setting, $conf->getUneditableSettings() )
                        || ( in_array( $setting, $conf->getViewRestricted() )
                        && !$wgUser->isAllowed( 'viewconfig-all' ) ) )
                        return false;

Modified: trunk/extensions/Configure/Configure.handler-db.php
===================================================================
--- trunk/extensions/Configure/Configure.handler-db.php 2008-11-16 02:42:30 UTC 
(rev 43564)
+++ trunk/extensions/Configure/Configure.handler-db.php 2008-11-16 06:15:06 UTC 
(rev 43565)
@@ -269,7 +269,7 @@
        /**
         * Get settings that are not editable with the database handler
         */
-       public function getNotEditableSettings() {
+       public function getUneditableSettings() {
                return array(
                # Database
                        'wgAllDBsAreLocalhost',

Modified: trunk/extensions/Configure/Configure.handler-files.php
===================================================================
--- trunk/extensions/Configure/Configure.handler-files.php      2008-11-16 
02:42:30 UTC (rev 43564)
+++ trunk/extensions/Configure/Configure.handler-files.php      2008-11-16 
06:15:06 UTC (rev 43565)
@@ -138,7 +138,7 @@
        /**
         * All settings are editable!
         */
-       public function getNotEditableSettings() {
+       public function getUneditableSettings() {
                return array();
        }
 

Modified: trunk/extensions/Configure/Configure.handler.php
===================================================================
--- trunk/extensions/Configure/Configure.handler.php    2008-11-16 02:42:30 UTC 
(rev 43564)
+++ trunk/extensions/Configure/Configure.handler.php    2008-11-16 06:15:06 UTC 
(rev 43565)
@@ -66,5 +66,5 @@
         * Get settings that are not editable with this handler
         * @return array
         */
-       public function getNotEditableSettings();
+       public function getUneditableSettings();
 }

Modified: trunk/extensions/Configure/Configure.obj.php
===================================================================
--- trunk/extensions/Configure/Configure.obj.php        2008-11-16 02:42:30 UTC 
(rev 43564)
+++ trunk/extensions/Configure/Configure.obj.php        2008-11-16 06:15:06 UTC 
(rev 43565)
@@ -269,8 +269,8 @@
         * Get not editable settings with the current handler
         * @return array
         */
-       public function getNotEditableSettings() {
-               return $this->mHandler->getNotEditableSettings();
+       public function getUneditableSettings() {
+               return $this->mHandler->getUneditableSettings();
        }
 
        /**
@@ -292,7 +292,7 @@
 
        /**
         * Merge array settings
-        *
+        * TODO: document!
         * @return Array
         */
        public static function mergeArrays( /* $array1, ... */ ) {

Modified: trunk/extensions/Configure/Configure.page.php
===================================================================
--- trunk/extensions/Configure/Configure.page.php       2008-11-16 02:42:30 UTC 
(rev 43564)
+++ trunk/extensions/Configure/Configure.page.php       2008-11-16 06:15:06 UTC 
(rev 43565)
@@ -98,7 +98,10 @@
 
                switch( $type ) {
                case 'submit':
-                       $this->doSubmit();
+                       if( $wgUser->matchEditToken( $wgRequest->getVal( 
'wpEditToken' ) ) )
+                               $this->doSubmit();
+                       else
+                               $this->showForm();
                        break;
                case 'diff':
                        $this->conf = $this->importFromRequest();
@@ -174,7 +177,7 @@
         * @return bool
         */
        public function userCanRead( $setting ) {
-               if ( in_array( $setting, 
$this->mConfSettings->getNotEditableSettings() )
+               if ( in_array( $setting, 
$this->mConfSettings->getUneditableSettings() )
                        || ( in_array( $setting, 
$this->mConfSettings->getViewRestricted() )
                        && !$this->isUserAllowedAll() ) )
                        return false;
@@ -203,11 +206,11 @@
         *
         * @return array
         */
-       protected function getNotEditableSettings() {
+       protected function getUneditableSettings() {
                static $notEditable;
                if ( !isset( $notEditable ) ) {
                        global $wgConfigureNotEditableSettings;
-                       $notEditable = array_merge( 
$this->mConfSettings->getNotEditableSettings(),
+                       $notEditable = array_merge( 
$this->mConfSettings->getUneditableSettings(),
                                $wgConfigureNotEditableSettings );
                }
                return $notEditable;
@@ -219,7 +222,7 @@
         * @return array
         */
        protected function getEditableSettings() {
-               $notEdit = $this->getNotEditableSettings();
+               $notEdit = $this->getUneditableSettings();
                $settings = $this->mConfSettings->getAllSettings();
                foreach ( $notEdit as $setting )
                        unset( $settings[$setting] );
@@ -655,6 +658,7 @@
                        ( $this->mCanEdit ?
                                Xml::openElement( 'div', array( 'id' => 
'prefsubmit' ) ) . "\n" .
                                Xml::openElement( 'div', array() ) . "\n" .
+                               Xml::hidden( 'wpEditToken', 
$wgUser->editToken() ) . "\n" .
                                Xml::element( 'input', array( 'type' => 
'submit', 'name' => 'wpSave', 
                                        'class' => 'btnSavePrefs', 'value' => 
wfMsgHtml( 'configure-btn-save' ) ) ) . "\n" .
                                Xml::element( 'input', array( 'type' => 
'submit', 'name' => 'wpPreview', 
@@ -1058,7 +1062,7 @@
 
                $ret = '';
                $perms = array();
-               $notEditableSet = $this->getNotEditableSettings();
+               $notEditableSet = $this->getUneditableSettings();
                foreach ( $settings as $title => $groups ) {
                        $res = true;
                        if ( !isset( $param['restrict'] ) ) {

Modified: trunk/extensions/Configure/Configure.settings.php
===================================================================
--- trunk/extensions/Configure/Configure.settings.php   2008-11-16 02:42:30 UTC 
(rev 43564)
+++ trunk/extensions/Configure/Configure.settings.php   2008-11-16 06:15:06 UTC 
(rev 43565)
@@ -168,7 +168,7 @@
         *
         * @return array
         */
-       public function getNotEditableSettings() {
+       public function getUneditableSettings() {
                $this->loadSettingsDefs();
                $ret = array();
                if ( ( $this->types & CONF_SETTINGS_CORE ) == 
CONF_SETTINGS_CORE ) {
@@ -178,7 +178,7 @@
                        $ret += array(); // Nothing for extensions
                }
                global $wgConf;
-               $ret = array_merge( $ret, $wgConf->getNotEditableSettings() );
+               $ret = array_merge( $ret, $wgConf->getUneditableSettings() );
                return $ret;
        }
 
@@ -268,7 +268,6 @@
        public function getArrayType( $setting ) {
                $arr = $this->getArrayDefs();
                return isset( $arr[$setting] ) ?
-                       $arr[$setting] :
-                       null;
+                       $arr[$setting] : null;
        }
 }

Modified: trunk/extensions/Configure/SpecialConfigure.php
===================================================================
--- trunk/extensions/Configure/SpecialConfigure.php     2008-11-16 02:42:30 UTC 
(rev 43564)
+++ trunk/extensions/Configure/SpecialConfigure.php     2008-11-16 06:15:06 UTC 
(rev 43565)
@@ -44,6 +44,7 @@
                return ( $this->isSettingAvailable( $setting )
                        && $this->userCanEdit( $setting )
                        && ( $this->getSettingType( $setting ) != 'array'
+                       // Array type is not NULL or 'array'
                                || !in_array( $this->getArrayType( $setting ), 
array( 'array', null ) ) ) );
        }
 



_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to