diff --git a/classes/Product.php b/classes/Product.php
index e5ee1379b..ca804b5f3 100644
--- a/classes/Product.php
+++ b/classes/Product.php
@@ -179,7 +179,7 @@ class ProductCore extends ObjectModel
/** @var string ENUM('both', 'catalog', 'search', 'none') front office visibility */
public $visibility;
-
+
/** @var string Object creation date */
public $date_add;
@@ -405,7 +405,7 @@ class ProductCore extends ObjectModel
*/
if ($this->id)
$this->id_tax_rules_group = $this->getIdTaxRulesGroup($context);
-
+
if ($full && $this->id)
{
$this->isFullyLoaded = $full;
@@ -933,7 +933,7 @@ class ProductCore extends ObjectModel
$front = true;
if (!in_array($context->controller->controller_type, array('front', 'modulefront')))
$front = false;
-
+
if (!Validate::isOrderBy($order_by) || !Validate::isOrderWay($order_way))
die (Tools::displayError());
if ($order_by == 'id_product' || $order_by == 'price' || $order_by == 'date_add')
@@ -953,7 +953,7 @@ class ProductCore extends ObjectModel
FROM `'._DB_PREFIX_.'product` p
'.Shop::addSqlAssociation('product', 'p').'
LEFT JOIN `'._DB_PREFIX_.'product_lang` pl ON (p.`id_product` = pl.`id_product` '.Shop::addSqlRestrictionOnLang('pl').')
- LEFT JOIN `'._DB_PREFIX_.'product_tax_rules_group_shop` ptrgs ON (p.`id_product` = ptrgs.`id_product`
+ LEFT JOIN `'._DB_PREFIX_.'product_tax_rules_group_shop` ptrgs ON (p.`id_product` = ptrgs.`id_product`
AND ptrgs.id_shop='.(int)$context->shop->id.')
LEFT JOIN `'._DB_PREFIX_.'tax_rule` tr ON (ptrgs.`id_tax_rules_group` = tr.`id_tax_rules_group`
AND tr.`id_country` = '.(int)Context::getContext()->country->id.'
@@ -982,7 +982,7 @@ class ProductCore extends ObjectModel
$front = true;
if (!in_array($context->controller->controller_type, array('front', 'modulefront')))
$front = false;
-
+
$sql = 'SELECT p.`id_product`, pl.`name`
FROM `'._DB_PREFIX_.'product` p
'.Shop::addSqlAssociation('product', 'p', false).'
@@ -1243,8 +1243,6 @@ class ProductCore extends ObjectModel
);
$this->addSupplierReference($supplier_reference, $id_product_attribute);
- Hook::exec('actionProductAttributeUpdate', array('id_product_attribute' => $id_product_attribute));
-
return $return;
}
@@ -1790,7 +1788,7 @@ class ProductCore extends ObjectModel
{
if (!$context)
$context = Context::getContext();
-
+
$front = true;
if (!in_array($context->controller->controller_type, array('front', 'modulefront')))
$front = false;
@@ -1859,7 +1857,7 @@ class ProductCore extends ObjectModel
);
$sql->leftJoin('image', 'i', 'i.`id_product` = p.`id_product` AND i.`cover` = 1');
$sql->leftJoin('image_lang', 'il', 'i.`id_image` = il.`id_image` AND il.`id_lang` = '.(int)$id_lang);
- $sql->leftJoin('product_tax_rules_group_shop', 'ptrgs',
+ $sql->leftJoin('product_tax_rules_group_shop', 'ptrgs',
'p.`id_product` = ptrgs.`id_product` AND ptrgs.`id_shop` ='.(int)$context->shop->id);
$sql->leftJoin('tax_rule', 'tr', '
ptrgs.`id_tax_rules_group` = tr.`id_tax_rules_group`
@@ -1948,7 +1946,7 @@ class ProductCore extends ObjectModel
$front = true;
if (!in_array($context->controller->controller_type, array('front', 'modulefront')))
$front = false;
-
+
$current_date = date('Y-m-d H:i:s');
$ids_product = Product::_getProductIdByDate((!$beginning ? $current_date : $beginning), (!$ending ? $current_date : $ending), $context);
@@ -1984,7 +1982,7 @@ class ProductCore extends ObjectModel
'.Shop::addSqlAssociation('product', 'p').'
LEFT JOIN `'._DB_PREFIX_.'image` i ON (i.`id_product` = p.`id_product` AND i.`cover` = 1)
LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = '.(int)$id_lang.')
- LEFT JOIN `'._DB_PREFIX_.'product_tax_rules_group_shop` ptrgs ON (p.`id_product` = ptrgs.`id_product`
+ LEFT JOIN `'._DB_PREFIX_.'product_tax_rules_group_shop` ptrgs ON (p.`id_product` = ptrgs.`id_product`
AND ptrgs.id_shop='.(int)$context->shop->id.')
LEFT JOIN `'._DB_PREFIX_.'tax_rule` tr ON (ptrgs.`id_tax_rules_group` = tr.`id_tax_rules_group`
AND tr.`id_country` = '.(int)Context::getContext()->country->id.'
@@ -2030,7 +2028,7 @@ class ProductCore extends ObjectModel
$front = true;
if (!in_array($context->controller->controller_type, array('front', 'modulefront')))
$front = false;
-
+
$groups = FrontController::getCurrentCustomerGroups();
$sql_groups = (count($groups) ? 'IN ('.implode(',', $groups).')' : '= 1');
@@ -2076,7 +2074,7 @@ class ProductCore extends ObjectModel
)
LEFT JOIN `'._DB_PREFIX_.'image` i ON (i.`id_product` = p.`id_product` AND i.`cover` = 1)
LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = '.(int)$id_lang.')
- LEFT JOIN `'._DB_PREFIX_.'product_tax_rules_group_shop` ptrgs ON (p.`id_product` = ptrgs.`id_product`
+ LEFT JOIN `'._DB_PREFIX_.'product_tax_rules_group_shop` ptrgs ON (p.`id_product` = ptrgs.`id_product`
AND ptrgs.id_shop='.(int)$context->shop->id.')
LEFT JOIN `'._DB_PREFIX_.'tax_rule` tr ON (ptrgs.`id_tax_rules_group` = tr.`id_tax_rules_group`
AND tr.`id_country` = '.(int)Context::getContext()->country->id.'
@@ -2979,7 +2977,7 @@ class ProductCore extends ObjectModel
LEFT JOIN `'._DB_PREFIX_.'image` i ON (i.`id_product` = p.`id_product` AND i.`cover` = 1)
LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = '.(int)$id_lang.')
LEFT JOIN `'._DB_PREFIX_.'manufacturer` m ON (p.`id_manufacturer`= m.`id_manufacturer`)
- LEFT JOIN `'._DB_PREFIX_.'product_tax_rules_group_shop` ptrgs ON (p.`id_product` = ptrgs.`id_product`
+ LEFT JOIN `'._DB_PREFIX_.'product_tax_rules_group_shop` ptrgs ON (p.`id_product` = ptrgs.`id_product`
AND ptrgs.id_shop='.(int)$context->shop->id.')
LEFT JOIN `'._DB_PREFIX_.'tax_rule` tr ON (ptrgs.`id_tax_rules_group` = tr.`id_tax_rules_group`
AND tr.`id_country` = '.(int)$context->country->id.'
@@ -4085,23 +4083,23 @@ class ProductCore extends ObjectModel
AND l.`active` = 1
');
}
-
+
public static function duplicateTaxRulesGroup($id_old_product, $id_new_product)
{
return Db::getInstance()->execute('INSERT INTO '._DB_PREFIX_.'product_tax_rules_group_shop (`id_product`, `id_tax_rules_group`, `id_shop`)
- (SELECT '.(int)$id_new_product.', `id_tax_rules_group`, `id_shop`
+ (SELECT '.(int)$id_new_product.', `id_tax_rules_group`, `id_shop`
FROM '._DB_PREFIX_.'product_tax_rules_group_shop WHERE `id_product`='.(int)$id_old_product.')');
}
-
+
public function deleteTaxRulesGroup($all_shops = false)
{
$shop = '';
if (!$all_shops)
$shop = ' AND `id_shop`='.(int)Context::getContext()->shop->id;
- return Db::getInstance()->execute('DELETE FROM '._DB_PREFIX_.'product_tax_rules_group_shop
+ return Db::getInstance()->execute('DELETE FROM '._DB_PREFIX_.'product_tax_rules_group_shop
WHERE id_product='.(int)$this->id.$shop);
- }
-
+ }
+
public function setTaxRulesGroup($id_tax_rules_group, $all_shops = false)
{
if (!Validate::isInt($id_tax_rules_group))
@@ -4110,7 +4108,7 @@ class ProductCore extends ObjectModel
if (Shop::getContext() != Shop::CONTEXT_SHOP)
$all_shops = true;
-
+
if ($all_shops)
{
$values = '';
@@ -4122,23 +4120,23 @@ class ProductCore extends ObjectModel
$values = '('.(int)$this->id.','.(int)$id_tax_rules_group.','.(int)Context::getContext()->shop->id.')';
return Db::getInstance()->execute('INSERT INTO '._DB_PREFIX_.'product_tax_rules_group_shop (`id_product`, `id_tax_rules_group`, `id_shop`) VALUES '.rtrim($values, ','));
}
-
+
public function getIdTaxRulesGroup(Context $context = null)
{
return Product::getIdTaxRulesGroupByIdProduct((int)$this->id, $context);
}
-
+
public static function getIdTaxRulesGroupByIdProduct($id_product, Context $context = null)
{
if (!$context)
$context = Context::getContext();
if (!Cache::isStored((int)$id_product.'_'.(int)$context->shop->id))
- Cache::store((int)$id_product.'_'.(int)$context->shop->id,
+ Cache::store((int)$id_product.'_'.(int)$context->shop->id,
Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('
SELECT `id_tax_rules_group`
FROM `'._DB_PREFIX_.'product_tax_rules_group_shop`
WHERE `id_product` = '.(int)$id_product.' AND id_shop='.(int)Context::getContext()->shop->id));
-
+
return Cache::retrieve((int)$id_product.'_'.(int)$context->shop->id);
}
diff --git a/classes/stock/StockAvailable.php b/classes/stock/StockAvailable.php
index 608b18bd8..0ac0b2328 100644
--- a/classes/stock/StockAvailable.php
+++ b/classes/stock/StockAvailable.php
@@ -149,6 +149,14 @@ class StockAvailableCore extends ObjectModel
Db::getInstance()->update($query['table'], $query['data'], $query['where']);
$product_quantity += $quantity;
+
+ Hook::exec('actionUpdateQuantity',
+ array(
+ 'id_product' => $id_product,
+ 'id_product_attribute' => $id_product_attribute,
+ 'quantity' => $quantity
+ )
+ );
}
// updates
@@ -357,13 +365,13 @@ class StockAvailableCore extends ObjectModel
$stock_available->quantity = $stock_available->quantity + $delta_quantity;
$stock_available->update();
- $id_lang = Context::getContext()->language->id;
- $product = new Product($id_product, true, $id_lang, $id_shop, Context::getContext());
-
- if ($id_product_attribute != 0)
- Hook::exec('actionUpdateQuantity', array('product' => $product, 'attribute_id' => $id_product_attribute));
- else
- Hook::exec('actionProductUpdate', array('product' => $product));
+ Hook::exec('actionUpdateQuantity',
+ array(
+ 'id_product' => $id_product,
+ 'id_product_attribute' => $id_product_attribute,
+ 'quantity' => $stock_available->quantity
+ )
+ );
}
@@ -391,9 +399,6 @@ class StockAvailableCore extends ObjectModel
{
$id_stock_available = (int)StockAvailable::getStockAvailableIdByProductId($id_product, $id_product_attribute, $id_shop);
- $product = new Product($id_product, true, $id_lang, $id_shop, $context);
- Hook::exec('actionUpdateQuantity', array('product' => $product, 'attribute_id' => $id_product_attribute));
-
if ($id_stock_available)
{
$stock_available = new StockAvailable($id_stock_available);
@@ -429,19 +434,16 @@ class StockAvailableCore extends ObjectModel
}
$stock_available->add();
-
}
- }
- else
- {
- $product = new Product($id_product, true, $id_lang, $id_shop, $context);
- if ($id_product_attribute != 0)
- Hook::exec('actionUpdateQuantity', array('product' => $product, 'attribute_id' => $id_product_attribute));
- else
- Hook::exec('actionProductUpdate', array('product' => $product));
+ Hook::exec('actionUpdateQuantity',
+ array(
+ 'id_product' => $id_product,
+ 'id_product_attribute' => $id_product_attribute,
+ 'quantity' => $stock_available->quantity
+ )
+ );
}
-
}
/**
diff --git a/classes/stock/StockMvt.php b/classes/stock/StockMvt.php
index 7299459dc..d7c6a5b6f 100644
--- a/classes/stock/StockMvt.php
+++ b/classes/stock/StockMvt.php
@@ -231,6 +231,7 @@ class StockMvtCore extends ObjectModel
$query->orderBy('date_add DESC');
$res = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query);
+
if ($res != false)
return $res['0'];
return false;
diff --git a/controllers/admin/AdminProductsController.php b/controllers/admin/AdminProductsController.php
index ea01f267c..27ab8adc2 100644
--- a/controllers/admin/AdminProductsController.php
+++ b/controllers/admin/AdminProductsController.php
@@ -1540,7 +1540,6 @@ class AdminProductsControllerCore extends AdminController
$this->errors[] = Tools::displayError('An error occurred while adding tags.');
elseif (empty($this->errors))
{
- Hook::exec('actionProductUpdate', array('product' => $object));
if (in_array($object->visibility, array('both', 'search')))
Search::indexation(false, $object->id);
diff --git a/controllers/admin/AdminStockManagementController.php b/controllers/admin/AdminStockManagementController.php
index f405b2386..617b0eb4b 100644
--- a/controllers/admin/AdminStockManagementController.php
+++ b/controllers/admin/AdminStockManagementController.php
@@ -147,6 +147,7 @@ class AdminStockManagementControllerCore extends AdminController
$last_sm_quantity = 0;
$last_sm_quantity_is_usable = -1;
$last_sm = StockMvt::getLastPositiveStockMvt($id_product, $id_product_attribute);
+
if ($last_sm != false)
{
$last_sm_currency = new Currency((int)$last_sm['id_currency']);
@@ -1033,6 +1034,9 @@ class AdminStockManagementControllerCore extends AdminController
'is_post' => 1,
);
+ if ($this->display == 'addstock')
+ $_POST['id_product'] = (int)$id_product;
+
if ($this->display == 'transferstock')
{
$helper->fields_value['id_warehouse_from'] = Tools::getValue('id_warehouse_from', '');
diff --git a/modules/mailalerts/MailAlert.php b/modules/mailalerts/MailAlert.php
index 0d30ec1b7..5f50b8f95 100644
--- a/modules/mailalerts/MailAlert.php
+++ b/modules/mailalerts/MailAlert.php
@@ -54,34 +54,34 @@ class MailAlert extends ObjectModel
public static function customerHasNotification($id_customer, $id_product, $id_product_attribute, $id_shop = null)
{
-
if ($id_shop == null)
$id_shop = Context::getContext()->shop->id;
$customer = new Customer($id_customer);
$customer_email = $customer->email;
- $sql = 'SELECT *
+ $sql = '
+ SELECT *
FROM `'._DB_PREFIX_.self::$definition['table'].'`
- WHERE (`id_customer` = '.(int)$id_customer.'
- OR `customer_email` = \''.pSQL($customer_email).'\')
- AND `id_product` = '.(int)$id_product.'
+ WHERE (`id_customer` = '.(int)$id_customer.' OR `customer_email` = \''.pSQL($customer_email).'\')
+ AND `id_product` = '.(int)$id_product.'
AND `id_product_attribute` = '.(int)$id_product_attribute.'
AND `id_shop` = '.(int)$id_shop;
- return sizeof(Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS($sql));
+ return count(Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql));
}
public static function deleteAlert($id_customer, $customer_email, $id_product, $id_product_attribute)
{
- $sql = 'DELETE FROM `'._DB_PREFIX_.self::$definition['table'].'`
+ $sql = '
+ DELETE FROM `'._DB_PREFIX_.self::$definition['table'].'`
WHERE '.(($id_customer > 0) ? '(`customer_email` = \''.pSQL($customer_email).'\'
OR `id_customer` = '.(int)$id_customer.')' :
'`customer_email` = \''.pSQL($customer_email).'\'').
' AND `id_product` = '.(int)$id_product.'
AND `id_product_attribute` = '.(int)$id_product_attribute;
- return Db::getInstance()->Execute($sql);
+ return Db::getInstance()->execute($sql);
}
/*
@@ -98,11 +98,12 @@ class MailAlert extends ObjectModel
$customer = new Customer($id_customer);
$customer_email = $customer->email;
$products = MailAlert::getProducts($customer, $id_lang);
+ $products_number = count($products);
- if ((empty($products) === true) || (!sizeof($products)))
+ if (empty($products) === true || !$products_number)
return array();
- for ($i = 0; $i < sizeof($products); ++$i)
+ for ($i = 0; $i < $products_number; ++$i)
{
$obj = new Product((int)$products[$i]['id_product'], false, (int)$id_lang);
if (!Validate::isLoadedObject($obj))
@@ -113,40 +114,52 @@ class MailAlert extends ObjectModel
{
$attributes = self::getProductAttributeCombination($products[$i]['id_product_attribute'], $id_lang);
$products[$i]['attributes_small'] = '';
+
if ($attributes)
- foreach ($attributes AS $k => $row)
+ {
+ foreach ($attributes as $k => $row)
$products[$i]['attributes_small'] .= $row['attribute_name'].', ';
+ }
+
$products[$i]['attributes_small'] = rtrim($products[$i]['attributes_small'], ', ');
$products[$i]['id_shop'] = $shop->id;
-
+
/* Get cover */
- $attrgrps = $obj->getAttributesGroups((int)($id_lang));
- foreach ($attrgrps AS $attrgrp)
+ $attrgrps = $obj->getAttributesGroups((int)$id_lang);
+ foreach ($attrgrps as $attrgrp)
+ {
if ($attrgrp['id_product_attribute'] == (int)$products[$i]['id_product_attribute']
&& $images = Product::_getAttributeImageAssociations((int)$attrgrp['id_product_attribute']))
{
$products[$i]['cover'] = $obj->id.'-'.array_pop($images);
break;
}
+ }
}
+
if (!isset($products[$i]['cover']) || !$products[$i]['cover'])
{
$images = $obj->getImages((int)$id_lang);
foreach ($images as $k => $image)
+ {
if ($image['cover'])
{
$products[$i]['cover'] = $obj->id.'-'.$image['id_image'];
break;
}
+ }
}
+
if (!isset($products[$i]['cover']))
$products[$i]['cover'] = Language::getIsoById($id_lang).'-default';
+
$products[$i]['link'] = $obj->getLink();
$products[$i]['link_rewrite'] = $obj->link_rewrite;
}
+
return ($products);
}
-
+
public static function sendCustomerAlert($id_product, $id_product_attribute)
{
$link = new Link();
@@ -157,7 +170,7 @@ class MailAlert extends ObjectModel
'{product}' => (is_array($product->name) ? $product->name[$id_lang] : $product->name),
'{product_link}' => $link->getProductLink($product)
);
-
+
$customers = self::getCustomers($id_product, $id_product_attribute);
foreach ($customers as $customer)
{
@@ -173,13 +186,13 @@ class MailAlert extends ObjectModel
$customer_email = $customer['customer_email'];
}
$iso = Language::getIsoById($id_lang);
-
+
if (file_exists(dirname(__FILE__).'/mails/'.$iso.'/customer_qty.txt') &&
file_exists(dirname(__FILE__).'/mails/'.$iso.'/customer_qty.html'))
Mail::Send((int)Configuration::get('PS_LANG_DEFAULT'), 'customer_qty', Mail::l('Product available', $id_lang), $templateVars, strval($customer_email), NULL, strval(Configuration::get('PS_SHOP_EMAIL')), strval(Configuration::get('PS_SHOP_NAME')), NULL, NULL, dirname(__FILE__).'/mails/');
Hook::exec('actionModuleMailAlertSendCustomer', array('product' => (is_array($product->name) ? $product->name[$id_lang] : $product->name), 'link' => $link->getProductLink($product)));
-
+
self::deleteAlert((int)$customer_id, strval($customer_email), (int)$id_product, (int)$id_product_attribute);
}
}
@@ -197,7 +210,8 @@ class MailAlert extends ObjectModel
*/
public static function getProducts($customer, $id_lang)
{
- $sql = 'SELECT ma.`id_product`, p.`quantity` AS product_quantity, pl.`name`, ma.`id_product_attribute`
+ $sql = '
+ SELECT ma.`id_product`, p.`quantity` AS product_quantity, pl.`name`, ma.`id_product_attribute`
FROM `'._DB_PREFIX_.self::$definition['table'].'` ma
JOIN `'._DB_PREFIX_.'product` p ON p.`id_product` = ma.`id_product`
JOIN `'._DB_PREFIX_.'product_lang` pl ON pl.`id_product` = ma.`id_product`
@@ -206,7 +220,7 @@ class MailAlert extends ObjectModel
OR ma.`customer_email` = \''.pSQL($customer->email).'\')
AND pl.`id_lang` = '.(int)$id_lang.Shop::addSqlRestriction(false, 'ma');
- return Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS($sql);
+ return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql);
}
/*
@@ -214,7 +228,8 @@ class MailAlert extends ObjectModel
*/
public static function getProductAttributeCombination($id_product_attribute, $id_lang)
{
- $sql = 'SELECT al.`name` AS attribute_name
+ $sql = '
+ SELECT al.`name` AS attribute_name
FROM `'._DB_PREFIX_.'product_attribute_combination` pac
LEFT JOIN `'._DB_PREFIX_.'attribute` a ON (a.`id_attribute` = pac.`id_attribute`)
LEFT JOIN `'._DB_PREFIX_.'attribute_group` ag ON (ag.`id_attribute_group` = a.`id_attribute_group`)
@@ -223,7 +238,7 @@ class MailAlert extends ObjectModel
LEFT JOIN `'._DB_PREFIX_.'product_attribute` pa ON (pac.`id_product_attribute` = pa.`id_product_attribute`)
WHERE pac.`id_product_attribute` = '.(int)$id_product_attribute;
- return Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS($sql);
+ return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql);
}
/*
@@ -231,10 +246,12 @@ class MailAlert extends ObjectModel
*/
public static function getCustomers($id_product, $id_product_attribute)
{
- $sql = 'SELECT id_customer, customer_email
+ $sql = '
+ SELECT id_customer, customer_email
FROM `'._DB_PREFIX_.self::$definition['table'].'`
WHERE `id_product` = '.(int)$id_product.' AND `id_product_attribute` = '.(int)$id_product_attribute;
return Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS($sql);
}
+
}
diff --git a/modules/mailalerts/mailalerts.php b/modules/mailalerts/mailalerts.php
index 096c4162c..8350c94c5 100644
--- a/modules/mailalerts/mailalerts.php
+++ b/modules/mailalerts/mailalerts.php
@@ -1,6 +1,6 @@
author = 'PrestaShop';
parent::__construct();
-
+
if ($this->id)
$this->init();
@@ -57,7 +57,7 @@ class MailAlerts extends Module
$this->description = $this->l('Sends e-mail notifications to customers and merchants.');
$this->confirmUninstall = $this->l('Are you sure you want to delete all customer notifications?');
}
-
+
private function init()
{
$this->_merchant_mails = strval(Configuration::get('MA_MERCHANT_MAILS'));
@@ -68,18 +68,16 @@ class MailAlerts extends Module
public function install()
{
- if (!parent::install()
- || !$this->registerHook('actionValidateOrder')
- || !$this->registerHook('actionUpdateQuantity')
- || !$this->registerHook('actionProductOutOfStock')
- || !$this->registerHook('displayCustomerAccount')
- || !$this->registerHook('displayMyAccountBlock')
- || !$this->registerHook('actionProductUpdate')
- || !$this->registerHook('actionProductDelete')
- || !$this->registerHook('actionProductAttributeDelete')
- || !$this->registerHook('actionProductAttributeUpdate')
- || !$this->registerHook('displayHeader')
- )
+ if (!parent::install() ||
+ !$this->registerHook('actionValidateOrder') ||
+ !$this->registerHook('actionUpdateQuantity') ||
+ !$this->registerHook('actionProductOutOfStock') ||
+ !$this->registerHook('displayCustomerAccount') ||
+ !$this->registerHook('displayMyAccountBlock') ||
+ !$this->registerHook('actionProductDelete') ||
+ !$this->registerHook('actionProductAttributeDelete') ||
+ !$this->registerHook('actionProductAttributeUpdate') ||
+ !$this->registerHook('displayHeader'))
return false;
Configuration::updateValue('MA_MERCHANT_ORDER', 1);
@@ -88,16 +86,17 @@ class MailAlerts extends Module
Configuration::updateValue('MA_MERCHANT_MAILS', Configuration::get('PS_SHOP_EMAIL'));
Configuration::updateValue('MA_LAST_QTIES', (int)Configuration::get('PS_LAST_QTIES'));
- $sql = 'CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.MailAlert::$definition['table'].'` (
- `id_customer` int(10) unsigned NOT NULL,
- `customer_email` varchar(128) NOT NULL,
- `id_product` int(10) unsigned NOT NULL,
- `id_product_attribute` int(10) unsigned NOT NULL,
- `id_shop` int(10) unsigned NOT NULL,
- PRIMARY KEY (`id_customer`,`customer_email`,`id_product`,`id_product_attribute`)
- ) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci';
+ $sql = 'CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.MailAlert::$definition['table'].'`
+ (
+ `id_customer` int(10) unsigned NOT NULL,
+ `customer_email` varchar(128) NOT NULL,
+ `id_product` int(10) unsigned NOT NULL,
+ `id_product_attribute` int(10) unsigned NOT NULL,
+ `id_shop` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id_customer`,`customer_email`,`id_product`,`id_product_attribute`)
+ ) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci';
- if (!Db::getInstance()->Execute($sql))
+ if (!Db::getInstance()->execute($sql))
return false;
return true;
@@ -111,7 +110,7 @@ class MailAlerts extends Module
Configuration::deleteByName('MA_MERCHANT_MAILS');
Configuration::deleteByName('MA_LAST_QTIES');
- if (!Db::getInstance()->Execute('DROP TABLE '._DB_PREFIX_.MailAlert::$definition['table']))
+ if (!Db::getInstance()->execute('DROP TABLE '._DB_PREFIX_.MailAlert::$definition['table']))
return false;
return parent::uninstall();
@@ -153,24 +152,26 @@ class MailAlerts extends Module
$errors[] = $this->l('Invalid e-mail:').' '.$email;
break;
}
- else if (!empty($email) && sizeof($email))
+ else if (!empty($email) && count($email) > 0)
$emails[$k] = $email;
else
unset($emails[$k]);
}
+
$emails = implode(self::__MA_MAIL_DELIMITOR__, $emails);
+
if (!Configuration::updateValue('MA_MERCHANT_MAILS', strval($emails)))
$errors[] = $this->l('Cannot update settings');
- elseif (!Configuration::updateValue('MA_MERCHANT_ORDER', (int)Tools::getValue('mA_merchand_order')))
+ else if (!Configuration::updateValue('MA_MERCHANT_ORDER', (int)Tools::getValue('mA_merchand_order')))
$errors[] = $this->l('Cannot update settings');
- elseif (!Configuration::updateValue('MA_MERCHANT_OOS', (int)Tools::getValue('mA_merchand_oos')))
+ else if (!Configuration::updateValue('MA_MERCHANT_OOS', (int)Tools::getValue('mA_merchand_oos')))
$errors[] = $this->l('Cannot update settings');
- elseif (!Configuration::updateValue('MA_LAST_QTIES', (int)Tools::getValue('MA_LAST_QTIES')))
+ else if (!Configuration::updateValue('MA_LAST_QTIES', (int)Tools::getValue('MA_LAST_QTIES')))
$errors[] = $this->l('Cannot update settings');
}
}
- if (sizeof($errors))
+ if (count($errors) > 0)
echo $this->displayError(implode('
', $errors));
$this->init();
@@ -205,7 +206,7 @@ class MailAlerts extends Module
'.$this->l('Quantity for which a product is regarded as out of stock').'