[-] INSTALLER : add counter loop in update_order_messages

This commit is contained in:
gRoussac
2013-04-11 14:18:28 +02:00
parent 3f33e17567
commit f4a5305678
@@ -26,28 +26,42 @@
function update_order_messages()
{
$sql = 'SELECT id_message, message FROM `'._DB_PREFIX_.'message` WHERE message REGEXP \'<br|&[^;]{1,8}\'';
if ($messages = Db::getInstance()->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 \'<br|&[^;]{1,8}\' LIMIT '.(int)$start.', '.(int)$step;
if ($messages = Db::getInstance()->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 \'<br|&[^;]{1,8}\'';
if ($messages = Db::getInstance()->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('&amp;', '&', $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 \'<br|&[^;]{1,8}\' LIMIT '.(int)$start.', '.(int)$step;
if ($messages = Db::getInstance()->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('&amp;', '&', $message['message']))).'\'
WHERE id_customer_message = '.(int)$message['id_customer_message'];
Db::getInstance()->execute($sql);
}
}
}
}
}
function br2nl($str)