MaxSem has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/339766 )
Change subject: Cleanup
......................................................................
Cleanup
* Fix method name case
* Fix PHPDoc
* Add parameter types
* Remove `return true` from hook handlers
Change-Id: Ic993572d64f873f1c0262d7e695298f755268b7f
---
M includes/ApiQueryGlobalUsage.php
M includes/GlobalUsage.php
M includes/GlobalUsageCachePurgeJob.php
M includes/GlobalUsageHooks.php
M includes/GlobalUsageImagePageHooks.php
M includes/GlobalUsageQuery.php
M includes/SpecialGlobalUsage.php
M includes/SpecialGloballyWantedFiles.php
M includes/SpecialMostGloballyLinkedFiles.php
9 files changed, 104 insertions(+), 110 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/GlobalUsage
refs/changes/66/339766/1
diff --git a/includes/ApiQueryGlobalUsage.php b/includes/ApiQueryGlobalUsage.php
index 1361d87..6870b51 100644
--- a/includes/ApiQueryGlobalUsage.php
+++ b/includes/ApiQueryGlobalUsage.php
@@ -68,7 +68,7 @@
];
if ( isset( $prop['url'] ) ) {
/* We expand the url
because we don't want protocol relative urls in API results */
- $result['url'] =
wfExpandUrl( WikiMap::getForeignUrl( $item['wiki'], $title ), PROTO_CURRENT );
+ $result['url'] =
wfExpandUrl( WikiMap::getForeignURL( $item['wiki'], $title ), PROTO_CURRENT );
}
if ( isset( $prop['pageid'] ) )
{
$result['pageid'] =
$item['id'];
diff --git a/includes/GlobalUsage.php b/includes/GlobalUsage.php
index 9524221..6233678 100644
--- a/includes/GlobalUsage.php
+++ b/includes/GlobalUsage.php
@@ -23,8 +23,8 @@
/**
* Construct a GlobalUsage instance for a certain wiki.
*
- * @param $interwiki string Interwiki prefix of the wiki
- * @param $db IDatabase Database object
+ * @param string $interwiki Interwiki prefix of the wiki
+ * @param IDatabase $db Database object
*/
public function __construct( $interwiki, IDatabase $db ) {
$this->interwiki = $interwiki;
@@ -34,10 +34,10 @@
/**
* Sets the images used by a certain page
*
- * @param $title Title Title of the page
- * @param $images array Array of db keys of images used
- * @param $pageIdFlags int
- * @param $ticket int|null
+ * @param Title $title Page title
+ * @param array $images Array of db keys of images used
+ * @param int $pageIdFlags
+ * @param int|null $ticket
*/
public function insertLinks(
Title $title, array $images, $pageIdFlags =
Title::GAID_FOR_UPDATE, $ticket = null
@@ -66,7 +66,7 @@
/**
* Get all global images from a certain page
- * @param $id int
+ * @param int $id
* @return array
*/
public function getLinksFromPage( $id ) {
@@ -91,9 +91,9 @@
/**
* Deletes all entries from a certain page to certain files
*
- * @param $id int Page id of the page
- * @param $to mixed File name(s)
- * @param $ticket int|null
+ * @param int $id Page id of the page
+ * @param array|null $to File name(s)
+ * @param int|null $ticket
*/
public function deleteLinksFromPage( $id, array $to = null, $ticket =
null ) {
global $wgUpdateRowsPerQuery;
@@ -118,9 +118,9 @@
/**
* Deletes all entries to a certain image
*
- * @param $title Title Title of the file
+ * @param Title $title File title
*/
- public function deleteLinksToFile( $title ) {
+ public function deleteLinksToFile( Title $title ) {
$this->db->delete(
'globalimagelinks',
[
@@ -134,7 +134,7 @@
/**
* Copy local links to global table
*
- * @param $title Title Title of the file to copy entries from.
+ * @param Title $title File to copy entries from
*/
public function copyLocalImagelinks( Title $title ) {
global $wgContLang;
@@ -158,19 +158,18 @@
];
}
- $fname = __METHOD__;
- DeferredUpdates::addCallableUpdate( function () use ( $insert,
$fname ) {
- $this->db->insert( 'globalimagelinks', $insert, $fname,
[ 'IGNORE' ] );
+ DeferredUpdates::addCallableUpdate( function () use ( $insert )
{
+ $this->db->insert( 'globalimagelinks', $insert,
__METHOD__, [ 'IGNORE' ] );
} );
}
/**
* Changes the page title
*
- * @param $id int Page id of the page
- * @param $title Title New title of the page
+ * @param int $id Page id
+ * @param Title $title New page title
*/
- public function moveTo( $id, $title ) {
+ public function moveTo( $id, Title $title ) {
$this->db->update(
'globalimagelinks',
[
@@ -228,7 +227,7 @@
* @note This assumes the user has a single shared repo. If the user has
* multiple/nested foreign repos, then its unclear what it means to
* be on the "shared repo". See discussion on bug 23136.
- * @return boolean
+ * @return bool
*/
public static function onSharedRepo() {
global $wgGlobalUsageSharedRepoWiki, $wgGlobalUsageDatabase;
@@ -297,7 +296,7 @@
}
/**
- * @param integer $index DB_MASTER/DB_REPLICA
+ * @param int $index DB_MASTER/DB_REPLICA
* @param array $groups
* @return IDatabase
*/
diff --git a/includes/GlobalUsageCachePurgeJob.php
b/includes/GlobalUsageCachePurgeJob.php
index 9d90edf..015f9da 100644
--- a/includes/GlobalUsageCachePurgeJob.php
+++ b/includes/GlobalUsageCachePurgeJob.php
@@ -13,6 +13,11 @@
* to be in sync, so the later can be used for the local jobs.
*/
class GlobalUsageCachePurgeJob extends Job {
+ /**
+ * @param Title $title
+ * @param array $params
+ * @param int $id
+ */
function __construct( $title, $params, $id = 0 ) {
parent::__construct( 'globalUsageCachePurge', $title, $params,
$id );
$this->removeDuplicates = true; // expensive
@@ -27,12 +32,13 @@
$rootParams = Job::newRootJobParams( // "overall" purge job info
"GlobalUsage:htmlCacheUpdate:imagelinks:{$title->getPrefixedText()}" );
- $filesForPurge = [ $title->getDbKey() ]; // title to purge
backlinks to
+ $filesForPurge = [ $title->getDBkey() ]; // title to purge
backlinks to
// All File pages that redirect this one may have backlinks
that need purging.
// These backlinks are probably broken now (missing files or
double redirects).
+ /** @var Title $redirTitle */
foreach ( $title->getBacklinkCache()->getLinks( 'redirect' ) as
$redirTitle ) {
if ( $redirTitle->getNamespace() == NS_FILE ) {
- $filesForPurge[] = $redirTitle->getDbKey();
+ $filesForPurge[] = $redirTitle->getDBkey();
}
}
// Remove any duplicates in case titles link to themselves
diff --git a/includes/GlobalUsageHooks.php b/includes/GlobalUsageHooks.php
index 5b89047..f9b8550 100644
--- a/includes/GlobalUsageHooks.php
+++ b/includes/GlobalUsageHooks.php
@@ -21,7 +21,8 @@
/**
* Hook to LinksUpdateComplete
* Deletes old links from usage table and insert new ones.
- * @param $linksUpdater LinksUpdate
+ *
+ * @param LinksUpdate $linksUpdater
* @param int|null $ticket
* @return bool
*/
@@ -57,22 +58,19 @@
if ( $removed ) {
$gu->deleteLinksFromPage( $articleId, $removed, $ticket
);
}
-
- return true;
}
/**
* Hook to TitleMoveComplete
* Sets the page title in usage table to the new name.
* For shared file moves, purges all pages in the wiki farm that use
the files.
- * @param $ot Title
- * @param $nt Title
- * @param $user User
- * @param $pageid int
- * @param $redirid
- * @return bool
+ * @param Title $ot
+ * @param Title $nt
+ * @param User $user
+ * @param int $pageid
+ * @param int $redirid
*/
- public static function onTitleMoveComplete( $ot, $nt, $user, $pageid,
$redirid ) {
+ public static function onTitleMoveComplete( Title $ot, Title $nt, User
$user, $pageid, $redirid ) {
$gu = self::getGlobalUsage();
$gu->moveTo( $pageid, $nt );
@@ -89,39 +87,35 @@
JobQueueGroup::singleton()->lazyPush( $jobs );
} );
}
-
- return true;
}
/**
* Hook to ArticleDeleteComplete
* Deletes entries from usage table.
- * @param $article Article
- * @param $user User
- * @param $reason string
- * @param $id int
- * @return bool
+ *
+ * @param Article $article
+ * @param User $user
+ * @param string $reason
+ * @param int $id
*/
- public static function onArticleDeleteComplete( $article, $user,
$reason, $id ) {
+ public static function onArticleDeleteComplete( Article $article, User
$user, $reason, $id ) {
$gu = self::getGlobalUsage();
// @FIXME: avoid making DB replication lag
$gu->deleteLinksFromPage( $id );
-
- return true;
}
/**
* Hook to FileDeleteComplete
* Copies the local link table to the global.
* Purges all pages in the wiki farm that use the file if it is a
shared repo file.
- * @param $file File
+ *
+ * @param File $file
* @param $oldimage
- * @param $article Article
- * @param $user User
- * @param $reason string
- * @return bool
+ * @param Article $article
+ * @param User $user
+ * @param string $reason
*/
- public static function onFileDeleteComplete( $file, $oldimage,
$article, $user, $reason ) {
+ public static function onFileDeleteComplete( File $file, $oldimage,
$article, $user, $reason ) {
if ( !$oldimage ) {
$gu = self::getGlobalUsage();
$gu->copyLocalImagelinks( $file->getTitle() );
@@ -131,19 +125,17 @@
JobQueueGroup::singleton()->push( $job );
}
}
-
- return true;
}
/**
* Hook to FileUndeleteComplete
* Deletes the file from the global link table.
* Purges all pages in the wiki farm that use the file if it is a
shared repo file.
- * @param $title Title
+ *
+ * @param Title $title
* @param $versions
- * @param $user User
- * @param $reason string
- * @return bool
+ * @param User $user
+ * @param string $reason
*/
public static function onFileUndeleteComplete( $title, $versions,
$user, $reason ) {
$gu = self::getGlobalUsage();
@@ -153,16 +145,14 @@
$job = new GlobalUsageCachePurgeJob( $title, [] );
JobQueueGroup::singleton()->push( $job );
}
-
- return true;
}
/**
* Hook to UploadComplete
* Deletes the file from the global link table.
+ *
* Purges all pages in the wiki farm that use the file if it is a
shared repo file.
- * @param $upload File
- * @return bool
+ * @param File $upload
*/
public static function onUploadComplete( $upload ) {
$gu = self::getGlobalUsage();
@@ -172,8 +162,6 @@
$job = new GlobalUsageCachePurgeJob(
$upload->getTitle(), [] );
JobQueueGroup::singleton()->push( $job );
}
-
- return true;
}
/**
@@ -185,7 +173,7 @@
private static function fileUpdatesCreatePurgeJobs() {
global $wgGlobalUsageSharedRepoWiki,
$wgGlobalUsagePurgeBacklinks;
- return ( $wgGlobalUsagePurgeBacklinks && wfWikiId() ===
$wgGlobalUsageSharedRepoWiki );
+ return ( $wgGlobalUsagePurgeBacklinks && wfWikiID() ===
$wgGlobalUsageSharedRepoWiki );
}
/**
@@ -199,19 +187,17 @@
/**
* Hook to make sure globalimagelinks table gets duplicated for
parsertests
- * @param $tables array
- * @return bool
+ *
+ * @param array $tables
*/
public static function onParserTestTables( &$tables ) {
$tables[] = 'globalimagelinks';
- return true;
}
/**
* Hook to apply schema changes
*
* @param $updater DatabaseUpdater
- * @return bool
*/
public static function onLoadExtensionSchemaUpdates( $updater = null ) {
$dir = dirname( __DIR__ ) . '/patches';
@@ -227,12 +213,10 @@
$updater->addExtensionUpdate( [ 'addIndex',
'globalimagelinks',
'globalimagelinks_wiki_nsid_title',
"$dir/patch-globalimagelinks_wiki_nsid_title.pg.sql", true ] );
}
- return true;
}
public static function onwgQueryPages( &$queryPages ) {
$queryPages[] = [ 'GlobalUsage\MostGloballyLinkedFilesPage',
'MostGloballyLinkedFiles' ];
$queryPages[] = [ 'GlobalUsage\SpecialGloballyWantedFiles',
'GloballyWantedFiles' ];
- return true;
}
}
diff --git a/includes/GlobalUsageImagePageHooks.php
b/includes/GlobalUsageImagePageHooks.php
index 341fe8d..f790906 100644
--- a/includes/GlobalUsageImagePageHooks.php
+++ b/includes/GlobalUsageImagePageHooks.php
@@ -37,13 +37,12 @@
/**
* Show a global usage section on the image page
*
- * @param $imagePage ImagePage
+ * @param ImagePage $imagePage
* @param string $html HTML to add to the image page as global usage
section
- * @return bool
*/
- public static function onImagePageAfterImageLinks( $imagePage, &$html )
{
+ public static function onImagePageAfterImageLinks( ImagePage
$imagePage, &$html ) {
if ( !self::hasResults( $imagePage ) ) {
- return true;
+ return;
}
$context = $imagePage->getContext();
@@ -74,33 +73,30 @@
}
$html .= '</div>';
}
-
- return true;
}
/**
* Show a link to the global image links in the TOC if there are any
results available.
- * @param $imagePage ImagePage
- * @param $toc array
- * @return bool
+ *
+ * @param ImagePage $imagePage
+ * @param array $toc
*/
- public static function onImagePageShowTOC( $imagePage, &$toc ) {
+ public static function onImagePageShowTOC( ImagePage $imagePage, array
&$toc ) {
if ( self::hasResults( $imagePage ) ) {
# Insert a link after the 3rd entry in the TOC
array_splice( $toc, 3, 0, '<li><a href="#globalusage">'
. $imagePage->getContext()->msg( 'globalusage'
)->escaped() . '</a></li>' );
}
- return true;
}
/**
* Check whether there are results for an image page. Checks whether the
* file exists and is not local.
*
- * @param $imagePage ImagePage
+ * @param ImagePage $imagePage
* @return bool
*/
- protected static function hasResults( $imagePage ) {
+ protected static function hasResults( ImagePage $imagePage ) {
# Don't display links if the target file does not exist
$file = $imagePage->getFile();
if ( !$file->exists() ) {
diff --git a/includes/GlobalUsageQuery.php b/includes/GlobalUsageQuery.php
index cc2808f..f230628 100644
--- a/includes/GlobalUsageQuery.php
+++ b/includes/GlobalUsageQuery.php
@@ -1,6 +1,7 @@
<?php
namespace GlobalUsage;
+
use IDatabase;
use Title;
@@ -29,8 +30,8 @@
private $lastRow;
/**
- * @param $target mixed Title or array of db keys of target(s).
- * If a title, can be a category or a file
+ * @param mixed $target Title or array of db keys of target(s).
+ * If a title, can be a category or a file
*/
public function __construct( $target ) {
$this->db = GlobalUsage::getGlobalDB( DB_REPLICA );
@@ -48,8 +49,8 @@
/**
* Set the offset parameter
*
- * @param $offset string offset
- * @param $reversed bool True if this is the upper offset
+ * @param string $offset offset
+ * @param bool $reversed True if this is the upper offset
* @return bool
*/
public function setOffset( $offset, $reversed = null ) {
@@ -112,6 +113,7 @@
/**
* Returns the user set limit
+ *
* @return int
*/
public function getLimit() {
@@ -120,7 +122,8 @@
/**
* Set whether to filter out the local usage
- * @param $value bool
+ *
+ * @param bool $value
*/
public function filterLocal( $value = true ) {
$this->filterLocal = $value;
@@ -139,7 +142,7 @@
$queryIn = $this->target;
} else { // a Title object
$namespace = $this->target->getNamespace();
- $queryIn = $this->target->getDbKey();
+ $queryIn = $this->target->getDBkey();
}
switch ( $namespace ) {
case NS_FILE:
@@ -161,7 +164,7 @@
if ( $this->filterLocal ) {
// Don't show local file usage
- $where[] = 'gil_wiki != ' . $this->db->addQuotes(
wfWikiId() );
+ $where[] = 'gil_wiki != ' . $this->db->addQuotes(
wfWikiID() );
}
$options = [
diff --git a/includes/SpecialGlobalUsage.php b/includes/SpecialGlobalUsage.php
index 10c70c8..4561a78 100644
--- a/includes/SpecialGlobalUsage.php
+++ b/includes/SpecialGlobalUsage.php
@@ -37,7 +37,8 @@
/**
* Entry point
- * @param $par String
+ *
+ * @param string $par
*/
public function execute( $par ) {
$target = $par ? $par : $this->getRequest()->getVal( 'target' );
@@ -150,7 +151,7 @@
/* $handlerParams */ [], /* $framed */ false,
/* $manualThumb */ false
);
- $this->getOutput()->addHtml( $html );
+ $this->getOutput()->addHTML( $html );
}
}
@@ -184,30 +185,31 @@
$out = $this->getOutput();
// Top navbar
- $out->addHtml( $navbar );
+ $out->addHTML( $navbar );
- $out->addHtml( '<div id="mw-globalusage-result">' );
+ $out->addHTML( '<div id="mw-globalusage-result">' );
foreach ( $query->getSingleImageResult() as $wiki => $result ) {
- $out->addHtml(
+ $out->addHTML(
'<h2>' . $this->msg(
'globalusage-on-wiki',
$targetName, WikiMap::getWikiName(
$wiki ) )->parse()
. "</h2><ul>\n" );
foreach ( $result as $item ) {
- $out->addHtml( "\t<li>" . self::formatItem(
$item ) . "</li>\n" );
+ $out->addHTML( "\t<li>" . self::formatItem(
$item ) . "</li>\n" );
}
- $out->addHtml( "</ul>\n" );
+ $out->addHTML( "</ul>\n" );
}
- $out->addHtml( '</div>' );
+ $out->addHTML( '</div>' );
// Bottom navbar
- $out->addHtml( $navbar );
+ $out->addHTML( $navbar );
}
/**
* Helper to format a specific item
- * @param $item array
- * @return String
+ *
+ * @param array $item
+ * @return string
*/
public static function formatItem( $item ) {
if ( !$item['namespace'] ) {
@@ -225,10 +227,10 @@
/**
* Helper function to create the navbar, stolen from wfViewPrevNext
*
- * @param $query GlobalUsageQuery An executed GlobalUsageQuery object
+ * @param GlobalUsageQuery $query An executed GlobalUsageQuery object
* @return string Navbar HTML
*/
- protected function getNavBar( $query ) {
+ protected function getNavBar( GlobalUsageQuery $query ) {
$target = $this->target->getText();
$limit = $query->getLimit();
diff --git a/includes/SpecialGloballyWantedFiles.php
b/includes/SpecialGloballyWantedFiles.php
index 020d905..8083387 100644
--- a/includes/SpecialGloballyWantedFiles.php
+++ b/includes/SpecialGloballyWantedFiles.php
@@ -29,6 +29,8 @@
/**
* Main execution function. Use the parent if we're on the right wiki.
* If we're not on a shared repo, try to redirect there.
+ *
+ * @param string $par
*/
function execute( $par ) {
global $wgGlobalUsageSharedRepoWiki;
@@ -42,7 +44,7 @@
/**
* Output an extra header
*
- * @return String html to output
+ * @return string html to output
*/
function getPageHeader() {
if ( RepoGroup::singleton()->hasForeignRepos() ) {
@@ -60,7 +62,8 @@
* Also make sure that GlobalUsage db same as shared repo.
* (To catch the unlikely case where GlobalUsage db is different db
from the
* shared repo db).
- * @return boolean
+ *
+ * @return bool
*/
function isCacheable() {
global $wgGlobalUsageDatabase;
@@ -71,7 +74,7 @@
/**
* Only list this special page on the wiki that is the shared repo.
*
- * @return boolean Should this be listed in Special:SpecialPages
+ * @return bool Should this be listed in Special:SpecialPages
*/
function isListed() {
return GlobalUsage::onSharedRepo();
@@ -87,9 +90,9 @@
* We need to override this in order to link to Special:GlobalUsage
* instead of Special:WhatLinksHere.
*
- * @param $skin Skin
- * @param $result stdClass A row from the database
- * @return String HTML to output
+ * @param Skin $skin
+ * @param stdClass $result A row from the database
+ * @return string HTML to output
*/
public function formatResult( $skin, $result ) {
// If some of the client wikis are $wgCapitalLinks = false
diff --git a/includes/SpecialMostGloballyLinkedFiles.php
b/includes/SpecialMostGloballyLinkedFiles.php
index aeeeb6c..97ce0d5 100644
--- a/includes/SpecialMostGloballyLinkedFiles.php
+++ b/includes/SpecialMostGloballyLinkedFiles.php
@@ -35,7 +35,8 @@
/**
* Don't want to do cached handling on non-shared repo, since we only
redirect.
- * @return boolean
+ *
+ * @return bool
*/
function isCacheable() {
return GlobalUsage::onSharedRepo();
@@ -76,7 +77,7 @@
/**
* Only list this special page on the wiki that is the shared repo.
*
- * @return boolean Should this be listed in Special:SpecialPages
+ * @return bool Should this be listed in Special:SpecialPages
*/
function isListed() {
return GlobalUsage::onSharedRepo();
--
To view, visit https://gerrit.wikimedia.org/r/339766
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic993572d64f873f1c0262d7e695298f755268b7f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/GlobalUsage
Gerrit-Branch: master
Gerrit-Owner: MaxSem <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits