Create adsense ads for mediawiki
Contents
How to Create an adsense Buttons Extension for Mediawiki
kdm adsense is a Mediawiki Extension which adds a new <adsense> tag which allows you to add an adsense button to your wiki pages.
<?php
/* kdm adsense WikiMedia extension
- kdm (c) 2006
- Add the following line to LocalSettings.php
- require_once('extensions/kdm/kdm_adsense.php'); // kdm adsense Extension
- /
$wgExtensionFunctions[] = "wfadsenseExtension";
function wfadsenseExtension() {
global $wgParser; global $kdm_adsense; # register the extension with the WikiText parser $wgParser->setHook( "adsense", "renderadsense" );
$kdm_adsense = array(); # CHANGE THE LINES BELOW TO REFLECT TO YOUR ADSENSE ADS!!! (there's no limit on the number of ads you define) $kdm_adsense[1] = '
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> ';
$kdm_adsense[2] = '
<script type="text/javascript"></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> '; }
- The callback function for converting the input text to HTML output
function renderadsense( $input, $argv ) {
global $kdm_adsense; global $wgAuth; $pos_space=strpos($input,' '); if (!$pos_space) { if (is_numeric($input)) { // format $part1 = $input; $part2 = ; if (!$kdm_adsense[$part1]) { print_r ('warning, specified adsense ad not found, defaulting to button 1'); $part1 = 1; $part2 = $input; } } else { // format & format $part1 = 1; $part2 = $input; } } else { // format $part1=substr($input,0,$pos_space); $part2=substr($input,$pos_space+1); if (is_numeric($part1)) { if (!$kdm_adsense[$part1]) { print_r ('warning, specified adsense ad not found, defaulting to button 1'); $part1 = 1; } } else { // format $part1 = 1; $part2 = $input; } } $form=$kdm_adsense[$part1]; // if the kdm interface is available, then use the clean function which is defined there, otherwise just clean the necessities... if (class_exists ('kdm')) { $input = $wgAuth->kdm->kdm->clean_value ($part2); } else { $part2 = str_replace( ">" , ">" , $part2 ); $part2 = str_replace( "<" , "<" , $part2 ); $part2 = str_replace( "\"" , """ , $part2 ); $part2 = str_replace( "!" , "!" , $part2 ); $part2 = str_replace( "'" , "'" , $part2 ); $input = $part2; }
$output = '
'.$form.' | '.$input.' |
';
return $output;
} ?>
!!WARNING!!
If the text that you place between the single quotes in the $kdm_adsense[1] variable has any single quotes in it then you must escape them otherwise IT WILL NOT WORK.
You will get an error like similar to "Parse error: parse error, unexpected '}' in /home/content/O/p/e/OpenTutorial/html/extensions/kdm/kdm_adsense.php on line 21"
Example:
$kdm_adsense[2] = '<form action="https://... - it\'s fast, free and secure!"></form>'
- works just fine
$kdm_adsense[2] = '<form action="https://... - it's fast, free and secure!"></form>'
- will crash your wiki
Installation
- create a directory kdm in the extensions directory
- place kdm_adsense.php in the extensions/kdm directory (see code below)
- open the file LocalSettings.php, search for:
?>
and change this to:
require_once('extensions/kdm/kdm_adsense.php'); // kdm adsense Extension
?>
- in the function wfadsenseExtension, place the code for your adsense-buttons in the variable $kdm_adsense.
Usage
- the tag <adsense> is translated to the button defined in $kdm_adsense[1].
- the tag <adsense>2</adsense> is translated to the button defined in $kdm_adsense[2].
- the tag <adsense>2 description</adsense> is translated to the button defined in $kdm_adsense[2], additionaly the text 'description' is placed next to the adsense button.
- the tag <adsense>description</adsense> is translated to the button defined in $kdm_adsense[1], additionaly the text 'description' is placed next to the adsense button.
Donate
If you find this extension usefull, then perhaps you can donate a few bucks? ;) | <paypal></paypal> |
Inspiration
This extension was inspired by the IpbWiki Paypal Extension
This Tutorial in incomplete and is a work in progress |
---|
Please be patient as the author will resume work on it shortly Or... |