// Webservice getters are now multishop
This commit is contained in:
@@ -228,8 +228,10 @@ class AttributeGroupCore extends ObjectModel
|
||||
public function getWsProductOptionValues()
|
||||
{
|
||||
$result = Db::getInstance()->executeS('
|
||||
SELECT id_attribute AS id from `'._DB_PREFIX_.'attribute`
|
||||
WHERE id_attribute_group = '.(int)$this->id
|
||||
SELECT a.id_attribute AS id
|
||||
FROM `'._DB_PREFIX_.'attribute` a
|
||||
'.Shop::addSqlAssociation('attribute', 'a').'
|
||||
WHERE a.id_attribute_group = '.(int)$this->id
|
||||
);
|
||||
return $result;
|
||||
}
|
||||
|
||||
+4
-3
@@ -3017,7 +3017,8 @@ class CartCore extends ObjectModel
|
||||
$query = '
|
||||
SELECT id_product, id_product_attribute, quantity
|
||||
FROM `'._DB_PREFIX_.'cart_product`
|
||||
WHERE id_cart = '.(int)$this->id;
|
||||
WHERE id_cart = '.(int)$this->id.'
|
||||
AND id_shop = '.(int)Context::getContext()->shop->id;
|
||||
|
||||
$result = Db::getInstance()->executeS($query);
|
||||
return $result;
|
||||
@@ -3027,11 +3028,11 @@ class CartCore extends ObjectModel
|
||||
{
|
||||
if ($this->deleteAssociations())
|
||||
{
|
||||
$query = 'INSERT INTO `'._DB_PREFIX_.'cart_product`(`id_cart`, `id_product`, `id_product_attribute`, `quantity`, `date_add`) VALUES ';
|
||||
$query = 'INSERT INTO `'._DB_PREFIX_.'cart_product`(`id_cart`, `id_product`, `id_product_attribute`, `quantity`, `date_add`, `id_shop`) VALUES ';
|
||||
|
||||
foreach ($values as $value)
|
||||
$query .= '('.(int)$this->id.', '.(int)$value['id_product'].', '.
|
||||
(isset($value['id_product_attribute']) ? (int)$value['id_product_attribute'] : 'NULL').', '.(int)$value['quantity'].', NOW()),';
|
||||
(isset($value['id_product_attribute']) ? (int)$value['id_product_attribute'] : 'NULL').', '.(int)$value['quantity'].', NOW(), '.(int)Context::getContext()->shop->id.'),';
|
||||
|
||||
Db::getInstance()->execute(rtrim($query, ','));
|
||||
}
|
||||
|
||||
+12
-5
@@ -1306,11 +1306,18 @@ class CategoryCore extends ObjectModel
|
||||
public function getWsNbProductsRecursive()
|
||||
{
|
||||
$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
|
||||
SELECT count(distinct(id_product)) as nb_product_recursive FROM `'._DB_PREFIX_.'category_product`
|
||||
WHERE id_category IN (SELECT id_category
|
||||
FROM `'._DB_PREFIX_.'category`
|
||||
WHERE nleft > '.(int)$this->nleft.
|
||||
' AND nright < '.(int)$this->nright.' AND active = 1 UNION SELECT '.(int)$this->id.')');
|
||||
SELECT COUNT(distinct(id_product)) as nb_product_recursive
|
||||
FROM `'._DB_PREFIX_.'category_product`
|
||||
WHERE id_category IN (
|
||||
SELECT c2.id_category
|
||||
FROM `'._DB_PREFIX_.'category` c2
|
||||
'.Shop::addSqlAssociation('category', 'c2').'
|
||||
WHERE c2.nleft > '.(int)$this->nleft.'
|
||||
AND c2.nright < '.(int)$this->nright.'
|
||||
AND c2.active = 1
|
||||
UNION SELECT '.(int)$this->id.'
|
||||
)
|
||||
');
|
||||
if (!$result)
|
||||
return -1;
|
||||
return $result[0]['nb_product_recursive'];
|
||||
|
||||
@@ -144,9 +144,10 @@ class CombinationCore extends ObjectModel
|
||||
public function getWsProductOptionValues()
|
||||
{
|
||||
$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
|
||||
SELECT id_attribute AS id
|
||||
FROM `'._DB_PREFIX_.'product_attribute_combination`
|
||||
WHERE id_product_attribute = '.(int)$this->id);
|
||||
SELECT a.id_attribute AS id
|
||||
FROM `'._DB_PREFIX_.'product_attribute_combination` a
|
||||
'.Shop::addSqlAssociation('attribute', 'a').'
|
||||
WHERE a.id_product_attribute = '.(int)$this->id);
|
||||
|
||||
return $result;
|
||||
}
|
||||
@@ -154,9 +155,10 @@ class CombinationCore extends ObjectModel
|
||||
public function getWsImages()
|
||||
{
|
||||
return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
|
||||
SELECT `id_image` as id
|
||||
FROM `'._DB_PREFIX_.'product_attribute_image`
|
||||
WHERE `id_product_attribute` = '.(int)$this->id.'
|
||||
SELECT a.`id_image` as id
|
||||
FROM `'._DB_PREFIX_.'product_attribute_image` a
|
||||
'.Shop::addSqlAssociation('product_attribute', 'a').'
|
||||
WHERE a.`id_product_attribute` = '.(int)$this->id.'
|
||||
');
|
||||
}
|
||||
|
||||
|
||||
+15
-4
@@ -144,7 +144,7 @@ class CustomerCore extends ObjectModel
|
||||
'passwd' => array('setter' => 'setWsPasswd'),
|
||||
),
|
||||
'associations' => array(
|
||||
'groups' => array('resource' => 'group'),
|
||||
'groups' => array('resource' => 'group'),
|
||||
)
|
||||
);
|
||||
|
||||
@@ -741,9 +741,11 @@ class CustomerCore extends ObjectModel
|
||||
public function getWsGroups()
|
||||
{
|
||||
return Db::getInstance()->executeS('
|
||||
SELECT cg.`id_group` as id
|
||||
FROM '._DB_PREFIX_.'customer_group cg
|
||||
WHERE cg.`id_customer` = '.(int)$this->id);
|
||||
SELECT cg.`id_group` as id
|
||||
FROM '._DB_PREFIX_.'customer_group cg
|
||||
'.Shop::addSqlAssociation('group', 'cg').'
|
||||
WHERE cg.`id_customer` = '.(int)$this->id
|
||||
);
|
||||
}
|
||||
|
||||
public function setWsGroups($result)
|
||||
@@ -755,4 +757,13 @@ class CustomerCore extends ObjectModel
|
||||
$this->addGroups($groups);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ObjectModel::getWebserviceObjectList()
|
||||
*/
|
||||
public function getWebserviceObjectList($sql_join, $sql_filter, $sql_sort, $sql_limit)
|
||||
{
|
||||
$sql_filter .= Shop::addSqlRestriction(Shop::SHARE_CUSTOMER, 'main');
|
||||
return parent::getWebserviceObjectList($sql_join, $sql_filter, $sql_sort, $sql_limit);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -441,7 +441,8 @@ class ManufacturerCore extends ObjectModel
|
||||
return Db::getInstance()->executeS('
|
||||
SELECT a.id_address as id
|
||||
FROM `'._DB_PREFIX_.'address` AS a
|
||||
WHERE `id_manufacturer` = '.(int)$this->id.'
|
||||
'.Shop::addSqlAssociation('manufacturer', 'a').'
|
||||
WHERE a.`id_manufacturer` = '.(int)$this->id.'
|
||||
AND a.`deleted` = 0'
|
||||
);
|
||||
}
|
||||
|
||||
+9
-7
@@ -4176,9 +4176,10 @@ class ProductCore extends ObjectModel
|
||||
public function getWsCategories()
|
||||
{
|
||||
$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(
|
||||
'SELECT `id_category` AS id
|
||||
FROM `'._DB_PREFIX_.'category_product`
|
||||
WHERE `id_product` = '.(int)$this->id
|
||||
'SELECT cp.`id_category` AS id
|
||||
FROM `'._DB_PREFIX_.'category_product` cp
|
||||
'.Shop::addSqlAssociation('category', 'cp').'
|
||||
WHERE cp.`id_product` = '.(int)$this->id
|
||||
);
|
||||
return $result;
|
||||
}
|
||||
@@ -4354,10 +4355,11 @@ class ProductCore extends ObjectModel
|
||||
public function getWsImages()
|
||||
{
|
||||
return Db::getInstance()->executeS('
|
||||
SELECT `id_image` as id
|
||||
FROM `'._DB_PREFIX_.'image`
|
||||
WHERE `id_product` = '.(int)$this->id.'
|
||||
ORDER BY `position`');
|
||||
SELECT i.`id_image` as id
|
||||
FROM `'._DB_PREFIX_.'image` i
|
||||
'.Shop::addSqlAssociation('image', 'i').'
|
||||
WHERE i.`id_product` = '.(int)$this->id.'
|
||||
ORDER BY i.`position`');
|
||||
}
|
||||
|
||||
public function getWsTags()
|
||||
|
||||
@@ -1736,5 +1736,14 @@ class OrderCore extends ObjectModel
|
||||
return new OrderState($this->current_state);
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ObjectModel::getWebserviceObjectList()
|
||||
*/
|
||||
public function getWebserviceObjectList($sql_join, $sql_filter, $sql_sort, $sql_limit)
|
||||
{
|
||||
$sql_filter .= Shop::addSqlRestriction(Shop::SHARE_ORDER, 'main');
|
||||
return parent::getWebserviceObjectList($sql_join, $sql_filter, $sql_sort, $sql_limit);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -199,9 +199,9 @@ class OrderDetailCore extends ObjectModel
|
||||
),
|
||||
'hidden_fields' => array('tax_rate', 'tax_name'),
|
||||
'associations' => array(
|
||||
'taxes' => array('resource' => 'tax', 'getter' => 'getWsTaxes', 'setter' => false,
|
||||
'fields' => array('id' => array(), ),
|
||||
),
|
||||
'taxes' => array('resource' => 'tax', 'getter' => 'getWsTaxes', 'setter' => false,
|
||||
'fields' => array('id' => array(), ),
|
||||
),
|
||||
));
|
||||
|
||||
/** @var bool */
|
||||
|
||||
Reference in New Issue
Block a user