$data[] = "Dropshipment";
         $data[] = "Surface";
         $data[] = "No";
         $data[] = "";
         $data[] = (int) Product::getQuantity($id_product);
         $data[] = (int) $product->shipping_sla;
         fputcsv($outstream, $data, ',', '"');
     }
 } else {
     if ($id_category === 4) {
         $header = array("Web page Number", "SKU Code", "Product Name", "WEIGHT (grams)", "MRP", "SELLING PRICE", "FULFILLMENT MODE", "COURIER TYPE", "Wooden Packaging", "Volumetric Weight", "Inventory", "Shipping Time in Days");
         fputcsv($outstream, $header, ',', '"');
         while ($line = fgetcsv($f)) {
             $id_product = (int) $line[0];
             $product = new Product($id_product, true, 1);
             if (!Product::isProductOfCategory($id_product, $id_category)) {
                 continue;
             }
             $attributeGroups = $product->getAttributesGroups(1);
             foreach ($attributeGroups as $group) {
                 $data = array();
                 $data[] = $id_product;
                 $data[] = $id_product . '-' . $group['attribute_name'];
                 $data[] = $product->name;
                 $data[] = "TODO";
                 $data[] = (int) round(Tools::convertPrice($product->getPriceWithoutReduct(false, $group['id_product_attribute'])));
                 $data[] = (int) round(Tools::convertPrice($product->getPriceWithoutReduct(true, $group['id_product_attribute'])));
                 $data[] = "TODO";
                 $data[] = "TODO";
                 $data[] = "No";
                 $data[] = "TODO";
 public function handleProductStyleMapping()
 {
     global $currentIndex, $cookie, $smarty;
     $target_path = _PS_ADMIN_DIR_ . "/product-uploads/";
     /* Add the original filename to our target path.
        Result is "uploads/filename.extension" */
     $target_path = $target_path . basename($_FILES['product_style_mapping_file']['name']) . $_SERVER['REQUEST_TIME'];
     $is_rts = Tools::getValue('product_type') === 'rts' ? 1 : 0;
     $as_shown = Tools::getValue('product_type') === 'as_shown' ? 1 : 0;
     if (move_uploaded_file($_FILES['product_style_mapping_file']['tmp_name'], $target_path)) {
         $f = fopen($target_path, 'r');
         //discard header
         $line = fgetcsv($f);
         $product_styles_mapped = array();
         while ($line = fgetcsv($f)) {
             $id_product = (int) $line[0];
             $top_styles = (string) $line[1];
             $bottom_styles = (string) $line[2];
             if (!empty($top_styles) || !empty($bottom_styles)) {
                 $top_style_ids = explode(";", $top_styles);
                 $bottom_style_ids = explode(";", $bottom_styles);
                 $product = new Product($id_product);
                 if (Product::isProductOfCategory($id_product, CAT_SAREE)) {
                     $product->is_rts = 0;
                 } else {
                     $product->is_rts = $is_rts;
                 }
                 $product->as_shown = $as_shown;
                 $sql = "delete from ps_product_style where id_product = {$id_product}";
                 Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS($sql);
                 $sql = "insert into ps_product_style values";
                 $default = 1;
                 $sqli = array();
                 foreach ($top_style_ids as $style_id) {
                     if (!empty($style_id)) {
                         array_push($sqli, "({$id_product},{$style_id},{$default})");
                         $default = 0;
                     }
                 }
                 $default = 1;
                 foreach ($bottom_style_ids as $style_id) {
                     if (!empty($style_id)) {
                         array_push($sqli, "({$id_product},{$style_id},{$default})");
                         $default = 0;
                     }
                 }
                 $sql = $sql . implode(",", $sqli);
                 Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS($sql);
                 if (Validate::isLoadedObject($product)) {
                     $product->update();
                 }
                 array_push($product_styles_mapped, $id_product);
                 $smarty->assign("product_styles_mapped", "Product Styles Mapped : " . count($product_styles_mapped) . " <br/>Product IDs : " . implode(",", $product_styles_mapped));
             } else {
                 $smarty->assign('error', "Product ID : {$id_product} has no styles mapped. Correct this and upload again");
                 return;
             }
         }
     }
 }
Example #3
0
 function getProductCustomizationCost($id_product)
 {
     if (isset($this->_productCustomizationCosts[$id_product])) {
         return $this->_productCustomizationCosts[$id_product];
     }
     $total_customization_cost = 0;
     if (!($result = $this->getCartCustomizationData($id_product))) {
         $this->_productCustomizationCosts[$id_product] = Tools::convertPrice($total_customization_cost);
         return $this->_productCustomizationCosts[$id_product];
     }
     $added = false;
     foreach ($result as $row) {
         if ($row['id_customization_field'] == 1) {
             $added = true;
             //fall-piko charge included in pre-stitched saree
             break;
         }
     }
     foreach ($result as $row) {
         $realQuantity = $row['quantity'] - $row['quantity_refunded'] - $row['quantity_returned'];
         if ($row['id_customization_field'] == 1 || $row['id_customization_field'] == 2 || $row['id_customization_field'] == 3 || $row['id_customization_field'] == 8) {
             $custData = $row['value'];
             $custData = explode("_", $custData);
             if ($row['id_customization_field'] == 1) {
                 $total_customization_cost += ID_PRESTITCHED_SAREE_FEE * $realQuantity;
                 $fallPikoWork = $custData[1];
             } elseif ($row['id_customization_field'] == 2) {
                 $total_customization_cost += ID_PRESTITCHED_BLOUSE_FEE * $realQuantity;
                 $fallPikoWork = $custData[2];
             } elseif ($row['id_customization_field'] == 3) {
                 $total_customization_cost += ID_PRESTITCHED_INSKIRT_FEE * $realQuantity;
                 $fallPikoWork = $custData[2];
             } elseif ($row['id_customization_field'] == 8) {
                 $fallPikoWork = $custData[1];
             }
             if ($fallPikoWork & !$added) {
                 $total_customization_cost += ID_FALL_PIKO_WORK_FEE * $realQuantity;
                 // $added = true;
             }
         } elseif ($row['id_customization_field'] == 4 || $row['id_customization_field'] == 24) {
             $custData = $row['value'];
             $custData = explode("_", $custData);
             if (count($custData) > 2 && $custData[2] == 'NA') {
                 // only Kameez, no salwar
                 $total_customization_cost += ID_PRESTITCHED_KAMEEZ_FEE * $realQuantity;
             } else {
                 if (Product::isProductOfCategory($id_product, CAT_ANARKALI)) {
                     $total_customization_cost += ID_PRESTITCHED_ANARKALI_FEE * $realQuantity;
                 } else {
                     $total_customization_cost += ID_PRESTITCHED_SKD_FEE * $realQuantity;
                 }
             }
         } elseif ($row['id_customization_field'] == 5) {
             $total_customization_cost += ID_PRESTITCHED_LC_FEE * $realQuantity;
         } elseif ($row['id_customization_field'] == 10) {
             $total_customization_cost += ID_LONGCHOLI_FEE * $realQuantity;
         } elseif ($row['id_customization_field'] == 11) {
             $total_customization_cost += ID_CHOLILONGSLEEVES_FEE * $realQuantity;
         } elseif ($row['id_customization_field'] == 12) {
             $total_customization_cost += ID_CORSETCHOLI_FEE * $realQuantity;
         }
     }
     $this->_productCustomizationCosts[$id_product] = Tools::convertPrice($total_customization_cost);
     return $this->_productCustomizationCosts[$id_product];
 }