// Add hooks for shop duplication, fix homeslider duplication #PSTEST-1173
git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@14864 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
+10
-4
@@ -796,11 +796,17 @@ class ShopCore extends ObjectModel
|
||||
Db::getInstance()->execute($sql);
|
||||
}
|
||||
}
|
||||
/*else
|
||||
{
|
||||
Db::getInstance()->execute('UPDATE `'._DB_PREFIX_.$table_name.'` SET WHERE `'.$id.'`='.(int)$old_id);
|
||||
}*/
|
||||
}
|
||||
|
||||
// Hook for duplication of shop data
|
||||
$modules_list = Hook::getHookModuleExecList('actionShopDataDuplication');
|
||||
if (is_array($modules_list) && count($modules_list) > 0)
|
||||
foreach ($modules_list as $m)
|
||||
if (!$tables_import || isset($tables_import['Module'.ucfirst($m['module'])]))
|
||||
Hook::exec('actionShopDataDuplication', array(
|
||||
'old_id_shop' => (int)$old_id,
|
||||
'new_id_shop' => (int)$this->id,
|
||||
), $m['id_module']);
|
||||
}
|
||||
|
||||
public function checkIfShopExist($id)
|
||||
|
||||
@@ -405,6 +405,12 @@ class AdminShopControllerCore extends AdminController
|
||||
'warehouse' => $this->l('Warehouse'),
|
||||
);
|
||||
|
||||
// Hook for duplication of shop data
|
||||
$modules_list = Hook::getHookModuleExecList('actionShopDataDuplication');
|
||||
if (is_array($modules_list) && count($modules_list) > 0)
|
||||
foreach ($modules_list as $m)
|
||||
$import_data['Module'.ucfirst($m['module'])] = Module::getModuleName($m['module']);
|
||||
|
||||
if (!$this->object->id)
|
||||
$this->fields_import_form = array(
|
||||
'radio' => array(
|
||||
|
||||
@@ -98,7 +98,6 @@ INSERT IGNORE INTO `PREFIX_hook_module` (`id_hook`, `id_module`, `position`) VAL
|
||||
INSERT IGNORE INTO `PREFIX_hook_module` (`id_hook`, `id_module`, `position`) VALUES ((SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayHeader'), (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockcart'), 5);
|
||||
INSERT IGNORE INTO `PREFIX_hook_module` (`id_hook`, `id_module`, `position`) VALUES ((SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayHeader'), (SELECT id_module FROM `PREFIX_module` WHERE name = 'blocksocial'), 5);
|
||||
INSERT IGNORE INTO `PREFIX_hook_module` (`id_hook`, `id_module`, `position`) VALUES ((SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayHeader'), (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockmyaccount'), 6);
|
||||
INSERT IGNORE INTO `PREFIX_hook_module` (`id_hook`, `id_module`, `position`) VALUES ((SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayHeader'), (SELECT id_module FROM `PREFIX_module` WHERE name = 'homeslider'), 7);
|
||||
INSERT IGNORE INTO `PREFIX_hook_module` (`id_hook`, `id_module`, `position`) VALUES ((SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayHeader'), (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockcategories'), 9);
|
||||
INSERT IGNORE INTO `PREFIX_hook_module` (`id_hook`, `id_module`, `position`) VALUES ((SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayHeader'), (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockspecials'), 10);
|
||||
INSERT IGNORE INTO `PREFIX_hook_module` (`id_hook`, `id_module`, `position`) VALUES ((SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayHeader'), (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockcurrencies'), 11);
|
||||
@@ -120,6 +119,7 @@ INSERT IGNORE INTO `PREFIX_hook_module` (`id_hook`, `id_module`, `position`) VAL
|
||||
INSERT IGNORE INTO `PREFIX_hook_module` (`id_hook`, `id_module`, `position`) VALUES ((SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayHeader'), (SELECT id_module FROM `PREFIX_module` WHERE name = 'blocksupplier'), 25);
|
||||
INSERT IGNORE INTO `PREFIX_hook_module` (`id_hook`, `id_module`, `position`) VALUES ((SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayHeader'), (SELECT id_module FROM `PREFIX_module` WHERE name = 'feeder'), 26);
|
||||
INSERT IGNORE INTO `PREFIX_hook_module` (`id_hook`, `id_module`, `position`) VALUES ((SELECT id_hook FROM `PREFIX_hook` WHERE name = 'actionAuthentication'), (SELECT id_module FROM `PREFIX_module` WHERE name = 'statsdata'), 1);
|
||||
INSERT IGNORE INTO `PREFIX_hook_module` (`id_hook`, `id_module`, `position`) VALUES ((SELECT id_hook FROM `PREFIX_hook` WHERE name = 'actionShopDataDuplication'), (SELECT id_module FROM `PREFIX_module` WHERE name = 'homeslider'), 1);
|
||||
INSERT IGNORE INTO `PREFIX_hook_module` (`id_hook`, `id_module`, `position`) VALUES ((SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayTop'), (SELECT id_module FROM `PREFIX_module` WHERE name = 'blocklanguages'), 1);
|
||||
INSERT IGNORE INTO `PREFIX_hook_module` (`id_hook`, `id_module`, `position`) VALUES ((SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayTop'), (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockcurrencies'), 2);
|
||||
INSERT IGNORE INTO `PREFIX_hook_module` (`id_hook`, `id_module`, `position`) VALUES ((SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayTop'), (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockpermanentlinks'), 3);
|
||||
|
||||
@@ -60,7 +60,7 @@ class HomeSlider extends Module
|
||||
public function install()
|
||||
{
|
||||
/* Adds Module */
|
||||
if (parent::install() && $this->registerHook('displayHome'))
|
||||
if (parent::install() && $this->registerHook('displayHome') && $this->registerHook('actionShopDataDuplication'))
|
||||
{
|
||||
/* Sets up configuration */
|
||||
$res = Configuration::updateValue('HOMESLIDER_WIDTH', '535');
|
||||
@@ -109,7 +109,7 @@ class HomeSlider extends Module
|
||||
public function uninstall()
|
||||
{
|
||||
/* Deletes Module */
|
||||
if (parent::uninstall() && $this->unregisterHook('displayHome'))
|
||||
if (parent::uninstall() && $this->unregisterHook('displayHome') && $this->unregisterHook('actionShopDataDuplication'))
|
||||
{
|
||||
/* Deletes tables */
|
||||
$res = $this->deleteTables();
|
||||
@@ -661,6 +661,16 @@ class HomeSlider extends Module
|
||||
return $this->display(__FILE__, 'homemobileslider.tpl');
|
||||
}
|
||||
|
||||
public function hookActionShopDataDuplication($params)
|
||||
{
|
||||
Db::getInstance()->execute('
|
||||
INSERT INTO '._DB_PREFIX_.'homeslider (id_homeslider_slides, id_shop)
|
||||
SELECT id_homeslider_slides, '.(int)$params['new_id_shop'].'
|
||||
FROM '._DB_PREFIX_.'homeslider
|
||||
WHERE id_shop = '.(int)$params['old_id_shop'].'
|
||||
');
|
||||
}
|
||||
|
||||
public function headerHTML()
|
||||
{
|
||||
if (Tools::getValue('controller') != 'AdminModules' && Tools::getValue('configure') != $this->name)
|
||||
|
||||
Reference in New Issue
Block a user