http://www.mediawiki.org/wiki/Special:Code/MediaWiki/73565
Revision: 73565
Author: awjrichards
Date: 2010-09-22 20:09:59 +0000 (Wed, 22 Sep 2010)
Log Message:
-----------
Fixed rightly spelled 'referrer' to use wrongly spelled yet correct 'referer'
for HTTP header; Added a programatic way to add a link to the sidebar
navigation that contains a query string
Modified Paths:
--------------
trunk/extensions/VariablePage/VariablePage.body.php
trunk/extensions/VariablePage/VariablePage.i18n.php
trunk/extensions/VariablePage/VariablePage.php
Modified: trunk/extensions/VariablePage/VariablePage.body.php
===================================================================
--- trunk/extensions/VariablePage/VariablePage.body.php 2010-09-22 20:07:54 UTC
(rev 73564)
+++ trunk/extensions/VariablePage/VariablePage.body.php 2010-09-22 20:09:59 UTC
(rev 73565)
@@ -13,13 +13,13 @@
public function execute() {
global $wgOut, $wgRequest;
- global $wgVariablePagePossibilities, $wgVariablePageUtmMedium;
+ global $wgVariablePagePossibilities;
$lang = ( preg_match( '/^[A-Za-z-]+$/', $wgRequest->getVal(
'lang' ) ) ) ? $wgRequest->getVal( 'lang' ) : 'en' ;
$utm_source = $wgRequest->getVal( 'utm_source' );
- $utm_medium = ( strlen($wgVariablePageUtmMedium )) ?
$wgVariablePageUtmMedium : $wgRequest->getVal( 'utm_medium' );
+ $utm_medium = $wgRequest->getVal( 'utm_medium' );
$utm_campaign = $wgRequest->getVal( 'utm_campaign' );
- $referrer = $wgRequest->getHeader( 'referrer' );
+ $referrer = ( $wgRequest->getVal( 'referrer' )) ?
$wgReqeust->getVal( 'referrer' ) : $wgRequest->getHeader( 'referer' );
$query = array();
if ( strlen( $lang ) ) $query[ 'language' ] = $lang;
Modified: trunk/extensions/VariablePage/VariablePage.i18n.php
===================================================================
--- trunk/extensions/VariablePage/VariablePage.i18n.php 2010-09-22 20:07:54 UTC
(rev 73564)
+++ trunk/extensions/VariablePage/VariablePage.i18n.php 2010-09-22 20:09:59 UTC
(rev 73565)
@@ -13,8 +13,9 @@
* @author Arthur Richards
*/
$messages['en'] = array(
+ 'variablepage' => 'VariablePage',
+ 'variablepage-navlink_text' => 'Donate',
'variablepage-desc' => 'Lightweight variable page redirection',
- 'variablepage-randomurl' => 'Special:VariablePage',
);
/** Bosnian (Bosanski)
Modified: trunk/extensions/VariablePage/VariablePage.php
===================================================================
--- trunk/extensions/VariablePage/VariablePage.php 2010-09-22 20:07:54 UTC
(rev 73564)
+++ trunk/extensions/VariablePage/VariablePage.php 2010-09-22 20:09:59 UTC
(rev 73565)
@@ -34,29 +34,58 @@
* 'http://foo.com/bar' => 90,
* );
*/
-$wgVariablePagePossibilities = array(
- 'http://wikimediafoundation.org/wiki/Support_Wikipedia' => 100
-);
+$wgVariablePagePossibilities = array();
/**
- * You may set a custom utm_medium to be used for pages reached via
VariablePage
- *
- * This can be set to whatever string you wish to use for utm_medium
- */
-$wgVariablePageUtmMedium = '';
-
-/**
* The default URL to send a user to in the event that one of the URLs in
* $wgVariablePagePossibilities not selected.
*
* Either this must be set or the probabilities in $wgVariablePagePossibiliites
* must add up to 100.
*/
-$wgVariablePageDefault = '';
+$wgVariablePageDefault =
'http://wikimediafoundation.org/wiki/Support_Wikipedia';
+/**
+ * If this is set to TRUE, a sidebar nav link to Special:VariablePage will be
displayed
+ */
+$wgVariablePageShowSidebarLink = false;
+
+/**
+ * If you need to add a query to the sidebar nav link, set them with this.
+ *
+ * array( $key => $value ) will become ?key=value
+ */
+$wgVariablePageSidebarLinkQuery = array();
+
+/**
+ * Edit the sidebar navigation
+ */
+$wgHooks['SkinBuildSidebar'][] = 'efVariablePageSidebarLink';
+
$dir = dirname( __FILE__ ) . '/';
$wgAutoloadClasses[ 'SpecialVariablePage' ] = $dir . 'VariablePage.body.php';
$wgExtensionMessagesFiles[ 'VariablePage' ] = $dir . 'VariablePage.i18n.php';
$wgSpecialPages[ 'VariablePage' ] = 'SpecialVariablePage';
$wgSpecialPageGroups[ 'VariablePage' ] = 'contribution';
+
+/**
+ * Place a link to Special:VariablePage in the navigation sidebar
+ * @return bool
+ */
+function efVariablePageSidebarLink( $skin, &$bar ) {
+ global $wgVariablePageShowSidebarLink, $wgVariablePageSidebarLinkQuery;
+
+ // make sure that we should be showing a sidebar link
+ if ( $wgVariablePageShowSidebarLink ) {
+ $url = Title::makeTitle( NS_SPECIAL, wfMsg( 'variablepage'
))->getLocalUrl();
+ $bar[ "navigation" ][] = array(
+ "text" => wfMsg( 'variablepage-navlink_text' ),
+ "href" => wfAppendQuery( $url,
$wgVariablePageSidebarLinkQuery ),
+ "id" => 'n-variablepage',
+ "active" => true,
+ );
+ }
+
+ return true;
+}
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs