* @access private
*/
var $mId, $mTitle;
- /**#@- */
+ /**#@-*/
/**
* Constructor
if ( 0 != count( $add ) ) {
$arr=array();
foreach($add as $lt=>$lid)
- array_push($arr,array(
- 'l_from'=>$this->mId,
- 'l_to'=>$lid));
+ array_push( $arr, array(
+ 'l_from' => $this->mId,
+ 'l_to' => $lid ) );
# The link cache was constructed without FOR UPDATE, so there may be collisions
# Ignoring for now, I'm not sure if that causes problems or not, but I'm fairly
# sure it's better than without IGNORE
- $dbw->insert('links', $arr, $fname, array('IGNORE'));
+ $dbw->insert( 'links', $arr, $fname, array( 'IGNORE' ) );
}
#------------------------------------------------------------------------------
# Do additions
$sql = '';
if ( 0 != count ( $add ) ) {
- $arr=array();
+ $arr = array();
foreach( $add as $blt ) {
- $blt = $dbw->strencode( $blt );
- array_push($arr,array(
- 'bl_from'=>$this->mId,
- 'bl_to'=>$blt));
+ array_push( $arr, array(
+ 'bl_from' => $this->mId,
+ 'bl_to' => $blt ) );
}
- $dbw->insert( 'brokenlinks',$arr,$fname,array('IGNORE'));
+ $dbw->insert( 'brokenlinks', $arr, $fname, array( 'IGNORE' ) );
}
#------------------------------------------------------------------------------
# Do the insertion
$sql = '';
- $image = Namespace::getImage();
+ $image = NS_IMAGE;
if ( 0 != count ( $add ) ) {
$arr = array();
foreach ($add as $iname => $val ) {
$nt = Title::makeTitle( $image, $iname );
if( !$nt ) continue;
$nt->invalidateCache();
- $iname = $dbw->strencode( $iname );
- array_push($arr,array(
- 'il_from'=>$this->mId,
- 'il_to'=>$iname));
+ array_push( $arr, array(
+ 'il_from' => $this->mId,
+ 'il_to' => $iname ) );
}
$dbw->insert('imagelinks', $arr, $fname, array('IGNORE'));
}
# Do the insertion
$sql = '';
if ( 0 != count ( $add ) ) {
- $arr=array();
+ $arr = array();
foreach( $add as $cname => $sortkey ) {
$nt = Title::makeTitle( NS_CATEGORY, $cname );
- if( !$nt ) continue;
- $nt->invalidateCache();
- array_push($arr,array(
- 'cl_from'=>$this->mId,
- 'cl_to'=>$dbw->strencode( $cname ),
- 'cl_sortkey'=>$dbw->strencode( $sortkey )));
+ if( !$nt ) continue;
+ $nt->invalidateCache();
+ array_push( $arr, array(
+ 'cl_from' => $this->mId,
+ 'cl_to' => $cname,
+ 'cl_sortkey' => $sortkey ) );
}
- $dbw->insert('categorylinks',$arr,$fname,array('IGNORE'));
+ $dbw->insert( 'categorylinks', $arr, $fname, array( 'IGNORE' ) );
}
}
}
/**
- * Old inefficient update function
- * Used for rebuilding the link table
- * @todo Only used by ./maintenance/refreshLinks.inc probably need to be replaced
- * @deprecated
+ * Link update which clears the previous entries and inserts new ones
+ * May be slower or faster depending on level of lock contention and write speed of DB
+ * Also useful where link table corruption needs to be repaired, e.g. in refreshLinks.php
*/
function doDumbUpdate() {
global $wgLinkCache, $wgDBtransactions, $wgUseCategoryMagic;
$a = $wgLinkCache->getGoodLinks();
if ( 0 != count( $a ) ) {
- $arr=array();
+ $arr = array();
foreach( $a as $lt => $lid ) {
- array_push($arr,array(
- 'l_from'=>$this->mId,
- 'l_to'=>$lid));
+ array_push( $arr, array(
+ 'l_from' => $this->mId,
+ 'l_to' => $lid ) );
}
- $dbw->insert('links',$arr,$fname,array('IGNORE'));
+ $dbw->insert( 'links', $arr, $fname, array( 'IGNORE' ) );
}
$sql = "DELETE FROM $brokenlinks WHERE bl_from={$this->mId}";
$a = $wgLinkCache->getBadLinks();
if ( 0 != count ( $a ) ) {
- $arr=array();
+ $arr = array();
foreach( $a as $blt ) {
- $blt = $dbw->strencode( $blt );
array_push($arr,array(
- 'bl_from'=>$this->mId,
- 'bl_to'=>$blt));
+ 'bl_from' => $this->mId,
+ 'bl_to' => $blt));
}
- $dbw->insert('brokenlinks',$arr,$fname,array('IGNORE'));
+ $dbw->insert( 'brokenlinks', $arr, $fname, array( 'IGNORE' ) );
}
$sql = "DELETE FROM $imagelinks WHERE il_from={$this->mId}";
$a = $wgLinkCache->getImageLinks();
$sql = '';
if ( 0 != count ( $a ) ) {
- $arr=array();
+ $arr = array();
foreach( $a as $iname => $val )
- array_push($arr,array(
- 'il_from'=>$this->mId,
- 'il_to'=>$dbw->strencode( $iname )));
- $dbw->insert('imagelinks',$arr,$fname,array('IGNORE'));
+ array_push( $arr, array(
+ 'il_from' => $this->mId,
+ 'il_to' => $iname ) );
+ $dbw->insert( 'imagelinks', $arr, $fname, array( 'IGNORE' ) );
}
if( $wgUseCategoryMagic ) {
# Do the insertion
$sql = '';
if ( 0 != count ( $add ) ) {
- $arr=array();
+ $arr = array();
foreach( $add as $cname => $sortkey ) {
# FIXME: Change all this to avoid unnecessary duplication
$nt = Title::makeTitle( NS_CATEGORY, $cname );
if( !$nt ) continue;
$nt->invalidateCache();
- array_push($arr,array(
- 'cl_from'=>$this->mId,
- 'cl_to'=>$dbw->strencode( $cname ),
- 'cl_sortkey'=>$dbw->strencode( $sortkey )));
+ array_push( $arr, array(
+ 'cl_from' => $this->mId,
+ 'cl_to' => $cname,
+ 'cl_sortkey' => $sortkey ) );
}
- $dbw->insert('categorylinks',$arr,$fname,array('IGNORE'));
+ $dbw->insert( 'categorylinks', $arr, $fname, array( 'IGNORE' ) );
}
}
$this->fixBrokenLinks();
$fname = 'LinksUpdate::fixBrokenLinks';
$dbw =& wfGetDB( DB_MASTER );
- $cur = $dbw->tableName( 'cur' );
+ $page = $dbw->tableName( 'page' );
$links = $dbw->tableName( 'links' );
$res = $dbw->select( 'brokenlinks', array( 'bl_from' ), array( 'bl_to' => $this->mTitle ),
$arr=array();
$now = $dbw->timestamp();
- $sql2 = "UPDATE $cur SET cur_touched='{$now}' WHERE cur_id IN (";
+ $sql2 = "UPDATE $page SET page_touched='{$now}' WHERE page_id IN (";
$first = true;
while ( $row = $dbw->fetchObject( $res ) ) {
if ( ! $first ) { $sql2 .= ","; }
$first = false;
- array_push($arr,array('l_from'=>$row->bl_from,'l_to'=>$this->mId));
+ array_push( $arr, array(
+ 'l_from' => $row->bl_from,
+ 'l_to' => $this->mId ) );
$sql2 .= $row->bl_from;
}
$sql2 .= ')';
# Ignore errors. If a link existed in both the brokenlinks table and the links
# table, that's an error which can be fixed at this stage by simply ignoring collisions
- $dbw->insert('links',$arr,$fname,array('IGNORE'));
+ $dbw->insert( 'links', $arr, $fname, array( 'IGNORE' ) );
$dbw->query( $sql2, $fname );
$dbw->delete( 'brokenlinks', array( 'bl_to' => $this->mTitle ), $fname );
}
}
-
-?>
+?>
\ No newline at end of file