-<?php\r
-\r
-/*\r
- * Makes the required database changes for the CheckUser extension\r
- */\r
-\r
-define( 'BATCH_SIZE', 100 );\r
-\r
-require_once 'commandLine.inc';\r
- \r
-$db =& wfGetDB( DB_MASTER );\r
-if ( !$db->tableExists( 'page_restrictions' ) ) {\r
- echo "page_restrictions does not exist\n";\r
- exit( 1 );\r
-}\r
-\r
-migrate_page_restrictions( $db );\r
-\r
-function migrate_page_restrictions( $db ) {\r
- \r
- $start = $db->selectField( 'page', 'MIN(page_id)', false, __FUNCTION__ );\r
- $end = $db->selectField( 'page', 'MAX(page_id)', false, __FUNCTION__ );\r
- $blockStart = $start;\r
- $blockEnd = $start + BATCH_SIZE - 1;\r
- $encodedExpiry = Block::decodeExpiry('');\r
- while ( $blockEnd <= $end ) {\r
- $cond = "page_id BETWEEN $blockStart AND $blockEnd AND page_rescrictions !=''";\r
- $res = $db->select( 'page', array('page_id', 'page_restrictions'), $cond, __FUNCTION__ );\r
- $batch = array();\r
- while ( $row = $db->fetchObject( $res ) ) {\r
- $oldRestrictions = array();\r
- foreach( explode( ':', trim( $row->page_restrictions ) ) as $restrict ) {\r
- $temp = explode( '=', trim( $restrict ) );\r
- if(count($temp) == 1) {\r
- // old old format should be treated as edit/move restriction\r
- $oldRestrictions["edit"] = explode( ',', trim( $temp[0] ) );\r
- $oldRestrictions["move"] = explode( ',', trim( $temp[0] ) );\r
- } else {\r
- $oldRestrictions[$temp[0]] = explode( ',', trim( $temp[1] ) );\r
- }\r
- }\r
- # Update restrictions table\r
- foreach( $oldRestrictions as $action => $restrictions ) {\r
- $batch[] = array( \r
- 'pr_page' => $row->page_id,\r
- 'pr_type' => $action,\r
- 'pr_level' => $restrictions,\r
- 'pr_cascade' => 0,\r
- 'pr_expiry' => $encodedExpiry\r
- );\r
- }\r
- # Update page record\r
- $db->update( 'page',\r
- array( /* SET */\r
- 'page_restrictions' => ''\r
- ), array( /* WHERE */\r
- 'page_id' => $row->page_id\r
- ), 'migrate_restrictions'\r
- );\r
- }\r
- # We use insert() and not replace() as Article.php replaces\r
- # page_restrictions with '' when protected in the restrictions table\r
- if ( count( $batch ) ) {\r
- $db->insert( 'page_restictions', $batch, __FUNCTION__ );\r
- }\r
- $blockStart += BATCH_SIZE;\r
- $blockEnd += BATCH_SIZE;\r
- wfWaitForSlaves( 5 );\r
- }\r
-}\r
-\r
-?>\r
+<?php
+
+/*
+ * Makes the required database changes for the CheckUser extension
+ */
+
+define( 'BATCH_SIZE', 100 );
+
+require_once 'commandLine.inc';
+
+$db =& wfGetDB( DB_MASTER );
+if ( !$db->tableExists( 'page_restrictions' ) ) {
+ echo "page_restrictions does not exist\n";
+ exit( 1 );
+}
+
+migrate_page_restrictions( $db );
+
+function migrate_page_restrictions( $db ) {
+
+ $start = $db->selectField( 'page', 'MIN(page_id)', false, __FUNCTION__ );
+ $end = $db->selectField( 'page', 'MAX(page_id)', false, __FUNCTION__ );
+ $blockStart = $start;
+ $blockEnd = $start + BATCH_SIZE - 1;
+ $encodedExpiry = Block::decodeExpiry('');
+ while ( $blockEnd <= $end ) {
+ $cond = "page_id BETWEEN $blockStart AND $blockEnd AND page_rescrictions !=''";
+ $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) {
+ // old old format should be treated as edit/move restriction
+ $oldRestrictions["edit"] = explode( ',', trim( $temp[0] ) );
+ $oldRestrictions["move"] = explode( ',', trim( $temp[0] ) );
+ } else {
+ $oldRestrictions[$temp[0]] = explode( ',', trim( $temp[1] ) );
+ }
+ }
+ # Update restrictions table
+ foreach( $oldRestrictions as $action => $restrictions ) {
+ $batch[] = array(
+ 'pr_page' => $row->page_id,
+ 'pr_type' => $action,
+ 'pr_level' => $restrictions,
+ 'pr_cascade' => 0,
+ 'pr_expiry' => $encodedExpiry
+ );
+ }
+ # Update page record
+ $db->update( 'page',
+ array( /* SET */
+ 'page_restrictions' => ''
+ ), array( /* WHERE */
+ 'page_id' => $row->page_id
+ ), 'migrate_restrictions'
+ );
+ }
+ # We use insert() and not replace() as Article.php replaces
+ # page_restrictions with '' when protected in the restrictions table
+ if ( count( $batch ) ) {
+ $db->insert( 'page_restictions', $batch, __FUNCTION__ );
+ }
+ $blockStart += BATCH_SIZE;
+ $blockEnd += BATCH_SIZE;
+ wfWaitForSlaves( 5 );
+ }
+}
+
+?>