This worked beautifully.
Thanks Daniel Friesen,
--Shawn ________________________________________ From: wikitech-l-bounces@lists.wikimedia.org [wikitech-l-bounces@lists.wikimedia.org] on behalf of Daniel Friesen [daniel@nadir-seen-fire.com] Sent: Saturday, November 02, 2013 7:08 PM To: Wikimedia developers Subject: Re: [Wikitech-l] Memento Extension for MediaWiki: Advice on Further Development
On 2013-11-02 11:53 AM, Shawn Jones wrote:
That makes me feel a little bit better about our dependencies.
Since our rewrite, we only use $wgServer (via abstraction) in two places now, and they both involve the TimeMap SpecialPage.
We actually have 3 different types of TimeMaps in the Memento Mediawiki Extension:
- full (starter) - shows the latest 500 revisions
- pivot descending - shows the last 500 (or less) revisions prior to a given timestamp pivot
- pivot ascending - shows the next 500 (or less) revisions after a given timestamp pivot
The pivot ascending and pivot descending TimeMaps are what use the $wgServer URI.
They take the form of http://example.com/index.php/Special:TimeMap/20130720011113/1/Article for ascending and http://example.com/index.php/Special:TimeMap/20130720011113/-1/Page for descending.
The $wgServer variable is used (as $this->mwbaseurl) to construct the URIs like so:
$timeMapPage['uri'] = $this->mwbaseurl . '/' . SpecialPage::getTitleFor('TimeMap') . '/' . $pivotTimestamp . '/-1/' . $title;
A similar statement exists for a pivot ascending TimeMap elsewhere in the code.
I've been trying to find a way to eliminate the use of $wgServer altogether, but need to construct these URIs for headers, TimeMap entries, etc.
Is there a better way?
$timeMapPage['uri'] = SpecialPage::getTitleFor( 'TimeMap', $pivotTimestamp . '/-1/' . $title )->get{???}URL();
{???} will be Full, Local, or Canonical depending on where you're outputting it.
* href="" -> Local * Somewhere used on other domains -> Full (does output protocol-relative) * Print and email -> Canonical * HTTP Headers -> Local + wfExpandUrl( , PROTO_CURRENT ); Unless you use OutputPage::redirect in which case you can simply use Local as url expansion is taken care for you.
~Daniel Friesen (Dantman, Nadir-Seen-Fire) [http://danielfriesen.name/]
_______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l