<?php
# Copyright (C) 2005 Brion Vibber <brion@pobox.com>
# http://www.mediawiki.org/
-#
+#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
-# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# http://www.gnu.org/copyleft/gpl.html
/**
* Then, kill the poor widows and orphans.
* Man this is depressing.
*
+ * @file
* @author <brion@pobox.com>
- * @package MediaWiki
- * @subpackage Maintenance
+ * @ingroup Maintenance
*/
$options = array( 'fix' );
# ------
function checkOrphans( $fix ) {
- $dbw =& wfGetDB( DB_MASTER );
+ $dbw = wfGetDB( DB_MASTER );
$page = $dbw->tableName( 'page' );
$revision = $dbw->tableName( 'revision' );
-
+
if( $fix ) {
$dbw->query( "LOCK TABLES $page WRITE, $revision WRITE" );
}
-
+
echo "Checking for orphan revision table entries... (this may take a while on a large wiki)\n";
$result = $dbw->query( "
SELECT *
while( $row = $dbw->fetchObject( $result ) ) {
$comment = ( $row->rev_comment == '' )
? ''
- : '(' . $wgContLang->truncate( $row->rev_comment, 40, '...' ) . ')';
+ : '(' . $wgContLang->truncate( $row->rev_comment, 40 ) . ')';
printf( "%10d %10d %14s %20s %s\n",
$row->rev_id,
$row->rev_page,
$row->rev_timestamp,
- $wgContLang->truncate( $row->rev_user_text, 17, '...' ),
+ $wgContLang->truncate( $row->rev_user_text, 17 ),
$comment );
if( $fix ) {
$dbw->delete( 'revision', array( 'rev_id' => $row->rev_id ) );
} else {
echo "No orphans! Yay!\n";
}
-
+
if( $fix ) {
$dbw->query( "UNLOCK TABLES" );
}
* but valid revisions do exist)
*/
function checkWidows( $fix ) {
- $dbw =& wfGetDB( DB_MASTER );
+ $dbw = wfGetDB( DB_MASTER );
$page = $dbw->tableName( 'page' );
$revision = $dbw->tableName( 'revision' );
-
+
if( $fix ) {
$dbw->query( "LOCK TABLES $page WRITE, $revision WRITE" );
}
-
+
echo "\nChecking for childless page table entries... (this may take a while on a large wiki)\n";
$result = $dbw->query( "
SELECT *
} else {
echo "No childless pages! Yay!\n";
}
-
+
if( $fix ) {
$dbw->query( "UNLOCK TABLES" );
}
function checkSeparation( $fix ) {
- $dbw =& wfGetDB( DB_MASTER );
+ $dbw = wfGetDB( DB_MASTER );
$page = $dbw->tableName( 'page' );
$revision = $dbw->tableName( 'revision' );
$text = $dbw->tableName( 'text' );
-
+
if( $fix ) {
$dbw->query( "LOCK TABLES $page WRITE, $revision WRITE, $text WRITE" );
}
-
+
echo "\nChecking for pages whose page_latest links are incorrect... (this may take a while on a large wiki)\n";
$result = $dbw->query( "
SELECT *
while( $row = $dbw->fetchObject( $result ) ) {
$result2 = $dbw->query( "
SELECT MAX(rev_timestamp) as max_timestamp
- FROM $revision
+ FROM $revision
WHERE rev_page=$row->page_id
" );
$row2 = $dbw->fetchObject( $result2 );
echo "wtf\n";
}
}
-
+
if( $found ) {
echo "Found $found pages with incorrect latest revision.\n";
} else {
if( !$fix && $found > 0 ) {
echo "Run again with --fix to remove these entries automatically.\n";
}
-
+
if( $fix ) {
$dbw->query( "UNLOCK TABLES" );
}
}
-?>
\ No newline at end of file