X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FLinkCache.php;h=e2db69a74a49e540488fcd06c63ff5a333c20152;hb=0a45ed6a91a3acc15cb6cc58a2b343a4bed0de16;hp=33ab2992d5da7bd5379c96e03b078bce096d709b;hpb=b81bae03d0d1b9cd38255e3460752fa9a112c302;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/LinkCache.php b/includes/LinkCache.php index 33ab2992d5..e2db69a74a 100644 --- a/includes/LinkCache.php +++ b/includes/LinkCache.php @@ -49,7 +49,7 @@ class LinkCache { * Get a field of a title object from cache. * If this link is not good, it will return NULL. * @param $title Title - * @param $field String: ('length','redirect') + * @param $field String: ('length','redirect','revision') * @return mixed */ public function getGoodLinkFieldObj( $title, $field ) { @@ -67,10 +67,12 @@ class LinkCache { /** * Add a link for the title to the link cache - * @param $id Integer - * @param $title Title - * @param $len Integer - * @param $redir Integer + * + * @param $id Integer: page's ID + * @param $title Title object + * @param $len Integer: text's length + * @param $redir Integer: whether the page is a redirect + * @param $revision Integer: latest revision's ID */ public function addGoodLinkObj( $id, $title, $len = -1, $redir = null, $revision = false ) { $dbkey = $title->getPrefixedDbKey(); @@ -110,15 +112,14 @@ class LinkCache { /** * Add a title to the link cache, return the page_id or zero if non-existent + * * @param $title String: title to add - * @param $len int, page size - * @param $redir bool, is redirect? - * @return integer + * @return Integer */ - public function addLink( $title, $len = -1, $redir = null ) { + public function addLink( $title ) { $nt = Title::newFromDBkey( $title ); if( $nt ) { - return $this->addLinkObj( $nt, $len, $redir ); + return $this->addLinkObj( $nt ); } else { return 0; } @@ -126,17 +127,16 @@ class LinkCache { /** * Add a title to the link cache, return the page_id or zero if non-existent - * @param $nt Title to add. - * @param $len int, page size - * @param $redirect bool, is redirect? - * @return integer + * + * @param $nt Title object to add + * @return Integer */ - public function addLinkObj( &$nt, $len = -1, $redirect = null ) { - global $wgAntiLockFlags, $wgProfiler; + public function addLinkObj( $nt ) { + global $wgAntiLockFlags; wfProfileIn( __METHOD__ ); $key = $nt->getPrefixedDBkey(); - if ( $this->isBadLink( $key ) ) { + if ( $this->isBadLink( $key ) || $nt->isExternal() ) { wfProfileOut( __METHOD__ ); return 0; } @@ -150,7 +150,7 @@ class LinkCache { wfProfileOut( __METHOD__ ); return 0; } - + # Some fields heavily used for linking... if ( $this->mForUpdate ) { $db = wfGetDB( DB_MASTER ); @@ -164,7 +164,7 @@ class LinkCache { $options = array(); } - $s = $db->selectRow( 'page', + $s = $db->selectRow( 'page', array( 'page_id', 'page_len', 'page_is_redirect', 'page_latest' ), array( 'page_namespace' => $nt->getNamespace(), 'page_title' => $nt->getDBkey() ), __METHOD__, $options ); @@ -175,6 +175,7 @@ class LinkCache { $redirect = intval( $s->page_is_redirect ); $revision = intval( $s->page_latest ); } else { + $id = 0; $len = -1; $redirect = 0; $revision = 0;