From a0f51e20c28f8ad24efdb97ec77f25bc1ff1335f Mon Sep 17 00:00:00 2001 From: Damien Metzger Date: Mon, 17 Dec 2012 15:45:40 +0100 Subject: [PATCH 1/3] [-] BO : fixed image upload (except with OVH firewall) #PSCFV-6152 #PSCFV-6157 #PSCFV-5862 #PSCFV-5756 #PSCFV-6074 #PSCFV-5459 --- classes/FileUploader.php | 11 +++++------ controllers/admin/AdminImportController.php | 18 +++++++++--------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/classes/FileUploader.php b/classes/FileUploader.php index 326eb9ef3..8958cec67 100755 --- a/classes/FileUploader.php +++ b/classes/FileUploader.php @@ -162,14 +162,13 @@ class QqUploadedFileXhr public function upload($path) { $input = fopen('php://input', 'r'); - $temp = tmpfile(); - $realSize = stream_copy_to_stream($input, $temp); - fclose($input); + $target = fopen($path, 'w'); + + $realSize = stream_copy_to_stream($input, $target); if ($realSize != $this->getSize()) return false; - $target = fopen($path, 'w'); - fseek($temp, 0, SEEK_SET); - stream_copy_to_stream($temp, $target); + + fclose($input); fclose($target); return true; diff --git a/controllers/admin/AdminImportController.php b/controllers/admin/AdminImportController.php index a6c0ddcf1..f3b3fb68d 100644 --- a/controllers/admin/AdminImportController.php +++ b/controllers/admin/AdminImportController.php @@ -638,20 +638,20 @@ class AdminImportControllerCore extends AdminController if (empty($field)) return array(); - if (is_null(Tools::getValue('multiple_value_separator')) || trim(Tools::getValue('multiple_value_separator')) == '') + $separator = Tools::getValue('multiple_value_separator'); + if (is_null($separator) || trim($separator) == '') $separator = ','; - else - $separator = Tools::getValue('multiple_value_separator'); - $temp = tmpfile(); - fwrite($temp, $field); - rewind($temp); - $tab = fgetcsv($temp, MAX_LINE_SIZE, $separator); - fclose($temp); + do $uniqid = uniqid(); while (file_exists(_PS_UPLOAD_DIR_.$uniqid)); + $tmp_file = file_put_contents(_PS_UPLOAD_DIR_.$uniqid, $field); + $fd = fopen($temp, 'r'); + $tab = fgetcsv($fd, MAX_LINE_SIZE, $separator); + fclose($fd); + unlink($tmp_file); + if (empty($tab) || (!is_array($tab))) return array(); return $tab; - } protected static function createMultiLangField($field) From c9ef2c44ae72cb0844eac7e9f869cae6f274615c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Gaillard?= Date: Mon, 17 Dec 2012 15:52:52 +0100 Subject: [PATCH 2/3] [-] FO: Fix cache product features #PSCFV-6138 --- classes/Product.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/classes/Product.php b/classes/Product.php index ca3082963..108da3f44 100644 --- a/classes/Product.php +++ b/classes/Product.php @@ -3219,8 +3219,8 @@ class ProductCore extends ObjectModel { if (!array_key_exists($row['id_product'].'-'.$id_lang, self::$_frontFeaturesCache)) self::$_frontFeaturesCache[$row['id_product'].'-'.$id_lang] = array(); - if (!isset(self::$_frontFeaturesCache[$row['id_product'].'-'.$id_lang][$row['id_product']])) - self::$_frontFeaturesCache[$row['id_product'].'-'.$id_lang][$row['id_product']] = $row; + if (!isset(self::$_frontFeaturesCache[$row['id_product'].'-'.$id_lang][$row['id_feature']])) + self::$_frontFeaturesCache[$row['id_product'].'-'.$id_lang][$row['id_feature']] = $row; } } From c705d1eb4b795defe76f191d3a1903da30d45dfd Mon Sep 17 00:00:00 2001 From: Damien Metzger Date: Mon, 17 Dec 2012 16:27:47 +0100 Subject: [PATCH 3/3] [-] FO : fixed multishipping crash when too many products and addresses --- install-dev/upgrade/sql/1.5.3.0.sql | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/install-dev/upgrade/sql/1.5.3.0.sql b/install-dev/upgrade/sql/1.5.3.0.sql index b50f1043d..ca79b54f9 100644 --- a/install-dev/upgrade/sql/1.5.3.0.sql +++ b/install-dev/upgrade/sql/1.5.3.0.sql @@ -20,4 +20,6 @@ DELETE FROM `PREFIX_configuration` WHERE `name`= 'PS_HIGH_HTML_THEME_COMPRESSION INSERT INTO `PREFIX_configuration`(`name`, `value`, `date_add`, `date_upd`) VALUES ('PS_MAIL_COLOR', '#db3484', NOW(), NOW()); -ALTER TABLE `PREFIX_order_cart_rule` CHANGE `name` `name` VARCHAR(254); \ No newline at end of file +ALTER TABLE `PREFIX_order_cart_rule` CHANGE `name` `name` VARCHAR(254); + +ALTER TABLE `PREFIX_cart` CHANGE `delivery_option` `delivery_option` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';