summaryrefslogtreecommitdiff
path: root/maintenance/updateRestrictions.php
diff options
context:
space:
mode:
Diffstat (limited to 'maintenance/updateRestrictions.php')
-rw-r--r--maintenance/updateRestrictions.php35
1 files changed, 18 insertions, 17 deletions
diff --git a/maintenance/updateRestrictions.php b/maintenance/updateRestrictions.php
index 80e98fd0..c815f4b9 100644
--- a/maintenance/updateRestrictions.php
+++ b/maintenance/updateRestrictions.php
@@ -20,10 +20,11 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
+ * @file
* @ingroup Maintenance
*/
-require_once( dirname(__FILE__) . '/Maintenance.php' );
+require_once( dirname( __FILE__ ) . '/Maintenance.php' );
class UpdateRestrictions extends Maintenance {
public function __construct() {
@@ -34,48 +35,48 @@ class UpdateRestrictions extends Maintenance {
public function execute() {
$db = wfGetDB( DB_MASTER );
- if( !$db->tableExists( 'page_restrictions' ) ) {
+ if ( !$db->tableExists( 'page_restrictions' ) ) {
$this->error( "page_restrictions table does not exist", true );
}
$start = $db->selectField( 'page', 'MIN(page_id)', false, __METHOD__ );
- if( !$start ) {
+ if ( !$start ) {
$this->error( "Nothing to do.", true );
}
$end = $db->selectField( 'page', 'MAX(page_id)', false, __METHOD__ );
-
+
# Do remaining chunk
$end += $this->mBatchSize - 1;
$blockStart = $start;
$blockEnd = $start + $this->mBatchSize - 1;
$encodedExpiry = 'infinity';
- while( $blockEnd <= $end ) {
+ while ( $blockEnd <= $end ) {
$this->output( "...doing page_id from $blockStart to $blockEnd\n" );
$cond = "page_id BETWEEN $blockStart AND $blockEnd AND page_restrictions !=''";
- $res = $db->select( 'page', array('page_id','page_namespace','page_restrictions'), $cond, __METHOD__ );
+ $res = $db->select( 'page', array( 'page_id', 'page_namespace', 'page_restrictions' ), $cond, __METHOD__ );
$batch = array();
- foreach( $res as $row ) {
+ foreach ( $res as $row ) {
$oldRestrictions = array();
- foreach( explode( ':', trim( $row->page_restrictions ) ) as $restrict ) {
+ foreach ( explode( ':', trim( $row->page_restrictions ) ) as $restrict ) {
$temp = explode( '=', trim( $restrict ) );
// Make sure we are not settings restrictions to ""
- if( count($temp) == 1 && $temp[0] ) {
+ if ( count( $temp ) == 1 && $temp[0] ) {
// old old format should be treated as edit/move restriction
$oldRestrictions["edit"] = trim( $temp[0] );
$oldRestrictions["move"] = trim( $temp[0] );
- } else if( $temp[1] ) {
+ } else if ( $temp[1] ) {
$oldRestrictions[$temp[0]] = trim( $temp[1] );
}
}
# Clear invalid columns
- if( $row->page_namespace == NS_MEDIAWIKI ) {
+ if ( $row->page_namespace == NS_MEDIAWIKI ) {
$db->update( 'page', array( 'page_restrictions' => '' ),
array( 'page_id' => $row->page_id ), __FUNCTION__ );
$this->output( "...removed dead page_restrictions column for page {$row->page_id}\n" );
}
# Update restrictions table
- foreach( $oldRestrictions as $action => $restrictions ) {
- $batch[] = array(
+ foreach ( $oldRestrictions as $action => $restrictions ) {
+ $batch[] = array(
'pr_page' => $row->page_id,
'pr_type' => $action,
'pr_level' => $restrictions,
@@ -87,9 +88,9 @@ class UpdateRestrictions extends Maintenance {
# We use insert() and not replace() as Article.php replaces
# page_restrictions with '' when protected in the restrictions table
if ( count( $batch ) ) {
- $ok = $db->deadlockLoop( array( $db, 'insert' ), 'page_restrictions',
+ $ok = $db->deadlockLoop( array( $db, 'insert' ), 'page_restrictions',
$batch, __FUNCTION__, array( 'IGNORE' ) );
- if( !$ok ) {
+ if ( !$ok ) {
throw new MWException( "Deadlock loop failed wtf :(" );
}
}
@@ -101,10 +102,10 @@ class UpdateRestrictions extends Maintenance {
// Kill any broken rows from previous imports
$db->delete( 'page_restrictions', array( 'pr_level' => '' ) );
// Kill other invalid rows
- $db->deleteJoin( 'page_restrictions', 'page', 'pr_page', 'page_id', array('page_namespace' => NS_MEDIAWIKI) );
+ $db->deleteJoin( 'page_restrictions', 'page', 'pr_page', 'page_id', array( 'page_namespace' => NS_MEDIAWIKI ) );
$this->output( "...Done!\n" );
}
}
$maintClass = "UpdateRestrictions";
-require_once( DO_MAINTENANCE );
+require_once( RUN_MAINTENANCE_IF_MAIN );