Create paypal buttons for mediawiki
From OpenTutorial
Don't Waste My Time...
Let's get something straight. I'm a jerk. I'm obnoxious. And I'm lazy.
And I don't care, because I'm FILTHY RICH.
Find Out More...
Contents |
[edit] How to Create a PayPal Buttons Extension for Mediawiki
IpbWiki Paypal is a Mediawiki Extension which adds a new <paypal> tag which allows you to add a paypal button to your wiki pages.
[edit] Download Extension
Download the file IpbWiki_Paypal.php (Click on the download button on the bottom of the next screen)
[edit] Code for file IpbWiki_Paypal.php
If you have problems downloading the above file, then alternatively you can just copy and paste the below code and place it in a file named "IpbWiki_Paypal.php".
<?php
/* IpbWiki Paypal WikiMedia extension
** IpbWiki (c) 2006
** Installation Instructions: http://www.ipbwiki.com/IpbWiki_Paypal_Extension
*/
$wgExtensionFunctions[] = "wfPayPalExtension";
function wfPayPalExtension() {
global $wgParser;
global $ipbwiki_paypal;
# register the extension with the WikiText parser
$wgParser->setHook( "paypal", "renderPayPal" );
$ipbwiki_paypal = array();
# CHANGE THE LINES BELOW TO REFLECT TO YOUR PAYPAL BUTTONS!!! (there's no limit on the number of buttons you define)
$ipbwiki_paypal[1] = '<form action="https://www.paypal.com/cgi-bin/webscr" method="post"><input type="hidden" name="cmd" value="_xclick"><input type="hidden" name="business" value="ipbwiki@gmail.com"><input type="hidden" name="item_name" value="IpbWiki PayPal"><input type="hidden" name="no_shipping" value="1"><input type="hidden" name="cn" value="Optional Comments"><input type="hidden" name="currency_code" value="EUR"><input type="hidden" name="tax" value="0"><input type="hidden" name="bn" value="PP-DonationsBF"><input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but04.gif" border="0" name="submit" alt="Make payments with PayPal - it\'s fast, free and secure!"></form>';
$ipbwiki_paypal[2] = '<form action="https://... - it\'s fast, free and secure!"></form>'
}
# The callback function for converting the input text to HTML output
function renderPayPal( $input, $argv ) {
global $ipbwiki_paypal;
global $wgAuth;
$pos_space=strpos($input,' ');
if (!$pos_space) {
if (is_numeric($input)) { // format <paypal>number</paypal>
$part1 = $input;
$part2 = '';
if (!$ipbwiki_paypal[$part1]) {
print_r ('warning, specified paypal button not found, defaulting to button 1');
$part1 = 1;
$part2 = $input;
}
} else { // format <paypal>text</paypal> & format <paypal></paypal>
$part1 = 1;
$part2 = $input;
}
} else { // format <paypal>number text</paypal>
$part1=substr($input,0,$pos_space);
$part2=substr($input,$pos_space+1);
if (is_numeric($part1)) {
if (!$ipbwiki_paypal[$part1]) {
print_r ('warning, specified paypal button not found, defaulting to button 1');
$part1 = 1;
}
} else { // format <paypal>text</paypal>
$part1 = 1;
$part2 = $input;
}
}
$form=$ipbwiki_paypal[$part1];
// if the ipbwiki interface is available, then use the clean function which is defined there, otherwise just clean the necessities...
if (class_exists ('ipbwiki')) {
$input = $wgAuth->ipbwiki->ipbwiki->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 = '<table border=0><tr><td>'.$form.'</td><td valign=center>'.$input.'</td></tr></table>';
return $output;
}
?>
|
[edit] !!WARNING!!
If the text that you place between the single quotes in the $ipbwiki_paypal[1] variable has any single quotes in it then you mist escape them otherwise IT WILL NOT WORK.
Example:
$ipbwiki_paypal[2] = '<form action="https://... - it\'s fast, free and secure!"></form>'
- works just fine
$ipbwiki_paypal[2] = '<form action="https://... - it's fast, free and secure!"></form>'
- will crash your wiki
[edit] Installation
- create a directory ipbwiki in the extensions directory
- place IpbWiki_PayPal.php in the extensions/ipbwiki directory (see code below)
- open the file LocalSettings.php, search for:
?>
and change this to:
require_once('extensions/ipbwiki/IpbWiki_PayPal.php'); // IpbWiki PayPal Extension
?>
- in the function wfPayPalExtension, place the code for your paypal-buttons in the variable $ipbwiki_paypal.
[edit] Usage
- the tag <paypal> is translated to the button defined in $ipbwiki_paypal[1].
- the tag <paypal>2</paypal> is translated to the button defined in $ipbwiki_paypal[2].
- the tag <paypal>2 description</paypal> is translated to the button defined in $ipbwiki_paypal[2], additionaly the text 'description' is placed next to the paypal button.
- the tag <paypal>description</paypal> is translated to the button defined in $ipbwiki_paypal[1], additionaly the text 'description' is placed next to the paypal button.
[edit] Donate
| If you find this extension usefull, then perhaps you can donate a few bucks? ;) | Donate to the original author here |
| Bookmark this page on your favorite bookmarking site. | |||||||||||||||||||||||
|


























