Exemplo n.º 1
0
 function setColorPattern($products_id, $color_pattern_id)
 {
     use_class('products_family');
     $class_pf = new products_family();
     $is_family_locked = $class_pf->productIsFamilyLocked($products_id);
     if (!$is_family_locked) {
         $sda = array();
         $sda['products_id'] = $products_id;
         if (is_array($color_pattern_id)) {
             tep_db_query("DELETE FROM products_to_color_pattern WHERE products_id={$products_id}");
             foreach ($color_pattern_id as $cpid) {
                 $sda['color_pattern_id'] = $cpid;
                 tep_db_perform('products_to_color_pattern', $sda);
             }
         } else {
             $q = tep_db_query("SELECT products_id FROM products_to_color_pattern WHERE products_id={$products_id} AND color_pattern_id={$color_pattern_id}");
             if (tep_db_num_rows($q) == 0) {
                 $sda['color_pattern_id'] = $color_pattern_id;
                 tep_db_perform('products_to_color_pattern', $sda);
             }
         }
         $this->autoUpdateSalesPartnerCatalog($products_id);
     }
 }
Exemplo n.º 2
0
 /**
  * Set brand of a specific product. This fnction will update brand for all families of the given products.
  * However, it will return only total successful products from the give products (updated familes are not included).
  * Updated products will also be automatically included in next catalog upload.
  * @param Int $products_id Product ID
  * @param Int $brand_id Brand ID
  * @return Int Total products updated
  */
 function updateProductBrand($products_id, $brand_id)
 {
     use_class('products_family');
     $pids = explode(',', $products_id);
     $n_pid = count($pids);
     $n_pid_success = 0;
     $break_the_rules = true;
     foreach ($pids as $products_id) {
         $obj_family = new products_family(null, $products_id);
         $is_family_locked = $obj_family->productIsFamilyLocked($products_id);
         if (!$is_family_locked || $break_the_rules) {
             $mother_is_locked = $obj_family->mother > 0 ? $obj_family->productIsFamilyLocked($obj_family->mother) : false;
             if (!$mother_is_locked || $break_the_rules) {
                 $members = $obj_family->retrieveMembers();
                 $sda = array('products_brand_id' => $brand_id);
                 $products_ids = is_array($members) && count($members) > 0 ? implode(',', $members) : $products_id;
                 tep_db_perform('products', $sda, 'update', "products_id IN ({$products_ids})");
                 //refresh family search key to all members
                 //we stop it since brand is already excluded from family search key
                 //                            $pids_m = explode(',', $products_ids);
                 //                            foreach($pids_m as $pid_m) $obj_family->refreshFamilyMatchKey($pid_m);
                 use_class('products_minierp');
                 $class_pm = new products_minierp();
                 $class_pm->autoUpdateSalesPartnerCatalog($products_id);
                 $n_pid_success++;
             }
         }
     }
     return $n_pid_success;
 }
Exemplo n.º 3
0
 }
 if ($pid > 0) {
     $obj_product = new product($pid);
     $p_data = $class_pm->retrieveDetail($pid, 'p,pd');
     if ($p_data['p'] !== false) {
         use_class('element');
         $prid = $pid;
         $family_id = $p_data['p']['family_id'];
         $stars = $p_data['p']['stars'];
         $obj_family = new products_family(null, $pid);
         $family_name = $obj_family->name;
         $prinfo = constructProductDetailInfo($pid, $p_data, true, true);
         if ($family_id != '') {
             $fm = $obj_family->retrieveMembers();
             foreach ($fm as $fpid) {
                 $family_is_locked = (int) $obj_family->productIsFamilyLocked($fpid);
                 $family_members[] = "#box-pids-family|{$fpid}||{$family_is_locked}";
             }
         }
         //$primage = webImageWithDetailLinkStars($p_data['p']['products_image'], $image_size_w, $image_size_h, 'Product '.$pid, 'img-border', "Product $pid (Reference product)", '500', '500', $stars);
         $primage = $obj_product->displayImage($image_size_w, $image_size_h, '(Reference Product)');
         /* Moved this as function to object class products_family
            $family_searchkey = $p_data['p']['family_searchkey'];
            
            $q = "SELECT products_id, family_id FROM products";
            $q .= " WHERE products_id != $pid AND family_searchkey = '$family_searchkey'";
            if ($family_id != '') {
                $q .= " AND (family_id != '$family_id'  OR IFNULL(family_id,'') = '')";
            }
            $q .= " UNION";
            $q .= " SELECT p.products_id, p.family_id FROM products_articles pa";