Untitled
unknown
php
3 years ago
4.0 kB
6
Indexable
public function getVouchersForProductAndAddToNewProduct($id_product){
$getCartRulesQuery = "SELECT * FROM `". _DB_PREFIX_ ."cart_rule` WHERE `code`= '' ";
$getCartRules = DB::getInstance()->executeS($getCartRulesQuery);
if( count($getCartRules) == 0 ){
return [];
}
$vouchers = [];
$use_reduction = [];
foreach ($getCartRules as $cartVoucher) {
//$use_reduction[$cartVoucher['id_cart_rule']] = false;
$CartRule = new CartRule((int)$cartVoucher['id_cart_rule']);
$cart_rule_product_rule_groups_query = "SELECT * FROM `". _DB_PREFIX_ ."cart_rule_product_rule_group` WHERE id_cart_rule =".(int)$cartVoucher['id_cart_rule'];
$cart_rule_product_rule_groups = \DB::getInstance()->executeS($cart_rule_product_rule_groups_query);
$lists = [];
if( count($cart_rule_product_rule_groups) > 0){
foreach ($cart_rule_product_rule_groups as $cart_rule_product_rule_group) {
$cart_rule_product_rules_query = "SELECT * FROM `". _DB_PREFIX_ ."cart_rule_product_rule` WHERE id_product_rule_group =".$cart_rule_product_rule_group['id_product_rule_group'];
$cart_rule_product_rules = \DB::getInstance()->executeS($cart_rule_product_rules_query);
if(count($cart_rule_product_rules) > 0){
foreach ($cart_rule_product_rules as $cart_rule_product_rule) {
$cart_rule_product_rule_values_query = "SELECT DISTINCT id_item FROM `". _DB_PREFIX_ ."cart_rule_product_rule_value` WHERE id_product_rule=". (int)$cart_rule_product_rule['id_product_rule'];
$cart_rule_product_rule_values = \DB::getInstance()->executeS($cart_rule_product_rule_values_query);
$selected = [];
if( count($cart_rule_product_rule_values) > 0){
foreach ($cart_rule_product_rule_values as $cart_rule_product_rule_value) {
$lists[$cart_rule_product_rule['type']][] = (int)$cart_rule_product_rule_value['id_item'];
}
}
}
}
}
}
if( count($lists) > 0 ){
foreach ($lists as $type => $value) {
switch ($type) {
case 'attributes':
//TODO
break;
case 'products':
if(in_array($id_product, $lists[$type])){
$use_reduction[] = $cartVoucher['id_cart_rule'];
}
break;
case 'manufacturers':
//TODO
break;
case 'suppliers':
//TODO
break;
case 'categories':
/*$oProduct = new Product($id_product);
$aCategory = $oProduct->getCategories();
if(count($aCategory) > 0 ){
foreach ($aCategory as $category) {
if(in_array($category, $lists[$type])){
$use_reduction[] = $cartVoucher['id_cart_rule'];
}
}
}*/
break;
default:
//TODO
break;
}
}
}
}
return $use_reduction;
}Editor is loading...