* @copyright 2007-2011 PrestaShop SA * @version Release: $Revision: 10540 $ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA */ if (!defined('_PS_VERSION_')) exit; class authorizeAIM extends PaymentModule { public function __construct() { $this->name = 'authorizeaim'; $this->tab = 'payments_gateways'; $this->version = '1.3'; $this->author = 'PrestaShop'; $this->limited_countries = array('us'); $this->need_instance = 0; parent::__construct(); $this->displayName = 'Authorize.net AIM (Advanced Integration Method)'; $this->description = $this->l('Receive payment with Authorize.net'); /* For 1.4.3 and less compatibility */ $updateConfig = array( 'PS_OS_CHEQUE' => 1, 'PS_OS_PAYMENT' => 2, 'PS_OS_PREPARATION' => 3, 'PS_OS_SHIPPING' => 4, 'PS_OS_DELIVERED' => 5, 'PS_OS_CANCELED' => 6, 'PS_OS_REFUND' => 7, 'PS_OS_ERROR' => 8, 'PS_OS_OUTOFSTOCK' => 9, 'PS_OS_BANKWIRE' => 10, 'PS_OS_PAYPAL' => 11, 'PS_OS_WS_PAYMENT' => 12); foreach ($updateConfig as $u => $v) if (!Configuration::get($u) || (int)Configuration::get($u) < 1) { if (defined('_'.$u.'_') && (int)constant('_'.$u.'_') > 0) Configuration::updateValue($u, constant('_'.$u.'_')); else Configuration::updateValue($u, $v); } /* Check if cURL is enabled */ if (!is_callable('curl_exec')) $this->warning = $this->l('cURL extension must be enabled on your server to use this module.'); } public function install() { return (parent::install() AND $this->registerHook('orderConfirmation') AND $this->registerHook('payment') AND $this->registerHook('header') AND Configuration::updateValue('AUTHORIZE_AIM_DEMO', 1)); } public function uninstall() { Configuration::deleteByName('AUTHORIZE_AIM_LOGIN_ID'); Configuration::deleteByName('AUTHORIZE_AIM_KEY'); Configuration::deleteByName('AUTHORIZE_AIM_DEMO'); Configuration::deleteByName('AUTHORIZE_AIM_CARD_VISA'); Configuration::deleteByName('AUTHORIZE_AIM_CARD_MASTERCARD'); Configuration::deleteByName('AUTHORIZE_AIM_CARD_DISCOVER'); Configuration::deleteByName('AUTHORIZE_AIM_CARD_AX'); return parent::uninstall(); } public function hookOrderConfirmation($params) { global $smarty; if ($params['objOrder']->module != $this->name) return; if ($params['objOrder']->getCurrentState() != Configuration::get('PS_OS_ERROR')) $smarty->assign(array('status' => 'ok', 'id_order' => intval($params['objOrder']->id))); else $smarty->assign('status', 'failed'); return $this->display(__FILE__, 'hookorderconfirmation.tpl'); } public function getContent() { if (Tools::isSubmit('submitModule')) { Configuration::updateValue('AUTHORIZE_AIM_LOGIN_ID', Tools::getvalue('authorizeaim_login_id')); Configuration::updateValue('AUTHORIZE_AIM_KEY', Tools::getvalue('authorizeaim_key')); Configuration::updateValue('AUTHORIZE_AIM_DEMO', Tools::getvalue('authorizeaim_demo_mode')); Configuration::updateValue('AUTHORIZE_AIM_CARD_VISA', Tools::getvalue('authorizeaim_card_visa')); Configuration::updateValue('AUTHORIZE_AIM_CARD_MASTERCARD', Tools::getvalue('authorizeaim_card_mastercard')); Configuration::updateValue('AUTHORIZE_AIM_CARD_DISCOVER', Tools::getvalue('authorizeaim_card_discover')); Configuration::updateValue('AUTHORIZE_AIM_CARD_AX', Tools::getvalue('authorizeaim_card_ax')); echo $this->displayConfirmation($this->l('Configuration updated')); } return '