X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FupdateRestrictions.php;h=f0567b5b8f1d8239af07e02115f412eb325b4683;hb=d7b9e71465b59d9e03e1ca1cfd691631d7d8b42e;hp=7041e5938f5eb5d1201474a263f359cfece2f266;hpb=8b96893986589e7fd2b4ce18800bb520ee58d403;p=lhc%2Fweb%2Fwiklou.git 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"; }