diff --git a/install-dev/upgrade/php/update_order_messages.php b/install-dev/upgrade/php/update_order_messages.php index cca1b1b7a..369b753d5 100644 --- a/install-dev/upgrade/php/update_order_messages.php +++ b/install-dev/upgrade/php/update_order_messages.php @@ -26,28 +26,42 @@ function update_order_messages() { - $sql = 'SELECT id_message, message FROM `'._DB_PREFIX_.'message` WHERE message REGEXP \'query($sql)) - while ($message = Db::getInstance()->nextRow($messages)) - { - if(is_array($message)) + $step = 3000; + $count_messages = Db::getInstance()->getValue('SELECT count(id_message) FROM '._DB_PREFIX_.'message'); + $nb_loop = $start = 0; + if($count_messages > 0) + $nb_loop = ceil($count_messages / $step); + for($i = 0; $i < $nb_loop; $i++) + { + $sql = 'SELECT id_message, message FROM `'._DB_PREFIX_.'message` WHERE message REGEXP \'query($sql)) + while ($message = Db::getInstance()->nextRow($messages)) { - $sql = 'UPDATE `'._DB_PREFIX_.'message` SET message = \''.pSQL(Tools::htmlentitiesDecodeUTF8(br2nl($message['message']))).'\' - WHERE id_message = '.(int)$message['id_message']; - $result = Db::getInstance()->execute($sql); + if(is_array($message)) + { + $sql = 'UPDATE `'._DB_PREFIX_.'message` SET message = \''.pSQL(Tools::htmlentitiesDecodeUTF8(br2nl($message['message']))).'\' + WHERE id_message = '.(int)$message['id_message']; + $result = Db::getInstance()->execute($sql); + } } - } - $sql = 'SELECT id_customer_message, message FROM `'._DB_PREFIX_.'customer_message` WHERE message REGEXP \'query($sql)) - while ($message = Db::getInstance()->nextRow($messages)) - { - if(is_array($message)) - { - $sql = 'UPDATE `'._DB_PREFIX_.'customer_message` SET message = \''.pSQL(Tools::htmlentitiesDecodeUTF8(str_replace('&', '&', $message['message']))).'\' - WHERE id_customer_message = '.(int)$message['id_customer_message']; - Db::getInstance()->execute($sql); + } + $nb_loop = $start = 0; + if($count_messages > 0) + $nb_loop = ceil($count_messages / $step); + for($i = 0; $i < $nb_loop; $i++) + { + $sql = 'SELECT id_customer_message, message FROM `'._DB_PREFIX_.'customer_message` WHERE message REGEXP \'query($sql)) + while ($message = Db::getInstance()->nextRow($messages)) + { + if(is_array($message)) + { + $sql = 'UPDATE `'._DB_PREFIX_.'customer_message` SET message = \''.pSQL(Tools::htmlentitiesDecodeUTF8(str_replace('&', '&', $message['message']))).'\' + WHERE id_customer_message = '.(int)$message['id_customer_message']; + Db::getInstance()->execute($sql); + } } - } + } } function br2nl($str)