Extension:AmazonAssociates

From MediaWiki.org
Jump to: navigation, search


MediaWiki extensions manual
Crystal Clear action run.png
AmazonAssociates

Release status: experimental

Implementation Tag
Description Allows to display Amazon books using a combination of the Amazon web service and the Amazon Associates program.
Author(s) Bradford Knowlton (Bradmkjrtalk)
Database changes No
License GPL v2+
Download see below

Translate the AmazonAssociates extension if it is available at translatewiki.net

Check usage and version matrix; code metrics

AmazonAssociates is a simple extension to display amazon books using a combination of the Amazon web service and the Amazon Associates program. This is a simple tool developed by User:Bradmkjr for his wiki and he decided to share, use it as a concept and develop it to suit your needs.

Here is the PHP code:

<?php
$wgExtensionFunctions[] = "AmazonAssociates";

// Extension credits that show up on Special:Version
$wgExtensionCredits['parserhook'][] = array(
        'name' => 'AmazonAssociates',
        'author' => 'Bradford Knowlton',
        'url' => 'http://www.mediawiki.org/wiki/Extension:AmazonAssociates',
        'description' => 'Display Amazon books using a combination of the Amazon web service and the Amazon Associates program.'
);

function AmazonAssociates() {
    global $wgParser;
    $wgParser->setHook('amazon', 'AmazonAssociate');
}
function AmazonAssociate($input, $argv, $parser) {
    global $wgParser;
    $wgParser->disableCache(); //ATTENTION; DISABLE THIS LINE IF YOU ARE ON HIGH LOAD!
    $isbn = substr($argv['src'],0,strpos($argv['src'],'.'));
    $src = $argv['src'];
    return "<a href='<nowiki>http://www.amazon.com/gp/redirect.html%3FASIN=$isbn%26tag=<!! AMAZON PARTNER CODE !!>%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/$isbn%253FSubscriptionId=0EMV44A9A5YT1RVDGZ82</nowiki>'  
    title='View product details at Amazon'><img src='<nowiki>http://ec1.images-amazon.com/images/P/$src</nowiki>' alt='$input' />$input</a>"
;
}

Installation[edit | edit source]

Save the code as AmazonAssociates.php and upload it into your extension folder.

Then add the following code to your LocalSettings.php

require_once("extensions/AmazonAssociates.php");

Usage[edit | edit source]

<amazon src='Image file name'>Book Title</amazon>

For example

<amazon src='0517226952.01._SCTHUMBZZZ_V1108549558_.jpg'>The Ultimate Hitchhiker's Guide (Deluxe Edition)</amazon>

Problems?[edit | edit source]

This code is very simple, and really doesn't do much other than output some html, shorten a string, and make it look fancy.