120 lines
3.9 KiB
PHP
Executable File
120 lines
3.9 KiB
PHP
Executable File
<?php
|
|
/*
|
|
* 2007-2014 PrestaShop
|
|
*
|
|
* NOTICE OF LICENSE
|
|
*
|
|
* This source file is subject to the Academic Free License (AFL 3.0)
|
|
* that is bundled with this package in the file LICENSE.txt.
|
|
* It is also available through the world-wide-web at this URL:
|
|
* http://opensource.org/licenses/afl-3.0.php
|
|
* If you did not receive a copy of the license and are unable to
|
|
* obtain it through the world-wide-web, please send an email
|
|
* to license@prestashop.com so we can send you a copy immediately.
|
|
*
|
|
* DISCLAIMER
|
|
*
|
|
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
|
* versions in the future. If you wish to customize PrestaShop for your
|
|
* needs please refer to http://www.prestashop.com for more information.
|
|
*
|
|
* @author PrestaShop SA <contact@prestashop.com>
|
|
* @copyright 2007-2014 PrestaShop SA
|
|
* @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;
|
|
|
|
include_once(_PS_MODULE_DIR_.'loyalty/LoyaltyModule.php');
|
|
|
|
class BlockUserInfo extends Module
|
|
{
|
|
public function __construct()
|
|
{
|
|
$this->name = 'blockuserinfo';
|
|
$this->tab = 'front_office_features';
|
|
$this->version = '0.3.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.');
|
|
$this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_);
|
|
}
|
|
|
|
public function install()
|
|
{
|
|
return (parent::install() && $this->registerHook('displayTop') && $this->registerHook('displayNav') && $this->registerHook('displayHeader'));
|
|
}
|
|
|
|
/**
|
|
* Returns module content for header
|
|
*
|
|
* @param array $params Parameters
|
|
* @return string Content
|
|
*/
|
|
public function hookDisplayTop($params)
|
|
{
|
|
if (!$this->active)
|
|
return;
|
|
|
|
|
|
$customer = $this->context->customer;
|
|
$id_lang = (int)$this->context->cookie->id_lang;
|
|
$amount_fid = 0;
|
|
$amount_parr = 0;
|
|
$amount_total = 0;
|
|
if ($ids_discount = LoyaltyModule::getDiscountByIdCustomer((int)$customer->id))
|
|
{
|
|
$nb_discounts = count($ids_discount);
|
|
foreach ($ids_discount as $key => $discount)
|
|
{
|
|
$discount = new CartRule((int)$discount['id_cart_rule'], $id_lang);
|
|
if ($discount->quantity > 0){
|
|
$amount_fid += $discount->reduction_amount ;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
if ($ids_discount = CartRule::getCustomerCartRules($id_lang, $customer->id, true,true,true)){
|
|
foreach ($ids_discount as $key => $discount)
|
|
{
|
|
if( preg_match("#^SP#", $discount['code']) ){
|
|
|
|
$amount_parr += $discount['reduction_amount'] ;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
$amount_total = $amount_fid + $amount_parr;
|
|
$this->smarty->assign(array(
|
|
'cart' => $this->context->cart,
|
|
'amount_fid' => $amount_fid,
|
|
'amount_parr' => $amount_parr,
|
|
'amount_total' => $amount_total,
|
|
'cart_qties' => $this->context->cart->nbProducts(),
|
|
'logged' => $this->context->customer->isLogged(),
|
|
'customerName' => ($this->context->customer->logged ? $this->context->customer->firstname.' '.$this->context->customer->lastname : false),
|
|
'firstName' => ($this->context->customer->logged ? $this->context->customer->firstname : false),
|
|
'lastName' => ($this->context->customer->logged ? $this->context->customer->lastname : false),
|
|
'order_process' => Configuration::get('PS_ORDER_PROCESS_TYPE') ? 'order-opc' : 'order'
|
|
));
|
|
return $this->display(__FILE__, 'blockuserinfo.tpl');
|
|
}
|
|
|
|
public function hookDisplayHeader($params)
|
|
{
|
|
$this->context->controller->addCSS(($this->_path).'blockuserinfo.css', 'all');
|
|
}
|
|
|
|
public function hookDisplayNav($params)
|
|
{
|
|
return $this->display(__FILE__, 'nav.tpl');
|
|
}
|
|
} |