diff options
Diffstat (limited to 'includes/api/ApiQueryExternalLinks.php')
-rw-r--r-- | includes/api/ApiQueryExternalLinks.php | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/includes/api/ApiQueryExternalLinks.php b/includes/api/ApiQueryExternalLinks.php index 9365a9b8..583ef697 100644 --- a/includes/api/ApiQueryExternalLinks.php +++ b/includes/api/ApiQueryExternalLinks.php @@ -86,8 +86,12 @@ class ApiQueryExternalLinks extends ApiQueryBase { break; } $entry = array(); - // We *could* run this through wfExpandUrl() but I think it's better to output the link verbatim, even if it's protocol-relative --Roan - ApiResult::setContent( $entry, $row->el_to ); + $to = $row->el_to; + // expand protocol-relative urls + if ( $params['expandurl'] ) { + $to = wfExpandUrl( $to, PROTO_CANONICAL ); + } + ApiResult::setContent( $entry, $to ); $fit = $this->addPageSubItem( $row->el_from, $entry ); if ( !$fit ) { $this->setContinueEnumParameter( 'offset', $offset + $count - 1 ); @@ -117,6 +121,7 @@ class ApiQueryExternalLinks extends ApiQueryBase { ApiBase::PARAM_DFLT => '', ), 'query' => null, + 'expandurl' => false, ); } @@ -126,10 +131,11 @@ class ApiQueryExternalLinks extends ApiQueryBase { 'limit' => 'How many links to return', 'offset' => 'When more results are available, use this to continue', 'protocol' => array( - "Protocol of the url. If empty and {$p}query set, the protocol is http.", + "Protocol of the URL. If empty and {$p}query set, the protocol is http.", "Leave both this and {$p}query empty to list all external links" ), 'query' => 'Search string without protocol. Useful for checking whether a certain page contains a certain external url', + 'expandurl' => 'Expand protocol-relative URLs with the canonical protocol', ); } @@ -142,7 +148,7 @@ class ApiQueryExternalLinks extends ApiQueryBase { } public function getDescription() { - return 'Returns all external urls (not interwikies) from the given page(s)'; + return 'Returns all external URLs (not interwikis) from the given page(s)'; } public function getPossibleErrors() { @@ -160,8 +166,4 @@ class ApiQueryExternalLinks extends ApiQueryBase { public function getHelpUrls() { return 'https://www.mediawiki.org/wiki/API:Properties#extlinks_.2F_el'; } - - public function getVersion() { - return __CLASS__ . ': $Id$'; - } } |