41 return strtolower( str_replace(
' ',
'_', $name ) );
54 $this->foreignNamespacesFlipped = [];
57 $this->foreignNamespacesFlipped[$newKey] = $id;
74 if ( is_null( $ns ) ) {
88 $pieces = explode(
':', $title, 2 );
93 $isNamespacePartValid = isset( $this->foreignNamespacesFlipped[$key] );
95 if ( count( $pieces ) === 2 && $isNamespacePartValid ) {
96 list( $namespaceName, $pageName ) = $pieces;
97 $ns = $this->foreignNamespacesFlipped[$key];
104 return new ForeignTitle( $ns, $namespaceName, $pageName );
115 $pieces = explode(
':', $title, 2 );
118 $titleIncludesNamespace = ( $ns !=
'0' && count( $pieces ) === 2 );
120 if ( isset( $this->foreignNamespaces[$ns] ) ) {
121 $namespaceName = $this->foreignNamespaces[$ns];
128 $namespaceName = $titleIncludesNamespace ? $pieces[0] :
"Ns$ns";
133 if ( $titleIncludesNamespace ) {
134 $pageName = $pieces[1];
139 return new ForeignTitle( $ns, $namespaceName, $pageName );
A simple, immutable structure to hold the title of a page on a foreign MediaWiki installation.
A parser that translates page titles on a foreign wiki into ForeignTitle objects, using information a...
parseTitleWithNs( $title, $ns)
Helper function to parse the title when the namespace value is known.
parseTitleNoNs( $title)
Helper function to parse the title when the namespace ID is not specified.
array $foreignNamespacesFlipped
createForeignTitle( $title, $ns=null)
Creates a ForeignTitle object based on the page title, and optionally the namespace ID,...
__construct( $foreignNamespaces)
normalizeNamespaceName( $name)
Normalizes an array name for $foreignNamespacesFlipped.
deferred txt A few of the database updates required by various functions here can be deferred until after the result page is displayed to the user For updating the view updating the linked to tables after a etc PHP does not yet have any way to tell the server to actually return and disconnect while still running these but it might have such a feature in the future We handle these by creating a deferred update object and putting those objects on a global list
namespace and then decline to actually register it file or subcat img or subcat $title
A parser that translates page titles into ForeignTitle objects.
The wiki should then use memcached to cache various data To use multiple just add more items to the array To increase the weight of a make its entry a array("192.168.0.1:11211", 2))