// Webservice getters are now multishop

This commit is contained in:
rMalie
2012-06-01 07:45:41 +00:00
parent 0545f30629
commit 803073cd49
9 changed files with 66 additions and 31 deletions
+4 -2
View File
@@ -228,8 +228,10 @@ class AttributeGroupCore extends ObjectModel
public function getWsProductOptionValues() public function getWsProductOptionValues()
{ {
$result = Db::getInstance()->executeS(' $result = Db::getInstance()->executeS('
SELECT id_attribute AS id from `'._DB_PREFIX_.'attribute` SELECT a.id_attribute AS id
WHERE id_attribute_group = '.(int)$this->id FROM `'._DB_PREFIX_.'attribute` a
'.Shop::addSqlAssociation('attribute', 'a').'
WHERE a.id_attribute_group = '.(int)$this->id
); );
return $result; return $result;
} }
+4 -3
View File
@@ -3017,7 +3017,8 @@ class CartCore extends ObjectModel
$query = ' $query = '
SELECT id_product, id_product_attribute, quantity SELECT id_product, id_product_attribute, quantity
FROM `'._DB_PREFIX_.'cart_product` 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); $result = Db::getInstance()->executeS($query);
return $result; return $result;
@@ -3027,11 +3028,11 @@ class CartCore extends ObjectModel
{ {
if ($this->deleteAssociations()) 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) foreach ($values as $value)
$query .= '('.(int)$this->id.', '.(int)$value['id_product'].', '. $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, ',')); Db::getInstance()->execute(rtrim($query, ','));
} }
+12 -5
View File
@@ -1306,11 +1306,18 @@ class CategoryCore extends ObjectModel
public function getWsNbProductsRecursive() public function getWsNbProductsRecursive()
{ {
$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
SELECT count(distinct(id_product)) as nb_product_recursive FROM `'._DB_PREFIX_.'category_product` SELECT COUNT(distinct(id_product)) as nb_product_recursive
WHERE id_category IN (SELECT id_category FROM `'._DB_PREFIX_.'category_product`
FROM `'._DB_PREFIX_.'category` WHERE id_category IN (
WHERE nleft > '.(int)$this->nleft. SELECT c2.id_category
' AND nright < '.(int)$this->nright.' AND active = 1 UNION SELECT '.(int)$this->id.')'); 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) if (!$result)
return -1; return -1;
return $result[0]['nb_product_recursive']; return $result[0]['nb_product_recursive'];
+8 -6
View File
@@ -144,9 +144,10 @@ class CombinationCore extends ObjectModel
public function getWsProductOptionValues() public function getWsProductOptionValues()
{ {
$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
SELECT id_attribute AS id SELECT a.id_attribute AS id
FROM `'._DB_PREFIX_.'product_attribute_combination` FROM `'._DB_PREFIX_.'product_attribute_combination` a
WHERE id_product_attribute = '.(int)$this->id); '.Shop::addSqlAssociation('attribute', 'a').'
WHERE a.id_product_attribute = '.(int)$this->id);
return $result; return $result;
} }
@@ -154,9 +155,10 @@ class CombinationCore extends ObjectModel
public function getWsImages() public function getWsImages()
{ {
return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
SELECT `id_image` as id SELECT a.`id_image` as id
FROM `'._DB_PREFIX_.'product_attribute_image` FROM `'._DB_PREFIX_.'product_attribute_image` a
WHERE `id_product_attribute` = '.(int)$this->id.' '.Shop::addSqlAssociation('product_attribute', 'a').'
WHERE a.`id_product_attribute` = '.(int)$this->id.'
'); ');
} }
+15 -4
View File
@@ -144,7 +144,7 @@ class CustomerCore extends ObjectModel
'passwd' => array('setter' => 'setWsPasswd'), 'passwd' => array('setter' => 'setWsPasswd'),
), ),
'associations' => array( 'associations' => array(
'groups' => array('resource' => 'group'), 'groups' => array('resource' => 'group'),
) )
); );
@@ -741,9 +741,11 @@ class CustomerCore extends ObjectModel
public function getWsGroups() public function getWsGroups()
{ {
return Db::getInstance()->executeS(' return Db::getInstance()->executeS('
SELECT cg.`id_group` as id SELECT cg.`id_group` as id
FROM '._DB_PREFIX_.'customer_group cg FROM '._DB_PREFIX_.'customer_group cg
WHERE cg.`id_customer` = '.(int)$this->id); '.Shop::addSqlAssociation('group', 'cg').'
WHERE cg.`id_customer` = '.(int)$this->id
);
} }
public function setWsGroups($result) public function setWsGroups($result)
@@ -755,4 +757,13 @@ class CustomerCore extends ObjectModel
$this->addGroups($groups); $this->addGroups($groups);
return true; 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);
}
} }
+2 -1
View File
@@ -441,7 +441,8 @@ class ManufacturerCore extends ObjectModel
return Db::getInstance()->executeS(' return Db::getInstance()->executeS('
SELECT a.id_address as id SELECT a.id_address as id
FROM `'._DB_PREFIX_.'address` AS a 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' AND a.`deleted` = 0'
); );
} }
+9 -7
View File
@@ -4176,9 +4176,10 @@ class ProductCore extends ObjectModel
public function getWsCategories() public function getWsCategories()
{ {
$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS( $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(
'SELECT `id_category` AS id 'SELECT cp.`id_category` AS id
FROM `'._DB_PREFIX_.'category_product` FROM `'._DB_PREFIX_.'category_product` cp
WHERE `id_product` = '.(int)$this->id '.Shop::addSqlAssociation('category', 'cp').'
WHERE cp.`id_product` = '.(int)$this->id
); );
return $result; return $result;
} }
@@ -4354,10 +4355,11 @@ class ProductCore extends ObjectModel
public function getWsImages() public function getWsImages()
{ {
return Db::getInstance()->executeS(' return Db::getInstance()->executeS('
SELECT `id_image` as id SELECT i.`id_image` as id
FROM `'._DB_PREFIX_.'image` FROM `'._DB_PREFIX_.'image` i
WHERE `id_product` = '.(int)$this->id.' '.Shop::addSqlAssociation('image', 'i').'
ORDER BY `position`'); WHERE i.`id_product` = '.(int)$this->id.'
ORDER BY i.`position`');
} }
public function getWsTags() public function getWsTags()
+9
View File
@@ -1736,5 +1736,14 @@ class OrderCore extends ObjectModel
return new OrderState($this->current_state); return new OrderState($this->current_state);
return null; 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);
}
} }
+3 -3
View File
@@ -199,9 +199,9 @@ class OrderDetailCore extends ObjectModel
), ),
'hidden_fields' => array('tax_rate', 'tax_name'), 'hidden_fields' => array('tax_rate', 'tax_name'),
'associations' => array( 'associations' => array(
'taxes' => array('resource' => 'tax', 'getter' => 'getWsTaxes', 'setter' => false, 'taxes' => array('resource' => 'tax', 'getter' => 'getWsTaxes', 'setter' => false,
'fields' => array('id' => array(), ), 'fields' => array('id' => array(), ),
), ),
)); ));
/** @var bool */ /** @var bool */