diff --git a/classes/Category.php b/classes/Category.php index a77f122d9..310b9058f 100644 --- a/classes/Category.php +++ b/classes/Category.php @@ -831,20 +831,15 @@ class CategoryCore extends ObjectModel if (!Validate::isUnsignedId($id_category) || !Validate::isUnsignedId($id_lang)) return false; - if (isset(self::$_links[$id_category.'-'.$id_lang])) - return self::$_links[$id_category.'-'.$id_lang]; - - $result = Db::getInstance()->getRow(' - SELECT cl.`link_rewrite` - FROM `'._DB_PREFIX_.'category_lang` cl - WHERE `id_lang` = '.(int)$id_lang.' - '.Shop::addSqlRestrictionOnLang('cl').' - AND cl.`id_category` = '.(int)$id_category - ); - - self::$_links[$id_category.'-'.$id_lang] = $result['link_rewrite']; - - return $result['link_rewrite']; + if (!isset(self::$_links[$id_category.'-'.$id_lang])) + self::$_links[$id_category.'-'.$id_lang] = Db::getInstance()->getValue(' + SELECT cl.`link_rewrite` + FROM `'._DB_PREFIX_.'category_lang` cl + WHERE `id_lang` = '.(int)$id_lang.' + '.Shop::addSqlRestrictionOnLang('cl').' + AND cl.`id_category` = '.(int)$id_category + ); + return self::$_links[$id_category.'-'.$id_lang]; } public function getLink(Link $link = null) diff --git a/classes/Tools.php b/classes/Tools.php index 206ebe201..e49080443 100644 --- a/classes/Tools.php +++ b/classes/Tools.php @@ -684,17 +684,20 @@ class ToolsCore if ($files = scandir($dirname)) { foreach ($files as $file) - if ($file != '.' && $file != '..' && $file != '.svn') - { - if (is_dir($dirname.$file)) - Tools::deleteDirectory($dirname.$file, true); - elseif (file_exists($dirname.$file)) - unlink($dirname.$file); - } + if ($file != '.' && $file != '..' && $file != '.svn') + { + if (is_dir($dirname.$file)) + Tools::deleteDirectory($dirname.$file, true); + elseif (file_exists($dirname.$file)) + unlink($dirname.$file); + } if ($delete_self) - rmdir($dirname); + if (!rmdir($dirname)) + return false; + return true; } - } + return false; + } /** * Display an error according to an error code diff --git a/install-dev/upgrade/php/add_order_reference_in_order_payment.php b/install-dev/upgrade/php/add_order_reference_in_order_payment.php index 75b5d0782..266de44d4 100644 --- a/install-dev/upgrade/php/add_order_reference_in_order_payment.php +++ b/install-dev/upgrade/php/add_order_reference_in_order_payment.php @@ -34,7 +34,7 @@ function add_order_reference_in_order_payment() ON o.id_order = op.id_order'); if (!is_object($payments)) - return false; + return true; $errors = array(); // Populate "order_reference" @@ -62,7 +62,7 @@ function add_order_reference_in_order_payment() HAVING COUNT(*) > 1'); if (!is_object($duplicate_lines)) - return false; + return true; $order_payments_to_remove = array(); while ($order_payments = Db::getInstance()->nextRow($duplicate_lines)) diff --git a/install-dev/upgrade/sql/1.5.0.0.sql b/install-dev/upgrade/sql/1.5.0.0.sql index e38efa8fc..94a1e36d6 100755 --- a/install-dev/upgrade/sql/1.5.0.0.sql +++ b/install-dev/upgrade/sql/1.5.0.0.sql @@ -312,9 +312,6 @@ PRIMARY KEY (`id_scene`, `id_shop`), ) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8; INSERT INTO `PREFIX_scene_shop` (id_shop, id_scene) (SELECT 1, id_scene FROM PREFIX_scene); -ALTER TABLE `PREFIX_delivery` ADD `id_shop` INT UNSIGNED NULL DEFAULT NULL AFTER `id_delivery`; -ALTER TABLE `PREFIX_delivery` ADD `id_group_shop` INT UNSIGNED NULL DEFAULT NULL AFTER `id_shop`; - /* PHP:create_multistore(); */; UPDATE `PREFIX_customization` INNER JOIN `PREFIX_orders` USING(id_cart) SET in_cart = 1; diff --git a/install-dev/upgrade/sql/1.5.0.1.sql b/install-dev/upgrade/sql/1.5.0.1.sql index c3e62fe48..b5cada9a2 100644 --- a/install-dev/upgrade/sql/1.5.0.1.sql +++ b/install-dev/upgrade/sql/1.5.0.1.sql @@ -1,5 +1,8 @@ SET NAMES 'utf8'; +ALTER TABLE `PREFIX_delivery` ADD `id_shop` INT UNSIGNED NULL DEFAULT NULL AFTER `id_delivery`; +ALTER TABLE `PREFIX_delivery` ADD `id_group_shop` INT UNSIGNED NULL DEFAULT NULL AFTER `id_shop`; + CREATE TABLE IF NOT EXISTS `PREFIX_module_access` ( `id_profile` int(10) unsigned NOT NULL, `id_module` int(10) unsigned NOT NULL, diff --git a/modules/blockcms/upgrade/install-1.2.php b/modules/blockcms/upgrade/install-1.2.php deleted file mode 100644 index 7daca8af4..000000000 --- a/modules/blockcms/upgrade/install-1.2.php +++ /dev/null @@ -1,9 +0,0 @@ -registerHook('actionObjectCmsUpdateAfter') && $object->registerHook('actionObjectCmsDeleteAfter')); -} diff --git a/modules/blocknewproducts/upgrade/install-1.0.php b/modules/blocknewproducts/upgrade/install-1.0.php deleted file mode 100644 index ed388519f..000000000 --- a/modules/blocknewproducts/upgrade/install-1.0.php +++ /dev/null @@ -1,9 +0,0 @@ -registerHook('addproduct') && $object->registerHook('updateproduct') && $object->registerHook('deleteproduct')); -} diff --git a/modules/blockspecials/upgrade/install-1.0.php b/modules/blockspecials/upgrade/install-1.0.php deleted file mode 100644 index 3dbc3bfe0..000000000 --- a/modules/blockspecials/upgrade/install-1.0.php +++ /dev/null @@ -1,10 +0,0 @@ -registerHook('addproduct') && $object->registerHook('updateproduct') && $object->registerHook('deleteproduct')); -} diff --git a/modules/blockwishlist/blockwishlist.css b/modules/blockwishlist/blockwishlist.css index 2ff9135d3..8f0c50613 100644 --- a/modules/blockwishlist/blockwishlist.css +++ b/modules/blockwishlist/blockwishlist.css @@ -96,7 +96,6 @@ height:20px; width:288px; border:1px solid #ccc; - background:url(../img/bg_input.png) repeat-x 0 0 #fff } #module-blockwishlist-mywishlist #mywishlist p.submit { margin-right:25px; diff --git a/modules/homefeatured/upgrade/install-1.0.php b/modules/homefeatured/upgrade/install-1.0.php deleted file mode 100644 index ed388519f..000000000 --- a/modules/homefeatured/upgrade/install-1.0.php +++ /dev/null @@ -1,9 +0,0 @@ -registerHook('addproduct') && $object->registerHook('updateproduct') && $object->registerHook('deleteproduct')); -} diff --git a/tools/profiling/Controller.php b/tools/profiling/Controller.php index 16aec04d7..846248e32 100644 --- a/tools/profiling/Controller.php +++ b/tools/profiling/Controller.php @@ -101,6 +101,16 @@ abstract class Controller extends ControllerCore return ''.round($n, 2).' Mb'; } + private function displayPeakMemoryColor($n) + { + $n /= 1048576; + if ($n > 16) + return ''.round($n, 1).' Mb'; + if ($n > 12) + return ''.round($n, 1).' Mb'; + return ''.round($n, 1).' Mb'; + } + private function displaySQLQueries($n) { if ($n > 150) @@ -178,10 +188,12 @@ abstract class Controller extends ControllerCore return; $this->_memory['config'] = memory_get_usage(); + $this->_mempeak['config'] = memory_get_peak_usage(); $this->_time['config'] = microtime(true); parent::__construct(); $this->_memory['constructor'] = memory_get_usage(); + $this->_mempeak['constructor'] = memory_get_peak_usage(); $this->_time['constructor'] = microtime(true); } @@ -189,21 +201,25 @@ abstract class Controller extends ControllerCore { $this->init(); $this->_memory['init'] = memory_get_usage(); + $this->_mempeak['init'] = memory_get_peak_usage(); $this->_time['init'] = microtime(true); if ($this->checkAccess()) { $this->_memory['checkAccess'] = memory_get_usage(); + $this->_mempeak['checkAccess'] = memory_get_peak_usage(); $this->_time['checkAccess'] = microtime(true); if (!$this->content_only && ($this->display_header || (isset($this->className) && $this->className))) $this->setMedia(); $this->_memory['setMedia'] = memory_get_usage(); + $this->_mempeak['setMedia'] = memory_get_peak_usage(); $this->_time['setMedia'] = microtime(true); // postProcess handles ajaxProcess $this->postProcess(); $this->_memory['postProcess'] = memory_get_usage(); + $this->_mempeak['postProcess'] = memory_get_peak_usage(); $this->_time['postProcess'] = microtime(true); if (!empty($this->redirect_after)) @@ -212,15 +228,18 @@ abstract class Controller extends ControllerCore if (!$this->content_only && ($this->display_header || (isset($this->className) && $this->className))) $this->initHeader(); $this->_memory['initHeader'] = memory_get_usage(); + $this->_mempeak['initHeader'] = memory_get_peak_usage(); $this->_time['initHeader'] = microtime(true); $this->initContent(); $this->_memory['initContent'] = memory_get_usage(); + $this->_mempeak['initContent'] = memory_get_peak_usage(); $this->_time['initContent'] = microtime(true); if (!$this->content_only && ($this->display_footer || (isset($this->className) && $this->className))) $this->initFooter(); $this->_memory['initFooter'] = memory_get_usage(); + $this->_mempeak['initFooter'] = memory_get_peak_usage(); $this->_time['initFooter'] = microtime(true); // default behavior for ajax process is to use $_POST[action] or $_GET[action] @@ -264,7 +283,11 @@ abstract class Controller extends ControllerCore private function sizeofvar($var) { $start_memory = memory_get_usage(); - $tmp = Tools::unSerialize(serialize($var)); + try { + $tmp = Tools::unSerialize(serialize($var)); + } catch (Exception $e) { + $tmp = strlen((string)$var); + } $size = memory_get_usage() - $start_memory; return $size; } @@ -275,11 +298,14 @@ abstract class Controller extends ControllerCore $this->display(); $this->_memory['display'] = memory_get_usage(); + $this->_mempeak['display'] = memory_get_peak_usage(); $this->_time['display'] = microtime(true); if (!$this->ini_get_display_errors()) return; + $memory_peak_usage = memory_get_peak_usage(); + $hr = '