Untitled

 avatar
unknown
php
2 years ago
2.1 kB
3
Indexable
public function getVouchersForProductAndAddToNewProduct($id_product)
{

    $cartRuleProductRuleValueQuery = "SELECT crpr.type, GROUP_CONCAT(DISTINCT crprv.id_item) AS id_items, GROUP_CONCAT(DISTINCT cr.id_cart_rule) AS id_cart_rules
    FROM `" . _DB_PREFIX_ . "cart_rule` cr
             INNER JOIN `" . _DB_PREFIX_ . "cart_rule_product_rule_group` crprg ON cr.id_cart_rule = crprg.id_cart_rule
             INNER JOIN `" . _DB_PREFIX_ . "cart_rule_product_rule` crpr ON crprg.id_product_rule_group = crpr.id_product_rule_group
             INNER join `" . _DB_PREFIX_ . "cart_rule_product_rule_value` crprv on crpr.id_product_rule = crprv.id_product_rule
    WHERE cr.`code` = ''
    GROUP BY crpr.type";

    $cartRuleProductRuleValues = DB::getInstance()->executeS($cartRuleProductRuleValueQuery);

    $useReduction = [];

    if (count($cartRuleProductRuleValues)) {

        foreach ($cartRuleProductRuleValues as $item) {

            switch ($item['type']) {
                case 'attributes':
                    //TODO

                    break;
                case 'products':

                    if (in_array($id_product, explode(',', $item['id_items']))) {
                        array_merge($useReduction, explode(',', $item['id_cart_rules']));
                    }

                    break;
                case 'manufacturers':
                    //TODO

                    break;
                case 'suppliers':
                    //TODO

                    break;
                case 'categories':
                    /* $product = new Product($id_product);
                    $categories = $product->getCategories();

                    if(count($categories)){

                        if (in_array($item['type'], $categories)) {
                            array_merge($useReduction, explode(',', $item['id_cart_rules']));
                        }
                    } */

                    break;
                default:
                    //TODO

                    break;
            }
        }
    }

    return $useReduction;
}
Editor is loading...