// Normalize FavoriteProducts

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@13217 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
rMalie
2012-02-10 10:51:06 +00:00
parent 9d7a798a4c
commit 92987a0ce3
5 changed files with 41 additions and 42 deletions
+16 -10
View File
@@ -60,14 +60,19 @@ class FavoriteProduct extends ObjectModel
$shop = Context::getContext()->shop;
return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
SELECT fp.`id_shop`, p.`id_product`, pl.`description_short`, pl.`link_rewrite`, pl.`name`, i.`id_image`, CONCAT(p.`id_product`, \'-\', i.`id_image`) as image
SELECT fp.`id_shop`, p.`id_product`, pl.`description_short`, pl.`link_rewrite`,
pl.`name`, i.`id_image`, CONCAT(p.`id_product`, \'-\', i.`id_image`) as image
FROM `'._DB_PREFIX_.'favorite_product` fp
LEFT JOIN `'._DB_PREFIX_.'product` p ON (p.`id_product` = fp.`id_product`)
LEFT JOIN `'._DB_PREFIX_.'product_lang` pl ON (p.`id_product` = pl.`id_product` AND pl.`id_lang` = '.(int)$id_lang.$shop->addSqlRestrictionOnLang('pl').')
LEFT JOIN `'._DB_PREFIX_.'product_lang` pl
ON p.`id_product` = pl.`id_product`
AND pl.`id_lang` = '.(int)$id_lang
.$shop->addSqlRestrictionOnLang('pl').'
LEFT OUTER JOIN `'._DB_PREFIX_.'product_attribute` pa ON (p.`id_product` = pa.`id_product` AND `default_on` = 1)
LEFT JOIN `'._DB_PREFIX_.'image` i ON (i.`id_product` = p.`id_product` AND i.`cover` = 1)
LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = '.(int)($id_lang).')
LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = '.(int)$id_lang.')
WHERE p.`active` = 1
'.($id_customer ? ' AND fp.id_customer = '.(int)$id_customer : '').'
'.$shop->addSqlRestriction(false, 'fp')
);
}
@@ -77,12 +82,13 @@ class FavoriteProduct extends ObjectModel
if (!$shop)
$shop = Context::getContext()->shop;
$id_favorite_product = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('
$id_favorite_product = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('
SELECT `id_favorite_product`
FROM `'._DB_PREFIX_.'favorite_product`
WHERE `id_customer` = '.(int)($id_customer).'
AND `id_product` = '.(int)($id_product).'
AND `id_shop` = '.(int)($shop->getID()));
WHERE `id_customer` = '.(int)$id_customer.'
AND `id_product` = '.(int)$id_product.'
AND `id_shop` = '.(int)$shop->getID(true)
);
if ($id_favorite_product)
return new FavoriteProduct($id_favorite_product);
@@ -97,8 +103,8 @@ class FavoriteProduct extends ObjectModel
return (bool)Db::getInstance()->getValue('
SELECT COUNT(*)
FROM `'._DB_PREFIX_.'favorite_product`
WHERE `id_customer` = '.(int)($id_customer).'
AND `id_product` = '.(int)($id_product).'
AND `id_shop` = '.(int)($shop->getID()));
WHERE `id_customer` = '.(int)$id_customer.'
AND `id_product` = '.(int)$id_product.'
AND `id_shop` = '.(int)$shop->getID(true));
}
}
@@ -62,8 +62,8 @@ class FavoriteproductsActionsModuleFrontController extends ModuleFrontController
if (!Validate::isLoadedObject($product))
die('0');
$favoriteProduct = FavoriteProduct::getFavoriteProduct((int)Context::getContext()->cookie->id_customer, (int)$product->id);
if ($favoriteProduct && $favoriteProduct->delete())
$favorite_product = FavoriteProduct::getFavoriteProduct((int)Context::getContext()->cookie->id_customer, (int)$product->id);
if ($favorite_product && $favorite_product->delete())
die('0');
die(1);
}
@@ -77,11 +77,11 @@ class FavoriteproductsActionsModuleFrontController extends ModuleFrontController
// check if product exists
if (!Validate::isLoadedObject($product) || FavoriteProduct::isCustomerFavoriteProduct((int)Context::getContext()->cookie->id_customer, (int)$product->id))
die('1');
$favoriteProduct = new FavoriteProduct();
$favoriteProduct->id_product = $product->id;
$favoriteProduct->id_customer = (int)Context::getContext()->cookie->id_customer;
$favoriteProduct->id_shop = (int)Context::getContext()->shop->getID(true);
if ($favoriteProduct->add())
$favorite_product = new FavoriteProduct();
$favorite_product->id_product = $product->id;
$favorite_product->id_customer = (int)Context::getContext()->cookie->id_customer;
$favorite_product->id_shop = (int)Context::getContext()->shop->getID(true);
if ($favorite_product->add())
die('0');
die(1);
}
-10
View File
@@ -1,10 +0,0 @@
<?php
require_once dirname(__FILE__).'/../../config/config.inc.php';
include_once(dirname(__FILE__).'/FavoriteProduct.php');
if(FavoriteProduct::isCustomerFavoriteProduct(2,2))
echo 'yes';
else
echo 'non';
?>
@@ -33,7 +33,7 @@ require_once(dirname(__FILE__).'/../../config/config.inc.php');
require_once(dirname(__FILE__).'/../../init.php');
include(dirname(__FILE__).'/FavoriteProduct.php');
if (Tools::getValue('action') AND Tools::getValue('id_product') AND Context::getContext()->cookie->id_customer)
if (Tools::getValue('action') && Tools::getValue('id_product') && Context::getContext()->cookie->id_customer)
{
if (Tools::getValue('action') == 'remove')
{
@@ -41,22 +41,23 @@ if (Tools::getValue('action') AND Tools::getValue('id_product') AND Context::get
$product = new Product((int)Tools::getValue('id_product'));
if (!Validate::isLoadedObject($product))
die('0');
$favoriteProduct = FavoriteProduct::getFavoriteProduct((int)Context::getContext()->cookie->id_customer, (int)$product->id);
if ($favoriteProduct)
if ($favoriteProduct->delete())
$favorite_product = FavoriteProduct::getFavoriteProduct((int)Context::getContext()->cookie->id_customer, (int)$product->id);
if ($favorite_product)
if ($favorite_product->delete())
die('0');
}
elseif (Tools::getValue('action') == 'add')
{
$product = new Product((int)Tools::getValue('id_product'));
// check if product exists
if (!Validate::isLoadedObject($product) || FavoriteProduct::isCustomerFavoriteProduct((int)Context::getContext()->cookie->id_customer, (int)$product->id))
if (!Validate::isLoadedObject($product)
|| FavoriteProduct::isCustomerFavoriteProduct((int)Context::getContext()->cookie->id_customer, (int)$product->id))
die('1');
$favoriteProduct = new FavoriteProduct();
$favoriteProduct->id_product = $product->id;
$favoriteProduct->id_customer = (int)Context::getContext()->cookie->id_customer;
$favoriteProduct->id_shop = (int)Context::getContext()->shop->getID();
if ($favoriteProduct->add())
$favorite_product = new FavoriteProduct();
$favorite_product->id_product = $product->id;
$favorite_product->id_customer = (int)Context::getContext()->cookie->id_customer;
$favorite_product->id_shop = (int)Context::getContext()->shop->getID();
if ($favorite_product->add())
die('0');
}
}
@@ -70,7 +70,7 @@ class FavoriteProducts extends Module
public function uninstall()
{
if (!parent::uninstall() OR !Db::getInstance()->execute('DROP TABLE `'._DB_PREFIX_.'favorite_product`'))
if (!parent::uninstall() || !Db::getInstance()->execute('DROP TABLE `'._DB_PREFIX_.'favorite_product`'))
return false;
return true;
}
@@ -79,9 +79,10 @@ class FavoriteProducts extends Module
{
include_once(dirname(__FILE__).'/FavoriteProduct.php');
$favoriteProducts = FavoriteProduct::getFavoriteProducts($this->context->customer->id, $this->context->language->id);
$this->smarty->assign(array('favorite_products' => $favoriteProducts));
$products = FavoriteProduct::getFavoriteProducts($this->context->customer->id, $this->context->language->id);
$this->smarty->assign(array(
'favorite_products' => $products,
));
return $this->display(__FILE__, 'my-account.tpl');
}
@@ -97,7 +98,8 @@ class FavoriteProducts extends Module
$this->smarty->assign(array(
'isCustomerFavoriteProduct' => (FavoriteProduct::isCustomerFavoriteProduct($this->context->customer->id, Tools::getValue('id_product')) ? 1 : 0),
'isLogged' => (int)$this->context->customer->logged));
'isLogged' => (int)$this->context->customer->logged,
));
return $this->display(__FILE__, 'favoriteproducts-extra.tpl');
}