From: Aaron Schulz Date: Sun, 5 Oct 2008 23:28:24 +0000 (+0000) Subject: Fix empty protection row check to avoid adding dead rows; remove any existing ones... X-Git-Tag: 1.31.0-rc.0~44903 X-Git-Url: https://git.cyclocoop.org//%22?a=commitdiff_plain;h=37da69a002ffd5017771e0458983a2ba4a5311c7;p=lhc%2Fweb%2Fwiklou.git Fix empty protection row check to avoid adding dead rows; remove any existing ones (bug 15832) --- diff --git a/maintenance/updateRestrictions.php b/maintenance/updateRestrictions.php index 7041e5938f..f0567b5b8f 100644 --- a/maintenance/updateRestrictions.php +++ b/maintenance/updateRestrictions.php @@ -37,18 +37,19 @@ function migrate_page_restrictions( $db ) { $encodedExpiry = 'infinity'; while ( $blockEnd <= $end ) { echo "...doing page_id from $blockStart to $blockEnd\n"; - $cond = "page_id BETWEEN $blockStart AND $blockEnd AND page_restrictions !='' AND page_restrictions !='edit=:move='"; + $cond = "page_id BETWEEN $blockStart AND $blockEnd AND page_restrictions !=''"; $res = $db->select( 'page', array('page_id', 'page_restrictions'), $cond, __FUNCTION__ ); $batch = array(); while ( $row = $db->fetchObject( $res ) ) { $oldRestrictions = array(); foreach( explode( ':', trim( $row->page_restrictions ) ) as $restrict ) { $temp = explode( '=', trim( $restrict ) ); - if(count($temp) == 1) { + // Make sure we are not settings restrictions to "" + 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 { + } else if( $temp[1] ) { $oldRestrictions[$temp[0]] = trim( $temp[1] ); } } @@ -77,6 +78,10 @@ function migrate_page_restrictions( $db ) { $blockEnd += BATCH_SIZE - 1; wfWaitForSlaves( 5 ); } + echo "...removing dead rows from page_restrictions\n"; + // Kill any broken rows from previous imports + $db->delete( 'page_restrictions', array( 'pr_level' => '' ) ); + echo "...Done!\n"; }