Extension:PCR GUI Inserts
|
PCR GUI Inserts Release status: stable |
|||
|---|---|---|---|
| Implementation | Skin | ||
| Description | Lets you easily add pieces of HTML code at several useful places of the GUI. Can be used for instance to insert any stat-tracking code (Google Analytics, Piwik...), additional boxes in the sidebar (a search box, ads, a donation link...), meta tags, and more. | ||
| Author(s) | David Dernoncourt (Patheticcockroachtalk) | ||
| Last version | 1.0 (2011-03-02) | ||
| MediaWiki | 1.16.x - 1.19.x (not tested with 1.15.x) |
||
| PHP | 5.2, 5.3 (not tested with earlier versions) |
||
| License | CC-BY-NC-ND | ||
| Download | Direct link | ||
| Example | Wiki4Games.com, the video game wiki | ||
|
|||
|
|||
| Check usage and version matrix | |||
PCR GUI Inserts lets you add pieces of HTML code at the top, bottom or below the sidebar of your wiki, the Graphical user interface (GUI) area. There is no limit to what you can add within these areas.
The idea for this extension came from the observation that adding a simple item to a wiki, like a stat-tracking script or a donation button, although easy in theory is still quite tedious. Before you needed to either:
- manually edit the skin (all your activated skins, every time you upgrade MediaWiki)
- install one extension for every feature you want to add. Thus there is the Piwik extension, the Google Analytics extension, the Google Adsense extension (and even another one), the donation button extension, etc.
Install one extension for every feature causes problems:
- first, you end up with quite a lot of tiny extensions, and
- second, sometimes there isn't the extension you need to add one specific element. For example, what if you wanted to insert Ad Bard ads? No extension is able to do this currently.
That's where PCR GUI Inserts is useful: it handles the hooks, and only the hooks, and you handle the HTML code, all the HTML code.
Contents |
Installation [edit]
-
- Download the source code zip file and extract the PCR GUI Inserts folder.
- Move the PCR GUI Inserts 1.0 folder to your
/extensions/folder. - Add the following code at the end of LocalSettings.php:
-
require_once( "$IP/extensions/PCR GUI Inserts/pcr_guii.php" );
Configuration [edit]
By default, the extension won't output anything. You can edit the following settings in LocalSettings.php (add them after the line which includes the extension):
Add to the top of the wiki [edit]
$wgPCRguii_Inserts['addHeadItem'] is used to add items at the end of the <head></head> area. For meta-tags or if you want to add a script at the top:
- $wgPCRguii_Inserts['addHeadItem']['on']: boolean, whether or not to enable this feature (default: false)
- $wgPCRguii_Inserts['addHeadItem']['content']: an array of things you want to insert there, for instance:
$wgPCRguii_Inserts['addHeadItem']['on'] = true; $wgPCRguii_Inserts['addHeadItem']['content'] = array ( '<script type="text/javascript">window.google_analytics_uacct = "688797";</script>', '<meta name="robots" content="noarchive" />' );
You will want to keep statistics at the bottom for faster content loading.
Add to the bottom of pages [edit]
$wgPCRguii_Inserts['BeforePageDisplay'] adds items at the end of a page, at the bottom but still within the content frame.
- $wgPCRguii_Inserts['BeforePageDisplay']['on']: boolean, whether or not to enable this feature (default: false)
- $wgPCRguii_Inserts['BeforePageDisplay']['content']: a string of things you want to insert, for instance:
$wgPCRguii_Inserts['BeforePageDisplay']['on'] = true; $wgPCRguii_Inserts['BeforePageDisplay']['content'] = 'Something at the bottom of every page.';
Add to the bottom of the wiki [edit]
$wgPCRguii_Inserts['SkinAfterBottomScripts'] adds items at the very bottom of a page, below the footer including the "Powered by MediaWiki" button. This is usually where you'll want to add tracking scripts.
- $wgPCRguii_Inserts['SkinAfterBottomScripts']['on']: boolean, whether or not to enable this feature (default: false)
- $wgPCRguii_Inserts['SkinAfterBottomScripts']['content']: a string of things to insert there, for example Google Analytics and Quantcast tracking:
$wgPCRguii_Inserts['SkinAfterBottomScripts']['on'] = true; $wgPCRguii_Inserts['SkinAfterBottomScripts']['content'] = ' <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src=\'" + gaJsHost + "google-analytics.com/ga.js\' type=\'text/javascript\'%3E%3C/script%3E")); </script> <script type="text/javascript"> try { var pageTracker = _gat._getTracker("UA-606677-2"); pageTracker._trackPageview(); } catch(err) {}</script> <!-- Start Quantcast tag --> <script type="text/javascript"> _qoptions={ qacct:"p-53OjVXxXxXxX2" }; </script> <script type="text/javascript" src="http://edge.quantserve.com/quant.js"></script> <noscript> <img src="http://pixel.quantserve.com/pixel/p-53OjVXxXxXxX2.gif" style="display: none;" border="0" height="1" width="1" alt="Quantcast"/> </noscript> <!-- End Quantcast tag --> ';
Add below the side bar [edit]
$wgPCRguii_Inserts['SkinBuildSidebar'] adds items below the side bar. For vertical ads or a donation button.
- $wgPCRguii_Inserts['SkinBuildSidebar']['on']: boolean, whether or not to enable this feature (default: false)
- $wgPCRguii_Inserts['SkinBuildSidebar']['content'] example:
$wgPCRguii_Inserts['SkinBuildSidebar']['on'] = true; $wgPCRguii_Inserts['SkinBuildSidebar']['content'] = array ( array('Donate','<a href="http://my.paypal.com/donation/link">This is a donation button</a>'), array('Ads by Google','<script type="text/javascript"><!-- google_ad_client = "pub-9471398824076666"; google_ad_slot = "3512091103"; google_ad_width = 120; google_ad_height = 240; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>') );
A few more practical examples [edit]
Adding an Ad Bard ad in the sidebar [edit]
$wgPCRguii_Inserts['SkinBuildSidebar']['on'] = true; $wgPCRguii_Inserts['SkinBuildSidebar']['content'] = array ( array('Ads by Ad Bard', '<script type="text/javascript"> //<![CDATA[ var ab_h = "78448ff83a4ba39c3ba830a237a687fe"; var ab_s = "4c509963b61400983724025a4f058a21"; //]]> </script> <script type="text/javascript" src="http://cdn1.adbard.net/js/ab1.js"></script>') );
Adding a StatCounter statistics code at the bottom [edit]
$wgPCRguii_Inserts['SkinAfterBottomScripts']['on'] = true; $wgPCRguii_Inserts['SkinAfterBottomScripts']['content'] = '<a href="http://my.statcounter.com/project/standard/stats.php?project_id=1425953&guest=1"><img src="http://c12.statcounter.com/counter.php?sc_project=142953&java=0&security=7dss7e54" width="88" height="31" style="display:none" alt="counter" /></a>';
Verifying site ownership with Google Webmaster Central [edit]
$wgPCRguii_Inserts['addHeadItem']['on'] = true; $wgPCRguii_Inserts['addHeadItem']['content'] = array ('<meta name="google-site-verification" content="HFMLKJFDfds54Ui10u_XfF0zLt47tJFgLpWv4ghUA" />');
Adding a Piwik statistics code at the bottom [edit]
- example for Piwik 0.9 to 1.7.x
$wgPCRguii_Inserts['SkinAfterBottomScripts']['content'] = '<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://piwik.patheticcockroach.com/" : "http://piwik.patheticcockroach.com/");
document.write(unescape("%3Cscript src=\'" + pkBaseURL + "piwik.js\' type=\'text/javascript\'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 2);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
</script><noscript><p><img src="http://piwik.patheticcockroach.com/piwik.php?idsite=2" style="border:0" alt="" /></p></noscript>';
Examples [edit]
- Please add your URL to the bottom of the list.
- Bomispedia, the world encyclopedia
- Trazoide.com, Technical drawing and geometry
- Wiki4Games.com, the video game wiki
- Pneumapedia.org, the free encyclopedia of airguns
- WikiArquitectura.com A Wiki dedicated to Architecture. Initially in Spanish
- Amway Wiki
- Communauté francophone de partage et d'échange(s)
- Quit Smoking Wiki
Changelog [edit]
- 1.0 (2011-03-02): added German and French locales
- 1.0-b1 (2010-08-09): first published version