From 8f030538b8674ea23cf6ffb97876e8d3b03a3892 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Gaillard?= Date: Fri, 1 Mar 2013 15:53:23 +0100 Subject: [PATCH 1/6] // display import button only on the listing on admin adresses --- controllers/admin/AdminAddressesController.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/controllers/admin/AdminAddressesController.php b/controllers/admin/AdminAddressesController.php index 223b0f12b..bab4bdfd9 100644 --- a/controllers/admin/AdminAddressesController.php +++ b/controllers/admin/AdminAddressesController.php @@ -75,10 +75,11 @@ class AdminAddressesControllerCore extends AdminController public function initToolbar() { parent::initToolbar(); - $this->toolbar_btn['import'] = array( - 'href' => $this->context->link->getAdminLink('AdminImport', true).'&import_type='.$this->table, - 'desc' => $this->l('Import') - ); + if (!$this->display) + $this->toolbar_btn['import'] = array( + 'href' => $this->context->link->getAdminLink('AdminImport', true).'&import_type='.$this->table, + 'desc' => $this->l('Import') + ); } public function renderForm() From fc3c86da394f6e68c2a42968ff8b6bf6c49cf0e9 Mon Sep 17 00:00:00 2001 From: vAugagneur Date: Fri, 1 Mar 2013 16:00:00 +0100 Subject: [PATCH 2/6] //small sql fix --- controllers/admin/AdminProductsController.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/controllers/admin/AdminProductsController.php b/controllers/admin/AdminProductsController.php index 06ec28af6..828a791fe 100644 --- a/controllers/admin/AdminProductsController.php +++ b/controllers/admin/AdminProductsController.php @@ -1408,18 +1408,18 @@ class AdminProductsControllerCore extends AdminController $res = Db::getInstance()->execute('DELETE FROM '._DB_PREFIX_.'image_shop WHERE `id_image` = '.(int)$id_image.' AND `id_shop` = '.(int)$id_shop); // Clean covers in image table - $count_cover_image = Db::getInstance()->getValue('SELECT COUNT(*) FROM '._DB_PREFIX_.'image i INNER JOIN '._DB_PREFIX_.'image_shop is ON (i.id_image = is.id_image AND is.id_shop = '.(int)$id_shop.') WHERE i.cover = 1'); + $count_cover_image = Db::getInstance()->getValue('SELECT COUNT(*) FROM '._DB_PREFIX_.'image i INNER JOIN '._DB_PREFIX_.'image_shop ish ON (i.id_image = ish.id_image AND ish.id_shop = '.(int)$id_shop.') WHERE i.cover = 1'); if ($count_cover_image < 1) - Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'image i, '._DB_PREFIX_.'image_shop is SET i.cover = 1 WHERE i.id_image = is.id_image AND is.id_shop = '.(int)$id_shop.' LIMIT 1'); + Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'image i, '._DB_PREFIX_.'image_shop ish SET i.cover = 1 WHERE i.id_image = ish.id_image AND ish.id_shop = '.(int)$id_shop.' LIMIT 1'); if ($count_cover_image > 1) - Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'image i, '._DB_PREFIX_.'image_shop is SET i.cover = 0 WHERE cover = 1 AND i.id_image = is.id_image AND is.id_shop = '.(int)$id_shop.' LIMIT '.intval($count_cover_image - 1)); + Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'image i, '._DB_PREFIX_.'image_shop ish SET i.cover = 0 WHERE cover = 1 AND i.id_image = ish.id_image AND is.id_shop = '.(int)$id_shop.' LIMIT '.intval($count_cover_image - 1)); // Clean covers in image_shop table - $count_cover_image_shop = Db::getInstance()->getValue('SELECT COUNT(*) FROM '._DB_PREFIX_.'image_shop is WHERE is.id_shop = '.(int)$id_shop.' AND is.cover = 1'); + $count_cover_image_shop = Db::getInstance()->getValue('SELECT COUNT(*) FROM '._DB_PREFIX_.'image_shop ish WHERE ish.id_shop = '.(int)$id_shop.' AND ish.cover = 1'); if ($count_cover_image_shop < 1) - Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'image_shop is SET is.cover = 1 WHERE is.id_shop = '.(int)$id_shop.' LIMIT 1'); + Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'image_shop ish SET ish.cover = 1 WHERE ish.id_shop = '.(int)$id_shop.' LIMIT 1'); if ($count_cover_image_shop > 1) - Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'image_shop is SET is.cover = 0 WHERE is.cover = 1 AND is.id_shop = '.(int)$id_shop.' LIMIT '.intval($count_cover_image_shop - 1)); + Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'image_shop ish SET ish.cover = 0 WHERE ish.cover = 1 AND ish.id_shop = '.(int)$id_shop.' LIMIT '.intval($count_cover_image_shop - 1)); if ($res) $this->jsonConfirmation($this->_conf[27]); From c52f5a6a2bed7a377a85513c2bf5f2970c345ece Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Gaillard?= Date: Fri, 1 Mar 2013 16:01:26 +0100 Subject: [PATCH 3/6] [-] Core: increase size of phone field --- classes/Address.php | 4 ++-- install-dev/data/db_structure.sql | 4 ++-- install-dev/upgrade/sql/1.5.4.0.sql | 3 +++ 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/classes/Address.php b/classes/Address.php index 73dac7eb7..abf8ac2a3 100644 --- a/classes/Address.php +++ b/classes/Address.php @@ -124,8 +124,8 @@ class AddressCore extends ObjectModel 'postcode' => array('type' => self::TYPE_STRING, 'validate' => 'isPostCode', 'size' => 12), 'city' => array('type' => self::TYPE_STRING, 'validate' => 'isCityName', 'required' => true, 'size' => 64), 'other' => array('type' => self::TYPE_STRING, 'validate' => 'isMessage', 'size' => 300), - 'phone' => array('type' => self::TYPE_STRING, 'validate' => 'isPhoneNumber', 'size' => 16), - 'phone_mobile' => array('type' => self::TYPE_STRING, 'validate' => 'isPhoneNumber', 'size' => 16), + 'phone' => array('type' => self::TYPE_STRING, 'validate' => 'isPhoneNumber', 'size' => 32), + 'phone_mobile' => array('type' => self::TYPE_STRING, 'validate' => 'isPhoneNumber', 'size' => 32), 'dni' => array('type' => self::TYPE_STRING, 'validate' => 'isDniLite', 'size' => 16), 'deleted' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false), 'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDateFormat', 'copy_post' => false), diff --git a/install-dev/data/db_structure.sql b/install-dev/data/db_structure.sql index 522f28efe..0166bb0ec 100644 --- a/install-dev/data/db_structure.sql +++ b/install-dev/data/db_structure.sql @@ -33,8 +33,8 @@ CREATE TABLE `PREFIX_address` ( `postcode` varchar(12) default NULL, `city` varchar(64) NOT NULL, `other` text, - `phone` varchar(16) default NULL, - `phone_mobile` varchar(16) default NULL, + `phone` varchar(32) default NULL, + `phone_mobile` varchar(32) default NULL, `vat_number` varchar(32) default NULL, `dni` varchar(16) DEFAULT NULL, `date_add` datetime NOT NULL, diff --git a/install-dev/upgrade/sql/1.5.4.0.sql b/install-dev/upgrade/sql/1.5.4.0.sql index 96cc876e5..07a10b9f3 100644 --- a/install-dev/upgrade/sql/1.5.4.0.sql +++ b/install-dev/upgrade/sql/1.5.4.0.sql @@ -41,3 +41,6 @@ UPDATE PREFIX_configuration SET `value` = '8388608' WHERE `name` = 'PS_PRODUCT_P ALTER TABLE `PREFIX_guest` ADD `mobile_theme` tinyint(1) NOT NULL DEFAULT 0; ALTER TABLE `PREFIX_orders` ADD `mobile_theme` tinyint(1) NOT NULL DEFAULT 0 AFTER `gift_message`; ALTER TABLE `PREFIX_cart` ADD `mobile_theme` tinyint(1) NOT NULL DEFAULT 0 AFTER `gift_message`; + +ALTER TABLE `PREFIX_address` CHANGE `phone` `phone` varchar(32) default NULL; +ALTER TABLE `PREFIX_address` CHANGE `phone_mobile` `phone_mobile` varchar(32) default NULL; From a141d1f2ef1c9af690ed7c83cc708abd7d04a9b8 Mon Sep 17 00:00:00 2001 From: Damien Metzger Date: Fri, 1 Mar 2013 16:36:19 +0100 Subject: [PATCH 4/6] [-] MO : fixed statsbestmanufacturers.php query #PSCFV-8075 --- modules/statsbestmanufacturers/statsbestmanufacturers.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/statsbestmanufacturers/statsbestmanufacturers.php b/modules/statsbestmanufacturers/statsbestmanufacturers.php index b2a6e20ed..5e4ca5d53 100755 --- a/modules/statsbestmanufacturers/statsbestmanufacturers.php +++ b/modules/statsbestmanufacturers/statsbestmanufacturers.php @@ -132,8 +132,8 @@ class StatsBestManufacturers extends ModuleGrid LEFT JOIN '._DB_PREFIX_.'orders o ON (o.id_order = od.id_order) LEFT JOIN '._DB_PREFIX_.'currency c ON (c.id_currency = o.id_currency) LEFT JOIN '._DB_PREFIX_.'manufacturer m ON (m.id_manufacturer = p.id_manufacturer) - WHERE '.Shop::addSqlRestriction(Shop::SHARE_ORDER, 'o').' - AND o.invoice_date BETWEEN '.$this->getDate().' + WHERE o.invoice_date BETWEEN '.$this->getDate().' + '.Shop::addSqlRestriction(Shop::SHARE_ORDER, 'o').' AND o.valid = 1 AND m.id_manufacturer IS NOT NULL GROUP BY p.id_manufacturer'; From 5b6af42c0d2308a9ccbd49e3b7099ba32cfef6f5 Mon Sep 17 00:00:00 2001 From: Damien Metzger Date: Fri, 1 Mar 2013 17:03:43 +0100 Subject: [PATCH 5/6] [-] MO : fixed double entities of meta titles in blocklayered #PSCFV-7986 #PSCFV-7985 --- modules/blocklayered/blocklayered.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/blocklayered/blocklayered.php b/modules/blocklayered/blocklayered.php index 94e11ce26..f88098e3b 100644 --- a/modules/blocklayered/blocklayered.php +++ b/modules/blocklayered/blocklayered.php @@ -523,7 +523,7 @@ class BlockLayered extends Module $id_lang = (int)$language['id_lang']; Db::getInstance()->execute('INSERT INTO '._DB_PREFIX_.'layered_indexable_feature_lang_value VALUES ('.(int)$params['id_feature'].', '.$id_lang.', \''.pSQL(Tools::link_rewrite(Tools::getValue('url_name_'.$id_lang))).'\', - \''.pSQL(Tools::safeOutput(Tools::getValue('meta_title_'.$id_lang), true)).'\')'); + \''.pSQL(Tools::getValue('meta_title_'.$id_lang), true).'\')'); } } @@ -539,7 +539,7 @@ class BlockLayered extends Module $id_lang = (int)$language['id_lang']; Db::getInstance()->execute('INSERT INTO '._DB_PREFIX_.'layered_indexable_feature_value_lang_value VALUES ('.(int)$params['id_feature_value'].', '.$id_lang.', \''.pSQL(Tools::link_rewrite(Tools::getValue('url_name_'.$id_lang))).'\', - \''.pSQL(Tools::safeOutput(Tools::getValue('meta_title_'.$id_lang), true)).'\')'); + \''.pSQL(Tools::getValue('meta_title_'.$id_lang), true).'\')'); } } @@ -626,7 +626,7 @@ class BlockLayered extends Module $id_lang = (int)$language['id_lang']; Db::getInstance()->execute('INSERT INTO '._DB_PREFIX_.'layered_indexable_attribute_lang_value VALUES ('.(int)$params['id_attribute'].', '.$id_lang.', \''.pSQL(Tools::link_rewrite(Tools::getValue('url_name_'.$id_lang))).'\', - \''.pSQL(Tools::safeOutput(Tools::getValue('meta_title_'.$id_lang), true)).'\')'); + \''.pSQL(Tools::getValue('meta_title_'.$id_lang), true).'\')'); } } @@ -727,7 +727,7 @@ class BlockLayered extends Module $id_lang = (int)$language['id_lang']; Db::getInstance()->execute('INSERT INTO '._DB_PREFIX_.'layered_indexable_attribute_group_lang_value VALUES ('.(int)$params['id_attribute_group'].', '.$id_lang.', \''.pSQL(Tools::link_rewrite(Tools::getValue('url_name_'.$id_lang))).'\', - \''.pSQL(Tools::safeOutput(Tools::getValue('meta_title_'.$id_lang), true)).'\')'); + \''.pSQL(Tools::getValue('meta_title_'.$id_lang), true).'\')'); } } From 8af272f6e37521d97ceb3ff370f795d93f2147f3 Mon Sep 17 00:00:00 2001 From: vAugagneur Date: Fri, 1 Mar 2013 17:17:17 +0100 Subject: [PATCH 6/6] [-] BO : fixed bug when save image shop association --- .../template/controllers/products/images.tpl | 1 + controllers/admin/AdminProductsController.php | 30 ++++++++++++++----- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/admin-dev/themes/default/template/controllers/products/images.tpl b/admin-dev/themes/default/template/controllers/products/images.tpl index 06ccec39b..544d57f0e 100644 --- a/admin-dev/themes/default/template/controllers/products/images.tpl +++ b/admin-dev/themes/default/template/controllers/products/images.tpl @@ -280,6 +280,7 @@ { "action":"UpdateProductImageShopAsso", "id_image":id, + "id_product":id_product, "id_shop": id_shop, "active":active, "token" : "{/literal}{$token}{literal}", diff --git a/controllers/admin/AdminProductsController.php b/controllers/admin/AdminProductsController.php index 828a791fe..f958d4e7f 100644 --- a/controllers/admin/AdminProductsController.php +++ b/controllers/admin/AdminProductsController.php @@ -1401,6 +1401,7 @@ class AdminProductsControllerCore extends AdminController public function ajaxProcessUpdateProductImageShopAsso() { + $id_product = Tools::getValue('id_product'); if (($id_image = Tools::getValue('id_image')) && ($id_shop = (int)Tools::getValue('id_shop'))) if (Tools::getValue('active') == 'true') $res = Db::getInstance()->execute('INSERT INTO '._DB_PREFIX_.'image_shop (`id_image`, `id_shop`) VALUES('.(int)$id_image.', '.(int)$id_shop.')'); @@ -1408,18 +1409,33 @@ class AdminProductsControllerCore extends AdminController $res = Db::getInstance()->execute('DELETE FROM '._DB_PREFIX_.'image_shop WHERE `id_image` = '.(int)$id_image.' AND `id_shop` = '.(int)$id_shop); // Clean covers in image table - $count_cover_image = Db::getInstance()->getValue('SELECT COUNT(*) FROM '._DB_PREFIX_.'image i INNER JOIN '._DB_PREFIX_.'image_shop ish ON (i.id_image = ish.id_image AND ish.id_shop = '.(int)$id_shop.') WHERE i.cover = 1'); + $count_cover_image = Db::getInstance()->getValue(' + SELECT COUNT(*) FROM '._DB_PREFIX_.'image i + INNER JOIN '._DB_PREFIX_.'image_shop ish ON (i.id_image = ish.id_image AND ish.id_shop = '.(int)$id_shop.') + WHERE i.cover = 1 AND `id_product` = '.(int)$id_product); + + $id_image = Db::getInstance()->getValue(' + SELECT i.`id_image` FROM '._DB_PREFIX_.'image i + INNER JOIN '._DB_PREFIX_.'image_shop ish ON (i.id_image = ish.id_image AND ish.id_shop = '.(int)$id_shop.') + WHERE `id_product` = '.(int)$id_product); + if ($count_cover_image < 1) - Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'image i, '._DB_PREFIX_.'image_shop ish SET i.cover = 1 WHERE i.id_image = ish.id_image AND ish.id_shop = '.(int)$id_shop.' LIMIT 1'); + Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'image i SET i.cover = 1 WHERE i.id_image = '.(int)$id_image.' AND i.`id_product` = '.(int)$id_product.' LIMIT 1'); + if ($count_cover_image > 1) - Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'image i, '._DB_PREFIX_.'image_shop ish SET i.cover = 0 WHERE cover = 1 AND i.id_image = ish.id_image AND is.id_shop = '.(int)$id_shop.' LIMIT '.intval($count_cover_image - 1)); - + Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'image i SET i.cover = 0 WHERE i.id_image <> '.(int)$id_image.' AND i.`id_product` = '.(int)$id_product); + // Clean covers in image_shop table - $count_cover_image_shop = Db::getInstance()->getValue('SELECT COUNT(*) FROM '._DB_PREFIX_.'image_shop ish WHERE ish.id_shop = '.(int)$id_shop.' AND ish.cover = 1'); + $count_cover_image_shop = Db::getInstance()->getValue(' + SELECT COUNT(*) + FROM '._DB_PREFIX_.'image_shop ish + INNER JOIN '._DB_PREFIX_.'image i ON (i.id_image = ish.id_image AND i.`id_product` = '.(int)$id_product.') + WHERE ish.id_shop = '.(int)$id_shop.' AND ish.cover = 1'); + if ($count_cover_image_shop < 1) - Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'image_shop ish SET ish.cover = 1 WHERE ish.id_shop = '.(int)$id_shop.' LIMIT 1'); + Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'image_shop ish SET ish.cover = 1 WHERE ish.id_image = '.(int)$id_image.' AND ish.id_shop = '.(int)$id_shop.' LIMIT 1'); if ($count_cover_image_shop > 1) - Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'image_shop ish SET ish.cover = 0 WHERE ish.cover = 1 AND ish.id_shop = '.(int)$id_shop.' LIMIT '.intval($count_cover_image_shop - 1)); + Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'image_shop ish SET ish.cover = 0 WHERE ish.id_image <> '.(int)$id_image.' AND ish.cover = 1 AND ish.id_shop = '.(int)$id_shop.' LIMIT '.intval($count_cover_image_shop - 1)); if ($res) $this->jsonConfirmation($this->_conf[27]);