Exemplo n.º 1
0
include_once dirname(__FILE__) . '/../../config/config.inc.php';
include_once dirname(__FILE__) . '/../../init.php';
include_once dirname(__FILE__) . '/giveit.php';
/*module core*/
include_once _GIVEIT_CLASSES_DIR_ . '/configuration.view.php';
$module_instance = new GiveIT();
if (!Tools::isSubmit('token') || Tools::isSubmit('token') && Tools::getValue('token') != sha1(_COOKIE_KEY_ . $module_instance->name)) {
    exit;
}
if (Tools::isSubmit('updateCombinationSettings')) {
    if ($combinations = Tools::getValue('combinations')) {
        $id_product = (int) Tools::getValue('id_product');
        GiveItProduct::clearProductAssociations($id_product);
        foreach ($combinations as $id_product_attribute => $display_button) {
            if ($display_button !== '') {
                $product = new GiveItProduct();
                $product->id_product = $id_product;
                $product->id_product_attribute = (int) $id_product_attribute;
                $product->display_button = (int) $display_button;
                if (!$product->save()) {
                    die(Tools::jsonEncode(array('error' => sprintf($module_instance->l('Error on save settings for product #%d and product combination #%d', 'giveit.ajax.php'), $product->id_product, $product->id_product_attribute))));
                }
            }
        }
        die(Tools::jsonEncode(array('success' => $module_instance->l('Product combination settings were successfully updated', 'giveit.ajax.php'))));
    }
}
if (Tools::isSubmit('getProductList')) {
    $id_category = (int) Tools::getValue('id_category');
    $id_shop = (int) Tools::getValue('id_shop');
    $id_lang = (int) Tools::getValue('id_lang');
Exemplo n.º 2
0
 public function getProductCombinations($product)
 {
     /* Build attributes combinations */
     if (version_compare(_PS_VERSION_, '1.5', '<')) {
         $combinations = $product->getAttributeCombinaisons((int) $this->context->language->id);
     } else {
         $combinations = $product->getAttributeCombinations((int) $this->context->language->id);
     }
     $comb_array = array();
     if (is_array($combinations)) {
         foreach ($combinations as $k => $combination) {
             $comb_array[$combination['id_product_attribute']]['id_product_attribute'] = $combination['id_product_attribute'];
             $comb_array[$combination['id_product_attribute']]['attributes'][] = array($combination['group_name'], $combination['attribute_name'], $combination['id_attribute']);
         }
     }
     if ($comb_array) {
         foreach ($comb_array as $id_product_attribute => $product_attribute) {
             $list = '';
             /* In order to keep the same attributes order */
             asort($product_attribute['attributes']);
             foreach ($product_attribute['attributes'] as $attribute) {
                 $list .= $attribute[0] . ' - ' . $attribute[1] . ', ';
             }
             $list = rtrim($list, ', ');
             $comb_array[$id_product_attribute]['attributes'] = $list;
             $display_button = GiveItProduct::buttonIsDisplayed($product->id, $id_product_attribute);
             $comb_array[$id_product_attribute]['display_button'] = $display_button === false ? '' : (int) $display_button;
             $comb_array[$id_product_attribute]['quantity'] = Product::getQuantity($product->id, $id_product_attribute);
         }
     } else {
         $display_button = GiveItProduct::buttonIsDisplayed($product->id, 0);
         $display_button = $display_button === false ? '' : (int) $display_button;
         $comb_array[0] = array('id_product_attribute' => 0, 'attributes' => $product->name, 'display_button' => $display_button, 'quantity' => Product::getQuantity($product->id));
     }
     return $comb_array;
 }