echo ' ';/***************************************************************
Associate-O-Matic v4.0.1
http://www.associate-o-matic.com
Justin Mecham
info@associate-o-matic.com
DESCRIPTION
Provides shopping experience powered by Amazon Web Services
Copyright (c) 2003-2008 Associate-O-Matic. All Rights Reserved.
***************************************************************/
//DEFINE('LITE', TRUE); // LITE MODE
//DEFINE('TRIAL', TRUE); // TRIAL MODE
//DEFINE('AMAZON', TRUE); // AMAZON TEST MODE
//DEFINE('BRANDED', TRUE); // PRIVATE LABEL
@session_start();
// ERROR REPORTING ON
if (@file_exists('aom_debug.txt')) {
error_reporting(E_ALL);
@ini_set('display_errors', 1);
@ini_set('error_reporting', E_ALL);
}
// ERROR REPORTING OFF
else {
error_reporting(0);
@ini_set('display_errors', 0);
@ini_set('error_reporting', 0);
}
// CONSTANTS v3
DEFINE("AWSACCESSKEYID", "17DNS6CCEV3YTYNWZAG2");
DEFINE("LITEUS", "chapicha-ca-20");
DEFINE("LITEUK", "chapicha-uk-21");
DEFINE("LITECA", "chapicha-ca-20");
DEFINE("LITEDE", "chapicha-de-21");
DEFINE("LITEFR", "chapicha-fr-21");
if (!ini_get('safe_mode')) {
@set_time_limit(0);
@ini_set('max_execution_time', 300);// v3.0
}
@ini_set('magic_quotes_runtime', 0); // v2.8
@ini_set('magic_quotes_gpc', 0); // v3.0
@ini_set('session.use_trans_sid', 0); // v3.0
@ini_set("url_rtariter.tags",""); // v3.0
@ini_set("short_open_tag",1); // v3.0.3
setGlobals();
function setGlobals() {
if (!isset($_GET) && (isset($GLOBALS['HTTP_GET_VARS'])))
$GLOBALS['_GET'] = $GLOBALS['HTTP_GET_VARS'];
if (!isset($_POST) && (isset($GLOBALS['HTTP_POST_VARS'])))
$GLOBALS['_POST'] = $GLOBALS['HTTP_POST_VARS'];
if (!isset($_SESSION) && (isset($GLOBALS['HTTP_SESSION_VARS'])))
$GLOBALS['_SESSION'] = $GLOBALS['HTTP_SESSION_VARS'];
if (!isset($_COOKIE) && (isset($GLOBALS['HTTP_COOKIE_VARS'])))
$GLOBALS['_COOKIE'] = $GLOBALS['HTTP_COOKIE_VARS'];
if (!isset($_REQUEST) && (isset($GLOBALS['HTTP_GET_VARS'])) || (isset($GLOBALS['HTTP_POST_VARS'])) || (isset($GLOBALS['HTTP_COOKIE_VARS'])))
$GLOBALS['_REQUEST'] = (isset($GLOBALS['HTTP_GET_VARS']) ? $GLOBALS['HTTP_GET_VARS'] : array()) + (isset($GLOBALS['HTTP_POST_VARS']) ? $GLOBALS['HTTP_POST_VARS'] : array()) + (isset($GLOBALS['HTTP_COOKIE_VARS']) ? $GLOBALS['HTTP_COOKIE_VARS'] : array());
if (!isset($_SERVER) && (isset($GLOBALS['HTTP_SERVER_VARS'])))
$GLOBALS['_SERVER'] = $GLOBALS['HTTP_SERVER_VARS'];
}
// v3.0.4 security measures
if (isset($GLOBALS['_POST']['k']))
unset($GLOBALS['_POST']['k']);
if (isset($GLOBALS['_POST']['c']))
unset($GLOBALS['_POST']['c']);
if (isset($GLOBALS['_POST']['n']))
unset($GLOBALS['_POST']['n']);
if (isset($GLOBALS['_POST']['i']))
unset($GLOBALS['_POST']['i']);
if (!file_exists('aom/cfg.saved.php')) {
if (!is_readable("aom"))
echo "
Application Error: You must enable read permission to the /aom directory.";
else
echo "Application Error: You must first open the Control Panel and save your settings.";
exit();
}
// LOAD AOM
require_once('aom/cfg.os.php');
$aom = new AOM();
$aom->loadCfgSaved();
$aom->passIpFilter(); // v3.0.7
$cache = ((isset($aom->site['PageCaching']) AND $aom->site['PageCaching']=="On" AND !@strstr($GLOBALS['_REQUEST']['a'], "cart")) ? "On" : "Off");
if (isset($GLOBALS['_REQUEST']['a']) AND isset($aom->site['CustomPages']['CustomPage'])) {
$cp_cnt = sizeof($aom->site['CustomPages']['CustomPage']);
for ($c=0; $c<$cp_cnt; $c++) {
if ($aom->site['CustomPages']['CustomPage'][$c]['Id']==$GLOBALS['_REQUEST']['a']) {
$cache = $aom->site['CustomPages']['CustomPage'][$c]['Cache'];
break;
}
}
}
// Cache_Lite object
if ($cache=="On") {
$life = (isset($aom->site['CacheLifetime']) ? $aom->site['CacheLifetime'] : 24)*60*60;
$id = (isset($GLOBALS['_SERVER']['REQUEST_URI']) ? $GLOBALS['_SERVER']['REQUEST_URI'] : md5(serialize($GLOBALS['_GET'])));
$opt = array('cacheDir' => 'aom/cache/', 'lifeTime' => $life, 'automaticCleaningFactor' => $aom->site['CacheCleanup']);
$Cache_Lite = new Cache_Lite($opt);
}
// cache found
if (sizeof($aom->err)<=0 AND $cache=="On" AND $data = $Cache_Lite->get($id)) {
echo $data;
}
// cache not found/generate pg
else {
ob_start();
$aom->Load();
if ($cache=="On" AND sizeof($aom->err)<=0) {
$data = ob_get_contents();
$Cache_Lite->save($data);
ob_end_flush();
}
}
// BEGIN CLASS
class AOM {
var $script;
var $version = "4.0.1";
var $path = "aom";
var $ecs_version = "2007-10-29";
var $request, $request_soap;
var $cfg_file_default = "cfg.default.php";// PHP
var $cfg_file_lang = "cfg.lang.php"; // PHP
var $cfg_file_branding = "cfg.branding.php"; // PHP
var $cfg_file_saved = "cfg.saved.php"; // XML
var $cfg_file_css = "cfg.css.php"; // CSS
var $cfg_file_nodes = "cfg.nodes.php"; // PHP
var $clean = Array(); // secured params
var $app = Array(); // app vars
var $site = Array(); // saved settings
var $cfg = Array(); // default settings
var $str = Array(); // lang settings
var $cat = Array(); // cat
var $cp = Array(); // custom page
var $data; // Amazon data
var $var; // item vars
var $page = Array(); // pg details
var $list, $list_rel, $list_sub; // lists
var $err = Array(); // errors
var $err_cart = Array(); // cart errors
// REST
var $amazon_rest = Array('Amazon.com' => 'http://ecs.amazonaws.com/onca/xml',
'Amazon.co.uk' => 'http://ecs.amazonaws.co.uk/onca/xml',
'Amazon.ca' => 'http://ecs.amazonaws.ca/onca/xml',
'Amazon.de' => 'http://ecs.amazonaws.de/onca/xml',
'Amazon.fr' => 'http://ecs.amazonaws.fr/onca/xml',
);
// SOAP
var $amazon_soap = Array('Amazon.com' => 'http://ecs.amazonaws.com/AWSECommerceService/2007-10-29/AWSECommerceService.wsdl',
'Amazon.co.uk' => 'http://ecs.amazonaws.com/AWSECommerceService/2007-10-29/UK/AWSECommerceService.wsdl',
'Amazon.ca' => 'http://ecs.amazonaws.com/AWSECommerceService/2007-10-29/CA/AWSECommerceService.wsdl',
'Amazon.de' => 'http://ecs.amazonaws.com/AWSECommerceService/2007-10-29/DE/AWSECommerceService.wsdl',
'Amazon.fr' => 'http://ecs.amazonaws.com/AWSECommerceService/2007-10-29/FR/AWSECommerceService.wsdl',
);
var $currency = Array('Amazon.com' => '',
'Amazon.co.uk' => '£',
'Amazon.ca' => '',
'Amazon.de' => '',
'Amazon.fr' => ''
);
var $currency_save = Array('Amazon.com' => '$',
'Amazon.co.uk' => '£',
'Amazon.ca' => 'CDN$ ',
'Amazon.de' => 'EUR ',
'Amazon.fr' => 'EUR '
);
var $btn_buy = Array('Amazon.com' => 'btn_buy_us.gif',
'Amazon.co.uk' => 'btn_buy_uk.gif',
'Amazon.ca' => 'btn_buy_ca.gif',
'Amazon.de' => 'btn_buy_de.gif',
'Amazon.fr' => 'btn_buy_fr.gif'
);
var $btn_checkout = Array('Amazon.com' => 'btn_cartcheckout_us.gif',
'Amazon.co.uk' => 'btn_cartcheckout_uk.gif',
'Amazon.ca' => 'btn_cartcheckout_ca.gif',
'Amazon.de' => 'btn_cartcheckout_de.gif',
'Amazon.fr' => 'btn_cartcheckout_fr.gif'
);
var $btn_continue = Array('Amazon.com' => 'btn_cartcontinue.gif',
'Amazon.co.uk' => 'btn_cartcontinue.gif',
'Amazon.ca' => 'btn_cartcontinue.gif',
'Amazon.de' => 'btn_cartcontinue_de.gif',
'Amazon.fr' => 'btn_cartcontinue_fr.gif'
);
var $btn_add = Array('Amazon.com' => 'btn_cartadd.gif',
'Amazon.co.uk' => 'btn_cartadd.gif',
'Amazon.ca' => 'btn_cartadd.gif',
'Amazon.de' => 'btn_cartadd_de.gif',
'Amazon.fr' => 'btn_cartadd_fr.gif'
);
var $btn_update = Array('Amazon.com' => 'btn_cartupdate.gif',
'Amazon.co.uk' => 'btn_cartupdate.gif',
'Amazon.ca' => 'btn_cartupdate.gif',
'Amazon.de' => 'btn_cartupdate_de.gif',
'Amazon.fr' => 'btn_cartupdate_fr.gif'
);
var $btn_options = Array('Amazon.com' => 'btn_selectoptions.gif',
'Amazon.co.uk' => 'btn_selectoptions.gif',
'Amazon.ca' => 'btn_selectoptions.gif',
'Amazon.de' => 'btn_selectoptions_de.gif',
'Amazon.fr' => 'btn_selectoptions_fr.gif'
);
var $sort_aom = Array('am' => '-age-min', 'ar' => 'artistrank', 'dr' => 'daterank', 'dk' => '-daterank', 'de' => 'date', 'dt' => '-date', 'ev' => '-edition-sales-velocity', 'ir' => '-importrank', 'ip' => 'inverseprice', 'ie' => 'inverse-pricerank', 'ld' => 'launch-date', 'le' => '-launch-date', 'mm' => '-mfg-age-min', 'mn' => 'mfg-age-min', 'od' => 'orig-rel-date', 'pd' => 'pubdate', 'pt' => '-pubdate', 'pm' => 'pmrank', 'pp' => '+price', 'pr' => 'price', 'pe' => '-price', 'pk' => '+pmrank', 'pa' => 'pricerank', 'pn' => '-pricerank', 'ps' => 'psrank', 'rd' => 'release-date', 'rn' => '-release-date', 'ra' => 'releasedate', 'rt' => '-releasedate', 're' => 'relevance', 'rr' => 'reviewrank', 'rc' => 'relevancerank', 'sf' => 'sale-flag', 'sp' => '+salesrank', 'sr' => 'salesrank', 'st'