Revert r23166, 23178, 23179, and probably some other related bits.
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. :)
This commit is contained in:
parent
73ef5a9d4a
commit
cd3924342e
8 changed files with 7 additions and 55 deletions
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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 = '';
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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>'
|
||||
|
|
|
|||
|
|
@ -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' );
|
||||
|
|
|
|||
|
|
@ -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:',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
Loading…
Reference in a new issue