Revert r23166, 23178, 23179, and probably some other related bits.
authorBrion Vibber <brion@users.mediawiki.org>
Fri, 22 Jun 2007 14:52:49 +0000 (14:52 +0000)
committerBrion Vibber <brion@users.mediawiki.org>
Fri, 22 Jun 2007 14:52:49 +0000 (14:52 +0000)
There are issues with putting robots stuff into the current protection system, so we're backing this out to prevent another backwards-compatibility disaster when it's done in a more reliable way. :)

RELEASE-NOTES
includes/Article.php
includes/DefaultSettings.php
includes/ProtectionForm.php
includes/Title.php
languages/messages/MessagesDe.php
languages/messages/MessagesEn.php
maintenance/language/messages.inc

index 64b3724..a706f50 100644 (file)
@@ -95,8 +95,6 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * Throw a showstopper exception when a hook function fails to return a value.
   Forgetting to give a 'true' return value is a very common error which tends
   to cause hard-to-track-down interactions between extensions.
-* (bug 9415) Added options to Special:Protect to allow setting of per-page robot
-  policies. This can be done only by users with the 'editrobots' permission
 * Use $wgJobClasses to determine the correct Job to instantiate for a particular
   queued task; allows extensions to introduce custom jobs
 
index b4eab7b..5a54159 100644 (file)
@@ -641,8 +641,6 @@ class Article {
                } elseif( isset( $wgNamespaceRobotPolicies[$ns] ) ) {
                        # Honour customised robot policies for this namespace
                        $policy = $wgNamespaceRobotPolicies[$ns];
-               } elseif ( $this->mTitle->getRestrictions( 'robots' ) ) {
-                       $policy = implode( ',', $this->mTitle->getRestrictions( 'robots' ) );
                } else {
                        # Default to encourage indexing and following links
                        $policy = 'index,follow';
@@ -1677,7 +1675,6 @@ class Article {
                $current = array();
                foreach( $wgRestrictionTypes as $action )
                        $current[$action] = implode( '', $this->mTitle->getRestrictions( $action ) );
-               $current['robots'] = implode( '', $this->mTitle->getRestrictions( 'robots' ) );
 
                $current = Article::flattenRestrictions( $current );
                $updated = Article::flattenRestrictions( $limit );
@@ -1713,9 +1710,7 @@ class Article {
                                foreach( $limit as $action => $restrictions ) {
                                        # Check if the group level required to edit also can protect pages
                                        # Otherwise, people who cannot normally protect can "protect" pages via transclusion
-                                       if ( in_array( $restrictions, $wgRestrictionTypes ) ) {
-                                               $cascade = ( $cascade && isset($wgGroupPermissions[$restrictions]['protect']) && $wgGroupPermissions[$restrictions]['protect'] );
-                                       }
+                                       $cascade = ( $cascade && isset($wgGroupPermissions[$restrictions]['protect']) && $wgGroupPermissions[$restrictions]['protect'] );       
                                }
                                
                                $cascade_description = '';
index 616b9e2..a1cdd2a 100644 (file)
@@ -1063,7 +1063,6 @@ $wgGroupPermissions['sysop']['autoconfirmed']   = true;
 $wgGroupPermissions['sysop']['upload_by_url']   = true;
 $wgGroupPermissions['sysop']['ipblock-exempt'] = true;
 $wgGroupPermissions['sysop']['blockemail']      = true;
-$wgGroupPermissions['sysop']['editrobots']      = true;
 
 // Permission to change users' group assignments
 $wgGroupPermissions['bureaucrat']['userrights'] = true;
index 258dabc..5eff237 100644 (file)
@@ -43,7 +43,6 @@ class ProtectionForm {
                                // but the db allows multiples separated by commas.
                                $this->mRestrictions[$action] = implode( '', $this->mTitle->getRestrictions( $action ) );
                        }
-                       $this->mRestrictions['robots'] = implode( ',', $this->mTitle->getRestrictions( 'robots' ) );
 
                        $this->mCascade = $this->mTitle->areRestrictionsCascading();
 
@@ -73,17 +72,9 @@ class ProtectionForm {
                                        $this->mRestrictions[$action] = $val;
                                }
                        }
-
-                       // Read checkboxes only if user is allowed to change robots policy, otherwise keep previous policy
-                       if ( $wgUser->isAllowed( 'editrobots' ) ) {
-                               $robotspolicy  = $wgRequest->getBool( 'mwProtect-robots-noindex' )  ? 'noindex'   : 'index';
-                               $robotspolicy .= $wgRequest->getBool( 'mwProtect-robots-nofollow' ) ? ',nofollow' : ',follow';
-                               // 'index,follow' is default, no need to set this explicitly at this point; is done at Article::view()
-                               $this->mRestrictions['robots'] = ( $robotspolicy == 'index,follow' ) ? '' : $robotspolicy;
-                       }
                }
        }
-
+       
        function execute() {
                global $wgRequest;
                if( $wgRequest->wasPosted() ) {
@@ -208,7 +199,7 @@ class ProtectionForm {
        }
 
        function buildForm() {
-               global $wgUser, $wgRestrictionTypes;
+               global $wgUser;
 
                $out = '';
                if( !$this->disabled ) {
@@ -232,17 +223,14 @@ class ProtectionForm {
                $out .= "<tr>\n";
                foreach( $this->mRestrictions as $action => $required ) {
                        /* Not all languages have V_x <-> N_x relation */
-                       if ( in_array( $action, $wgRestrictionTypes ) )
-                               $out .= "<th>" . wfMsgHtml( 'restriction-' . $action ) . "</th>\n";
+                       $out .= "<th>" . wfMsgHtml( 'restriction-' . $action ) . "</th>\n";
                }
                $out .= "</tr>\n";
                $out .= "<tr>\n";
                foreach( $this->mRestrictions as $action => $selected ) {
-                       if ( in_array( $action, $wgRestrictionTypes ) ) {
-                               $out .= "<td>\n";
-                               $out .= $this->buildSelector( $action, $selected );
-                               $out .= "</td>\n";
-                       }
+                       $out .= "<td>\n";
+                       $out .= $this->buildSelector( $action, $selected );
+                       $out .= "</td>\n";
                }
                $out .= "</tr>\n";
 
@@ -258,7 +246,6 @@ class ProtectionForm {
                if( $wgEnableCascadingProtection )
                        $out .= '<tr><td></td><td>' . $this->buildCascadeInput() . "</td></tr>\n";
 
-               $out .= $this->buildRobotsInput();
                $out .= $this->buildExpiryInput();
 
                if( !$this->disabled ) {
@@ -328,21 +315,6 @@ class ProtectionForm {
                return $ci;
        }
 
-       function buildRobotsInput() {
-               global $wgUser, $wgContLang;
-               $robotsallowed = $wgUser->isAllowed( 'editrobots' ) ? array() : array( 'disabled' => 'disabled' );
-               $noindexset  = ( isset( $this->mRestrictions['robots'] ) && strstr( $this->mRestrictions['robots'], 'noindex' ) )  ? true : false;
-               $nofollowset = ( isset( $this->mRestrictions['robots'] ) && strstr( $this->mRestrictions['robots'], 'nofollow' ) ) ? true : false;
-               $ret = "<tr><td align=\"right\">";
-               $ret .= '<label>' . wfMsgExt( 'protect-robotspolicy', array( 'parseinline' ) ) . '</label>';
-               $ret .= "</td><td align=\"left\" width=\"60\">";
-               $ret .= Xml::checkLabel( wfMsgHtml( 'protect-robots-noindex' ), 'mwProtect-robots-noindex', 'mwProtect-robots-noindex', $noindexset, $robotsallowed );
-               $ret .= $wgContLang->getDirMark();
-               $ret .= Xml::checkLabel( wfMsgHtml( 'protect-robots-nofollow' ), 'mwProtect-robots-nofollow', 'mwProtect-robots-nofollow', $nofollowset, $robotsallowed );
-               $ret .= "</td></tr>";
-               return $ret;
-       }
-
        function buildExpiryInput() {
                $attribs = array( 'id' => 'expires' ) + $this->disabledAttrib;
                return '<tr>'
index b875f85..8a21ab3 100644 (file)
@@ -940,9 +940,6 @@ class Title {
                if( $this->getNamespace() == NS_SPECIAL )
                        return true;
 
-               if ( $this->getRestrictions( 'robots' ) && $this->getRestrictions( 'robots' ) != '' ) 
-                       return true;
-
                # Check regular protection levels                               
                if( $action == 'edit' || $action == '' ) {
                        $r = $this->getRestrictions( 'edit' );
index f01d963..933fd23 100644 (file)
@@ -1440,9 +1440,6 @@ Bitte gehen Sie zurück und versuchen den Vorgang erneut auszuführen.',
 'protect-summary-cascade'     => 'kaskadierend',
 'protect-expiring'            => 'bis $1 (UTC)',
 'protect-cascade'             => 'Kaskadierende Sperre – alle in diese Seite eingebundenen Vorlagen werden ebenfalls gesperrt.',
-'protect-robotspolicy'        => 'Anweisung für Suchroboter:',
-'protect-robots-noindex'      => 'nicht indizieren (noindex)',
-'protect-robots-nofollow'     => 'Links nicht folgen (nofollow)',
 'restriction-type'            => 'Schutzstatus',
 'restriction-level'           => 'Schutzhöhe',
 'minimum-size'                => 'Mindestgröße:',
index 6747ba6..2966534 100644 (file)
@@ -1839,9 +1839,6 @@ Here are the current settings for the page <strong>$1</strong>:',
 'protect-summary-cascade'     => 'cascading',
 'protect-expiring'            => 'expires $1 (UTC)',
 'protect-cascade'             => 'Protect pages included in this page (cascading protection)',
-'protect-robotspolicy'        => 'Robot policy:',
-'protect-robots-noindex'      => 'Do not index',
-'protect-robots-nofollow'     => 'Do not follow links',
 'restriction-type'            => 'Permission:',
 'restriction-level'           => 'Restriction level:',
 'minimum-size'                => 'Min size',
index 4395e00..0707ba2 100644 (file)
@@ -1182,9 +1182,6 @@ $wgMessageStructure = array(
                'protect-summary-cascade',
                'protect-expiring',
                'protect-cascade',
-               'protect-robotspolicy',
-               'protect-robots-noindex',
-               'protect-robots-nofollow',
                'restriction-type',
                'restriction-level',
                'minimum-size',