* @copyright 2007-2011 PrestaShop SA * @version Release: $Revision: 8284 $ * @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 CashOnDelivery extends PaymentModule { public function __construct() { $this->name = 'cashondelivery'; $this->tab = 'payments_gateways'; $this->version = '0.4'; $this->author = 'PrestaShop'; $this->need_instance = 0; $this->currencies = false; parent::__construct(); $this->displayName = $this->l('Cash on delivery (COD)'); $this->description = $this->l('Accept cash on delivery payments'); /* For 1.4.3 and less compatibility */ $updateConfig = array('PS_OS_CHEQUE', 'PS_OS_PAYMENT', 'PS_OS_PREPARATION', 'PS_OS_SHIPPING', 'PS_OS_CANCELED', 'PS_OS_REFUND', 'PS_OS_ERROR', 'PS_OS_OUTOFSTOCK', 'PS_OS_BANKWIRE', 'PS_OS_PAYPAL', 'PS_OS_WS_PAYMENT'); if (!Configuration::get('PS_OS_PAYMENT')) foreach ($updateConfig as $u) if (!Configuration::get($u) && defined('_'.$u.'_')) Configuration::updateValue($u, constant('_'.$u.'_')); } public function install() { if (!parent::install() OR !$this->registerHook('payment') OR !$this->registerHook('paymentReturn')) return false; return true; } public function hookPayment($params) { if (!$this->active) return ; global $smarty; // Check if cart has product download foreach ($params['cart']->getProducts() AS $product) { $pd = ProductDownload::getIdFromIdProduct((int)($product['id_product'])); if ($pd AND Validate::isUnsignedInt($pd)) return false; } $smarty->assign(array( 'this_path' => $this->_path, 'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/'.$this->name.'/' )); return $this->display(__FILE__, 'payment.tpl'); } public function hookPaymentReturn($params) { if (!$this->active) return ; return $this->display(__FILE__, 'confirmation.tpl'); } }