// fix live_edit when not using multishop
This commit is contained in:
+34
-27
@@ -621,42 +621,49 @@ if (Tools::isSubmit('saveHook'))
|
|||||||
/* PrestaShop demo mode */
|
/* PrestaShop demo mode */
|
||||||
if (_PS_MODE_DEMO_)
|
if (_PS_MODE_DEMO_)
|
||||||
die('{"hasError" : true, "errors" : ["Live Edit : This functionnality has been disabled"]}');
|
die('{"hasError" : true, "errors" : ["Live Edit : This functionnality has been disabled"]}');
|
||||||
/* PrestaShop demo mode*/
|
|
||||||
|
|
||||||
$hooks_list = explode(',', Tools::getValue('hooks_list'));
|
$hooks_list = explode(',', Tools::getValue('hooks_list'));
|
||||||
$id_shop = (int)Tools::getValue('id_shop');
|
$id_shop = (int)Tools::getValue('id_shop');
|
||||||
if ($id_shop)
|
if (!$id_shop)
|
||||||
|
$id_shop = Context::getContext()->shop->getId(true);
|
||||||
|
|
||||||
|
$res = true;
|
||||||
|
$hookableList = array();
|
||||||
|
foreach ($hooks_list as $hook)
|
||||||
{
|
{
|
||||||
$hookableList = array();
|
$hook = trim($hook);
|
||||||
foreach ($hooks_list as $hook)
|
if (!$hook)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
$sql = 'DELETE FROM '._DB_PREFIX_.'hook_module
|
||||||
|
WHERE id_hook = ( SELECT id_hook
|
||||||
|
FROM '._DB_PREFIX_.'hook
|
||||||
|
WHERE `name` = \''.pSQL($hook).'\' LIMIT 1
|
||||||
|
)
|
||||||
|
AND id_shop = '.$id_shop;
|
||||||
|
$res &= Db::getInstance()->execute($sql);
|
||||||
|
$hookedModules = explode(',', Tools::getValue($hook));
|
||||||
|
$i = 1;
|
||||||
|
$value = '';
|
||||||
|
$ids = array();
|
||||||
|
foreach ($hookedModules as $module)
|
||||||
{
|
{
|
||||||
$hook = trim($hook);
|
$id = explode('_', $module);
|
||||||
if (!$hook)
|
if (!in_array($id[1], $ids))
|
||||||
continue;
|
|
||||||
|
|
||||||
$sql = 'DELETE FROM '._DB_PREFIX_.'hook_module
|
|
||||||
WHERE id_hook = (SELECT id_hook FROM '._DB_PREFIX_.'hook WHERE `name` = \''.pSQL($hook).'\' LIMIT 1)
|
|
||||||
AND id_shop = '.$id_shop;
|
|
||||||
Db::getInstance()->execute($sql);
|
|
||||||
$hookedModules = explode(',', Tools::getValue($hook));
|
|
||||||
$i = 1;
|
|
||||||
$value = '';
|
|
||||||
$ids = array();
|
|
||||||
foreach ($hookedModules as $module)
|
|
||||||
{
|
{
|
||||||
$id = explode('_', $module);
|
$ids[] = $id[1];
|
||||||
if (!in_array($id[1], $ids))
|
$value .= '('.(int)$id[1].', '.$id_shop.', (SELECT id_hook FROM `'._DB_PREFIX_.'hook` WHERE `name` = \''.pSQL($hook).'\' LIMIT 0, 1), '.$i.'),';
|
||||||
{
|
|
||||||
$ids[] = $id[1];
|
|
||||||
$value .= '('.(int)$id[1].', (SELECT id_hook FROM `'._DB_PREFIX_.'hook` WHERE `name` = \''.pSQL($hook).'\' LIMIT 0, 1), '.(int)$i.'),';
|
|
||||||
}
|
|
||||||
$i++;
|
|
||||||
}
|
}
|
||||||
$value = rtrim($value, ',');
|
$i++;
|
||||||
Db::getInstance()->execute('INSERT INTO '._DB_PREFIX_.'hook_module (id_module, id_shop, id_hook, position) VALUES '.$value);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
$value = rtrim($value, ',');
|
||||||
|
$res &= Db::getInstance()->execute('INSERT INTO '._DB_PREFIX_.'hook_module (id_module, id_shop, id_hook, position) VALUES '.$value);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
if ($res)
|
||||||
|
$hasError = true;
|
||||||
|
else
|
||||||
|
$hasError = false;
|
||||||
die('{"hasError" : false, "errors" : ""}');
|
die('{"hasError" : false, "errors" : ""}');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user