summaryrefslogtreecommitdiff
path: root/includes/WikiMap.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/WikiMap.php')
-rw-r--r--includes/WikiMap.php46
1 files changed, 25 insertions, 21 deletions
diff --git a/includes/WikiMap.php b/includes/WikiMap.php
index 4a5e2bcf..da4416de 100644
--- a/includes/WikiMap.php
+++ b/includes/WikiMap.php
@@ -28,7 +28,7 @@ class WikiMap {
/**
* Get a WikiReference object for $wikiID
*
- * @param $wikiID String: wiki'd id (generally database name)
+ * @param string $wikiID wiki'd id (generally database name)
* @return WikiReference object or null if the wiki was not found
*/
public static function getWiki( $wikiID ) {
@@ -37,13 +37,18 @@ class WikiMap {
$wgConf->loadFullData();
list( $major, $minor ) = $wgConf->siteFromDB( $wikiID );
- if( $major === null ) {
+ if ( $major === null ) {
return null;
}
- $canonicalServer = $wgConf->get( 'wgCanonicalServer', $wikiID, $major,
- array( 'lang' => $minor, 'site' => $major ) );
$server = $wgConf->get( 'wgServer', $wikiID, $major,
array( 'lang' => $minor, 'site' => $major ) );
+
+ $canonicalServer = $wgConf->get( 'wgCanonicalServer', $wikiID, $major,
+ array( 'lang' => $minor, 'site' => $major ) );
+ if ( $canonicalServer === false || $canonicalServer === null ) {
+ $canonicalServer = $server;
+ }
+
$path = $wgConf->get( 'wgArticlePath', $wikiID, $major,
array( 'lang' => $minor, 'site' => $major ) );
return new WikiReference( $major, $minor, $canonicalServer, $path, $server );
@@ -53,7 +58,7 @@ class WikiMap {
* Convenience to get the wiki's display name
*
* @todo We can give more info than just the wiki id!
- * @param $wikiID String: wiki'd id (generally database name)
+ * @param string $wikiID wiki'd id (generally database name)
* @return string|int Wiki's name or $wiki_id if the wiki was not found
*/
public static function getWikiName( $wikiID ) {
@@ -68,24 +73,24 @@ class WikiMap {
/**
* Convenience to get a link to a user page on a foreign wiki
*
- * @param $wikiID String: wiki'd id (generally database name)
- * @param $user String: user name (must be normalised before calling this function!)
- * @param $text String: link's text; optional, default to "User:$user"
+ * @param string $wikiID wiki'd id (generally database name)
+ * @param string $user user name (must be normalised before calling this function!)
+ * @param string $text link's text; optional, default to "User:$user"
* @return String: HTML link or false if the wiki was not found
*/
- public static function foreignUserLink( $wikiID, $user, $text=null ) {
+ public static function foreignUserLink( $wikiID, $user, $text = null ) {
return self::makeForeignLink( $wikiID, "User:$user", $text );
}
/**
* Convenience to get a link to a page on a foreign wiki
*
- * @param $wikiID String: wiki'd id (generally database name)
- * @param $page String: page name (must be normalised before calling this function!)
- * @param $text String: link's text; optional, default to $page
+ * @param string $wikiID wiki'd id (generally database name)
+ * @param string $page page name (must be normalised before calling this function!)
+ * @param string $text link's text; optional, default to $page
* @return String: HTML link or false if the wiki was not found
*/
- public static function makeForeignLink( $wikiID, $page, $text=null ) {
+ public static function makeForeignLink( $wikiID, $page, $text = null ) {
if ( !$text ) {
$text = $page;
}
@@ -101,8 +106,8 @@ class WikiMap {
/**
* Convenience to get a url to a page on a foreign wiki
*
- * @param $wikiID String: wiki'd id (generally database name)
- * @param $page String: page name (must be normalised before calling this function!)
+ * @param string $wikiID wiki'd id (generally database name)
+ * @param string $page page name (must be normalised before calling this function!)
* @return String: URL or false if the wiki was not found
*/
public static function getForeignURL( $wikiID, $page ) {
@@ -176,7 +181,7 @@ class WikiReference {
* Helper function for getUrl()
*
* @todo FIXME: This may be generalized...
- * @param $page String: page name (must be normalised before calling this function!)
+ * @param string $page page name (must be normalised before calling this function!)
* @return String: Url fragment
*/
private function getLocalUrl( $page ) {
@@ -186,7 +191,7 @@ class WikiReference {
/**
* Get a canonical (i.e. based on $wgCanonicalServer) URL to a page on this foreign wiki
*
- * @param $page String: page name (must be normalised before calling this function!)
+ * @param string $page page name (must be normalised before calling this function!)
* @return String: Url
*/
public function getCanonicalUrl( $page ) {
@@ -211,15 +216,14 @@ class WikiReference {
}
/**
- * Get a URL based on $wgServer, like Title::getFullUrl() would produce
+ * Get a URL based on $wgServer, like Title::getFullURL() would produce
* when called locally on the wiki.
*
- * @param $page String: page name (must be normalized before calling this function!)
+ * @param string $page page name (must be normalized before calling this function!)
* @return String: URL
*/
public function getFullUrl( $page ) {
- return
- $this->mServer .
+ return $this->mServer .
$this->getLocalUrl( $page );
}
}