Don't show the autopatrol preference if recent changes patrol is disabled
[lhc/web/wiklou.git] / includes / SpecialPreferences.php
index 7a2e76d..a3b5617 100644 (file)
@@ -5,9 +5,6 @@
  * @subpackage SpecialPage
  */
 
-if( !defined( 'MEDIAWIKI' ) )
-       die();
-
 /**
  * Entry point that create the "Preferences" object
  */
@@ -190,7 +187,7 @@ class PreferencesForm {
         * @access private
         */
        function savePreferences() {
-               global $wgUser, $wgLang, $wgOut;
+               global $wgUser, $wgOut, $wgParser;
                global $wgEnableUserEmail, $wgEnableEmail;
                global $wgEmailAuthentication, $wgMinimalPasswordLength;
                global $wgAuth;
@@ -230,7 +227,7 @@ class PreferencesForm {
                # Validate the signature and clean it up as needed
                if( $this->mToggles['fancysig'] ) {
                        if( Parser::validateSig( $this->mNick ) !== false ) {
-                               $this->mNick = Parser::cleanSig( $this->mNick );
+                               $this->mNick = $wgParser->cleanSig( $this->mNick );
                        } else {
                                $this->mainPrefsForm( 'error', wfMsg( 'badsig' ) );
                        }
@@ -373,7 +370,7 @@ class PreferencesForm {
         * @access private
         */
        function namespacesCheckboxes() {
-               global $wgContLang, $wgUser;
+               global $wgContLang;
 
                # Determine namespace checkboxes
                $namespaces = $wgContLang->getNamespaces();
@@ -467,6 +464,7 @@ class PreferencesForm {
                $this->mUsedToggles[ 'enotifusertalkpages' ] = true;
                $this->mUsedToggles[ 'enotifminoredits' ] = true;
                $this->mUsedToggles[ 'enotifrevealaddr' ] = true;
+               $this->mUsedToggles[ 'uselivepreview' ] = true;
 
                # Enotif
                # <FIXME>
@@ -658,14 +656,14 @@ class PreferencesForm {
 
                # <FIXME>
                # Enotif
-                if ($wgEnableEmail) {
+               if ($wgEnableEmail) {
                        $wgOut->addHTML( '<fieldset><legend>' . wfMsg( 'email' ) . '</legend>' );
-                        $wgOut->addHTML(
-                                $emailauthenticated.
-                                $enotifrevealaddr.
-                                $enotifwatchlistpages.
-                                $enotifusertalkpages.
-                                $enotifminoredits );
+                       $wgOut->addHTML(
+                                       $emailauthenticated.
+                                       $enotifrevealaddr.
+                                       $enotifwatchlistpages.
+                                       $enotifusertalkpages.
+                                       $enotifminoredits );
                        if ($wgEnableUserEmail) {
                        $emf = wfMsg( 'allowemail' );
                                $disabled = $disableEmailPrefs ? ' disabled="disabled"' : '';
@@ -674,7 +672,7 @@ class PreferencesForm {
                        }
 
                        $wgOut->addHTML( '</fieldset>' );
-                }
+               }
                # </FIXME>
 
                if ($wgAllowRealName || $wgEnableEmail) {
@@ -757,8 +755,8 @@ class PreferencesForm {
                        }
                        $wgOut->addHTML( "{$imageThumbOptions}</select></div></fieldset>\n\n");
 
-                # Date format
-                #
+               # Date format
+               #
                # Date/Time
                #
 
@@ -800,6 +798,7 @@ class PreferencesForm {
 
                # Editing
                #
+               global $wgLivePreview, $wgUseRCPatrol;
                $wgOut->addHTML( '<fieldset><legend>' . wfMsg( 'textboxsize' ) . '</legend>
                        <div>
                                <label for="wpRows">' . wfMsg( 'rows' ) . "</label> <input type='text' name='wpRows' id='wpRows' value=\"{$this->mRows}\" size='3' />
@@ -813,12 +812,17 @@ class PreferencesForm {
                                'showtoolbar',
                                'previewonfirst',
                                'previewontop',
+                               'watchcreations',
                                'watchdefault',
                                'minordefault',
                                'externaleditor',
-                               'externaldiff' )
-                       ) . '</fieldset>'
+                               'externaldiff',
+                               $wgLivePreview ? 'uselivepreview' : false,
+                               $wgUser->isAllowed( 'patrol' ) && $wgUseRCPatrol ? 'autopatrol' : false,
+                               'forceeditsummary',
+                       ) ) . '</fieldset>'
                );
+               $this->mUsedToggles['autopatrol'] = true; # Don't show this up for users who can't; the handler below is dumb and doesn't know it
 
                $wgOut->addHTML( '<fieldset><legend>' . htmlspecialchars(wfMsg('prefs-rc')) . '</legend>' .
                                        '<label for="wpRecent">' . wfMsg ( 'recentchangescount' ) .
@@ -890,7 +894,7 @@ class PreferencesForm {
        <input type='hidden' name='wpEditToken' value='{$token}' />
        </div></form>\n" );
 
-       $wgOut->addWikiText( '<div class="prefcache">' . wfMsg('clearyourcache') . '</div>' );
+               $wgOut->addWikiText( '<div class="prefcache">' . wfMsg('clearyourcache') . '</div>' );
 
        }
 }