Serveur preprod f0c0c48223 first push
2016-04-14 16:14:31 +02:00

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');
}
}