// 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()
{
$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
View File
@@ -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
View File
@@ -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'];
+8 -6
View File
@@ -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
View File
@@ -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);
}
}
+2 -1
View File
@@ -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
View File
@@ -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()
+9
View File
@@ -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);
}
}
+3 -3
View File
@@ -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 */