X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FWikiMap.php;h=6a532e5da5f3a748a9d32979ff103ddf11bf8cf8;hb=e0c8007f49640f821e0407f18543e345e0cf76ab;hp=0f479ace61df1fcd5d0565214822e9ff1a5d92e7;hpb=dcd341a07e93e71a19e4e652a0197bbcf9e7b244;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/WikiMap.php b/includes/WikiMap.php index 0f479ace61..6a532e5da5 100644 --- a/includes/WikiMap.php +++ b/includes/WikiMap.php @@ -115,7 +115,7 @@ class WikiMap { * @return string|int Wiki's name or $wiki_id if the wiki was not found */ public static function getWikiName( $wikiID ) { - $wiki = WikiMap::getWiki( $wikiID ); + $wiki = self::getWiki( $wikiID ); if ( $wiki ) { return $wiki->getDisplayName(); @@ -166,7 +166,7 @@ class WikiMap { * @return string|bool URL or false if the wiki was not found */ public static function getForeignURL( $wikiID, $page, $fragmentId = null ) { - $wiki = WikiMap::getWiki( $wikiID ); + $wiki = self::getWiki( $wikiID ); if ( $wiki ) { return $wiki->getFullUrl( $page, $fragmentId ); @@ -175,106 +175,3 @@ class WikiMap { return false; } } - -/** - * Reference to a locally-hosted wiki - */ -class WikiReference { - private $mCanonicalServer; ///< canonical server URL, e.g. 'https://www.mediawiki.org' - private $mServer; ///< server URL, may be protocol-relative, e.g. '//www.mediawiki.org' - private $mPath; ///< path, '/wiki/$1' - - /** - * @param string $canonicalServer - * @param string $path - * @param null|string $server - */ - public function __construct( $canonicalServer, $path, $server = null ) { - $this->mCanonicalServer = $canonicalServer; - $this->mPath = $path; - $this->mServer = $server === null ? $canonicalServer : $server; - } - - /** - * Get the URL in a way to be displayed to the user - * More or less Wikimedia specific - * - * @return string - */ - public function getDisplayName() { - $parsed = wfParseUrl( $this->mCanonicalServer ); - if ( $parsed ) { - return $parsed['host']; - } else { - // Invalid server spec. - // There's no sane thing to do here, so just return the canonical server name in full. - return $this->mCanonicalServer; - } - } - - /** - * Helper function for getUrl() - * - * @todo FIXME: This may be generalized... - * - * @param string $page Page name (must be normalised before calling this function! - * May contain a section part.) - * @param string|null $fragmentId - * - * @return string relative URL, without the server part. - */ - private function getLocalUrl( $page, $fragmentId = null ) { - $page = wfUrlencode( str_replace( ' ', '_', $page ) ); - - if ( is_string( $fragmentId ) && $fragmentId !== '' ) { - $page .= '#' . wfUrlencode( $fragmentId ); - } - - return str_replace( '$1', $page, $this->mPath ); - } - - /** - * Get a canonical (i.e. based on $wgCanonicalServer) URL to a page on this foreign wiki - * - * @param string $page Page name (must be normalised before calling this function!) - * @param string|null $fragmentId - * - * @return string Url - */ - public function getCanonicalUrl( $page, $fragmentId = null ) { - return $this->mCanonicalServer . $this->getLocalUrl( $page, $fragmentId ); - } - - /** - * Get a canonical server URL - * @return string - */ - public function getCanonicalServer() { - return $this->mCanonicalServer; - } - - /** - * Alias for getCanonicalUrl(), for backwards compatibility. - * @param string $page - * @param string|null $fragmentId - * - * @return string - */ - public function getUrl( $page, $fragmentId = null ) { - return $this->getCanonicalUrl( $page, $fragmentId ); - } - - /** - * Get a URL based on $wgServer, like Title::getFullURL() would produce - * when called locally on the wiki. - * - * @param string $page Page name (must be normalized before calling this function!) - * @param string|null $fragmentId - * - * @return string URL - */ - public function getFullUrl( $page, $fragmentId = null ) { - return $this->mServer . - $this->getLocalUrl( $page, $fragmentId ); - } -}