[*] Front: move front controllers in controllers/front/ directory
// Refactoring of front controllers part 1 git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@8721 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
Vendored
+82
-82
@@ -252,9 +252,9 @@
|
||||
'DbMySQLiCore' => 'classes/db/DbMySQLi.php',
|
||||
'DbMySQLi' => 'override/classes/db/DbMySQLi.php',
|
||||
'DbPDOCore' => 'classes/db/DbPDO.php',
|
||||
'DbPDO' => '',
|
||||
'DbPDO' => 'override/classes/db/DbPDO.php',
|
||||
'DbQueryCore' => 'classes/db/DbQuery.php',
|
||||
'DbQuery' => '',
|
||||
'DbQuery' => 'override/classes/db/DbQuery.php',
|
||||
'MySQLCore' => 'classes/db/MySQL.php',
|
||||
'MySQL' => 'override/classes/db/MySQL.php',
|
||||
'GroupShopCore' => 'classes/shop/GroupShop.php',
|
||||
@@ -279,84 +279,84 @@
|
||||
'TaxRulesTaxManagerCore' => 'classes/tax/TaxRulesTaxManager.php',
|
||||
'TaxRulesTaxManager' => 'override/classes/tax/TaxRulesTaxManager.php',
|
||||
'FB' => 'override/classes/fb.php',
|
||||
'AddressControllerCore' => 'controllers/AddressController.php',
|
||||
'AddressController' => 'override/controllers/AddressController.php',
|
||||
'AddressesControllerCore' => 'controllers/AddressesController.php',
|
||||
'AddressesController' => 'override/controllers/AddressesController.php',
|
||||
'AttachmentControllerCore' => 'controllers/AttachmentController.php',
|
||||
'AttachmentController' => 'override/controllers/AttachmentController.php',
|
||||
'AuthControllerCore' => 'controllers/AuthController.php',
|
||||
'AuthController' => 'override/controllers/AuthController.php',
|
||||
'BestSalesControllerCore' => 'controllers/BestSalesController.php',
|
||||
'BestSalesController' => 'override/controllers/BestSalesController.php',
|
||||
'CartControllerCore' => 'controllers/CartController.php',
|
||||
'CartController' => 'override/controllers/CartController.php',
|
||||
'CategoryControllerCore' => 'controllers/CategoryController.php',
|
||||
'CategoryController' => 'override/controllers/CategoryController.php',
|
||||
'ChangeCurrencyControllerCore' => 'controllers/ChangeCurrencyController.php',
|
||||
'ChangeCurrencyController' => 'override/controllers/ChangeCurrencyController.php',
|
||||
'CmsControllerCore' => 'controllers/CmsController.php',
|
||||
'CmsController' => 'override/controllers/CmsController.php',
|
||||
'CompareControllerCore' => 'controllers/CompareController.php',
|
||||
'CompareController' => 'override/controllers/CompareController.php',
|
||||
'ContactControllerCore' => 'controllers/ContactController.php',
|
||||
'ContactController' => 'override/controllers/ContactController.php',
|
||||
'DiscountControllerCore' => 'controllers/DiscountController.php',
|
||||
'DiscountController' => 'override/controllers/DiscountController.php',
|
||||
'GetFileControllerCore' => 'controllers/GetFileController.php',
|
||||
'GetFileController' => 'override/controllers/GetFileController.php',
|
||||
'GuestTrackingControllerCore' => 'controllers/GuestTrackingController.php',
|
||||
'GuestTrackingController' => 'override/controllers/GuestTrackingController.php',
|
||||
'HistoryControllerCore' => 'controllers/HistoryController.php',
|
||||
'HistoryController' => 'override/controllers/HistoryController.php',
|
||||
'IdentityControllerCore' => 'controllers/IdentityController.php',
|
||||
'IdentityController' => 'override/controllers/IdentityController.php',
|
||||
'IndexControllerCore' => 'controllers/IndexController.php',
|
||||
'IndexController' => 'override/controllers/IndexController.php',
|
||||
'ManufacturerControllerCore' => 'controllers/ManufacturerController.php',
|
||||
'ManufacturerController' => 'override/controllers/ManufacturerController.php',
|
||||
'MyAccountControllerCore' => 'controllers/MyAccountController.php',
|
||||
'MyAccountController' => 'override/controllers/MyAccountController.php',
|
||||
'NewProductsControllerCore' => 'controllers/NewProductsController.php',
|
||||
'NewProductsController' => 'override/controllers/NewProductsController.php',
|
||||
'OrderConfirmationControllerCore' => 'controllers/OrderConfirmationController.php',
|
||||
'OrderConfirmationController' => 'override/controllers/OrderConfirmationController.php',
|
||||
'OrderControllerCore' => 'controllers/OrderController.php',
|
||||
'OrderController' => 'override/controllers/OrderController.php',
|
||||
'OrderDetailControllerCore' => 'controllers/OrderDetailController.php',
|
||||
'OrderDetailController' => 'override/controllers/OrderDetailController.php',
|
||||
'OrderFollowControllerCore' => 'controllers/OrderFollowController.php',
|
||||
'OrderFollowController' => 'override/controllers/OrderFollowController.php',
|
||||
'OrderOpcControllerCore' => 'controllers/OrderOpcController.php',
|
||||
'OrderOpcController' => 'override/controllers/OrderOpcController.php',
|
||||
'OrderReturnControllerCore' => 'controllers/OrderReturnController.php',
|
||||
'OrderReturnController' => 'override/controllers/OrderReturnController.php',
|
||||
'OrderSlipControllerCore' => 'controllers/OrderSlipController.php',
|
||||
'OrderSlipController' => 'override/controllers/OrderSlipController.php',
|
||||
'PageNotFoundControllerCore' => 'controllers/PageNotFoundController.php',
|
||||
'PageNotFoundController' => 'override/controllers/PageNotFoundController.php',
|
||||
'ParentOrderControllerCore' => 'controllers/ParentOrderController.php',
|
||||
'ParentOrderController' => 'override/controllers/ParentOrderController.php',
|
||||
'PasswordControllerCore' => 'controllers/PasswordController.php',
|
||||
'PasswordController' => 'override/controllers/PasswordController.php',
|
||||
'PdfInvoiceControllerCore' => 'controllers/PdfInvoiceController.php',
|
||||
'PdfInvoiceController' => 'override/controllers/PdfInvoiceController.php',
|
||||
'PdfOrderReturnControllerCore' => 'controllers/PdfOrderReturnController.php',
|
||||
'PdfOrderReturnController' => 'override/controllers/pdfOrderReturnController.php',
|
||||
'PdfOrderSlipControllerCore' => 'controllers/PdfOrderSlipController.php',
|
||||
'PdfOrderSlipController' => 'override/controllers/pdfOrderSlipController.php',
|
||||
'PricesDropControllerCore' => 'controllers/PricesDropController.php',
|
||||
'PricesDropController' => 'override/controllers/PricesDropController.php',
|
||||
'ProductControllerCore' => 'controllers/ProductController.php',
|
||||
'ProductController' => 'override/controllers/ProductController.php',
|
||||
'SearchControllerCore' => 'controllers/SearchController.php',
|
||||
'SearchController' => 'override/controllers/SearchController.php',
|
||||
'SitemapControllerCore' => 'controllers/SitemapController.php',
|
||||
'SitemapController' => 'override/controllers/SitemapController.php',
|
||||
'StatisticsControllerCore' => 'controllers/StatisticsController.php',
|
||||
'StatisticsController' => 'override/controllers/StatisticsController.php',
|
||||
'StoresControllerCore' => 'controllers/StoresController.php',
|
||||
'StoresController' => 'override/controllers/StoresController.php',
|
||||
'SupplierControllerCore' => 'controllers/SupplierController.php',
|
||||
'SupplierController' => 'override/controllers/SupplierController.php',
|
||||
'AddressControllerCore' => 'controllers/front/AddressController.php',
|
||||
'AddressController' => 'override/controllers/front/AddressController.php',
|
||||
'AddressesControllerCore' => 'controllers/front/AddressesController.php',
|
||||
'AddressesController' => 'override/controllers/front/AddressesController.php',
|
||||
'AttachmentControllerCore' => 'controllers/front/AttachmentController.php',
|
||||
'AttachmentController' => 'override/controllers/front/AttachmentController.php',
|
||||
'AuthControllerCore' => 'controllers/front/AuthController.php',
|
||||
'AuthController' => 'override/controllers/front/AuthController.php',
|
||||
'BestSalesControllerCore' => 'controllers/front/BestSalesController.php',
|
||||
'BestSalesController' => 'override/controllers/front/BestSalesController.php',
|
||||
'CartControllerCore' => 'controllers/front/CartController.php',
|
||||
'CartController' => 'override/controllers/front/CartController.php',
|
||||
'CategoryControllerCore' => 'controllers/front/CategoryController.php',
|
||||
'CategoryController' => 'override/controllers/front/CategoryController.php',
|
||||
'ChangeCurrencyControllerCore' => 'controllers/front/ChangeCurrencyController.php',
|
||||
'ChangeCurrencyController' => 'override/controllers/front/ChangeCurrencyController.php',
|
||||
'CmsControllerCore' => 'controllers/front/CmsController.php',
|
||||
'CmsController' => 'override/controllers/front/CmsController.php',
|
||||
'CompareControllerCore' => 'controllers/front/CompareController.php',
|
||||
'CompareController' => 'override/controllers/front/CompareController.php',
|
||||
'ContactControllerCore' => 'controllers/front/ContactController.php',
|
||||
'ContactController' => 'override/controllers/front/ContactController.php',
|
||||
'DiscountControllerCore' => 'controllers/front/DiscountController.php',
|
||||
'DiscountController' => 'override/controllers/front/DiscountController.php',
|
||||
'GetFileControllerCore' => 'controllers/front/GetFileController.php',
|
||||
'GetFileController' => 'override/controllers/front/GetFileController.php',
|
||||
'GuestTrackingControllerCore' => 'controllers/front/GuestTrackingController.php',
|
||||
'GuestTrackingController' => 'override/controllers/front/GuestTrackingController.php',
|
||||
'HistoryControllerCore' => 'controllers/front/HistoryController.php',
|
||||
'HistoryController' => 'override/controllers/front/HistoryController.php',
|
||||
'IdentityControllerCore' => 'controllers/front/IdentityController.php',
|
||||
'IdentityController' => 'override/controllers/front/IdentityController.php',
|
||||
'IndexControllerCore' => 'controllers/front/IndexController.php',
|
||||
'IndexController' => 'override/controllers/front/IndexController.php',
|
||||
'ManufacturerControllerCore' => 'controllers/front/ManufacturerController.php',
|
||||
'ManufacturerController' => 'override/controllers/front/ManufacturerController.php',
|
||||
'MyAccountControllerCore' => 'controllers/front/MyAccountController.php',
|
||||
'MyAccountController' => 'override/controllers/front/MyAccountController.php',
|
||||
'NewProductsControllerCore' => 'controllers/front/NewProductsController.php',
|
||||
'NewProductsController' => 'override/controllers/front/NewProductsController.php',
|
||||
'OrderConfirmationControllerCore' => 'controllers/front/OrderConfirmationController.php',
|
||||
'OrderConfirmationController' => 'override/controllers/front/OrderConfirmationController.php',
|
||||
'OrderControllerCore' => 'controllers/front/OrderController.php',
|
||||
'OrderController' => 'override/controllers/front/OrderController.php',
|
||||
'OrderDetailControllerCore' => 'controllers/front/OrderDetailController.php',
|
||||
'OrderDetailController' => 'override/controllers/front/OrderDetailController.php',
|
||||
'OrderFollowControllerCore' => 'controllers/front/OrderFollowController.php',
|
||||
'OrderFollowController' => 'override/controllers/front/OrderFollowController.php',
|
||||
'OrderOpcControllerCore' => 'controllers/front/OrderOpcController.php',
|
||||
'OrderOpcController' => 'override/controllers/front/OrderOpcController.php',
|
||||
'OrderReturnControllerCore' => 'controllers/front/OrderReturnController.php',
|
||||
'OrderReturnController' => 'override/controllers/front/OrderReturnController.php',
|
||||
'OrderSlipControllerCore' => 'controllers/front/OrderSlipController.php',
|
||||
'OrderSlipController' => 'override/controllers/front/OrderSlipController.php',
|
||||
'PageNotFoundControllerCore' => 'controllers/front/PageNotFoundController.php',
|
||||
'PageNotFoundController' => 'override/controllers/front/PageNotFoundController.php',
|
||||
'ParentOrderControllerCore' => 'controllers/front/ParentOrderController.php',
|
||||
'ParentOrderController' => 'override/controllers/front/ParentOrderController.php',
|
||||
'PasswordControllerCore' => 'controllers/front/PasswordController.php',
|
||||
'PasswordController' => 'override/controllers/front/PasswordController.php',
|
||||
'PdfInvoiceControllerCore' => 'controllers/front/PdfInvoiceController.php',
|
||||
'PdfInvoiceController' => 'override/controllers/front/PdfInvoiceController.php',
|
||||
'PdfOrderReturnControllerCore' => 'controllers/front/PdfOrderReturnController.php',
|
||||
'PdfOrderReturnController' => 'override/controllers/front/pdfOrderReturnController.php',
|
||||
'PdfOrderSlipControllerCore' => 'controllers/front/PdfOrderSlipController.php',
|
||||
'PdfOrderSlipController' => 'override/controllers/front/pdfOrderSlipController.php',
|
||||
'PricesDropControllerCore' => 'controllers/front/PricesDropController.php',
|
||||
'PricesDropController' => 'override/controllers/front/PricesDropController.php',
|
||||
'ProductControllerCore' => 'controllers/front/ProductController.php',
|
||||
'ProductController' => 'override/controllers/front/ProductController.php',
|
||||
'SearchControllerCore' => 'controllers/front/SearchController.php',
|
||||
'SearchController' => 'override/controllers/front/SearchController.php',
|
||||
'SitemapControllerCore' => 'controllers/front/SitemapController.php',
|
||||
'SitemapController' => 'override/controllers/front/SitemapController.php',
|
||||
'StatisticsControllerCore' => 'controllers/front/StatisticsController.php',
|
||||
'StatisticsController' => 'override/controllers/front/StatisticsController.php',
|
||||
'StoresControllerCore' => 'controllers/front/StoresController.php',
|
||||
'StoresController' => 'override/controllers/front/StoresController.php',
|
||||
'SupplierControllerCore' => 'controllers/front/SupplierController.php',
|
||||
'SupplierController' => 'override/controllers/front/SupplierController.php',
|
||||
);
|
||||
@@ -42,6 +42,37 @@ abstract class ControllerCore
|
||||
*/
|
||||
public $js_files = array();
|
||||
|
||||
/**
|
||||
* @var bool check if header will be displayed
|
||||
*/
|
||||
protected $displayHeader = false;
|
||||
|
||||
/**
|
||||
* @var string template name for page content
|
||||
*/
|
||||
protected $template;
|
||||
|
||||
/**
|
||||
* @var string check if footer will be displayed
|
||||
*/
|
||||
protected $displayFooter = false;
|
||||
|
||||
/**
|
||||
* Initialize the page
|
||||
*/
|
||||
abstract public function init();
|
||||
|
||||
/**
|
||||
* Do the page treatment : post process, ajax process, etc.
|
||||
* Enter description here ...
|
||||
*/
|
||||
abstract public function action();
|
||||
|
||||
/**
|
||||
* Display page view
|
||||
*/
|
||||
abstract public function display();
|
||||
|
||||
/**
|
||||
* Set default media list for controller
|
||||
*/
|
||||
@@ -64,6 +95,31 @@ abstract class ControllerCore
|
||||
$this->context = Context::getContext();
|
||||
}
|
||||
|
||||
/**
|
||||
* Start controller process
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
$this->init();
|
||||
$this->action();
|
||||
$this->display();
|
||||
}
|
||||
|
||||
public function displayHeader($display = true)
|
||||
{
|
||||
$this->displayHeader = $display;
|
||||
}
|
||||
|
||||
public function displayFooter($display = true)
|
||||
{
|
||||
$this->displayFooter = $display;
|
||||
}
|
||||
|
||||
public function setTemplate($template)
|
||||
{
|
||||
$this->template = $template;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new stylesheet in page header.
|
||||
*
|
||||
|
||||
+17
-7
@@ -188,7 +188,7 @@ class DispatcherCore
|
||||
}
|
||||
// Get and instantiate controller
|
||||
$this->getController();
|
||||
$controllers = Dispatcher::getControllers();
|
||||
$controllers = Dispatcher::getControllers(_PS_CONTROLLER_DIR_);
|
||||
if (!$this->controller)
|
||||
$this->controller = 'index';
|
||||
if (!isset($controllers[$this->controller]))
|
||||
@@ -423,18 +423,28 @@ class DispatcherCore
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function getControllers()
|
||||
public static function getControllers($dir)
|
||||
{
|
||||
$controller_files = scandir(_PS_ROOT_DIR_.DIRECTORY_SEPARATOR.'controllers');
|
||||
$controllers = array();
|
||||
static $controllers;
|
||||
|
||||
$controller_files = scandir($dir);
|
||||
foreach ($controller_files as $controller_filename)
|
||||
if (substr($controller_filename, -14, 14) == 'Controller.php')
|
||||
{
|
||||
if (!in_array($controller_filename, array('.','..','.svn')) AND is_dir($dir.$controller_filename))
|
||||
$controllers = self::getControllers($dir.$controller_filename.DIRECTORY_SEPARATOR);
|
||||
else if (substr($controller_filename, -14, 14) == 'Controller.php')
|
||||
{
|
||||
$subdir = str_replace(_PS_CONTROLLER_DIR_,'',$dir);
|
||||
$controllers[strtolower(substr($controller_filename, 0, -14))] = basename($controller_filename, '.php');
|
||||
}
|
||||
}
|
||||
|
||||
// add default controller
|
||||
$controllers['index'] = 'IndexController';
|
||||
$controllers['authentication'] = $controllers['auth'];
|
||||
$controllers['productscomparison'] = $controllers['compare'];
|
||||
if (isset($controllers['auth']))
|
||||
$controllers['authentication'] = $controllers['auth'];
|
||||
if (isset($controllers['compare']))
|
||||
$controllers['productscomparison'] = $controllers['compare'];
|
||||
|
||||
return $controllers;
|
||||
}
|
||||
|
||||
+92
-93
@@ -29,11 +29,10 @@ class FrontControllerCore extends ControllerCore
|
||||
{
|
||||
public $errors = array();
|
||||
|
||||
/* Deprecated shortcuts as of 1.5 - Use $context->var instead */
|
||||
protected static $smarty;
|
||||
protected static $cookie;
|
||||
protected static $link;
|
||||
protected static $cart;
|
||||
/**
|
||||
* @deprecated Deprecated shortcuts as of 1.5 - Use $context->var instead
|
||||
*/
|
||||
protected static $smarty, $cookie, $link, $cart;
|
||||
|
||||
public $iso;
|
||||
|
||||
@@ -49,15 +48,11 @@ class FrontControllerCore extends ControllerCore
|
||||
|
||||
protected $restrictedCountry = false;
|
||||
protected $maintenance = false;
|
||||
protected $id_current_shop;
|
||||
protected $id_current_group_shop;
|
||||
|
||||
public static $initialized = false;
|
||||
|
||||
protected static $currentCustomerGroups;
|
||||
|
||||
public $css_files;
|
||||
public $js_files;
|
||||
public $nb_items_per_page;
|
||||
|
||||
public function __construct()
|
||||
@@ -68,16 +63,6 @@ class FrontControllerCore extends ControllerCore
|
||||
$useSSL = $this->ssl;
|
||||
}
|
||||
|
||||
public function run()
|
||||
{
|
||||
$this->init();
|
||||
$this->preProcess();
|
||||
$this->displayHeader();
|
||||
$this->process();
|
||||
$this->displayContent();
|
||||
$this->displayFooter();
|
||||
}
|
||||
|
||||
public function init()
|
||||
{
|
||||
/*
|
||||
@@ -91,12 +76,6 @@ class FrontControllerCore extends ControllerCore
|
||||
return;
|
||||
self::$initialized = true;
|
||||
|
||||
$this->id_current_shop = Context::getContext()->shop->getID();
|
||||
$this->id_current_group_shop = Context::getContext()->shop->getGroupID();
|
||||
|
||||
$this->css_files = array();
|
||||
$this->js_files = array();
|
||||
|
||||
// For compatibility with globals, DEPRECATED as of version 1.5
|
||||
$css_files = $this->css_files;
|
||||
$js_files = $this->js_files;
|
||||
@@ -201,8 +180,8 @@ class FrontControllerCore extends ControllerCore
|
||||
$cart->id_lang = (int)($this->context->cookie->id_lang);
|
||||
$cart->id_currency = (int)($this->context->cookie->id_currency);
|
||||
$cart->id_guest = (int)($this->context->cookie->id_guest);
|
||||
$cart->id_group_shop = (int)$this->id_current_group_shop;
|
||||
$cart->id_shop = $this->id_current_shop;
|
||||
$cart->id_group_shop = (int)$this->context->shop->getGroupID();
|
||||
$cart->id_shop = $this->context->shop->getID(true);
|
||||
if ($this->context->cookie->id_customer)
|
||||
{
|
||||
$cart->id_customer = (int)($this->context->cookie->id_customer);
|
||||
@@ -247,7 +226,9 @@ class FrontControllerCore extends ControllerCore
|
||||
if (!defined('_PS_BASE_URL_SSL_'))
|
||||
define('_PS_BASE_URL_SSL_', Tools::getShopDomainSsl(true));
|
||||
|
||||
$this->canonicalRedirection();
|
||||
// Automatically redirect to the canonical URL if needed
|
||||
if (isset($this->php_self) && !empty($this->php_self) && !Tools::getValue('ajax'))
|
||||
$this->canonicalRedirection($this->context->link->getPageLink($this->php_self, $this->ssl, $this->context->language->id));
|
||||
|
||||
Product::initPricesComputation();
|
||||
|
||||
@@ -259,6 +240,7 @@ class FrontControllerCore extends ControllerCore
|
||||
if (Validate::isLoadedObject($country))
|
||||
$display_tax_label = $country->display_tax_label;
|
||||
}
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'link' => $link,
|
||||
'cart' => $cart,
|
||||
@@ -351,6 +333,64 @@ class FrontControllerCore extends ControllerCore
|
||||
$this->context->cart = $cart;
|
||||
$this->context->currency = $currency;
|
||||
$this->context->controller = $this;
|
||||
|
||||
$this->displayHeader();
|
||||
$this->displayFooter();
|
||||
}
|
||||
|
||||
public function action()
|
||||
{
|
||||
// For retrocompatibility
|
||||
if (method_exists($this, 'preProcess'))
|
||||
{
|
||||
Tools::displayAsDeprecated('Method preProcess() is deprecated in controllers, use method postProcess() instead');
|
||||
$this->preProcess();
|
||||
}
|
||||
|
||||
if (Tools::getValue('ajax') == 'true')
|
||||
{
|
||||
$this->displayHeader(false);
|
||||
$this->displayFooter(false);
|
||||
$this->ajaxProcess();
|
||||
}
|
||||
else
|
||||
$this->postProcess();
|
||||
|
||||
// Prepare generation of page display
|
||||
$this->processHeader();
|
||||
$this->process();
|
||||
$this->processFooter();
|
||||
}
|
||||
|
||||
public function ajaxProcess()
|
||||
{
|
||||
}
|
||||
|
||||
public function postProcess()
|
||||
{
|
||||
}
|
||||
|
||||
public function process()
|
||||
{
|
||||
}
|
||||
|
||||
public function display()
|
||||
{
|
||||
if ($this->displayHeader)
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'header.tpl');
|
||||
|
||||
if ($this->template)
|
||||
$this->context->smarty->display($this->template);
|
||||
|
||||
if ($this->displayFooter)
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'footer.tpl');
|
||||
|
||||
// live edit
|
||||
if (Tools::isSubmit('live_edit') AND $ad = Tools::getValue('ad') AND (Tools::getValue('liveToken') == sha1(Tools::getValue('ad')._COOKIE_KEY_)))
|
||||
{
|
||||
$this->context->smarty->assign(array('ad' => $ad, 'live_edit' => true));
|
||||
$this->context->smarty->display(_PS_ALL_THEMES_DIR_.'live_edit.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
/* Display a maintenance page if shop is closed */
|
||||
@@ -372,31 +412,28 @@ class FrontControllerCore extends ControllerCore
|
||||
exit;
|
||||
}
|
||||
|
||||
protected function canonicalRedirection()
|
||||
protected function canonicalRedirection($canonicalURL)
|
||||
{
|
||||
// Automatically redirect to the canonical URL if needed
|
||||
if (isset($this->php_self) AND !empty($this->php_self))
|
||||
if (!Configuration::get('PS_CANONICAL_REDIRECT'))
|
||||
return;
|
||||
|
||||
$matchUrl = (($this->ssl && Configuration::get('PS_SSL_ENABLED')) ? 'https://' : 'http://').$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
|
||||
if (!preg_match('/^'.Tools::pRegexp($canonicalURL, '/').'([&?].*)?$/', $matchUrl))
|
||||
{
|
||||
// $_SERVER['HTTP_HOST'] must be replaced by the real canonical domain
|
||||
$params = array();
|
||||
$excludedKey = array('isolang', 'id_lang', 'controller');
|
||||
foreach ($_GET as $key => $value)
|
||||
if (!in_array($key, $excludedKey))
|
||||
$params[] = $key.'='.$value;
|
||||
|
||||
$canonicalURL = $this->context->link->getPageLink($this->php_self, $this->ssl, $this->context->language->id);
|
||||
if (!Tools::getValue('ajax') && !preg_match('/^'.Tools::pRegexp($canonicalURL, '/').'([&?].*)?$/', (($this->ssl AND Configuration::get('PS_SSL_ENABLED')) ? 'https://' : 'http://').$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']))
|
||||
{
|
||||
header('HTTP/1.0 301 Moved');
|
||||
$params = array();
|
||||
$excludedKey = array('isolang', 'id_lang', 'controller');
|
||||
foreach ($_GET as $key => $value)
|
||||
if (!in_array($key, $excludedKey))
|
||||
$params[] = $key.'='.$value;
|
||||
if ($params)
|
||||
$params = ((strpos($canonicalURL, '?') === false) ? '?' : '&').implode('&', $params);
|
||||
else
|
||||
$params = '';
|
||||
$strParams = '';
|
||||
if ($params)
|
||||
$strParams = ((strpos($canonicalURL, '?') === false) ? '?' : '&').implode('&', $params);
|
||||
|
||||
if (defined('_PS_MODE_DEV_') AND _PS_MODE_DEV_ AND $_SERVER['REQUEST_URI'] != __PS_BASE_URI__)
|
||||
die('[Debug] This page has moved<br />Please use the following URL instead: <a href="'.$canonicalURL.$params.'">'.$canonicalURL.$params.'</a>');
|
||||
Tools::redirectLink($canonicalURL.$params);
|
||||
}
|
||||
header('HTTP/1.0 301 Moved');
|
||||
if (defined('_PS_MODE_DEV_') AND _PS_MODE_DEV_ AND $_SERVER['REQUEST_URI'] != __PS_BASE_URI__)
|
||||
die('[Debug] This page has moved<br />Please use the following URL instead: <a href="'.$canonicalURL.$strParams.'">'.$canonicalURL.$strParams.'</a>');
|
||||
Tools::redirectLink($canonicalURL.$strParams);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -459,10 +496,6 @@ class FrontControllerCore extends ControllerCore
|
||||
return false;
|
||||
}
|
||||
|
||||
public function preProcess()
|
||||
{
|
||||
}
|
||||
|
||||
public function setMedia()
|
||||
{
|
||||
$this->addCSS(_THEME_CSS_DIR_.'global.css', 'all');
|
||||
@@ -480,27 +513,14 @@ class FrontControllerCore extends ControllerCore
|
||||
$this->addCSS(_THEME_CSS_DIR_.'rtl.css');
|
||||
}
|
||||
|
||||
public function process()
|
||||
public function processHeader()
|
||||
{
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
Tools::safePostVars();
|
||||
$this->context->smarty->assign('errors', $this->errors);
|
||||
}
|
||||
|
||||
public function displayHeader()
|
||||
{
|
||||
if (!self::$initialized)
|
||||
$this->init();
|
||||
// if this function is called from a module, do a fast init
|
||||
else if (!$this->context)
|
||||
$this->context = Context::getContext();
|
||||
|
||||
// P3P Policies (http://www.w3.org/TR/2002/REC-P3P-20020416/#compact_policies)
|
||||
header('P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"');
|
||||
|
||||
Tools::safePostVars();
|
||||
$this->context->smarty->assign('errors', $this->errors);
|
||||
|
||||
/* Hooks are volontary out the initialize array (need those variables already assigned) */
|
||||
$this->context->smarty->assign(array(
|
||||
'time' => time(),
|
||||
@@ -531,39 +551,18 @@ class FrontControllerCore extends ControllerCore
|
||||
|
||||
$this->context->smarty->assign('css_files', $this->css_files);
|
||||
$this->context->smarty->assign('js_files', array_unique($this->js_files));
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'header.tpl');
|
||||
}
|
||||
|
||||
public function displayFooter()
|
||||
public function processFooter()
|
||||
{
|
||||
if (!self::$initialized)
|
||||
$this->init();
|
||||
// if this function is called from a module, do a fast init
|
||||
else if (!$this->context)
|
||||
$this->context = Context::getContext();
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'HOOK_RIGHT_COLUMN' => Module::hookExec('rightColumn', array('cart' => $this->context->cart)),
|
||||
'HOOK_FOOTER' => Module::hookExec('footer'),
|
||||
'content_only' => (int)(Tools::getValue('content_only'))));
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'footer.tpl');
|
||||
//live edit
|
||||
if (Tools::isSubmit('live_edit') AND $ad = Tools::getValue('ad') AND (Tools::getValue('liveToken') == sha1(Tools::getValue('ad')._COOKIE_KEY_)))
|
||||
{
|
||||
$this->context->smarty->assign(array('ad' => $ad, 'live_edit' => true));
|
||||
$this->context->smarty->display(_PS_ALL_THEMES_DIR_.'live_edit.tpl');
|
||||
}
|
||||
else
|
||||
Tools::displayError();
|
||||
));
|
||||
}
|
||||
|
||||
public function productSort()
|
||||
{
|
||||
if (!self::$initialized)
|
||||
$this->init();
|
||||
elseif (!$this->context)
|
||||
$this->context = Context::getContext();
|
||||
|
||||
// $this->orderBy = Tools::getProductsOrder('by', Tools::getValue('orderby'));
|
||||
// $this->orderWay = Tools::getProductsOrder('way', Tools::getValue('orderway'));
|
||||
// 'orderbydefault' => Tools::getProductsOrder('by'),
|
||||
|
||||
@@ -38,9 +38,10 @@ class AddressControllerCore extends FrontController
|
||||
|
||||
protected $_address;
|
||||
|
||||
public function preProcess()
|
||||
public function init()
|
||||
{
|
||||
parent::preProcess();
|
||||
parent::init();
|
||||
|
||||
if ($back = Tools::getValue('back'))
|
||||
$this->context->smarty->assign('back', Tools::safeOutput($back));
|
||||
if ($mod = Tools::getValue('mod'))
|
||||
@@ -267,6 +268,8 @@ class AddressControllerCore extends FrontController
|
||||
'token' => Tools::getToken(false),
|
||||
'select_address' => (int)(Tools::getValue('select_address'))
|
||||
));
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'address.tpl');
|
||||
}
|
||||
|
||||
protected function _processAddressFormat()
|
||||
@@ -284,14 +287,6 @@ class AddressControllerCore extends FrontController
|
||||
parent::displayHeader();
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
|
||||
$this->_processAddressFormat();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'address.tpl');
|
||||
}
|
||||
|
||||
public function displayFooter()
|
||||
{
|
||||
if (Tools::getValue('ajax') != 'true')
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -31,42 +31,41 @@ class AddressesControllerCore extends FrontController
|
||||
public $php_self = 'addresses';
|
||||
public $authRedirection = 'addresses';
|
||||
public $ssl = true;
|
||||
|
||||
|
||||
public function setMedia()
|
||||
{
|
||||
parent::setMedia();
|
||||
$this->addCSS(_THEME_CSS_DIR_.'addresses.css');
|
||||
$this->addJS(_THEME_JS_DIR_.'tools.js');
|
||||
}
|
||||
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
$multipleAddressesFormated = array();
|
||||
$ordered_fields = array();
|
||||
$customer = $this->context->customer;
|
||||
|
||||
if (!Validate::isLoadedObject($customer))
|
||||
die(Tools::displayError('Customer not found'));
|
||||
|
||||
|
||||
// Retro Compatibility Theme < 1.4.1
|
||||
$this->context->smarty->assign('addresses', $customer->getAddresses($this->context->language->id));
|
||||
|
||||
|
||||
$customerAddressesDetailed = $customer->getAddresses($this->context->language->id);
|
||||
|
||||
|
||||
$total = 0;
|
||||
foreach($customerAddressesDetailed as $addressDetailed)
|
||||
{
|
||||
$address = new Address($addressDetailed['id_address']);
|
||||
|
||||
|
||||
$multipleAddressesFormated[$total] = AddressFormat::getFormattedLayoutData($address);
|
||||
unset($address);
|
||||
++$total;
|
||||
|
||||
|
||||
// Retro theme < 1.4.2
|
||||
$ordered_fields = AddressFormat::getOrderedAddressFields($addressDetailed['id_country'], false, true);
|
||||
}
|
||||
|
||||
|
||||
// Retro theme 1.4.2
|
||||
if (($key = array_search('Country:name', $ordered_fields)))
|
||||
$ordered_fields[$key] = 'country';
|
||||
@@ -84,16 +83,12 @@ class AddressesControllerCore extends FrontController
|
||||
,'phone_mobile' => 'address_phone_mobile'
|
||||
,'alias' => 'address_title'
|
||||
));
|
||||
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'multipleAddresses' => $multipleAddressesFormated,
|
||||
'ordered_fields' => $ordered_fields));
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'addresses.tpl');
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'addresses.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,8 +29,6 @@ class AttachmentControllerCore extends FrontController
|
||||
{
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
|
||||
$a = new Attachment(Tools::getValue('id_attachment'), $this->context->language->id);
|
||||
if (!$a->id)
|
||||
Tools::redirect('index.php');
|
||||
@@ -30,9 +30,9 @@ class AuthControllerCore extends FrontController
|
||||
public $ssl = true;
|
||||
public $php_self = 'authentication';
|
||||
|
||||
public function preProcess()
|
||||
public function init()
|
||||
{
|
||||
parent::preProcess();
|
||||
parent::init();
|
||||
|
||||
if ($this->context->customer->isLogged() AND !Tools::isSubmit('ajax'))
|
||||
Tools::redirect('index.php?controller=my-account');
|
||||
@@ -381,14 +381,9 @@ class AuthControllerCore extends FrontController
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
$this->processAddressFormat();
|
||||
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'authentication.tpl');
|
||||
$this->setTemplate(_PS_THEME_DIR_.'authentication.tpl');
|
||||
}
|
||||
|
||||
protected function processAddressFormat()
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -28,19 +28,21 @@
|
||||
class BestSalesControllerCore extends FrontController
|
||||
{
|
||||
public $php_self = 'best-sales';
|
||||
|
||||
|
||||
public function process()
|
||||
{
|
||||
$this->productSort();
|
||||
$nbProducts = (int)ProductSale::getNbSales();
|
||||
$this->pagination($nbProducts);
|
||||
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'products' => ProductSale::getBestSales($this->context->language->id, $this->p - 1, $this->n, $this->orderBy, $this->orderWay),
|
||||
'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
|
||||
'nbProducts' => $nbProducts,
|
||||
'homeSize' => Image::getSize('home')
|
||||
));
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'best-sales.tpl');
|
||||
}
|
||||
|
||||
public function setMedia()
|
||||
@@ -48,11 +50,5 @@ class BestSalesControllerCore extends FrontController
|
||||
parent::setMedia();
|
||||
$this->addCSS(_THEME_CSS_DIR_.'product_list.css');
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'best-sales.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -28,60 +28,47 @@
|
||||
class CartControllerCore extends FrontController
|
||||
{
|
||||
public $php_self = 'cart';
|
||||
|
||||
|
||||
// This is not a public page, so the canonical redirection is disabled
|
||||
public function canonicalRedirection(){}
|
||||
|
||||
public function run()
|
||||
{
|
||||
$this->init();
|
||||
$this->preProcess();
|
||||
|
||||
if (Tools::getValue('ajax') == 'true')
|
||||
public function ajaxProcess()
|
||||
{
|
||||
if (Tools::getIsset('summary'))
|
||||
{
|
||||
if (Tools::getIsset('summary'))
|
||||
if (Configuration::get('PS_ORDER_PROCESS_TYPE') == 1)
|
||||
{
|
||||
if (Configuration::get('PS_ORDER_PROCESS_TYPE') == 1)
|
||||
{
|
||||
if (Validate::isLoadedObject($this->context->customer))
|
||||
$groups = $this->context->customer->getGroups();
|
||||
else
|
||||
$groups = array(1);
|
||||
if ($this->context->cart->id_address_delivery)
|
||||
$deliveryAddress = new Address($this->context->cart->id_address_delivery);
|
||||
$result = array('carriers' => Carrier::getCarriersForOrder(Country::getIdZone((isset($deliveryAddress) AND (int)$deliveryAddress->id) ? (int)$deliveryAddress->id_country : (int)Configuration::get('PS_COUNTRY_DEFAULT')), $groups));
|
||||
}
|
||||
$result['summary'] = $this->context->cart->getSummaryDetails();
|
||||
$result['customizedDatas'] = Product::getAllCustomizedDatas($this->context->cart->id, null, true);
|
||||
$result['HOOK_SHOPPING_CART'] = Module::hookExec('shoppingCart', $result['summary']);
|
||||
$result['HOOK_SHOPPING_CART_EXTRA'] = Module::hookExec('shoppingCartExtra', $result['summary']);
|
||||
// Display reduced price (or not) without quantity discount
|
||||
if (Tools::getIsset('getproductprice'))
|
||||
foreach ($result['summary']['products'] as $key => $product)
|
||||
$result['summary']['products'][$key]['price_without_quantity_discount'] = Product::getPriceStatic($product['id_product'], !Product::getTaxCalculationMethod(), $product['id_product_attribute']);
|
||||
die(Tools::jsonEncode($result));
|
||||
if (Validate::isLoadedObject($this->context->customer))
|
||||
$groups = $this->context->customer->getGroups();
|
||||
else
|
||||
$groups = array(1);
|
||||
if ($this->context->cart->id_address_delivery)
|
||||
$deliveryAddress = new Address($this->context->cart->id_address_delivery);
|
||||
$result = array('carriers' => Carrier::getCarriersForOrder(Country::getIdZone((isset($deliveryAddress) AND (int)$deliveryAddress->id) ? (int)$deliveryAddress->id_country : (int)Configuration::get('PS_COUNTRY_DEFAULT')), $groups));
|
||||
}
|
||||
else
|
||||
$this->includeCartModule();
|
||||
$result['summary'] = $this->context->cart->getSummaryDetails();
|
||||
$result['customizedDatas'] = Product::getAllCustomizedDatas($this->context->cart->id, null, true);
|
||||
$result['HOOK_SHOPPING_CART'] = Module::hookExec('shoppingCart', $result['summary']);
|
||||
$result['HOOK_SHOPPING_CART_EXTRA'] = Module::hookExec('shoppingCartExtra', $result['summary']);
|
||||
// Display reduced price (or not) without quantity discount
|
||||
if (Tools::getIsset('getproductprice'))
|
||||
foreach ($result['summary']['products'] as $key => $product)
|
||||
$result['summary']['products'][$key]['price_without_quantity_discount'] = Product::getPriceStatic($product['id_product'], !Product::getTaxCalculationMethod(), $product['id_product_attribute']);
|
||||
die(Tools::jsonEncode($result));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->setMedia();
|
||||
$this->displayHeader();
|
||||
$this->process();
|
||||
$this->displayContent();
|
||||
$this->displayFooter();
|
||||
}
|
||||
$this->includeCartModule();
|
||||
}
|
||||
|
||||
public function includeCartModule()
|
||||
{
|
||||
require_once(_PS_MODULE_DIR_.'/blockcart/blockcart-ajax.php');
|
||||
require_once(_PS_MODULE_DIR_.'/blockcart/blockcart-ajax.php');
|
||||
}
|
||||
|
||||
public function preProcess()
|
||||
public function init()
|
||||
{
|
||||
parent::preProcess();
|
||||
parent::init();
|
||||
|
||||
$orderTotal = $this->context->cart->getOrderTotal(true, Cart::ONLY_PRODUCTS);
|
||||
$this->cartDiscounts = $this->context->cart->getDiscounts();
|
||||
foreach ($this->cartDiscounts AS $k => $this->cartDiscount)
|
||||
@@ -165,7 +152,7 @@ class CartControllerCore extends FrontController
|
||||
die('{"hasError" : true, "errors" : ["'.Tools::displayError('Cannot add this product because current voucher does not allow additional discounts.').'"]}');
|
||||
else
|
||||
$this->errors[] = Tools::displayError('Cannot add this product because current voucher does not allow additional discounts.');
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
if (!sizeof($this->errors))
|
||||
@@ -254,11 +241,7 @@ class CartControllerCore extends FrontController
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'errors.tpl');
|
||||
$this->setTemplate(_PS_THEME_DIR_.'errors.tpl');
|
||||
}
|
||||
}
|
||||
@@ -48,30 +48,17 @@ class CategoryControllerCore extends FrontController
|
||||
parent::displayHeader();
|
||||
$this->productSort();
|
||||
}
|
||||
|
||||
|
||||
public function canonicalRedirection()
|
||||
{
|
||||
if (Configuration::get('PS_CANONICAL_REDIRECT') && !Tools::getValue('noredirect'))
|
||||
{
|
||||
// Automatically redirect to the canonical URL if the current in is the right one
|
||||
// $_SERVER['HTTP_HOST'] must be replaced by the real canonical domain
|
||||
if (Validate::isLoadedObject($this->category))
|
||||
{
|
||||
$currentURL = $this->context->link->getCategoryLink($this->category);
|
||||
$currentURL = preg_replace('/[?&].*$/', '', $currentURL);
|
||||
if (!preg_match('/^'.Tools::pRegexp($currentURL, '/').'([&?].*)?$/', Tools::getProtocol().$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']))
|
||||
{
|
||||
header('HTTP/1.0 301 Moved');
|
||||
if (defined('_PS_MODE_DEV_') AND _PS_MODE_DEV_ )
|
||||
die('[Debug] This page has moved<br />Please use the following URL instead: <a href="'.$currentURL.'">'.$currentURL.'</a>');
|
||||
Tools::redirectLink($currentURL);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!Tools::getValue('noredirect') && Validate::isLoadedObject($this->category))
|
||||
parent::canonicalRedirection($this->context->link->getCategoryLink($this->category));
|
||||
}
|
||||
|
||||
public function preProcess()
|
||||
public function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
if ($id_category = (int)Tools::getValue('id_category'))
|
||||
$this->category = new Category($id_category, $this->context->language->id);
|
||||
if (!Validate::isLoadedObject($this->category))
|
||||
@@ -81,8 +68,6 @@ class CategoryControllerCore extends FrontController
|
||||
}
|
||||
else
|
||||
$this->canonicalRedirection();
|
||||
|
||||
parent::preProcess();
|
||||
}
|
||||
|
||||
public function process()
|
||||
@@ -105,7 +90,7 @@ class CategoryControllerCore extends FrontController
|
||||
/* Scenes (could be externalised to another controler if you need them */
|
||||
$scenes = Scene::getScenes($this->category->id, $this->context->language->id, true, false);
|
||||
$this->context->smarty->assign('scenes', $scenes);
|
||||
|
||||
|
||||
/* Scenes images formats */
|
||||
if (sizeof($scenes))
|
||||
{
|
||||
@@ -125,8 +110,8 @@ class CategoryControllerCore extends FrontController
|
||||
|
||||
$this->category->description = Tools::nl2br($this->category->description);
|
||||
$subCategories = $this->category->getSubCategories($this->context->language->id);
|
||||
$this->context->smarty->assign('category', $this->category);
|
||||
|
||||
$this->context->smarty->assign('category', $this->category);
|
||||
|
||||
if (isset($subCategories) AND !empty($subCategories) AND $subCategories)
|
||||
{
|
||||
$this->context->smarty->assign('subcategories', $subCategories);
|
||||
@@ -150,9 +135,9 @@ class CategoryControllerCore extends FrontController
|
||||
'thumbSceneSize' => Image::getSize('thumb_scene'),
|
||||
'homeSize' => Image::getSize('home')
|
||||
));
|
||||
|
||||
|
||||
if (isset($this->context->customer->id))
|
||||
$this->context->smarty->assign('compareProducts', CompareProduct::getCustomerCompareProducts($this->context->customer->id));
|
||||
$this->context->smarty->assign('compareProducts', CompareProduct::getCustomerCompareProducts($this->context->customer->id));
|
||||
elseif (isset($this->context->customer->id_guest))
|
||||
$this->context->smarty->assign('compareProducts', CompareProduct::getGuestCompareProducts($this->context->customer->id_guest));
|
||||
}
|
||||
@@ -163,6 +148,8 @@ class CategoryControllerCore extends FrontController
|
||||
'comparator_max_item' => (int)(Configuration::get('PS_COMPARATOR_MAX_ITEM')),
|
||||
'suppliers' => Supplier::getSuppliers()
|
||||
));
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'category.tpl');
|
||||
}
|
||||
|
||||
public function productListAssign()
|
||||
@@ -180,11 +167,5 @@ class CategoryControllerCore extends FrontController
|
||||
$this->pagination((int)$this->nbProducts);
|
||||
self::$smarty->assign('nb_products', (int)$this->nbProducts);
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'category.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
+1
-9
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -29,8 +29,6 @@ class ChangeCurrencyControllerCore extends FrontController
|
||||
{
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
|
||||
$currency = new Currency((int)Tools::getValue('id_currency'));
|
||||
if (Validate::isLoadedObject($currency) AND !$currency->deleted)
|
||||
{
|
||||
@@ -39,10 +37,4 @@ class ChangeCurrencyControllerCore extends FrontController
|
||||
}
|
||||
die('0');
|
||||
}
|
||||
|
||||
public function run()
|
||||
{
|
||||
$this->init();
|
||||
$this->process();
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -31,43 +31,25 @@ class CmsControllerCore extends FrontController
|
||||
public $assignCase;
|
||||
public $cms;
|
||||
public $cms_category;
|
||||
|
||||
|
||||
public function canonicalRedirection()
|
||||
{
|
||||
// Automatically redirect to the canonical URL if the current in is the right one
|
||||
// $_SERVER['HTTP_HOST'] must be replaced by the real canonical domain
|
||||
|
||||
if (Configuration::get('PS_CANONICAL_REDIRECT'))
|
||||
{
|
||||
if (Validate::isLoadedObject($this->cms) AND $canonicalURL = $this->context->link->getCMSLink($this->cms))
|
||||
if (!preg_match('/^'.Tools::pRegexp($canonicalURL, '/').'([&?].*)?$/', Tools::getProtocol().$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']))
|
||||
{
|
||||
header('HTTP/1.0 301 Moved');
|
||||
if (_PS_MODE_DEV_)
|
||||
die('[Debug] This page has moved<br />Please use the following URL instead: <a href="'.$canonicalURL.'">'.$canonicalURL.'</a>');
|
||||
Tools::redirectLink($canonicalURL);
|
||||
}
|
||||
if (Validate::isLoadedObject($this->cms_category) AND $canonicalURL = $this->context->link->getCMSCategoryLink($this->cms_category))
|
||||
if (!preg_match('/^'.Tools::pRegexp($canonicalURL, '/').'([&?].*)?$/', Tools::getProtocol().$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']))
|
||||
{
|
||||
header('HTTP/1.0 301 Moved');
|
||||
if (_PS_MODE_DEV_ )
|
||||
die('[Debug] This page has moved<br />Please use the following URL instead: <a href="'.$canonicalURL.'">'.$canonicalURL.'</a>');
|
||||
Tools::redirectLink($canonicalURL);
|
||||
}
|
||||
}
|
||||
if (Validate::isLoadedObject($this->cms) && ($canonicalURL = $this->context->link->getCMSLink($this->cms)))
|
||||
parent::canonicalRedirection($canonicalURL);
|
||||
else if (Validate::isLoadedObject($this->cms_category) && ($canonicalURL = $this->context->link->getCMSCategoryLink($this->cms_category)))
|
||||
parent::canonicalRedirection($canonicalURL);
|
||||
}
|
||||
|
||||
public function preProcess()
|
||||
|
||||
public function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
if ($id_cms = (int)Tools::getValue('id_cms'))
|
||||
$this->cms = new CMS($id_cms, $this->context->language->id);
|
||||
$this->cms = new CMS($id_cms, $this->context->language->id);
|
||||
elseif ($id_cms_category = (int)Tools::getValue('id_cms_category'))
|
||||
$this->cms_category = new CMSCategory($id_cms_category, $this->context->language->id);
|
||||
$this->cms_category = new CMSCategory($id_cms_category, $this->context->language->id);
|
||||
$this->canonicalRedirection();
|
||||
|
||||
parent::preProcess();
|
||||
|
||||
|
||||
/* assignCase (1 = CMS page, 2 = CMS category) */
|
||||
if (Validate::isLoadedObject($this->cms) AND ($this->cms->isAssociatedToShop() AND $this->cms->active OR (Tools::getValue('adtoken') == Tools::encrypt('PreviewCMS'.$this->cms->id) AND file_exists(dirname(__FILE__).'/../'.Tools::getValue('ad').'/ajax.php'))))
|
||||
$this->assignCase = 1;
|
||||
@@ -76,17 +58,17 @@ class CmsControllerCore extends FrontController
|
||||
else
|
||||
Tools::redirect('index.php?controller=404');
|
||||
}
|
||||
|
||||
|
||||
public function setMedia()
|
||||
{
|
||||
parent::setMedia();
|
||||
|
||||
|
||||
if ($this->assignCase == 1)
|
||||
$this->addJS(_THEME_JS_DIR_.'cms.js');
|
||||
|
||||
|
||||
$this->addCSS(_THEME_CSS_DIR_.'cms.css');
|
||||
}
|
||||
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
@@ -111,11 +93,7 @@ class CmsControllerCore extends FrontController
|
||||
'path' => ($this->cms_category->id !== 1) ? Tools::getPath($this->cms_category->id, $this->cms_category->name, false, 'CMS') : '',
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'cms.tpl');
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'cms.tpl');
|
||||
}
|
||||
}
|
||||
@@ -28,23 +28,23 @@
|
||||
class CompareControllerCore extends FrontController
|
||||
{
|
||||
public $php_self = 'products-comparison';
|
||||
|
||||
|
||||
public function setMedia()
|
||||
{
|
||||
parent::setMedia();
|
||||
$this->addCSS(_THEME_CSS_DIR_.'/comparator.css');
|
||||
|
||||
|
||||
if (Configuration::get('PS_COMPARATOR_MAX_ITEM') > 0)
|
||||
$this->addJS(_THEME_JS_DIR_.'products-comparison.js');
|
||||
}
|
||||
|
||||
public function preProcess()
|
||||
public function init()
|
||||
{
|
||||
parent::preProcess();
|
||||
|
||||
parent::init();
|
||||
|
||||
//Add or remove product with Ajax
|
||||
if (Tools::getValue('ajax') AND Tools::getValue('id_product') AND Tools::getValue('action'))
|
||||
{
|
||||
{
|
||||
if (Tools::getValue('action') == 'add')
|
||||
{
|
||||
if (isset($this->context->customer->id))
|
||||
@@ -53,7 +53,7 @@ class CompareControllerCore extends FrontController
|
||||
CompareProduct::addCustomerCompareProduct((int)$this->context->customer->id, (int)Tools::getValue('id_product'));
|
||||
else
|
||||
die('0');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((isset($this->context->customer->id_guest) AND CompareProduct::getGuestNumberProducts($this->context->customer->id_guest) < Configuration::get('PS_COMPARATOR_MAX_ITEM')))
|
||||
@@ -65,7 +65,7 @@ class CompareControllerCore extends FrontController
|
||||
elseif (Tools::getValue('action') == 'remove')
|
||||
{
|
||||
if (isset($this->context->customer->id))
|
||||
CompareProduct::removeCustomerCompareProduct((int)$this->context->customer->id, (int)Tools::getValue('id_product'));
|
||||
CompareProduct::removeCustomerCompareProduct((int)$this->context->customer->id, (int)Tools::getValue('id_product'));
|
||||
elseif (isset($this->context->customer->id_guest))
|
||||
CompareProduct::removeGuestCompareProduct((int)$this->context->customer->id_guest, (int)Tools::getValue('id_product'));
|
||||
else
|
||||
@@ -73,18 +73,16 @@ class CompareControllerCore extends FrontController
|
||||
}
|
||||
else
|
||||
die('0');
|
||||
|
||||
|
||||
die('1');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
|
||||
//Clean compare product table
|
||||
CompareProduct::cleanCompareProducts('week');
|
||||
|
||||
|
||||
$hasProduct = false;
|
||||
|
||||
if (!Configuration::get('PS_COMPARATOR_MAX_ITEM'))
|
||||
@@ -161,12 +159,8 @@ class CompareControllerCore extends FrontController
|
||||
}
|
||||
}
|
||||
$this->context->smarty->assign('hasProduct', $hasProduct);
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'products-comparison.tpl');
|
||||
$this->setTemplate(_PS_THEME_DIR_.'products-comparison.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,16 +27,12 @@
|
||||
|
||||
class ContactControllerCore extends FrontController
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->php_self = 'contact';
|
||||
$this->ssl = true;
|
||||
parent::__construct();
|
||||
}
|
||||
public $php_self = 'contact';
|
||||
public $ssl = true;
|
||||
|
||||
public function preProcess()
|
||||
public function init()
|
||||
{
|
||||
parent::preProcess();
|
||||
parent::init();
|
||||
|
||||
if ($this->context->customer->isLogged())
|
||||
{
|
||||
@@ -105,7 +101,7 @@ class ContactControllerCore extends FrontController
|
||||
$id_customer_thread = (int)Tools::getValue('id_customer_thread')
|
||||
AND (int)Db::getInstance()->getValue('
|
||||
SELECT cm.id_customer_thread FROM '._DB_PREFIX_.'customer_thread cm
|
||||
WHERE cm.id_customer_thread = '.(int)$id_customer_thread.' AND cm.id_shop = '.(int)$this->id_current_shop.' AND token = \''.pSQL(Tools::getValue('token')).'\'')
|
||||
WHERE cm.id_customer_thread = '.(int)$id_customer_thread.' AND cm.id_shop = '.(int)$this->context->shop->getID(true).' AND token = \''.pSQL(Tools::getValue('token')).'\'')
|
||||
) OR (
|
||||
$id_customer_thread = CustomerThread::getIdCustomerThreadByEmailAndIdOrder($from, (int)Tools::getValue('id_order'))
|
||||
)))
|
||||
@@ -113,7 +109,7 @@ class ContactControllerCore extends FrontController
|
||||
$fields = Db::getInstance()->ExecuteS('
|
||||
SELECT cm.id_customer_thread, cm.id_contact, cm.id_customer, cm.id_order, cm.id_product, cm.email
|
||||
FROM '._DB_PREFIX_.'customer_thread cm
|
||||
WHERE email = \''.pSQL($from).'\' AND cm.id_shop = '.(int)$this->id_current_shop.' AND ('.
|
||||
WHERE email = \''.pSQL($from).'\' AND cm.id_shop = '.(int)$this->context->shop->getID(true).' AND ('.
|
||||
($customer->id ? 'id_customer = '.(int)($customer->id).' OR ' : '').'
|
||||
id_order = '.(int)(Tools::getValue('id_order')).')');
|
||||
$score = 0;
|
||||
@@ -140,7 +136,7 @@ class ContactControllerCore extends FrontController
|
||||
$old_message = Db::getInstance()->getValue('
|
||||
SELECT cm.message FROM '._DB_PREFIX_.'customer_message cm
|
||||
LEFT JOIN '._DB_PREFIX_.'customer_thread cc on (cm.id_customer_thread = cc.id_customer_thread)
|
||||
WHERE cc.id_customer_thread = '.(int)($id_customer_thread).' AND cc.id_shop = '.(int)$this->id_current_shop.'
|
||||
WHERE cc.id_customer_thread = '.(int)($id_customer_thread).' AND cc.id_shop = '.(int)$this->context->shop->getID(true).'
|
||||
ORDER BY cm.date_add DESC');
|
||||
if ($old_message == htmlentities($message, ENT_COMPAT, 'UTF-8'))
|
||||
{
|
||||
@@ -176,7 +172,7 @@ class ContactControllerCore extends FrontController
|
||||
$ct = new CustomerThread();
|
||||
if (isset($customer->id))
|
||||
$ct->id_customer = (int)($customer->id);
|
||||
$ct->id_shop = (int)$this->id_current_shop;
|
||||
$ct->id_shop = (int)$this->context->shop->getID(true);
|
||||
if ($id_order = (int)Tools::getValue('id_order'))
|
||||
$ct->id_order = $id_order;
|
||||
if ($id_product = (int)Tools::getValue('id_product'))
|
||||
@@ -224,8 +220,6 @@ class ContactControllerCore extends FrontController
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
|
||||
$email = Tools::safeOutput(Tools::getValue('from', ((isset($this->context->cookie) AND isset($this->context->cookie->email) AND Validate::isEmail($this->context->cookie->email)) ? $this->context->cookie->email : '')));
|
||||
$this->context->smarty->assign(array(
|
||||
'errors' => $this->errors,
|
||||
@@ -238,19 +232,17 @@ class ContactControllerCore extends FrontController
|
||||
{
|
||||
$customerThread = Db::getInstance()->getRow('
|
||||
SELECT cm.* FROM '._DB_PREFIX_.'customer_thread cm
|
||||
WHERE cm.id_customer_thread = '.(int)$id_customer_thread.' AND cm.id_shop = '.(int)$this->id_current_shop.' AND token = \''.pSQL($token).'\'');
|
||||
WHERE cm.id_customer_thread = '.(int)$id_customer_thread.' AND cm.id_shop = '.(int)$this->context->shop->getID(true).' AND token = \''.pSQL($token).'\'');
|
||||
$this->context->smarty->assign('customerThread', $customerThread);
|
||||
}
|
||||
$this->context->smarty->assign(array('contacts' => Contact::getContacts($this->context->language->id),
|
||||
'message' => html_entity_decode(Tools::getValue('message'))
|
||||
));
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
$_POST = array_merge($_POST, $_GET);
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'contact-form.tpl');
|
||||
// @todo I don't know who did this code, but it's not me
|
||||
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'contact-form.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -31,11 +31,9 @@ class DiscountControllerCore extends FrontController
|
||||
public $php_self = 'discount';
|
||||
public $authRedirection = 'discount';
|
||||
public $ssl = true;
|
||||
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
|
||||
$discounts = Discount::getCustomerDiscounts($this->context->language->id, $this->context->customer->id, true, false);
|
||||
$nbDiscounts = 0;
|
||||
foreach ($discounts AS $discount)
|
||||
@@ -43,12 +41,7 @@ class DiscountControllerCore extends FrontController
|
||||
$nbDiscounts++;
|
||||
|
||||
$this->context->smarty->assign(array('nbDiscounts' => (int)($nbDiscounts), 'discount' => $discounts));
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'discount.tpl');
|
||||
$this->setTemplate(_PS_THEME_DIR_.'discount.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -27,15 +27,11 @@
|
||||
|
||||
class GetFileControllerCore extends FrontController
|
||||
{
|
||||
public function run()
|
||||
{
|
||||
$this->init();
|
||||
$this->preProcess();
|
||||
$this->process();
|
||||
}
|
||||
|
||||
public function process()
|
||||
{
|
||||
$this->displayHeader(false);
|
||||
$this->displayFooter(false);
|
||||
|
||||
if (isset($this->context->employee) && $this->context->employee->isLoggedBack() AND Tools::getValue('file'))
|
||||
{
|
||||
/* Admin can directly access to file */
|
||||
@@ -52,7 +48,7 @@ class GetFileControllerCore extends FrontController
|
||||
else
|
||||
$filename = 'file';
|
||||
}
|
||||
|
||||
|
||||
if (!file_exists($file))
|
||||
Tools::redirect('index.php');
|
||||
}
|
||||
@@ -60,7 +56,7 @@ class GetFileControllerCore extends FrontController
|
||||
{
|
||||
if (!($key = Tools::getValue('key')))
|
||||
$this->displayCustomError('Invalid key.');
|
||||
|
||||
|
||||
Tools::setCookieLanguage();
|
||||
if (!$this->context->customer->isLogged() AND !Tools::getValue('secure_key') AND !Tools::getValue('id_order'))
|
||||
Tools::redirect('index.php?controller=authentication&back=get-file.php&key='.$key);
|
||||
@@ -72,45 +68,45 @@ class GetFileControllerCore extends FrontController
|
||||
if ($order->secure_key != Tools::getValue('secure_key'))
|
||||
$this->displayCustomError('Invalid key.');
|
||||
}
|
||||
|
||||
|
||||
/* Key format: <sha1-filename>-<hashOrder> */
|
||||
$tmp = explode('-', $key);
|
||||
if (sizeof($tmp) != 2)
|
||||
$this->displayCustomError('Invalid key.');
|
||||
|
||||
|
||||
$filename = $tmp[0];
|
||||
$hash = $tmp[1];
|
||||
|
||||
|
||||
if (!($info = OrderDetail::getDownloadFromHash($hash)))
|
||||
$this->displayCustomError('This product does not exist in our store.');
|
||||
|
||||
|
||||
/* Product no more present in catalog */
|
||||
if (!isset($info['id_product_download']) OR empty($info['id_product_download']))
|
||||
$this->displayCustomError('This product has been deleted.');
|
||||
|
||||
|
||||
if (!file_exists(_PS_DOWNLOAD_DIR_.$filename))
|
||||
$this->displayCustomError('This file no longer exists.');
|
||||
|
||||
|
||||
$now = time();
|
||||
|
||||
|
||||
$product_deadline = strtotime($info['download_deadline']);
|
||||
if ($now > $product_deadline AND $info['download_deadline'] != '0000-00-00 00:00:00')
|
||||
$this->displayCustomError('The product deadline is in the past.');
|
||||
|
||||
|
||||
$customer_deadline = strtotime($info['date_expiration']);
|
||||
if ($now > $customer_deadline AND $info['date_expiration'] != '0000-00-00 00:00:00')
|
||||
$this->displayCustomError('Expiration date exceeded');
|
||||
|
||||
|
||||
if ($info['download_nb'] >= $info['nb_downloadable'] AND $info['nb_downloadable'])
|
||||
$this->displayCustomError('You have reached the maximum number of allowed downloads.');
|
||||
|
||||
|
||||
/* Access is authorized -> increment download value for the customer */
|
||||
OrderDetail::incrementDownload($info['id_order_detail']);
|
||||
|
||||
|
||||
$file = _PS_DOWNLOAD_DIR_.$info['physically_filename'];
|
||||
$filename = $info['display_filename'];
|
||||
}
|
||||
|
||||
|
||||
/* Detect mime content type */
|
||||
$mimeType = false;
|
||||
if (function_exists('finfo_open'))
|
||||
@@ -122,20 +118,20 @@ class GetFileControllerCore extends FrontController
|
||||
elseif (function_exists('mime_content_type'))
|
||||
$mimeType = @mime_content_type($file);
|
||||
elseif (function_exists('exec'))
|
||||
{
|
||||
{
|
||||
$mimeType = trim(@exec('file -b --mime-type '.escapeshellarg($file)));
|
||||
if (!$mimeType)
|
||||
$mimeType = trim(@exec('file --mime '.escapeshellarg($file)));
|
||||
if (!$mimeType)
|
||||
$mimeType = trim(@exec('file -bi '.escapeshellarg($file)));
|
||||
}
|
||||
|
||||
|
||||
if (empty($mimeType))
|
||||
{
|
||||
$bName = basename($filename);
|
||||
$bName = explode('.', $bName);
|
||||
$bName = strtolower($bName[count($bName) - 1]);
|
||||
|
||||
|
||||
$mimeTypes = array(
|
||||
'ez' => 'application/andrew-inset',
|
||||
'hqx' => 'application/mac-binhex40',
|
||||
@@ -264,14 +260,14 @@ class GetFileControllerCore extends FrontController
|
||||
'avi' => 'video/x-msvideo',
|
||||
'movie' => 'video/x-sgi-movie',
|
||||
'ice' => 'x-conference-xcooltalk');
|
||||
|
||||
|
||||
if (isset($mimeTypes[$bName]))
|
||||
$mimeType = $mimeTypes[$bName];
|
||||
else
|
||||
$mimeType = 'application/octet-stream';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* Set headers for download */
|
||||
header('Content-Transfer-Encoding: binary');
|
||||
header('Content-Type: '.$mimeType);
|
||||
@@ -281,10 +277,10 @@ class GetFileControllerCore extends FrontController
|
||||
$fp = fopen($file, 'rb');
|
||||
while (!feof($fp))
|
||||
echo fgets($fp, 16384);
|
||||
|
||||
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
protected function displayCustomError($msg)
|
||||
{
|
||||
$translations = array(
|
||||
+17
-26
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -28,21 +28,17 @@
|
||||
class GuestTrackingControllerCore extends FrontController
|
||||
{
|
||||
public $php_self = 'guest-tracking';
|
||||
|
||||
public function preProcess()
|
||||
|
||||
public function init()
|
||||
{
|
||||
parent::preProcess();
|
||||
|
||||
parent::init();
|
||||
|
||||
if ($this->context->customer->isLogged())
|
||||
Tools::redirect('index.php?controller=history');
|
||||
}
|
||||
|
||||
|
||||
public function process()
|
||||
{
|
||||
global $link;
|
||||
|
||||
parent::process();
|
||||
|
||||
if ($id_order = Tools::getValue('id_order') AND $email = Tools::getValue('email'))
|
||||
{
|
||||
$order = new Order((int)$id_order);
|
||||
@@ -59,17 +55,17 @@ class GuestTrackingControllerCore extends FrontController
|
||||
$addressDelivery = new Address((int)($order->id_address_delivery));
|
||||
$inv_adr_fields = AddressFormat::getOrderedAddressFields($addressInvoice->id_country);
|
||||
$dlv_adr_fields = AddressFormat::getOrderedAddressFields($addressDelivery->id_country);
|
||||
|
||||
|
||||
$invoiceAddressFormatedValues = AddressFormat::getFormattedAddressFieldsValues($addressInvoice, $inv_adr_fields);
|
||||
$deliveryAddressFormatedValues = AddressFormat::getFormattedAddressFieldsValues($addressDelivery, $dlv_adr_fields);
|
||||
|
||||
|
||||
if ($order->total_discounts > 0)
|
||||
$this->context->smarty->assign('total_old', (float)($order->total_paid - $order->total_discounts));
|
||||
$products = $order->getProducts();
|
||||
$customizedDatas = Product::getAllCustomizedDatas((int)($order->id_cart));
|
||||
Product::addCustomizationPrice($products, $customizedDatas);
|
||||
|
||||
$this->processAddressFormat($addressDelivery, $addressInvoice);
|
||||
|
||||
$this->processAddressFormat($addressDelivery, $addressInvoice);
|
||||
$this->context->smarty->assign(array(
|
||||
'shop_name' => Configuration::get('PS_SHOP_NAME'),
|
||||
'order' => $order,
|
||||
@@ -98,7 +94,7 @@ class GuestTrackingControllerCore extends FrontController
|
||||
$this->context->smarty->assign('followup', str_replace('@', $order->shipping_number, $carrier->url));
|
||||
$this->context->smarty->assign('HOOK_ORDERDETAILDISPLAYED', Module::hookExec('orderDetailDisplayed', array('order' => $order)));
|
||||
Module::hookExec('OrderDetail', array('carrier' => $carrier, 'order' => $order));
|
||||
|
||||
|
||||
if (Tools::isSubmit('submitTransformGuestToCustomer'))
|
||||
{
|
||||
$customer = new Customer((int)$order->id_customer);
|
||||
@@ -116,27 +112,22 @@ class GuestTrackingControllerCore extends FrontController
|
||||
/* Handle brute force attacks */
|
||||
sleep(1);
|
||||
}
|
||||
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'action' => $link->getPageLink('guest-tracking.php'),
|
||||
'action' => $this->context->link->getPageLink('guest-tracking.php'),
|
||||
'errors' => $this->errors
|
||||
));
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'guest-tracking.tpl');
|
||||
}
|
||||
|
||||
|
||||
public function setMedia()
|
||||
{
|
||||
parent::setMedia();
|
||||
|
||||
|
||||
$this->addCSS(_THEME_CSS_DIR_.'history.css');
|
||||
$this->addCSS(_THEME_CSS_DIR_.'addresses.css');
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'guest-tracking.tpl');
|
||||
}
|
||||
|
||||
private function processAddressFormat(Address $delivery, Address $invoice)
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -31,22 +31,20 @@ class HistoryControllerCore extends FrontController
|
||||
public $php_self = 'history';
|
||||
public $authRedirection = 'history';
|
||||
public $ssl = true;
|
||||
|
||||
|
||||
public function setMedia()
|
||||
{
|
||||
parent::setMedia();
|
||||
$this->addCSS(_THEME_CSS_DIR_.'history.css');
|
||||
$this->addCSS(_THEME_CSS_DIR_.'addresses.css');
|
||||
$this->addJS(array(
|
||||
_PS_JS_DIR_.'jquery/jquery.scrollTo-1.4.2-min.js',
|
||||
_PS_JS_DIR_.'jquery/jquery.scrollTo-1.4.2-min.js',
|
||||
_THEME_JS_DIR_.'history.js',
|
||||
_THEME_JS_DIR_.'tools.js'));
|
||||
}
|
||||
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
|
||||
if ($orders = Order::getCustomerOrders($this->context->customer->id))
|
||||
foreach ($orders AS &$order)
|
||||
{
|
||||
@@ -59,12 +57,8 @@ class HistoryControllerCore extends FrontController
|
||||
'invoiceAllowed' => (int)(Configuration::get('PS_INVOICE')),
|
||||
'slowValidation' => Tools::isSubmit('slowvalidation')
|
||||
));
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'history.tpl');
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'history.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,10 +32,8 @@ class IdentityControllerCore extends FrontController
|
||||
public $authRedirection = 'identity';
|
||||
public $ssl = true;
|
||||
|
||||
public function preProcess()
|
||||
public function process()
|
||||
{
|
||||
parent::preProcess();
|
||||
|
||||
$customer = $this->context->customer;
|
||||
|
||||
if (sizeof($_POST))
|
||||
@@ -107,6 +105,8 @@ class IdentityControllerCore extends FrontController
|
||||
));
|
||||
|
||||
$this->context->smarty->assign('newsletter', (int)Module::getInstanceByName('blocknewsletter')->active);
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'identity.tpl');
|
||||
}
|
||||
|
||||
public function setMedia()
|
||||
@@ -115,11 +115,4 @@ class IdentityControllerCore extends FrontController
|
||||
$this->addCSS(_THEME_CSS_DIR_.'identity.css');
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'identity.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -27,22 +27,11 @@
|
||||
|
||||
class IndexControllerCore extends FrontController
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->php_self = 'index';
|
||||
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
public $php_self = 'index';
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
$this->context->smarty->assign('HOOK_HOME', Module::hookExec('home'));
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'index.tpl');
|
||||
$this->setTemplate(_PS_THEME_DIR_.'index.tpl');
|
||||
}
|
||||
}
|
||||
+15
-30
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -29,30 +29,23 @@ class ManufacturerControllerCore extends FrontController
|
||||
{
|
||||
public $php_self = 'manufacturer';
|
||||
protected $manufacturer;
|
||||
|
||||
|
||||
public function setMedia()
|
||||
{
|
||||
parent::setMedia();
|
||||
$this->addCSS(_THEME_CSS_DIR_.'product_list.css');
|
||||
}
|
||||
|
||||
|
||||
public function canonicalRedirection()
|
||||
{
|
||||
if (Validate::isLoadedObject($this->manufacturer))
|
||||
{
|
||||
$canonicalURL = $this->context->link->getManufacturerLink($this->manufacturer);
|
||||
if (!preg_match('/^'.Tools::pRegexp($canonicalURL, '/').'([&?].*)?$/', Tools::getProtocol().$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']))
|
||||
{
|
||||
header('HTTP/1.0 301 Moved');
|
||||
if (defined('_PS_MODE_DEV_') AND _PS_MODE_DEV_)
|
||||
die('[Debug] This page has moved<br />Please use the following URL instead: <a href="'.$canonicalURL.'">'.$canonicalURL.'</a>');
|
||||
Tools::redirectLink($canonicalURL);
|
||||
}
|
||||
}
|
||||
parent::canonicalRedirection($this->context->link->getManufacturerLink($this->manufacturer));
|
||||
}
|
||||
|
||||
public function preProcess()
|
||||
|
||||
public function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
if ($id_manufacturer = Tools::getValue('id_manufacturer'))
|
||||
{
|
||||
$this->manufacturer = new Manufacturer((int)$id_manufacturer, $this->context->language->id);
|
||||
@@ -65,10 +58,8 @@ class ManufacturerControllerCore extends FrontController
|
||||
else
|
||||
$this->canonicalRedirection();
|
||||
}
|
||||
|
||||
parent::preProcess();
|
||||
}
|
||||
|
||||
|
||||
public function process()
|
||||
{
|
||||
if (Validate::isLoadedObject($this->manufacturer) AND $this->manufacturer->active AND $this->manufacturer->isAssociatedToGroupShop())
|
||||
@@ -80,6 +71,8 @@ class ManufacturerControllerCore extends FrontController
|
||||
'products' => $this->manufacturer->getProducts($this->manufacturer->id, $this->context->language->id, (int)$this->p, (int)$this->n, $this->orderBy, $this->orderWay),
|
||||
'path' => ($this->manufacturer->active ? Tools::safeOutput($this->manufacturer->name) : ''),
|
||||
'manufacturer' => $this->manufacturer));
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'manufacturer.tpl');
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -89,7 +82,7 @@ class ManufacturerControllerCore extends FrontController
|
||||
$data = Manufacturer::getManufacturers(true, $this->context->language->id, true, false, false, false, $id_current_group_shop);
|
||||
$nbProducts = count($data);
|
||||
$this->pagination($nbProducts);
|
||||
|
||||
|
||||
$manufacturers = Manufacturer::getManufacturers(true, $this->context->language->id, true, $this->p, $this->n, false, $id_current_group_shop);
|
||||
$imgDir = _PS_MANU_IMG_DIR_;
|
||||
foreach ($data AS &$item)
|
||||
@@ -105,22 +98,14 @@ class ManufacturerControllerCore extends FrontController
|
||||
}
|
||||
else
|
||||
$this->context->smarty->assign('nbManufacturers', 0);
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'manufacturer-list.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function displayHeader()
|
||||
{
|
||||
parent::displayHeader();
|
||||
$this->productSort();
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
if ($this->manufacturer)
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'manufacturer.tpl');
|
||||
else
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'manufacturer-list.tpl');
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -31,28 +31,22 @@ class MyAccountControllerCore extends FrontController
|
||||
public $php_self = 'my-account';
|
||||
public $authRedirection = 'my-account';
|
||||
public $ssl = true;
|
||||
|
||||
|
||||
public function setMedia()
|
||||
{
|
||||
parent::setMedia();
|
||||
$this->addCSS(_THEME_CSS_DIR_.'my-account.css');
|
||||
}
|
||||
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'voucherAllowed' => (int)(Configuration::get('PS_VOUCHERS')),
|
||||
'returnAllowed' => (int)(Configuration::get('PS_ORDER_RETURN'))
|
||||
));
|
||||
$this->context->smarty->assign('HOOK_CUSTOMER_ACCOUNT', Module::hookExec('customerAccount'));
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'my-account.tpl');
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'my-account.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
+7
-13
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -28,34 +28,28 @@
|
||||
class NewProductsControllerCore extends FrontController
|
||||
{
|
||||
public $php_self = 'new-products';
|
||||
|
||||
|
||||
public function setMedia()
|
||||
{
|
||||
parent::setMedia();
|
||||
$this->addCSS(_THEME_CSS_DIR_.'product_list.css');
|
||||
}
|
||||
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
|
||||
$this->productSort();
|
||||
|
||||
$nbProducts = (int)Product::getNewProducts($this->context->language->id, (isset($this->p) ? (int)($this->p) - 1 : NULL), (isset($this->n) ? (int)($this->n) : NULL), true);
|
||||
$this->pagination($nbProducts);
|
||||
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'products' => Product::getNewProducts($this->context->language->id, (int)($this->p) - 1, (int)($this->n), false, $this->orderBy, $this->orderWay),
|
||||
'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
|
||||
'nbProducts' => (int)($nbProducts),
|
||||
'homeSize' => Image::getSize('home')
|
||||
'homeSize' => Image::getSize('home')
|
||||
));
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'new-products.tpl');
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'new-products.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
+12
-17
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -28,24 +28,24 @@
|
||||
class OrderConfirmationControllerCore extends FrontController
|
||||
{
|
||||
public $php_self = 'order-confirmation';
|
||||
|
||||
|
||||
public $id_cart;
|
||||
public $id_module;
|
||||
public $id_order;
|
||||
public $secure_key;
|
||||
|
||||
public function preProcess()
|
||||
|
||||
public function init()
|
||||
{
|
||||
parent::preProcess();
|
||||
|
||||
parent::init();
|
||||
|
||||
$this->id_cart = (int)(Tools::getValue('id_cart', 0));
|
||||
|
||||
|
||||
/* check if the cart has been made by a Guest customer, for redirect link */
|
||||
if (Cart::isGuestCartByCartId($this->id_cart))
|
||||
$redirectLink = 'index.php?controller=guest-tracking';
|
||||
else
|
||||
$redirectLink = 'index.php?controller=history';
|
||||
|
||||
|
||||
$this->id_module = (int)(Tools::getValue('id_module', 0));
|
||||
$this->id_order = Order::getOrderByCartId((int)($this->id_cart));
|
||||
$this->secure_key = Tools::getValue('key', false);
|
||||
@@ -59,16 +59,15 @@ class OrderConfirmationControllerCore extends FrontController
|
||||
if ($order->payment != $module->displayName)
|
||||
Tools::redirect($redirectLink);
|
||||
}
|
||||
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
$this->context->smarty->assign(array(
|
||||
'is_guest' => $this->context->customer->is_guest,
|
||||
'HOOK_ORDER_CONFIRMATION' => Hook::orderConfirmation((int)($this->id_order)),
|
||||
'HOOK_PAYMENT_RETURN' => Hook::paymentReturn((int)($this->id_order), (int)($this->id_module))
|
||||
));
|
||||
|
||||
|
||||
if ($this->context->customer->is_guest)
|
||||
{
|
||||
$this->context->smarty->assign(array(
|
||||
@@ -78,12 +77,8 @@ class OrderConfirmationControllerCore extends FrontController
|
||||
/* If guest we clear the cookie for security reason */
|
||||
$this->context->customer->mylogout();
|
||||
}
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'order-confirmation.tpl');
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'order-confirmation.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,18 +31,13 @@ class OrderControllerCore extends ParentOrderController
|
||||
|
||||
public function init()
|
||||
{
|
||||
global $isVirtualCart, $orderTotal;
|
||||
|
||||
parent::init();
|
||||
|
||||
$this->step = (int)(Tools::getValue('step'));
|
||||
if (!$this->nbProducts)
|
||||
$this->step = -1;
|
||||
}
|
||||
|
||||
public function preProcess()
|
||||
{
|
||||
global $isVirtualCart, $orderTotal;
|
||||
|
||||
parent::preProcess();
|
||||
|
||||
/* If some products have disappear */
|
||||
if (!$this->context->cart->checkQuantities())
|
||||
@@ -78,23 +73,28 @@ class OrderControllerCore extends ParentOrderController
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
|
||||
/* 4 steps to the order */
|
||||
switch ((int)$this->step)
|
||||
{
|
||||
case -1;
|
||||
$this->context->smarty->assign('empty', 1);
|
||||
break;
|
||||
$this->setTemplate(_PS_THEME_DIR_.'shopping-cart.tpl');
|
||||
break;
|
||||
|
||||
case 1:
|
||||
$this->_assignAddress();
|
||||
break;
|
||||
$this->processAddressFormat();
|
||||
$this->setTemplate(_PS_THEME_DIR_.'order-address.tpl');
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if(Tools::isSubmit('processAddress'))
|
||||
$this->processAddress();
|
||||
$this->autoStep();
|
||||
$this->_assignCarrier();
|
||||
break;
|
||||
$this->setTemplate(_PS_THEME_DIR_.'order-carrier.tpl');
|
||||
break;
|
||||
|
||||
case 3:
|
||||
//Test that the conditions (so active) were accepted by the customer
|
||||
$cgv = Tools::getValue('cgv');
|
||||
@@ -119,11 +119,21 @@ class OrderControllerCore extends ParentOrderController
|
||||
$this->_assignPayment();
|
||||
// assign some informations to display cart
|
||||
$this->_assignSummaryInformations();
|
||||
break;
|
||||
$this->setTemplate(_PS_THEME_DIR_.'order-payment.tpl');
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->_assignSummaryInformations();
|
||||
break;
|
||||
$this->setTemplate(_PS_THEME_DIR_.'shopping-cart.tpl');
|
||||
break;
|
||||
}
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'currencySign' => $this->context->currency->sign,
|
||||
'currencyRate' => $this->context->currency->conversion_rate,
|
||||
'currencyFormat' => $this->context->currency->format,
|
||||
'currencyBlank' => $this->context->currency->blank,
|
||||
));
|
||||
}
|
||||
|
||||
private function processAddressFormat()
|
||||
@@ -139,38 +149,6 @@ class OrderControllerCore extends ParentOrderController
|
||||
'dlv_adr_fields' => $deliveryAddressFields));
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'currencySign' => $this->context->currency->sign,
|
||||
'currencyRate' => $this->context->currency->conversion_rate,
|
||||
'currencyFormat' => $this->context->currency->format,
|
||||
'currencyBlank' => $this->context->currency->blank,
|
||||
));
|
||||
|
||||
switch ((int)$this->step)
|
||||
{
|
||||
case -1:
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'shopping-cart.tpl');
|
||||
break;
|
||||
case 1:
|
||||
$this->processAddressFormat();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'order-address.tpl');
|
||||
break;
|
||||
case 2:
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'order-carrier.tpl');
|
||||
break;
|
||||
case 3:
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'order-payment.tpl');
|
||||
break;
|
||||
default:
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'shopping-cart.tpl');
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public function displayFooter()
|
||||
{
|
||||
if (!Tools::getValue('ajax'))
|
||||
+7
-11
@@ -30,7 +30,7 @@ class OrderDetailControllerCore extends FrontController
|
||||
public $auth = true;
|
||||
public $authRedirection = 'history';
|
||||
public $ssl = true;
|
||||
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
@@ -39,9 +39,9 @@ class OrderDetailControllerCore extends FrontController
|
||||
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
|
||||
}
|
||||
|
||||
public function preProcess()
|
||||
public function init()
|
||||
{
|
||||
parent::preProcess();
|
||||
parent::init();
|
||||
|
||||
if (Tools::isSubmit('submitMessage'))
|
||||
{
|
||||
@@ -61,7 +61,7 @@ class OrderDetailControllerCore extends FrontController
|
||||
{
|
||||
//check if a thread already exist
|
||||
$id_customer_thread = CustomerThread::getIdCustomerThreadByEmailAndIdOrder($this->context->customer->email, $order->id);
|
||||
|
||||
|
||||
$cm = new CustomerMessage();
|
||||
if (!$id_customer_thread)
|
||||
{
|
||||
@@ -104,7 +104,7 @@ class OrderDetailControllerCore extends FrontController
|
||||
'{id_order}' => (int)($order->id),
|
||||
'{message}' => $msgText),
|
||||
$to, $toName, $customer->email, $customer->firstname.' '.$customer->lastname);
|
||||
|
||||
|
||||
if (Tools::getValue('ajax') != 'true')
|
||||
Tools::redirect('index.php?controller=order-detail&id_order='.(int)$idOrder);
|
||||
}
|
||||
@@ -180,6 +180,8 @@ class OrderDetailControllerCore extends FrontController
|
||||
$this->errors[] = Tools::displayError('Cannot find this order');
|
||||
unset($order);
|
||||
}
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'order-detail.tpl');
|
||||
}
|
||||
|
||||
public function setMedia()
|
||||
@@ -198,12 +200,6 @@ class OrderDetailControllerCore extends FrontController
|
||||
parent::displayHeader();
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'order-detail.tpl');
|
||||
}
|
||||
|
||||
public function displayFooter()
|
||||
{
|
||||
if (Tools::getValue('ajax') != 'true')
|
||||
+6
-13
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -31,11 +31,9 @@ class OrderFollowControllerCore extends FrontController
|
||||
public $php_self = 'order-follow';
|
||||
public $authRedirection = 'order-follow';
|
||||
public $ssl = true;
|
||||
|
||||
public function preProcess()
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::preProcess();
|
||||
|
||||
if (Tools::isSubmit('submitReturnMerchandise'))
|
||||
{
|
||||
$customizationQtyInput = Tools::getValue('customization_qty_input');
|
||||
@@ -82,8 +80,10 @@ class OrderFollowControllerCore extends FrontController
|
||||
$this->context->smarty->assign('errorNotReturnable',true);
|
||||
|
||||
$this->context->smarty->assign('ordersReturn', $ordersReturn);
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'order-follow.tpl');
|
||||
}
|
||||
|
||||
|
||||
public function setMedia()
|
||||
{
|
||||
parent::setMedia();
|
||||
@@ -91,11 +91,4 @@ class OrderFollowControllerCore extends FrontController
|
||||
$this->addCSS(_THEME_CSS_DIR_.'addresses.css');
|
||||
$this->addJS(array(_PS_JS_DIR_.'jquery/jquery.scrollTo-1.4.2-min.js', _THEME_JS_DIR_.'history.js'));
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'order-follow.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,9 +30,10 @@ class OrderOpcControllerCore extends ParentOrderController
|
||||
public $php_self = 'order-opc';
|
||||
public $isLogged;
|
||||
|
||||
public function preProcess()
|
||||
public function init()
|
||||
{
|
||||
parent::preProcess();
|
||||
parent::init();
|
||||
|
||||
if ($this->nbProducts)
|
||||
$this->context->smarty->assign('virtual_cart', false);
|
||||
$this->isLogged = (bool)($this->context->customer->id AND Customer::customerIdExistsStatic((int)($this->context->cookie->id_customer)));
|
||||
@@ -272,6 +273,9 @@ class OrderOpcControllerCore extends ParentOrderController
|
||||
Tools::safePostVars();
|
||||
|
||||
$this->context->smarty->assign('newsletter', (int)Module::getInstanceByName('blocknewsletter')->active);
|
||||
|
||||
$this->_processAddressFormat();
|
||||
$this->setTemplate(_PS_THEME_DIR_.'order-opc.tpl');
|
||||
}
|
||||
|
||||
public function displayHeader()
|
||||
@@ -280,14 +284,6 @@ class OrderOpcControllerCore extends ParentOrderController
|
||||
parent::displayHeader();
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
|
||||
$this->_processAddressFormat();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'order-opc.tpl');
|
||||
}
|
||||
|
||||
public function displayFooter()
|
||||
{
|
||||
if (Tools::getValue('ajax') != 'true')
|
||||
+8
-14
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -31,19 +31,17 @@ class OrderReturnControllerCore extends FrontController
|
||||
public $php_self = 'order-return';
|
||||
public $authRedirection = 'order-follow';
|
||||
public $ssl = true;
|
||||
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
|
||||
header("Cache-Control: no-cache, must-revalidate");
|
||||
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
|
||||
}
|
||||
|
||||
public function preProcess()
|
||||
public function process()
|
||||
{
|
||||
parent::preProcess();
|
||||
|
||||
if (!isset($_GET['id_order_return']) OR !Validate::isUnsignedId($_GET['id_order_return']))
|
||||
$this->errors[] = Tools::displayError('Order ID required');
|
||||
else
|
||||
@@ -76,20 +74,16 @@ class OrderReturnControllerCore extends FrontController
|
||||
'errors' => $this->errors,
|
||||
'nbdaysreturn' => (int)(Configuration::get('PS_ORDER_RETURN_NB_DAYS'))
|
||||
));
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'order-return.tpl');
|
||||
}
|
||||
|
||||
|
||||
public function displayHeader()
|
||||
{
|
||||
if (Tools::getValue('ajax') != 'true')
|
||||
parent::displayHeader();
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'order-return.tpl');
|
||||
}
|
||||
|
||||
|
||||
public function displayFooter()
|
||||
{
|
||||
if (Tools::getValue('ajax') != 'true')
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -31,7 +31,7 @@ class OrderSlipControllerCore extends FrontController
|
||||
public $php_self = 'order-slip';
|
||||
public $authRedirection = 'order-slip';
|
||||
public $ssl = true;
|
||||
|
||||
|
||||
public function setMedia()
|
||||
{
|
||||
parent::setMedia();
|
||||
@@ -39,17 +39,11 @@ class OrderSlipControllerCore extends FrontController
|
||||
$this->addCSS(_THEME_CSS_DIR_.'addresses.css');
|
||||
$this->addJS(array(_PS_JS_DIR_.'jquery/jquery.scrollTo-1.4.2-min.js',_THEME_JS_DIR_.'history.js'));
|
||||
}
|
||||
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
$this->context->smarty->assign('ordersSlip', OrderSlip::getOrdersSlip((int)($this->context->cookie->id_customer)));
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'order-slip.tpl');
|
||||
$this->setTemplate(_PS_THEME_DIR_.'order-slip.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -28,10 +28,10 @@
|
||||
class PageNotFoundControllerCore extends FrontController
|
||||
{
|
||||
public $php_self = '404';
|
||||
|
||||
public function displayContent()
|
||||
|
||||
public function process()
|
||||
{
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'404.tpl');
|
||||
$this->setTemplate(_PS_THEME_DIR_.'404.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
+34
-38
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -32,28 +32,24 @@ class ParentOrderControllerCore extends FrontController
|
||||
{
|
||||
public $ssl = true;
|
||||
public $php_self = 'order';
|
||||
|
||||
|
||||
public $nbProducts;
|
||||
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
|
||||
/* Disable some cache related bugs on the cart/order */
|
||||
header('Cache-Control: no-cache, must-revalidate');
|
||||
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
|
||||
}
|
||||
|
||||
|
||||
public function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->nbProducts = $this->context->cart->nbProducts();
|
||||
}
|
||||
|
||||
public function preProcess()
|
||||
{
|
||||
|
||||
global $isVirtualCart;
|
||||
parent::preProcess();
|
||||
|
||||
// Redirect to the good order process
|
||||
if (Configuration::get('PS_ORDER_PROCESS_TYPE') == 0 AND Dispatcher::getInstance()->getController() != 'order')
|
||||
@@ -64,10 +60,10 @@ class ParentOrderControllerCore extends FrontController
|
||||
Tools::redirect('index.php?controller=order-opc&isPaymentStep=true');
|
||||
Tools::redirect('index.php?controller=order-opc');
|
||||
}
|
||||
|
||||
|
||||
if (Configuration::get('PS_CATALOG_MODE'))
|
||||
$this->errors[] = Tools::displayError('This store has not accepted your new order.');
|
||||
|
||||
|
||||
if (Tools::isSubmit('submitReorder') AND $id_order = (int)Tools::getValue('id_order'))
|
||||
{
|
||||
$oldCart = new Cart(Order::getCartIdStatic($id_order, $this->context->customer->id));
|
||||
@@ -124,14 +120,14 @@ class ParentOrderControllerCore extends FrontController
|
||||
if ($isVirtualCart = $this->context->cart->isVirtualCart())
|
||||
$this->_setNoCarrier();
|
||||
}
|
||||
|
||||
|
||||
$this->context->smarty->assign('back', Tools::safeOutput(Tools::getValue('back')));
|
||||
}
|
||||
|
||||
|
||||
public function setMedia()
|
||||
{
|
||||
parent::setMedia();
|
||||
|
||||
|
||||
// Adding CSS style sheet
|
||||
$this->addCSS(_THEME_CSS_DIR_.'addresses.css');
|
||||
$this->addCSS(_PS_CSS_DIR_.'jquery.fancybox-1.3.4.css', 'screen');
|
||||
@@ -146,9 +142,9 @@ class ParentOrderControllerCore extends FrontController
|
||||
$this->addJS(_THEME_JS_DIR_.'cart-summary.js');
|
||||
$this->addJS(_PS_JS_DIR_.'jquery/jquery-typewatch.pack.js');
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return boolean
|
||||
*/
|
||||
@@ -163,7 +159,7 @@ class ParentOrderControllerCore extends FrontController
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
protected function _updateMessage($messageContent)
|
||||
{
|
||||
if ($messageContent)
|
||||
@@ -195,7 +191,7 @@ class ParentOrderControllerCore extends FrontController
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
protected function _processCarrier()
|
||||
{
|
||||
$this->context->cart->recyclable = (int)(Tools::getValue('recyclable'));
|
||||
@@ -207,7 +203,7 @@ class ParentOrderControllerCore extends FrontController
|
||||
else
|
||||
$this->context->cart->gift_message = strip_tags($_POST['gift_message']);
|
||||
}
|
||||
|
||||
|
||||
if (isset($this->context->customer->id) AND $this->context->customer->id)
|
||||
{
|
||||
$address = new Address((int)($this->context->cart->id_address_delivery));
|
||||
@@ -216,17 +212,17 @@ class ParentOrderControllerCore extends FrontController
|
||||
}
|
||||
else
|
||||
$id_zone = Country::getIdZone((int)Configuration::get('PS_COUNTRY_DEFAULT'));
|
||||
|
||||
|
||||
if (Validate::isInt(Tools::getValue('id_carrier')) AND sizeof(Carrier::checkCarrierZone((int)(Tools::getValue('id_carrier')), (int)($id_zone))))
|
||||
$this->context->cart->id_carrier = (int)(Tools::getValue('id_carrier'));
|
||||
elseif (!$this->context->cart->isVirtualCart() AND (int)(Tools::getValue('id_carrier')) == 0)
|
||||
$this->errors[] = Tools::displayError('Invalid carrier or no carrier selected');
|
||||
|
||||
|
||||
Module::hookExec('processCarrier', array('cart' => $this->context->cart));
|
||||
|
||||
|
||||
return $this->context->cart->update();
|
||||
}
|
||||
|
||||
|
||||
protected function _assignSummaryInformations()
|
||||
{
|
||||
if (file_exists(_PS_SHIP_IMG_DIR_.$this->context->cart->id_carrier.'.jpg'))
|
||||
@@ -241,14 +237,14 @@ class ParentOrderControllerCore extends FrontController
|
||||
{
|
||||
$productId = (int)(isset($productUpdate['id_product']) ? $productUpdate['id_product'] : $productUpdate['product_id']);
|
||||
$productAttributeId = (int)(isset($productUpdate['id_product_attribute']) ? $productUpdate['id_product_attribute'] : $productUpdate['product_attribute_id']);
|
||||
|
||||
|
||||
if (isset($customizedDatas[$productId][$productAttributeId]))
|
||||
$productUpdate['tax_rate'] = Tax::getProductTaxRate($productId, $this->context->cart->{Configuration::get('PS_TAX_ADDRESS_TYPE')});
|
||||
}
|
||||
|
||||
Product::addCustomizationPrice($summary['products'], $customizedDatas);
|
||||
}
|
||||
|
||||
|
||||
if ($free_ship = Tools::convertPrice((float)(Configuration::get('PS_SHIPPING_FREE_PRICE')), new Currency($this->context->cart->id_currency)))
|
||||
{
|
||||
$discounts = $this->context->cart->getDiscounts();
|
||||
@@ -290,7 +286,7 @@ class ParentOrderControllerCore extends FrontController
|
||||
'HOOK_SHOPPING_CART_EXTRA' => Module::hookExec('shoppingCartExtra', $summary)
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
protected function _assignAddress()
|
||||
{
|
||||
//if guest checkout disabled and flag is_guest in cookies is actived
|
||||
@@ -306,18 +302,18 @@ class ParentOrderControllerCore extends FrontController
|
||||
{
|
||||
/* Getting customer addresses */
|
||||
$customerAddresses = $customer->getAddresses($this->context->language->id);
|
||||
|
||||
|
||||
// Getting a list of formated address fields with associated values
|
||||
$formatedAddressFieldsValuesList = array();
|
||||
foreach($customerAddresses as $address)
|
||||
{
|
||||
$tmpAddress = new Address($address['id_address']);
|
||||
|
||||
|
||||
$formatedAddressFieldsValuesList[$address['id_address']]['ordered_fields'] = AddressFormat::getOrderedAddressFields($address['id_country']);
|
||||
$formatedAddressFieldsValuesList[$address['id_address']]['formated_fields_values'] = AddressFormat::getFormattedAddressFieldsValues(
|
||||
$tmpAddress,
|
||||
$formatedAddressFieldsValuesList[$address['id_address']]['ordered_fields']);
|
||||
|
||||
|
||||
unset($tmpAddress);
|
||||
}
|
||||
$this->context->smarty->assign(array(
|
||||
@@ -358,7 +354,7 @@ class ParentOrderControllerCore extends FrontController
|
||||
if ($oldMessage = Message::getMessageByCartId((int)($this->context->cart->id)))
|
||||
$this->context->smarty->assign('oldMessage', $oldMessage['message']);
|
||||
}
|
||||
|
||||
|
||||
protected function _assignCarrier()
|
||||
{
|
||||
$address = new Address($this->context->cart->id_address_delivery);
|
||||
@@ -375,14 +371,14 @@ class ParentOrderControllerCore extends FrontController
|
||||
'HOOK_BEFORECARRIER' => Module::hookExec('beforeCarrier', array('carriers' => $carriers))
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
protected function _assignWrappingAndTOS()
|
||||
{
|
||||
// Wrapping fees
|
||||
$wrapping_fees = (float)(Configuration::get('PS_GIFT_WRAPPING_PRICE'));
|
||||
$wrapping_fees_tax = new Tax(Configuration::get('PS_GIFT_WRAPPING_TAX'));
|
||||
$wrapping_fees_tax_inc = $wrapping_fees * (1 + (((float)($wrapping_fees_tax->rate) / 100)));
|
||||
|
||||
|
||||
// TOS
|
||||
$cms = new CMS(Configuration::get('PS_CONDITIONS_CMS_ID'), $this->context->language->id);
|
||||
$this->link_conditions = $this->context->link->getCMSLink($cms, $cms->link_rewrite, true);
|
||||
@@ -390,7 +386,7 @@ class ParentOrderControllerCore extends FrontController
|
||||
$this->link_conditions .= '?content_only=1';
|
||||
else
|
||||
$this->link_conditions .= '&content_only=1';
|
||||
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'checkedTOS' => (int)($this->context->cookie->checkedTOS),
|
||||
'recyclablePackAllowed' => (int)(Configuration::get('PS_RECYCLABLE_PACK')),
|
||||
@@ -403,7 +399,7 @@ class ParentOrderControllerCore extends FrontController
|
||||
'total_wrapping_cost' => Tools::convertPrice($wrapping_fees_tax_inc, $this->context->currency),
|
||||
'total_wrapping_tax_exc_cost' => Tools::convertPrice($wrapping_fees, $this->context->currency)));
|
||||
}
|
||||
|
||||
|
||||
protected function _assignPayment()
|
||||
{
|
||||
$this->context->smarty->assign(array(
|
||||
@@ -411,7 +407,7 @@ class ParentOrderControllerCore extends FrontController
|
||||
'HOOK_PAYMENT' => Module::hookExecPayment()
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set id_carrier to 0 (no shipping price)
|
||||
*
|
||||
@@ -421,7 +417,7 @@ class ParentOrderControllerCore extends FrontController
|
||||
$this->context->cart->id_carrier = 0;
|
||||
$this->context->cart->update();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Decides what the default carrier is and update the cart with it
|
||||
*
|
||||
@@ -453,6 +449,6 @@ class ParentOrderControllerCore extends FrontController
|
||||
return $this->context->cart->id_carrier;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -30,11 +30,9 @@ define('MIN_PASSWD_LENGTH', 8);
|
||||
class PasswordControllerCore extends FrontController
|
||||
{
|
||||
public $php_self = 'password';
|
||||
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
|
||||
if (Tools::isSubmit('email'))
|
||||
{
|
||||
if (!($email = Tools::getValue('email')) OR !Validate::isEmail($email))
|
||||
@@ -50,13 +48,13 @@ class PasswordControllerCore extends FrontController
|
||||
if ((strtotime($customer->last_passwd_gen.'+'.(int)($min_time = Configuration::get('PS_PASSWD_TIME_FRONT')).' minutes') - time()) > 0)
|
||||
$this->errors[] = Tools::displayError('You can regenerate your password only every').' '.(int)($min_time).' '.Tools::displayError('minute(s)');
|
||||
else
|
||||
{
|
||||
if (Mail::Send($this->context->language->id, 'password_query', Mail::l('Password query confirmation'),
|
||||
array('{email}' => $customer->email,
|
||||
'{lastname}' => $customer->lastname,
|
||||
{
|
||||
if (Mail::Send($this->context->language->id, 'password_query', Mail::l('Password query confirmation'),
|
||||
array('{email}' => $customer->email,
|
||||
'{lastname}' => $customer->lastname,
|
||||
'{firstname}' => $customer->firstname,
|
||||
'{url}' => $this->context->link->getPageLink('password', true, NULL, 'token='.$customer->secure_key.'&id_customer='.(int)$customer->id)),
|
||||
$customer->email,
|
||||
$customer->email,
|
||||
$customer->firstname.' '.$customer->lastname))
|
||||
$this->context->smarty->assign(array('confirmation' => 2, 'email' => $customer->email));
|
||||
else
|
||||
@@ -80,13 +78,13 @@ class PasswordControllerCore extends FrontController
|
||||
$customer->last_passwd_gen = date('Y-m-d H:i:s', time());
|
||||
if ($customer->update())
|
||||
{
|
||||
if (Mail::Send($this->context->language->id, 'password', Mail::l('Your password'),
|
||||
array('{email}' => $customer->email,
|
||||
'{lastname}' => $customer->lastname,
|
||||
'{firstname}' => $customer->firstname,
|
||||
'{passwd}' => $password),
|
||||
$customer->email,
|
||||
$customer->firstname.' '.$customer->lastname))
|
||||
if (Mail::Send($this->context->language->id, 'password', Mail::l('Your password'),
|
||||
array('{email}' => $customer->email,
|
||||
'{lastname}' => $customer->lastname,
|
||||
'{firstname}' => $customer->firstname,
|
||||
'{passwd}' => $password),
|
||||
$customer->email,
|
||||
$customer->firstname.' '.$customer->lastname))
|
||||
$this->context->smarty->assign(array('confirmation' => 1, 'email' => $customer->email));
|
||||
else
|
||||
$this->errors[] = Tools::displayError('Error occurred when sending the e-mail.');
|
||||
@@ -100,12 +98,8 @@ class PasswordControllerCore extends FrontController
|
||||
}
|
||||
elseif (($token = Tools::getValue('token')) || ($id_customer = Tools::getValue('id_customer')))
|
||||
$this->errors[] = Tools::displayError('We cannot regenerate your password with the data you submitted');
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'password.tpl');
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'password.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -27,16 +27,11 @@
|
||||
|
||||
class PdfInvoiceControllerCore extends FrontController
|
||||
{
|
||||
public function run()
|
||||
{
|
||||
$this->init();
|
||||
$this->preProcess();
|
||||
$this->process();
|
||||
}
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
$this->displayHeader(false);
|
||||
$this->displayFooter(false);
|
||||
|
||||
if (!$this->context->customer->isLogged() AND !Tools::getValue('secure_key'))
|
||||
Tools::redirect('index.php?controller=authentication&back=pdf-invoice');
|
||||
if (!(int)(Configuration::get('PS_INVOICE')))
|
||||
+3
-9
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -27,16 +27,10 @@
|
||||
|
||||
class PdfOrderReturnControllerCore extends FrontController
|
||||
{
|
||||
public function run()
|
||||
{
|
||||
$this->init();
|
||||
$this->preProcess();
|
||||
$this->process();
|
||||
}
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
$this->displayHeader(false);
|
||||
$this->displayFooter(false);
|
||||
|
||||
if (!$this->context->customer->isLogged())
|
||||
Tools::redirect('index.php?controller=authentication&back=order-follow');
|
||||
+4
-10
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -27,20 +27,14 @@
|
||||
|
||||
class PdfOrderSlipControllerCore extends FrontController
|
||||
{
|
||||
public function run()
|
||||
{
|
||||
$this->init();
|
||||
$this->preProcess();
|
||||
$this->process();
|
||||
}
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
$this->displayHeader(false);
|
||||
$this->displayFooter(false);
|
||||
|
||||
if (!$this->context->customer->isLogged())
|
||||
Tools::redirect('index.php?controller=authentication&back=order-follow');
|
||||
|
||||
|
||||
if (isset($_GET['id_order_slip']) AND Validate::isUnsignedId($_GET['id_order_slip']))
|
||||
$orderSlip = new OrderSlip((int)($_GET['id_order_slip']));
|
||||
if (!isset($orderSlip) OR !Validate::isLoadedObject($orderSlip))
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -28,17 +28,15 @@
|
||||
class PricesDropControllerCore extends FrontController
|
||||
{
|
||||
public $php_self = 'prices-drop';
|
||||
|
||||
|
||||
public function setMedia()
|
||||
{
|
||||
parent::setMedia();
|
||||
$this->addCSS(_THEME_CSS_DIR_.'product_list.css');
|
||||
}
|
||||
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
|
||||
$this->productSort();
|
||||
$nbProducts = Product::getPricesDrop($this->context->language->id, NULL, NULL, true);
|
||||
$this->pagination($nbProducts);
|
||||
@@ -49,12 +47,8 @@ class PricesDropControllerCore extends FrontController
|
||||
'nbProducts' => $nbProducts,
|
||||
'homeSize' => Image::getSize('home')
|
||||
));
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'prices-drop.tpl');
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'prices-drop.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,23 +52,14 @@ class ProductControllerCore extends FrontController
|
||||
|
||||
public function canonicalRedirection()
|
||||
{
|
||||
// Automatically redirect to the canonical URL if the current in is the right one
|
||||
// $_SERVER['HTTP_HOST'] must be replaced by the real canonical domain
|
||||
if (Validate::isLoadedObject($this->product))
|
||||
{
|
||||
$canonicalURL = $this->context->link->getProductLink($this->product);
|
||||
if (!preg_match('/^'.Tools::pRegexp($canonicalURL, '/').'([&?].*)?$/', Tools::getProtocol().$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']))
|
||||
{
|
||||
header('HTTP/1.0 301 Moved');
|
||||
if (defined('_PS_MODE_DEV_') AND _PS_MODE_DEV_)
|
||||
die('[Debug] This page has moved<br />Please use the following URL instead: <a href="'.$canonicalURL.'">'.$canonicalURL.'</a>');
|
||||
Tools::redirectLink($canonicalURL);
|
||||
}
|
||||
}
|
||||
parent::canonicalRedirection($this->context->link->getProductLink($this->product));
|
||||
}
|
||||
|
||||
public function preProcess()
|
||||
public function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
if ($id_product = (int)Tools::getValue('id_product'))
|
||||
$this->product = new Product($id_product, true, $this->context->language->id);
|
||||
|
||||
@@ -79,8 +70,6 @@ class ProductControllerCore extends FrontController
|
||||
}
|
||||
else
|
||||
$this->canonicalRedirection();
|
||||
|
||||
parent::preProcess();
|
||||
}
|
||||
|
||||
public function process()
|
||||
@@ -203,7 +192,7 @@ class ProductControllerCore extends FrontController
|
||||
$ecotaxTaxAmount = Tools::ps_round($ecotaxTaxAmount * (1 + $ecotax_rate / 100), 2);
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'quantity_discounts' => $this->formatQuantityDiscounts(SpecificPrice::getQuantityDiscounts((int)$this->product->id, $this->id_current_shop, (int)$this->context->cookie->id_currency, $id_country, $id_group), $this->product->getPrice(Product::$_taxCalculationMethod == PS_TAX_INC, false), (float)$tax),
|
||||
'quantity_discounts' => $this->formatQuantityDiscounts(SpecificPrice::getQuantityDiscounts((int)$this->product->id, $this->context->shop->getID(true), (int)$this->context->cookie->id_currency, $id_country, $id_group), $this->product->getPrice(Product::$_taxCalculationMethod == PS_TAX_INC, false), (float)$tax),
|
||||
'product' => $this->product,
|
||||
'ecotax_tax_inc' => $ecotaxTaxAmount,
|
||||
'ecotax_tax_exc' => Tools::ps_round($this->product->ecotax, 2),
|
||||
@@ -290,7 +279,7 @@ class ProductControllerCore extends FrontController
|
||||
|
||||
//french date format
|
||||
$availableDate = date('j-m-Y',strtotime($row['available_date']));
|
||||
|
||||
|
||||
$combinations[$row['id_product_attribute']]['attributes_values'][$row['id_attribute_group']] = $row['attribute_name'];
|
||||
$combinations[$row['id_product_attribute']]['attributes'][] = (int)($row['id_attribute']);
|
||||
$combinations[$row['id_product_attribute']]['price'] = (float)($row['price']);
|
||||
@@ -340,7 +329,7 @@ class ProductControllerCore extends FrontController
|
||||
// Pack management
|
||||
$this->context->smarty->assign('packItems', $this->product->cache_is_pack ? Pack::getItemTable($this->product->id, $this->context->language->id, true) : array());
|
||||
$this->context->smarty->assign('packs', Pack::getPacksTable($this->product->id, $this->context->language->id, true, 1));
|
||||
|
||||
|
||||
$this->product->description = $this->transformDescriptionWithImg($this->product->description);
|
||||
}
|
||||
}
|
||||
@@ -361,14 +350,10 @@ class ProductControllerCore extends FrontController
|
||||
'currencyBlank' => $this->context->currency->blank,
|
||||
'jqZoomEnabled' => Configuration::get('PS_DISPLAY_JQZOOM')
|
||||
));
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'product.tpl');
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'product.tpl');
|
||||
}
|
||||
|
||||
public function transformDescriptionWithImg($desc)
|
||||
{
|
||||
$reg = '/{img-([0-9]+)-(left|right)-([a-z]+)}/';
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -30,19 +30,17 @@ class SearchControllerCore extends FrontController
|
||||
public $php_self = 'search';
|
||||
public $instantSearch;
|
||||
public $ajaxSearch;
|
||||
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
|
||||
$this->instantSearch = Tools::getValue('instantSearch');
|
||||
$this->ajaxSearch = Tools::getValue('ajaxSearch');
|
||||
}
|
||||
|
||||
public function preProcess()
|
||||
{
|
||||
parent::preProcess();
|
||||
|
||||
public function process()
|
||||
{
|
||||
$query = urldecode(Tools::getValue('q'));
|
||||
if ($this->ajaxSearch)
|
||||
{
|
||||
@@ -51,7 +49,7 @@ class SearchControllerCore extends FrontController
|
||||
$product['product_link'] = $this->context->link->getProductLink($product['id_product'], $product['prewrite'], $product['crewrite']);
|
||||
die(Tools::jsonEncode($searchResults));
|
||||
}
|
||||
|
||||
|
||||
if ($this->instantSearch && !is_array($query))
|
||||
{
|
||||
$this->productSort();
|
||||
@@ -107,8 +105,10 @@ class SearchControllerCore extends FrontController
|
||||
'nbProducts' => 0));
|
||||
}
|
||||
$this->context->smarty->assign('add_prod_display', Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'));
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'search.tpl');
|
||||
}
|
||||
|
||||
|
||||
public function displayHeader()
|
||||
{
|
||||
if (!$this->instantSearch AND !$this->ajaxSearch)
|
||||
@@ -116,23 +116,17 @@ class SearchControllerCore extends FrontController
|
||||
else
|
||||
$this->context->smarty->assign('static_token', Tools::getToken(false));
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'search.tpl');
|
||||
}
|
||||
|
||||
|
||||
public function displayFooter()
|
||||
{
|
||||
if (!$this->instantSearch AND !$this->ajaxSearch)
|
||||
parent::displayFooter();
|
||||
}
|
||||
|
||||
|
||||
public function setMedia()
|
||||
{
|
||||
parent::setMedia();
|
||||
|
||||
|
||||
if (!$this->instantSearch AND !$this->ajaxSearch)
|
||||
$this->addCSS(_THEME_CSS_DIR_.'product_list.css');
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -28,18 +28,16 @@
|
||||
class SitemapControllerCore extends FrontController
|
||||
{
|
||||
public $php_self = 'sitemap';
|
||||
|
||||
|
||||
public function setMedia()
|
||||
{
|
||||
parent::setMedia();
|
||||
$this->addCSS(_THEME_CSS_DIR_.'sitemap.css');
|
||||
$this->addJS(_THEME_JS_DIR_.'tools/treeManagement.js');
|
||||
}
|
||||
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
|
||||
$this->context->smarty->assign('categoriesTree', Category::getRootCategory()->recurseLiteCategTree(0));
|
||||
$this->context->smarty->assign('categoriescmsTree', CMSCategory::getRecurseCategory($this->context->language->id, 1, 1, 1));
|
||||
$this->context->smarty->assign('voucherAllowed', (int)Configuration::get('PS_VOUCHERS'));
|
||||
@@ -50,11 +48,7 @@ class SitemapControllerCore extends FrontController
|
||||
$this->context->smarty->assign('display_supplier_link', (((int)$blocksupplier->id) ? true : false));
|
||||
$this->context->smarty->assign('PS_DISPLAY_SUPPLIERS', Configuration::get('PS_DISPLAY_SUPPLIERS'));
|
||||
$this->context->smarty->assign('display_store', Configuration::get('PS_STORES_DISPLAY_SITEMAP'));
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'sitemap.tpl');
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'sitemap.tpl');
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -29,16 +29,17 @@ class StatisticsControllerCore extends FrontController
|
||||
{
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
$this->displayHeader(false);
|
||||
$this->displayFooter(false);
|
||||
|
||||
if (!isset($_POST['token']) OR !isset($_POST['type']))
|
||||
die;
|
||||
die;
|
||||
|
||||
if ($_POST['type'] == 'navinfo')
|
||||
{
|
||||
if (sha1($_POST['id_guest']._COOKIE_KEY_) != $_POST['token'])
|
||||
die;
|
||||
|
||||
|
||||
$guest = new Guest((int)$_POST['id_guest']);
|
||||
$guest->javascript = true;
|
||||
$guest->screen_resolution_x = (int)($_POST['screen_resolution_x']);
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -28,58 +28,60 @@
|
||||
class StoresControllerCore extends FrontController
|
||||
{
|
||||
public $php_self = 'stores';
|
||||
|
||||
public function preProcess()
|
||||
|
||||
public function init()
|
||||
{
|
||||
if(!extension_loaded('Dom'))
|
||||
parent::init();
|
||||
|
||||
if (!extension_loaded('Dom'))
|
||||
{
|
||||
$this->errors[] = Tools::displayError('Dom extension is not loaded.');
|
||||
$smarty->assign('errors', $this->errors);
|
||||
}
|
||||
|
||||
|
||||
$simplifiedStoreLocator = Configuration::get('PS_STORES_SIMPLIFIED');
|
||||
$distanceUnit = Configuration::get('PS_DISTANCE_UNIT');
|
||||
if (!in_array($distanceUnit, array('km', 'mi')))
|
||||
$distanceUnit = 'km';
|
||||
|
||||
|
||||
if ($simplifiedStoreLocator)
|
||||
{
|
||||
$stores = Db::getInstance()->ExecuteS('
|
||||
SELECT s.*, cl.name country, st.iso_code state
|
||||
FROM '._DB_PREFIX_.'store_shop ss
|
||||
LEFT JOIN '._DB_PREFIX_.'store s ON (ss.id_store = s.id_store)
|
||||
FROM '._DB_PREFIX_.'store s
|
||||
'.$this->context->shop->sqlAsso('shop', 's').'
|
||||
LEFT JOIN '._DB_PREFIX_.'country_lang cl ON (cl.id_country = s.id_country)
|
||||
LEFT JOIN '._DB_PREFIX_.'state st ON (st.id_state = s.id_state)
|
||||
WHERE s.active = 1 AND cl.id_lang = '.(int)$this->context->language->id.' AND ss.id_shop = '.(int)$this->id_current_shop);
|
||||
|
||||
WHERE s.active = 1 AND cl.id_lang = '.(int)$this->context->language->id);
|
||||
|
||||
foreach ($stores AS &$store)
|
||||
$store['has_picture'] = file_exists(_PS_STORE_IMG_DIR_.(int)($store['id_store']).'.jpg');
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
if (Tools::getValue('all') == 1)
|
||||
{
|
||||
{
|
||||
$stores = Db::getInstance()->ExecuteS('
|
||||
SELECT s.*, cl.name country, st.iso_code state
|
||||
FROM '._DB_PREFIX_.'store_shop ss
|
||||
LEFT JOIN '._DB_PREFIX_.'store s ON (ss.id_store = s.id_store)
|
||||
FROM '._DB_PREFIX_.'store s
|
||||
'.$this->context->shop->sqlAsso('shop', 's').'
|
||||
LEFT JOIN '._DB_PREFIX_.'country_lang cl ON (cl.id_country = s.id_country)
|
||||
LEFT JOIN '._DB_PREFIX_.'state st ON (st.id_state = s.id_state)
|
||||
WHERE s.active = 1 AND cl.id_lang = '.(int)$this->context->language->id.' AND ss.id_shop = '.(int)$this->id_current_shop);
|
||||
WHERE s.active = 1 AND cl.id_lang = '.(int)$this->context->language->id);
|
||||
}
|
||||
else
|
||||
{
|
||||
$distance = (int)(Tools::getValue('radius', 100));
|
||||
$multiplicator = ($distanceUnit == 'km' ? 6371 : 3959);
|
||||
|
||||
|
||||
$stores = Db::getInstance()->ExecuteS('
|
||||
SELECT s.*, cl.name country, st.iso_code state,
|
||||
('.(int)($multiplicator).' * acos(cos(radians('.(float)(Tools::getValue('latitude')).')) * cos(radians(latitude)) * cos(radians(longitude) - radians('.(float)(Tools::getValue('longitude')).')) + sin(radians('.(float)(Tools::getValue('latitude')).')) * sin(radians(latitude)))) distance, cl.id_country id_country
|
||||
FROM '._DB_PREFIX_.'store_shop ss
|
||||
LEFT JOIN '._DB_PREFIX_.'store s ON (ss.id_store = s.id_store)
|
||||
FROM '._DB_PREFIX_.'store s
|
||||
'.$this->context->shop->sqlAsso('shop', 's').'
|
||||
LEFT JOIN '._DB_PREFIX_.'country_lang cl ON (cl.id_country = s.id_country)
|
||||
LEFT JOIN '._DB_PREFIX_.'state st ON (st.id_state = s.id_state)
|
||||
WHERE s.active = 1 AND cl.id_lang = '.(int)$this->context->language->id.' AND ss.id_shop = '.(int)$this->id_current_shop.'
|
||||
WHERE s.active = 1 AND cl.id_lang = '.(int)$this->context->language->id.'
|
||||
HAVING distance < '.(int)($distance).'
|
||||
ORDER BY distance ASC
|
||||
LIMIT 0,20');
|
||||
@@ -106,7 +108,7 @@ class StoresControllerCore extends FrontController
|
||||
$newnode = $parnode->appendChild($node);
|
||||
$newnode->setAttribute('name', $store['name']);
|
||||
$address = $this->_processStoreAddress($store);
|
||||
|
||||
|
||||
$other = '';
|
||||
if (!empty($store['hours']))
|
||||
{
|
||||
@@ -121,10 +123,10 @@ class StoresControllerCore extends FrontController
|
||||
}
|
||||
$this->context->smarty->assign('days_datas', $days_datas);
|
||||
$this->context->smarty->assign('id_country', $store['id_country']);
|
||||
|
||||
|
||||
$other .= $this->context->smarty->fetch(_PS_THEME_DIR_.'store_infos.tpl');
|
||||
}
|
||||
|
||||
|
||||
$newnode->setAttribute('addressNoHtml', strip_tags(str_replace('<br />', ' ', $address)));
|
||||
$newnode->setAttribute('address', $address);
|
||||
$newnode->setAttribute('other', $other);
|
||||
@@ -133,18 +135,18 @@ class StoresControllerCore extends FrontController
|
||||
$newnode->setAttribute('has_store_picture', file_exists(_PS_STORE_IMG_DIR_.(int)($store['id_store']).'.jpg'));
|
||||
$newnode->setAttribute('lat', (float)($store['latitude']));
|
||||
$newnode->setAttribute('lng', (float)($store['longitude']));
|
||||
|
||||
|
||||
if (isset($store['distance']))
|
||||
$newnode->setAttribute('distance', (int)($store['distance']));
|
||||
}
|
||||
|
||||
|
||||
header('Content-type: text/xml');
|
||||
die($dom->saveXML());
|
||||
}
|
||||
else
|
||||
$this->context->smarty->assign('hasStoreIcon', file_exists(dirname(__FILE__).'/../img/logo_stores.gif'));
|
||||
}
|
||||
|
||||
|
||||
$this->context->smarty->assign(array('distance_unit' => $distanceUnit, 'simplifiedStoresDiplay' => $simplifiedStoreLocator, 'stores' => $stores, 'mediumSize' => Image::getSize('medium')));
|
||||
}
|
||||
|
||||
@@ -160,19 +162,19 @@ class StoresControllerCore extends FrontController
|
||||
|
||||
$address_datas = AddressFormat::getOrderedAddressFields($store['id_country'], false, true);
|
||||
$state = (isset($store['id_state'])) ? new State($store['id_state']) : NULL;
|
||||
|
||||
|
||||
foreach ($address_datas as $data_line)
|
||||
{
|
||||
$data_fields = explode(' ', $data_line);
|
||||
$adr_out = array();
|
||||
|
||||
|
||||
$data_fields_mod = false;
|
||||
foreach ($data_fields as $field_item)
|
||||
{
|
||||
$field_item = trim($field_item);
|
||||
if (!isset($ignore_field[$field_item]) && !empty($store[$field_item]) && $store[$field_item] != '')
|
||||
{
|
||||
$adr_out[] = ($field_item == "city" && $state && isset($state->iso_code) && strlen($state->iso_code)) ?
|
||||
$adr_out[] = ($field_item == "city" && $state && isset($state->iso_code) && strlen($state->iso_code)) ?
|
||||
$store[$field_item].', '.$state->iso_code : $store[$field_item];
|
||||
$data_fields_mod = true;
|
||||
}
|
||||
@@ -188,13 +190,13 @@ class StoresControllerCore extends FrontController
|
||||
|
||||
public function process()
|
||||
{
|
||||
parent::process();
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'defaultLat' => (float)Configuration::get('PS_STORES_CENTER_LAT'),
|
||||
'defaultLong' => (float)Configuration::get('PS_STORES_CENTER_LONG'),
|
||||
'searchUrl' => $this->context->link->getPageLink('stores')
|
||||
));
|
||||
|
||||
$this->setTemplate(_PS_THEME_DIR_.'stores.tpl');
|
||||
}
|
||||
|
||||
public function setMedia()
|
||||
@@ -205,10 +207,4 @@ class StoresControllerCore extends FrontController
|
||||
$this->addJS(_THEME_JS_DIR_.'stores.js');
|
||||
$this->addJS('http://maps.google.com/maps/api/js?sensor=true');
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'stores.tpl');
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -28,35 +28,25 @@
|
||||
class SupplierControllerCore extends FrontController
|
||||
{
|
||||
public $php_self = 'supplier';
|
||||
|
||||
|
||||
protected $supplier;
|
||||
|
||||
|
||||
public function setMedia()
|
||||
{
|
||||
parent::setMedia();
|
||||
$this->addCSS(_THEME_CSS_DIR_.'product_list.css');
|
||||
}
|
||||
|
||||
|
||||
public function canonicalRedirection()
|
||||
{
|
||||
if (Configuration::get('PS_CANONICAL_REDIRECT'))
|
||||
{
|
||||
if (Validate::isLoadedObject($this->supplier))
|
||||
{
|
||||
$canonicalURL = $this->context->link->getSupplierLink($this->supplier);
|
||||
if (!preg_match('/^'.Tools::pRegexp($canonicalURL, '/').'([&?].*)?$/', Tools::getProtocol().$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']))
|
||||
{
|
||||
header('HTTP/1.0 301 Moved');
|
||||
if (defined('_PS_MODE_DEV_') AND _PS_MODE_DEV_)
|
||||
die('[Debug] This page has moved<br />Please use the following URL instead: <a href="'.$canonicalURL.'">'.$canonicalURL.'</a>');
|
||||
Tools::redirectLink($canonicalURL);
|
||||
}
|
||||
}
|
||||
parent::canonicalRedirection($this->context->link->getSupplierLink($this->supplier))
|
||||
}
|
||||
}
|
||||
|
||||
public function preProcess()
|
||||
|
||||
public function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
if ($id_supplier = (int)Tools::getValue('id_supplier'))
|
||||
{
|
||||
$this->supplier = new Supplier($id_supplier, $this->context->language->id);
|
||||
@@ -70,22 +60,20 @@ class SupplierControllerCore extends FrontController
|
||||
else
|
||||
$this->canonicalRedirection();
|
||||
}
|
||||
|
||||
parent::preProcess();
|
||||
}
|
||||
|
||||
|
||||
public function process()
|
||||
{
|
||||
if (Validate::isLoadedObject($this->supplier) AND $this->supplier->active AND $this->supplier->isAssociatedToGroupShop())
|
||||
{
|
||||
$nbProducts = $this->supplier->getProducts($this->supplier->id, NULL, NULL, NULL, $this->orderBy, $this->orderWay, true);
|
||||
$this->pagination((int)$nbProducts);
|
||||
$this->context->smarty->assign(array(
|
||||
'nb_products' => $nbProducts,
|
||||
'products' => $this->supplier->getProducts($this->supplier->id, $this->context->cookie->id_lang, (int)$this->p, (int)$this->n, $this->orderBy, $this->orderWay),
|
||||
'path' => ($this->supplier->active ? Tools::safeOutput($this->supplier->name) : ''),
|
||||
'supplier' => $this->supplier,
|
||||
));
|
||||
$this->pagination((int)$nbProducts);
|
||||
$this->context->smarty->assign(array(
|
||||
'nb_products' => $nbProducts,
|
||||
'products' => $this->supplier->getProducts($this->supplier->id, $this->context->cookie->id_lang, (int)$this->p, (int)$this->n, $this->orderBy, $this->orderWay),
|
||||
'path' => ($this->supplier->active ? Tools::safeOutput($this->supplier->name) : ''),
|
||||
'supplier' => $this->supplier,
|
||||
));
|
||||
}
|
||||
elseif (!Tools::getValue('id_supplier'))
|
||||
{
|
||||
@@ -94,7 +82,7 @@ class SupplierControllerCore extends FrontController
|
||||
$result = Supplier::getSuppliers(true, $this->context->language->id, true);
|
||||
$nbProducts = count($result);
|
||||
$this->pagination($nbProducts);
|
||||
|
||||
|
||||
$suppliers = Supplier::getSuppliers(true, $this->context->language->id, true, $this->p, $this->n);
|
||||
foreach ($suppliers AS &$row)
|
||||
$row['image'] = (!file_exists(_PS_SUPP_IMG_DIR_.'/'.$row['id_supplier'].'-medium.jpg')) ? $this->context->language->iso_code.'-default' : $row['id_supplier'];;
|
||||
@@ -110,21 +98,16 @@ class SupplierControllerCore extends FrontController
|
||||
else
|
||||
$this->context->smarty->assign('nbSuppliers', 0);
|
||||
}
|
||||
|
||||
if ($this->supplier)
|
||||
$this->setTemplate(_PS_THEME_DIR_.'supplier.tpl');
|
||||
else
|
||||
$this->setTemplate(_PS_THEME_DIR_.'supplier-list.tpl');
|
||||
}
|
||||
|
||||
|
||||
public function displayHeader()
|
||||
{
|
||||
parent::displayHeader();
|
||||
$this->productSort();
|
||||
}
|
||||
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
if ($this->supplier)
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'supplier.tpl');
|
||||
else
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'supplier-list.tpl');
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 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/osl-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-2011 PrestaShop SA
|
||||
* @version Release: $Revision$
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
||||
@@ -55,7 +55,7 @@ class BlockManufacturer extends Module
|
||||
function hookLeftColumn($params)
|
||||
{
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
$this->smartyAssign(array(
|
||||
'manufacturers' => Manufacturer::getManufacturers(),
|
||||
'text_list' => Configuration::get('MANUFACTURER_DISPLAY_TEXT'),
|
||||
'text_list_nb' => Configuration::get('MANUFACTURER_DISPLAY_TEXT_NB'),
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -26,24 +26,24 @@
|
||||
|
||||
<!-- Block manufacturers module -->
|
||||
<div id="manufacturers_block_left" class="block blockmanufacturer">
|
||||
<h4>{if $display_link_manufacturer}<a href="{$link->getPageLink('manufacturer')}" title="{l s='Manufacturers' mod='blockmanufacturer'}">{/if}{l s='Manufacturers' mod='blockmanufacturer'}{if $display_link_manufacturer}</a>{/if}</h4>
|
||||
<h4>{if $blockmanufacturer_display_link_manufacturer}<a href="{$link->getPageLink('manufacturer')}" title="{l s='Manufacturers' mod='blockmanufacturer'}">{/if}{l s='Manufacturers' mod='blockmanufacturer'}{if $blockmanufacturer_display_link_manufacturer}</a>{/if}</h4>
|
||||
<div class="block_content">
|
||||
{if $manufacturers}
|
||||
{if $text_list}
|
||||
{if $blockmanufacturer_manufacturers}
|
||||
{if $blockmanufacturer_text_list}
|
||||
<ul class="bullet">
|
||||
{foreach from=$manufacturers item=manufacturer name=manufacturer_list}
|
||||
{if $smarty.foreach.manufacturer_list.iteration <= $text_list_nb}
|
||||
{foreach from=$blockmanufacturer_manufacturers item=manufacturer name=manufacturer_list}
|
||||
{if $smarty.foreach.manufacturer_list.iteration <= $blockmanufacturer_text_list_nb}
|
||||
<li class="{if $smarty.foreach.manufacturer_list.last}last_item{elseif $smarty.foreach.manufacturer_list.first}first_item{else}item{/if}"><a href="{$link->getmanufacturerLink($manufacturer.id_manufacturer, $manufacturer.link_rewrite)}" title="{l s='More about' mod='blockmanufacturer'} {$manufacturer.name}">{$manufacturer.name|escape:'htmlall':'UTF-8'}</a></li>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
{if $form_list}
|
||||
{if $blockmanufacturer_form_list}
|
||||
<form action="{$smarty.server.SCRIPT_NAME}" method="get">
|
||||
<p>
|
||||
<select id="manufacturer_list" onchange="autoUrl('manufacturer_list', '');">
|
||||
<option value="0">{l s='All manufacturers' mod='blockmanufacturer'}</option>
|
||||
{foreach from=$manufacturers item=manufacturer}
|
||||
{foreach from=$blockmanufacturer_manufacturers item=manufacturer}
|
||||
<option value="{$link->getmanufacturerLink($manufacturer.id_manufacturer, $manufacturer.link_rewrite)}">{$manufacturer.name|escape:'htmlall':'UTF-8'}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -60,10 +60,11 @@ class BlockMyAccount extends Module
|
||||
{
|
||||
if (!$this->context->customer->isLogged())
|
||||
return false;
|
||||
$this->context->smarty->assign(array(
|
||||
'voucherAllowed' => (int)(Configuration::get('PS_VOUCHERS')),
|
||||
'returnAllowed' => (int)(Configuration::get('PS_ORDER_RETURN')),
|
||||
'HOOK_BLOCK_MY_ACCOUNT' => Module::hookExec('myAccountBlock')
|
||||
|
||||
$this->smartyAssign(array(
|
||||
'voucherAllowed' => (int)Configuration::get('PS_VOUCHERS'),
|
||||
'returnAllowed' => (int)Configuration::get('PS_ORDER_RETURN'),
|
||||
'HOOK_BLOCK_MY_ACCOUNT' => Module::hookExec('myAccountBlock'),
|
||||
));
|
||||
return $this->display(__FILE__, $this->name.'.tpl');
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -30,12 +30,12 @@
|
||||
<div class="block_content">
|
||||
<ul class="bullet">
|
||||
<li><a href="{$link->getPageLink('history', true)}" title="">{l s='My orders' mod='blockmyaccount'}</a></li>
|
||||
{if $returnAllowed}<li><a href="{$link->getPageLink('order-follow', true)}" title="">{l s='My merchandise returns' mod='blockmyaccount'}</a></li>{/if}
|
||||
{if $blockmyaccount_returnAllowed}<li><a href="{$link->getPageLink('order-follow', true)}" title="">{l s='My merchandise returns' mod='blockmyaccount'}</a></li>{/if}
|
||||
<li><a href="{$link->getPageLink('order-slip', true)}" title="">{l s='My credit slips' mod='blockmyaccount'}</a></li>
|
||||
<li><a href="{$link->getPageLink('addresses', true)}" title="">{l s='My addresses' mod='blockmyaccount'}</a></li>
|
||||
<li><a href="{$link->getPageLink('identity', true)}" title="">{l s='My personal info' mod='blockmyaccount'}</a></li>
|
||||
{if $voucherAllowed}<li><a href="{$link->getPageLink('discount', true)}" title="">{l s='My vouchers' mod='blockmyaccount'}</a></li>{/if}
|
||||
{$HOOK_BLOCK_MY_ACCOUNT}
|
||||
{if $blockmyaccount_voucherAllowed}<li><a href="{$link->getPageLink('discount', true)}" title="">{l s='My vouchers' mod='blockmyaccount'}</a></li>{/if}
|
||||
{$blockmyaccount_HOOK_BLOCK_MY_ACCOUNT}
|
||||
</ul>
|
||||
<p class="logout"><a href="{$link->getPageLink('index', true, NULL, "mylogout")}" title="{l s='Sign out' mod='blockmyaccount'}">{l s='Sign out' mod='blockmyaccount'}</a></p>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -152,7 +152,7 @@ class BlockViewed extends Module
|
||||
LEFT JOIN `'._DB_PREFIX_.'category_group` cg ON (cg.`id_category` = cp.`id_category`)
|
||||
LEFT JOIN `'._DB_PREFIX_.'customer_group` cug ON (cug.`id_group` = cg.`id_group`)
|
||||
WHERE p.`id_product` = '.(int)($id_product).'
|
||||
'.($this->context->customer->id ? 'AND cug.`id_customer` = '.(int)$this->context->customer->id :
|
||||
'.($this->context->customer->id ? 'AND cug.`id_customer` = '.(int)$this->context->customer->id :
|
||||
'AND cg.`id_group` = 1')
|
||||
);
|
||||
if ($result['total'])
|
||||
@@ -166,7 +166,7 @@ class BlockViewed extends Module
|
||||
if (!sizeof($productsViewedObj))
|
||||
return ;
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
$this->smartyAssign(array(
|
||||
'productsViewedObj' => $productsViewedObj,
|
||||
'mediumSize' => Image::getSize('medium')));
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -29,9 +29,9 @@
|
||||
<h4>{l s='Viewed products' mod='blockviewed'}</h4>
|
||||
<div class="block_content">
|
||||
<ul class="products clearfix">
|
||||
{foreach from=$productsViewedObj item=viewedProduct name=myLoop}
|
||||
{foreach from=$blockviewed_productsViewedObj item=viewedProduct name=myLoop}
|
||||
<li class="clearfix{if $smarty.foreach.myLoop.last} last_item{elseif $smarty.foreach.myLoop.first} first_item{else} item{/if}">
|
||||
<a href="{$link->getProductLink($viewedProduct->id, $viewedProduct->link_rewrite, $viewedProduct->category_rewrite)}" title="{l s='More about' mod='blockviewed'} {$viewedProduct->name|escape:html:'UTF-8'}"><img src="{$link->getImageLink($viewedProduct->link_rewrite, $viewedProduct->cover, 'medium')}" height="{$mediumSize.height}" width="{$mediumSize.width}" alt="{$viewedProduct->legend|escape:html:'UTF-8'}" /></a>
|
||||
<a href="{$link->getProductLink($viewedProduct->id, $viewedProduct->link_rewrite, $viewedProduct->category_rewrite)}" title="{l s='More about' mod='blockviewed'} {$viewedProduct->name|escape:html:'UTF-8'}"><img src="{$link->getImageLink($viewedProduct->link_rewrite, $viewedProduct->cover, 'medium')}" height="{$blockviewed_mediumSize.height}" width="{$blockviewed_mediumSize.width}" alt="{$viewedProduct->legend|escape:html:'UTF-8'}" /></a>
|
||||
<h5><a href="{$link->getProductLink($viewedProduct->id, $viewedProduct->link_rewrite, $viewedProduct->category_rewrite)}" title="{l s='More about' mod='blockviewed'} {$viewedProduct->name|escape:html:'UTF-8'}">{$viewedProduct->name|truncate:14:'...'|escape:html:'UTF-8'}</a></h5>
|
||||
<p>{$viewedProduct->description_short|strip_tags:'UTF-8'|truncate:44}<a href="{$link->getProductLink($viewedProduct->id, $viewedProduct->link_rewrite, $viewedProduct->category_rewrite)}" title="{l s='More about' mod='blockviewed'} {$viewedProduct->name|escape:html:'UTF-8'}"><img src="{$img_dir}bullet.gif" alt=">>" width="10" height="7" /></a></p>
|
||||
</li>
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 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/osl-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-2011 PrestaShop SA
|
||||
* @version Release: $Revision$
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
||||
@@ -1,5 +1,5 @@
|
||||
{*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -59,7 +59,7 @@
|
||||
{/if}
|
||||
{$HOOK_HEADER}
|
||||
</head>
|
||||
|
||||
|
||||
<body {if $page_name}id="{$page_name|escape:'htmlall':'UTF-8'}"{/if}>
|
||||
{if !$content_only}
|
||||
{if isset($restricted_country_mode) && $restricted_country_mode}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{*
|
||||
* 2007-2011 PrestaShop
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
@@ -33,7 +33,7 @@
|
||||
<a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} /></a>
|
||||
<h3>{if isset($product.new) && $product.new == 1}<span class="new">{l s='New'}</span>{/if}<a href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name|truncate:35:'...'|escape:'htmlall':'UTF-8'}</a></h3>
|
||||
<p class="product_desc"><a href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.description_short|truncate:360:'...'|strip_tags:'UTF-8'|escape:'htmlall':'UTF-8'}">{$product.description_short|truncate:360:'...'|strip_tags:'UTF-8'}</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right_block">
|
||||
{if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="on_sale">{l s='On sale!'}</span>
|
||||
{elseif isset($product.reduction) && $product.reduction && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="discount">{l s='Reduced price!'}</span>{/if}
|
||||
@@ -58,7 +58,7 @@
|
||||
<a class="button" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View'}</a>
|
||||
{if isset($comparator_max_item) && $comparator_max_item}
|
||||
<p class="compare"><input type="checkbox" class="comparator" id="comparator_item_{$product.id_product}" value="comparator_item_{$product.id_product}" {if isset($compareProducts) && in_array($product.id_product, $compareProducts)}checked{/if}/> <label for="comparator_item_{$product.id_product}">{l s='Select to compare'}</label></p>
|
||||
{/if}
|
||||
{/if}
|
||||
</div>
|
||||
</li>
|
||||
{/foreach}
|
||||
|
||||
Reference in New Issue
Block a user