* @copyright 2007-2011 PrestaShop SA * @version Release: $Revision: 8005 $ * @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 BlockUserInfo extends Module { private $useTopUpper = true; private $disableCredits = true; public function __construct() { $this->name = 'blockuserinfo'; $this->tab = 'front_office_features'; $this->version = 0.1; $this->author = 'PrestaShop'; $this->need_instance = 0; parent::__construct(); $this->displayName = $this->l('User info block'); $this->description = $this->l('Adds a block that displays information about the customer.'); } public function install() { return (parent::install() && $this->registerHook('top') && $this->registerHook('displayTopUpper') ); } /** * Add content before header * * @param array $params * @return string */ public function hookDisplayTopUpper($params) { if (!$this->active) { return; } global $smarty, $cookie, $cart; if (!$cookie->logged) { return; } $display_credits = false; $loyalties = null; if ($this->disableCredits === false) { $display_credits = true; $sql = 'SELECT id_customer FROM `'._DB_PREFIX_.'customer_credits` WHERE id_customer = ' .(int) $cookie->id_customer; if(Db::getInstance()->getValue($sql)){ $display_credits = false; } $sql = 'SELECT SUM(`discount_value`) FROM `'._DB_PREFIX_.'loyalty` WHERE `id_loyalty_state`=2 AND `id_discount`=0 AND `id_customer` = ' .(int) $cookie->id_customer; $loyalties = Db::getInstance()->getValue($sql); } $smarty->assign(array( 'onlyForm' => !$this->useTopUpper, 'display_credits' => $display_credits, 'loyalties' => ($loyalties)?$loyalties:0, 'cart' => $cart, 'cart_qties' => $cart->nbProducts(), 'logged' => $cookie->isLogged(), 'customerName' => ($cookie->logged ? $cookie->customer_firstname.' '.$cookie->customer_lastname : false), 'firstName' => ($cookie->logged ? $cookie->customer_firstname : false), 'lastName' => ($cookie->logged ? $cookie->customer_lastname : false), 'order_process' => Configuration::get('PS_ORDER_PROCESS_TYPE') ? 'order-opc' : 'order' )); return $this->display(__FILE__, 'blockuserinfo.tpl'); } /** * Returns module content for header * * @param array $params Parameters * @return string Content */ public function hookTop($params) { if (!$this->active) return; global $smarty, $cookie, $cart; $display_credits = false; $loyalties = null; if ($this->disableCredits === false) { $display_credits = true; if ($cookie->logged) { $display_credits = true; $sql = 'SELECT id_customer FROM `'._DB_PREFIX_.'customer_credits` WHERE id_customer = ' .(int) $cookie->id_customer; if(Db::getInstance()->getValue($sql)){ $display_credits = false; } $sql = 'SELECT SUM(`discount_value`) FROM `'._DB_PREFIX_.'loyalty` WHERE `id_loyalty_state`=2 AND `id_discount`=0 AND `id_customer` = ' .(int) $cookie->id_customer; $loyalties = Db::getInstance()->getValue($sql); } } $smarty->assign(array( 'onlyForm' => $this->useTopUpper, 'display_credits' => $display_credits, 'loyalties' => ($loyalties)?$loyalties:0, 'cart' => $cart, 'cart_qties' => $cart->nbProducts(), 'logged' => $cookie->isLogged(), 'customerName' => ($cookie->logged ? $cookie->customer_firstname.' '.$cookie->customer_lastname : false), 'firstName' => ($cookie->logged ? $cookie->customer_firstname : false), 'lastName' => ($cookie->logged ? $cookie->customer_lastname : false), 'order_process' => Configuration::get('PS_ORDER_PROCESS_TYPE') ? 'order-opc' : 'order' )); return $this->display(__FILE__, 'blockuserinfo.tpl'); } }