MediaWiki REL1_39
WikiReference.php
Go to the documentation of this file.
1<?php
27 private $mCanonicalServer;
28 private $mServer;
29 private $mPath;
30
36 public function __construct( $canonicalServer, $path, $server = null ) {
37 $this->mCanonicalServer = $canonicalServer;
38 $this->mPath = $path;
39 $this->mServer = $server ?? $canonicalServer;
40 }
41
48 public function getDisplayName() {
49 $parsed = wfParseUrl( $this->mCanonicalServer );
50 if ( $parsed ) {
51 return $parsed['host'];
52 } else {
53 // Invalid server spec.
54 // There's no sensible thing to do here, so just return the canonical server name in full.
55 return $this->mCanonicalServer;
56 }
57 }
58
70 private function getLocalUrl( $page, $fragmentId = null ) {
71 $page = wfUrlencode( str_replace( ' ', '_', $page ) );
72
73 if ( is_string( $fragmentId ) && $fragmentId !== '' ) {
74 $page .= '#' . wfUrlencode( $fragmentId );
75 }
76
77 return str_replace( '$1', $page, $this->mPath );
78 }
79
88 public function getCanonicalUrl( $page, $fragmentId = null ) {
89 return $this->mCanonicalServer . $this->getLocalUrl( $page, $fragmentId );
90 }
91
96 public function getCanonicalServer() {
97 return $this->mCanonicalServer;
98 }
99
107 public function getUrl( $page, $fragmentId = null ) {
108 return $this->getCanonicalUrl( $page, $fragmentId );
109 }
110
120 public function getFullUrl( $page, $fragmentId = null ) {
121 return $this->mServer .
122 $this->getLocalUrl( $page, $fragmentId );
123 }
124}
wfUrlencode( $s)
We want some things to be included as literal characters in our title URLs for prettiness,...
wfParseUrl( $url)
parse_url() work-alike, but non-broken.
Reference to a locally-hosted wiki.
getDisplayName()
Get the URL in a way to be displayed to the user More or less Wikimedia specific.
getCanonicalUrl( $page, $fragmentId=null)
Get a canonical (i.e.
__construct( $canonicalServer, $path, $server=null)
getFullUrl( $page, $fragmentId=null)
Get a URL based on $wgServer, like Title::getFullURL() would produce when called locally on the wiki.
getCanonicalServer()
Get a canonical server URL.
getUrl( $page, $fragmentId=null)
Alias for getCanonicalUrl(), for backwards compatibility.