// Fix shop association on new object + some strict standard for Franck

This commit is contained in:
rMalie
2011-07-11 13:18:17 +00:00
parent 55007357e1
commit 923269001b
5 changed files with 23 additions and 22 deletions
+16 -15
View File
@@ -717,6 +717,7 @@ abstract class AdminTabCore
{
$parent_id = (int)(Tools::getValue('id_parent', 1));
$this->afterAdd($object);
$this->updateAssoShop($object->id);
// Save and stay on same form
if (Tools::isSubmit('submitAdd'.$this->table.'AndStay'))
Tools::redirectAdmin($currentIndex.'&'.$this->identifier.'='.$object->id.'&conf=3&update'.$this->table.'&token='.$token);
@@ -868,21 +869,21 @@ abstract class AdminTabCore
protected function updateAssoShop($id_object = false)
{
$assos = array();
foreach ($_POST AS $k => $row)
{
if (!preg_match('/^checkBoxShopAsso_'.$this->table.'_([0-9]+)?_([0-9]+)$/Ui', $k, $res))
continue;
$id_asso_object = (!empty($res[1]) ? $res[1] : $id_object);
$assos[] = array('id_object' => (int)$id_asso_object, 'id_shop' => (int)$res[2]);
}
if (!sizeof($assos))
return;
Db::getInstance()->Execute('DELETE FROM '._DB_PREFIX_.$this->table.'_shop'.($id_object ? ' WHERE `'.$this->identifier.'`='.(int)$id_object : ''));
foreach ($assos AS $asso)
Db::getInstance()->Execute('INSERT INTO '._DB_PREFIX_.$this->table.'_shop(`'.pSQL($this->identifier).'`, id_shop)
VALUES('.(int)$asso['id_object'].', '.(int)$asso['id_shop'].')');
$assos = array();
foreach ($_POST AS $k => $row)
{
if (!preg_match('/^checkBoxShopAsso_'.$this->table.'_([0-9]+)?_([0-9]+)$/Ui', $k, $res))
continue;
$id_asso_object = (!empty($res[1]) ? $res[1] : $id_object);
$assos[] = array('id_object' => (int)$id_asso_object, 'id_shop' => (int)$res[2]);
}
if (!sizeof($assos))
return;
Db::getInstance()->Execute('DELETE FROM '._DB_PREFIX_.$this->table.'_shop'.($id_object ? ' WHERE `'.$this->identifier.'`='.(int)$id_object : ''));
foreach ($assos AS $asso)
Db::getInstance()->Execute('INSERT INTO '._DB_PREFIX_.$this->table.'_shop(`'.pSQL($this->identifier).'`, id_shop)
VALUES('.(int)$asso['id_object'].', '.(int)$asso['id_shop'].')');
}
protected function updateOptions($token)
+1 -1
View File
@@ -290,7 +290,7 @@ abstract class ModuleCore
{
$sql = 'DELETE FROM '._DB_PREFIX_.'module_shop
WHERE id_module = '.$this->id.'
'.((!$foreAll) ? ' AND id_shop IN('.implode(', ', Shop::getListOfID($this->shopID, $this->shopGroupID)).')' : '');
'.((!$forceAll) ? ' AND id_shop IN('.implode(', ', Shop::getListOfID($this->shopID, $this->shopGroupID)).')' : '');
Db::getInstance()->execute($sql);
}
+1 -1
View File
@@ -476,7 +476,7 @@ class PayPal extends PaymentModule
}
public function validateOrder($id_cart, $id_order_state, $amountPaid, $paymentMethod = 'Unknown', $message = NULL, $extraVars = array(), $currency_special = NULL, $dont_touch_amount = false, $secure_key = false)
public function validateOrder($id_cart, $id_order_state, $amountPaid, $paymentMethod = 'Unknown', $message = NULL, $extraVars = array(), $currency_special = NULL, $dont_touch_amount = false, $secure_key = false, $id_group_shop = false, $id_shop = false)
{
if (!$this->active)
return;
+3 -3
View File
@@ -1109,16 +1109,16 @@ class shopimporter extends ImportModule
return true;
}
public function cleanPositions($table)
public function cleanPositions($table, $shopList = null)
{
if($table == 'category')
if ($table == 'category')
{
//clean category position
$cat = Category::getCategories(1, false, false);
foreach($cat AS $i => $categ)
Category::cleanPositions((int)($categ['id_category']));
}
if($table == 'product')
if ($table == 'product')
{
//clean products position
$cat = Category::getCategories(1, false, false);
+2 -2
View File
@@ -53,13 +53,13 @@ class VatNumber extends Module
return (parent::uninstall() AND Configuration::updateValue('VATNUMBER_MANAGEMENT', 0));
}
public function enable()
public function enable($forceAll = false)
{
parent::enable();
Configuration::updateValue('VATNUMBER_MANAGEMENT', 1);
}
public function disable()
public function disable($forceAll = false)
{
parent::disable();
Configuration::updateValue('VATNUMBER_MANAGEMENT', 0);