From 57a8be43721f9d117b649d8e4eabf444b3ba8304 Mon Sep 17 00:00:00 2001 From: andryeyev Date: Tue, 24 Nov 2015 11:58:09 +0200 Subject: [PATCH] Исправил cron, импорт (обновление товара, цен) Не удаляет все модификации, которых нет в файле --- cron/cron.php | 58 +++++++++++++++++++++++++++------------------------------- libs/catalogs.class.php | 657 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ modules/admin/catalogs.php | 185 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------- modules/admin/catalogs/import.php | 36 ++++++++++++++++++++++++------------ modules/admin/catalogs/import_cine.php | 42 +++++++++++++++++------------------------- 5 files changed, 639 insertions(+), 339 deletions(-) diff --git a/cron/cron.php b/cron/cron.php index 0a2d4f3..a9b5540 100644 --- a/cron/cron.php +++ b/cron/cron.php @@ -1,43 +1,39 @@ #!/usr/bin/env php "; -error_reporting (0); -set_time_limit(0); +// #$_SERVER['DOCUMENT_ROOT'] = "/var/www/vhosts/test4.artweb.com.ua/httpdocs"; +$yy = @fopen ("log.txt", "a+"); +fputs ($yy, date ("d-m-y H:i:s")); +fclose ($yy); +// $rrrrr = @file("http://extremstyle.ua/cr.php"); -//$_SERVER['DOCUMENT_ROOT'] = "/var/www/web_extrem/www/extremstyle.ua/public_html"; +//exit (); -//echo $_SERVER['DOCUMENT_ROOT']."
"; +require ($_SERVER ['DOCUMENT_ROOT'] . "/libs/setup.php"); +$setup = new setup (); +$objCatalogs = $setup->setupClass ("Catalogs"); -//#$_SERVER['DOCUMENT_ROOT'] = "/var/www/vhosts/test4.artweb.com.ua/httpdocs"; - -$yy = @fopen("log.txt","a+"); -fputs($yy,date("d-m-y H:i:s")); -fclose($yy); - -#$rrrrr = @file("http://extremstyle.ua/cr.php"); - - -exit; - - -require($_SERVER['DOCUMENT_ROOT'] . "/libs/setup.php"); -$setup = new setup(); -$objCatalogs = $setup->setupClass("Catalogs"); - -if($objCatalogs->view_config_value(4)==1){ - $objCatalogs->config_update(4,0); - $objCatalogs->updateCountModificationProducts(); -}elseif(is_file($_SERVER['DOCUMENT_ROOT'] . "/cron/file_1.csv") && $objCatalogs->view_config_value(1)==0){ - $objCatalogs->config_update(1,1); - $upload['file']['name'] = "file_1.csv"; - $upload['file']['tmp_name'] = $_SERVER['DOCUMENT_ROOT'] . "/cron/file_1.csv"; - $objCatalogs->CronImportCSV_cine($upload); - //unlink($upload['file']['tmp_name']); - $objCatalogs->config_update(1,0); - $objCatalogs->config_update(4,1); +if ($objCatalogs->view_config_value (4) == 1) +{ + $objCatalogs->config_update (4, 0); + $objCatalogs->updateCountModificationProducts (); +} +elseif (is_file ($_SERVER ['DOCUMENT_ROOT'] . "/cron/file_1.csv") && $objCatalogs->view_config_value (1) == 0) +{ + $objCatalogs->config_update (1, 1); + $upload['file']['name'] = "file_1.csv"; + $upload['file']['tmp_name'] = $_SERVER ['DOCUMENT_ROOT'] . "/cron/file_1.csv"; + $objCatalogs->CronImportCSV_cine ($upload); + unlink($upload['file']['tmp_name']); + $objCatalogs->config_update (1, 0); + $objCatalogs->config_update (4, 1); } ?> diff --git a/libs/catalogs.class.php b/libs/catalogs.class.php index abcf16a..4da7312 100644 --- a/libs/catalogs.class.php +++ b/libs/catalogs.class.php @@ -619,61 +619,137 @@ foreach ($row as $key => $value) { $this->tpl->assign('modifications', $row); return $row; } - - function viewModificationOne($id){ - $sql = "select * from catalogs_modifications where id=?"; - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('modification', $row); - return $row; - } - - function getModificationProduct_id($code){ - return $this->db->getOne("select product_id from catalogs_modifications where code=?",array($code)); - } - - function SaveModification($data,$upload){ - $table_name = "catalogs_modifications"; - $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; - $fields_values = array('product_id'=>$data['product_id'],'code'=>$data['code'],'size' => $data['size'],'color' => $data['color'],'active' => $data['active']); - if(isset($data['color2'])){$fields_values['color2']=$data['color2'];} - if(isset($data['rost'])){$fields_values['rost']=$data['rost'];} - if(isset($data['delete_pic'])){if($data['update_id']>0){$this->deleteModificationPics($data['update_id']);}$fields_values['pic']=null;$fields_values['pic_big']=null;} - if($upload['pic']['tmp_name']){ - if($data['update_id']>0){ - $delete_pics = (isset($upload['pic']['big']) && $upload['pic']['big']==true)?array('pic'):array('pic','pic_big'); - $this->deleteModificationPics($data['update_id'],$delete_pics); - } - $fields_values['pic'] = upload_ImageResize($upload['pic'],array('width'=>"144",'height'=>"144",'upload_path'=>"./uploaded/pic/catalogs/modifications/")); - $fields_values['pic_big'] = (isset($upload['pic']['big']) && $upload['pic']['big']==true)?$upload['pic']['name']:upload_ImageResize($upload['pic'],array('width'=>"1000",'height'=>"1000",'upload_path'=>"./uploaded/pic/catalogs/modifications/big/")); - } - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id='{$data['update_id']}'"); - return $id; - } - - function deleteModification($id){ - $this->deleteModificationPics($id); - $this->db->query("delete from catalogs_modifications where id=?",array($id)); - } - - function deleteProductModifications($product_id,$nopic = false){ - IF($nopic==false){ - $sql = "select * from catalogs_modifications where product_id=?"; - $res = $this->db->getAll($sql,array($product_id),DB_FETCHMODE_ASSOC); - foreach($res as $row){ - $this->deleteModificationPics($row['id']); - } - } - $this->db->query("delete from catalogs_modifications where product_id=?",array($product_id)); - } - - function deleteModificationPics($id,$pics = array('pic_big','pic')){ - $sql = "select pic,pic_big from catalogs_modifications where id=?"; - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); - if(in_array('pic',$pics))@unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/modifications/{$row['pic']}"); - // if(in_array('pic_big',$pics))@unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/modifications/big/{$row['pic_big']}"); - } +function viewModificationOne ($id) +{ + $sql = "select * from catalogs_modifications where id=?"; + $row = $this->db->getRow ($sql, array ( + $id + ), DB_FETCHMODE_ASSOC); + $this->tpl->assign ('modification', $row); + return $row; +} + +function getModificationProduct_id ($code) +{ + return $this->db->getOne ("select product_id from catalogs_modifications where code=?", array ( + $code + )); +} + +function SaveModification ($data, $upload) +{ + $table_name = "catalogs_modifications"; + $DB_AUTOQUERY = ($data ['update_id'] > 0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; + $fields_values = array ( + 'product_id' => $data ['product_id'], + 'code' => $data ['code'], + 'size' => $data ['size'], + 'color' => $data ['color'], + 'active' => $data ['active'] + ); + + if (isset ($data ['color2'])) + { + $fields_values ['color2'] = $data ['color2']; + } + + if (isset ($data ['rost'])) + { + $fields_values ['rost'] = $data ['rost']; + } + + if (isset ($data ['delete_pic'])) + { + if ($data ['update_id'] > 0) + { + $this->deleteModificationPics ($data ['update_id']); + } + + $fields_values ['pic'] = null; + $fields_values ['pic_big'] = null; + } + + if ($upload ['pic'] ['tmp_name']) + { + if ($data ['update_id'] > 0) + { + $delete_pics = (isset ($upload ['pic'] ['big']) && $upload ['pic'] ['big'] == true) ? array ( + 'pic' + ) : array ( + 'pic', + 'pic_big' + ); + + $this->deleteModificationPics ($data ['update_id'], $delete_pics); + } + + $fields_values ['pic'] = upload_ImageResize ($upload ['pic'], array ( + 'width' => "144", + 'height' => "144", + 'upload_path' => "./uploaded/pic/catalogs/modifications/" + )); + + $fields_values ['pic_big'] = (isset ($upload ['pic'] ['big']) && $upload ['pic'] ['big'] == true) ? $upload ['pic'] ['name'] : upload_ImageResize ($upload ['pic'], array ( + 'width' => "1000", + 'height' => "1000", + 'upload_path' => "./uploaded/pic/catalogs/modifications/big/" + )); + } + + $this->db->autoExecute ($table_name, $fields_values, $DB_AUTOQUERY, "id='{$data['update_id']}'"); + return $id; +} + +function deleteModification ($id) +{ + $this->deleteModificationPics ($id); + $this->db->query ("delete from catalogs_modifications where id=?", array ( + $id + )); +} +function deleteProductModifications ($product_id, $nopic = false) +{ + IF ($nopic == false) + { + $sql = " + select * + from catalogs_modifications + where product_id=?"; + $res = $this->db->getAll ($sql, array ( + $product_id + ), DB_FETCHMODE_ASSOC); + + foreach ($res as $row) + { + $this->deleteModificationPics ($row ['id']); + } + } + + $this->db->query (" + delete from catalogs_modifications + where product_id=?", array ( + $product_id + )); +} + +function deleteModificationPics ($id, $pics = array('pic_big','pic')) +{ + $sql = "select pic,pic_big from catalogs_modifications where id=?"; + + $row = $this->db->getRow ($sql, array ( + $id + ), DB_FETCHMODE_ASSOC); + + if (in_array ('pic', $pics)) + { + @unlink ("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/modifications/{$row['pic']}"); + } + + // if(in_array('pic_big',$pics))@unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/modifications/big/{$row['pic_big']}"); +} + function ProductClick($id){ $this->db->query("update catalogs_products set click=click+1 where id='$id'"); } @@ -2681,9 +2757,12 @@ if(isset($_GET['akciiID']) && $_GET['akciiID']>0)$search[] = sprintf("p.akcii_id return $this->db->getOne("select active from catalogs_modifications where code=?",array($code)); } - function updateProduct_countModification($product_id,$count){ - $this->db->autoExecute("catalogs_products",array('count_modifications'=>$count),DB_AUTOQUERY_UPDATE,"id='$product_id'"); - } +function updateProduct_countModification ($product_id, $count) +{ + $this->db->autoExecute ("catalogs_products", array ( + 'count_modifications' => $count + ), DB_AUTOQUERY_UPDATE, "id='$product_id'"); +} function updateProductModificationCountPrefix($product_id,$prefix = "+"){ // print $product_id; @@ -3110,26 +3189,40 @@ if(isset($_GET['akciiID']) && $_GET['akciiID']>0)$search[] = sprintf("p.akcii_id $this->tpl->assign('params',$this->getProductParams($product_id)); } - function saveTmpProduct($row,$product_id){ - if($product_id>0){ - $this->db->autoExecute("catalogs_tmp_products",array('name'=>$row[3],'product_id'=>$product_id),DB_AUTOQUERY_INSERT); - } - } - - function clearTmpProduct(){ - $sql = "TRUNCATE TABLE catalogs_tmp_products"; - $this->db->query($sql,array()); - } - - function viewTmpProducts(){ - $sql = "SELECT count( name ) AS cn, name -FROM catalogs_tmp_products -GROUP BY name -ORDER BY name"; - $row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); - $this->tpl->assign('list',$row); - $this->tpl->assign('list_total',$this->db->getOne("select count(*) from catalogs_tmp_products")); - } +/** + * + */ +function saveTmpProduct ($row, $product_id) +{ + if ($product_id > 0) + { + $this->db->autoExecute ("catalogs_tmp_products", array ( + 'name' => $row [3], + 'product_id' => $product_id + ), DB_AUTOQUERY_INSERT); + } +} + +function clearTmpProduct () +{ + $sql = "TRUNCATE TABLE catalogs_tmp_products"; + $this->db->query ($sql, array ()); +} + +function viewTmpProducts () +{ + $sql = " + SELECT count( name ) AS cn, name + FROM catalogs_tmp_products + GROUP BY name + ORDER BY name"; + $row = $this->db->getAll ($sql, array (), DB_FETCHMODE_ASSOC); + $this->tpl->assign ('list', $row); + $this->tpl->assign ('list_total', $this->db->getOne (" + select count(*) + from catalogs_tmp_products + ")); +} function deleteGalleryProduct($id){ $sql = "select * from catalogs_gallery where product_id=?"; @@ -3156,171 +3249,267 @@ ORDER BY name"; } } } - - function importCSV($upload){ error_reporting(0); - if($upload['file']['name']=="file_1.csv"){print"! !";exit;} - //$arr_line = file($upload['file']['tmp_name']); - $f = fopen($upload['file']['tmp_name'], "r") or die("!"); - // print"
";
- $this->clearTmpProduct();
- for ($i=0; $row_line=File_FGetCSV::fgetcsv($f,15000000,";"); $i++) {
- // foreach($arr_line as $line){
-   //$row_line = fgetcsv(";",$line);
-   $rubric_id = $this->import_saveRubric($row_line[0],0);
-   $rubric_parent_id = $this->import_saveRubric($row_line[1],$rubric_id);
-   $brend_id = $this->import_saveBrend($row_line[2],$rubric_parent_id);
-   $pruduct_name = trim($row_line[3]);
-   $pruduct_about = trim($row_line[4]);
-   $pruduct_text = trim($row_line[5]);
-   $sex = explode(',',$row_line[8]);$pruduct_sex = array();
-   foreach($sex as $s){
-   switch(trim($s)){
-    case '' : $pruduct_sex[] = 1; break;
-    case '' : $pruduct_sex[] = 2; break;
-    case '' : $pruduct_sex[] = 3; break;
-    case '' : $pruduct_sex[] = 4; break;
-    default : $pruduct_sex[] = array(); break;
-   }
-   }
-   $pruduct_date = trim($row_line[9]);
-   $pruduct_cine = trim($row_line[10]);
-   $pruduct_cine_last = trim($row_line[11]);
-   if($pruduct_cine<1){$pruduct_cine=$pruduct_cine_last;$pruduct_cine_last=0;}
-   $pruduct_akcii_id = trim($row_line[12]);
-   $pruduct_strnumber = trim($row_line[13]);
-   $pruduct_active = trim($row_line[14]);
-   $pruduct_params = trim($row_line[15]);
-   $pruduct_pic_tmp = trim($row_line[17]);
-   $pruduct_gallery_pics = trim($row_line[18]);
-   $pruduct_video = trim($row_line[16]);
-   $pruduct_update_id = $this->getProductID_R($pruduct_name,$rubric_parent_id);
-   if($pruduct_update_id>0){
-	   $row_product = $this->db->getRow('select * from catalogs_products where id=?',array($pruduct_update_id),DB_FETCHMODE_ASSOC);
-	   if($row_product['update_text']==1)$pruduct_text = $row_product['text'];
-   }
-   $upload_pruduct = (strlen($pruduct_pic_tmp)>0 && is_file("./uploaded/pic/catalogs/products/big/$pruduct_pic_tmp"))?array('pic'=>array('tmp_name'=>"./uploaded/pic/catalogs/products/big/$pruduct_pic_tmp",'name'=>$pruduct_pic_tmp,'big'=>true)):null;
-   
-   $product_id = $this->saveProduct(
-                        array('rubric_id'=>$rubric_parent_id,
-                              'rubric_parent_id'=>$rubric_parent_id,
-                              'brend_id'=>$brend_id,
-                              'name'=>$pruduct_name,
-                              'about'=>$pruduct_about,
-                              'text'=>$pruduct_text,
-                              'video_code'=>$pruduct_video,
-                              'sex'=>$pruduct_sex,
-                              'date'=>$pruduct_date,
-                              'cine'=>$pruduct_cine,
-                              'cine_last'=>$pruduct_cine_last,
-                              'akcii_id'=>$pruduct_akcii_id,
-                              'strnumber'=>$pruduct_strnumber,
-                              'active'=>$pruduct_active,
-                              'meta_title'=>$pruduct_name,
-                              'meta_description'=>$pruduct_name,
-                              'meta_keywords'=>$pruduct_name,
-                              'meta_about'=>$pruduct_name,
-                              'filter'=>$this->import_saveFilters($rubric_parent_id,$row_line[6]),
-                                                          'filter2'=>$this->import_saveFilters2($rubric_parent_id,$row_line[7]),
-                              'years'=>$this->import_saveYear($rubric_parent_id,$pruduct_date),
-                              'akcii'=>array(),
-                              'update_id'=>$pruduct_update_id),
-                              $upload_pruduct
-                        );
-                        //print $pruduct_update_id;exit;
-   $this->saveProductParams($product_id,$pruduct_params);
-   $this->saveGalleryPics($product_id,$pruduct_gallery_pics);
-   $this->deleteProductModifications($product_id,true);
-   $m_i = 0;
-   for($i=19;$i0){
-     $row_mod = explode("=",$arr_mod);
-	 //print_r($row_mod);
-     $upload_mod = (strlen($row_mod[3])>0 && is_file("./uploaded/pic/catalogs/modifications/big/".$row_mod[3]))?array('pic'=>array('tmp_name'=>"./uploaded/pic/catalogs/modifications/big/".$row_mod[3],'name'=>$row_mod[3],'big'=>true)):null;
-
-     $size_mod = explode("*",$row_mod[1]);
-	 $rost = (isset($size_mod[1])) ? $size_mod[1] : '';
-	 $this->SaveModification(
-            array('product_id'=>$product_id,
-                  'code'=>$row_mod[0],
-                  'size'=>$size_mod[0],
-				  'rost'=>$rost,
-                  'color'=>$row_mod[2],
-                  'active'=>$row_mod[4]
-                  ),$upload_mod
-            );
-    if($row_mod[4]>0)$m_i++;
-    }
-   }
-   $this->updateProduct_countModification($product_id,$m_i);
-   //$this->import_saveFilters($product_id,$rubric_parent_id,$row_line[6]);
-   //$strnumber = $this->getProductID($row_line[3]);   $this->save_keysProductsFilters($id,$data);
-   //print_r($row_line);
-   $this->saveTmpProduct($row_line,$product_id);
-   if(($i%30)==0)sleep(1);
-  }
- // print"
"; + function importCSV ($upload) + { + error_reporting (0); + + if ($upload['file']['name'] == "file_1.csv") + { + print "! !"; + exit (); + } + + // $arr_line = file($upload['file']['tmp_name']); + $f = fopen ($upload['file']['tmp_name'], "r") or die ("!"); + + // print"
";
+ 
+     $this->clearTmpProduct();
+ 
+     for ($i = 0; $row_line = File_FGetCSV::fgetcsv ($f, 15000000, ";"); $i ++)
+     {
+         // foreach($arr_line as $line){
+         // $row_line = fgetcsv(";",$line);
+         $rubric_id = $this->import_saveRubric ($row_line [0], 0);
+         $rubric_parent_id = $this->import_saveRubric ($row_line [1], $rubric_id);
+         $brend_id = $this->import_saveBrend ($row_line [2], $rubric_parent_id);
+         $pruduct_name = trim ($row_line [3]);
+         $pruduct_about = trim ($row_line [4]);
+         $pruduct_text = trim ($row_line [5]);
+         $sex = explode (',', $row_line [8]);
+         $pruduct_sex = array ();
+ 
+         foreach ($sex as $s)
+         {
+             switch (trim ($s))
+             {
+                 case '' :
+                     $pruduct_sex [] = 1;
+                     break;
+                 case '' :
+                     $pruduct_sex [] = 2;
+                     break;
+                 case '' :
+                     $pruduct_sex [] = 3;
+                     break;
+                 case '' :
+                     $pruduct_sex [] = 4;
+                     break;
+                 default :
+                     $pruduct_sex [] = array ();
+                     break;
+             }
+         }
+ 
+         $pruduct_date = trim ($row_line [9]);
+         $pruduct_cine = trim ($row_line [10]);
+         $pruduct_cine_last = trim ($row_line [11]);
+ 
+         if ($pruduct_cine < 1)
+         {
+             $pruduct_cine = $pruduct_cine_last;
+             $pruduct_cine_last = 0;
+         }
+ 
+         $pruduct_akcii_id = trim ($row_line [12]);
+         $pruduct_strnumber = trim ($row_line [13]);
+         $pruduct_active = trim ($row_line [14]);
+         $pruduct_params = trim ($row_line [15]);
+         $pruduct_pic_tmp = trim ($row_line [17]);
+         $pruduct_gallery_pics = trim ($row_line [18]);
+         $pruduct_video = trim ($row_line [16]);
+         $pruduct_update_id = $this->getProductID_R ($pruduct_name, $rubric_parent_id);
+ 
+         if ($pruduct_update_id > 0)
+         {
+             $row_product = $this->db->getRow ('
+                select *
+                from catalogs_products
+                where id=?', array (
+                     $pruduct_update_id
+                 ),
+                 DB_FETCHMODE_ASSOC
+             );
+
+             if ($row_product ['update_text'] == 1)
+             {
+                 $pruduct_text = $row_product ['text'];
+             }
+         }
+ 
+         $upload_pruduct = (strlen ($pruduct_pic_tmp) > 0 && is_file ("./uploaded/pic/catalogs/products/big/$pruduct_pic_tmp")) ? array (
+             'pic' => array (
+                 'tmp_name' => "./uploaded/pic/catalogs/products/big/$pruduct_pic_tmp",
+                 'name' => $pruduct_pic_tmp,
+                 'big' => true
+             )
+         ) : null;
+ 
+         $product_id = $this->saveProduct (array (
+             'rubric_id' => $rubric_parent_id,
+             'rubric_parent_id' => $rubric_parent_id,
+             'brend_id' => $brend_id,
+             'name' => $pruduct_name,
+             'about' => $pruduct_about,
+             'text' => $pruduct_text,
+             'video_code' => $pruduct_video,
+             'sex' => $pruduct_sex,
+             'date' => $pruduct_date,
+             'cine' => $pruduct_cine,
+             'cine_last' => $pruduct_cine_last,
+             'akcii_id' => $pruduct_akcii_id,
+             'strnumber' => $pruduct_strnumber,
+             'active' => $pruduct_active,
+             'meta_title' => $pruduct_name,
+             'meta_description' => $pruduct_name,
+             'meta_keywords' => $pruduct_name,
+             'meta_about' => $pruduct_name,
+             'filter' => $this->import_saveFilters ($rubric_parent_id, $row_line [6]),
+             'filter2' => $this->import_saveFilters2 ($rubric_parent_id, $row_line [7]),
+             'years' => $this->import_saveYear ($rubric_parent_id, $pruduct_date),
+             'akcii' => array (),
+             'update_id' => $pruduct_update_id
+         ), $upload_pruduct);
+ 
+         // print $pruduct_update_id;exit;
+         $this->saveProductParams ($product_id, $pruduct_params);
+         $this->saveGalleryPics ($product_id, $pruduct_gallery_pics);
+         //   !
+         // $this->deleteProductModifications ($product_id, true);
+         $m_i = 0;
+ 
+         for ($i = 19; $i < count ($row_line); $i ++)
+         {
+             $arr_mod = trim ($row_line [$i]);
+ 
+             if (strlen ($arr_mod) > 0)
+             {
+                 $row_mod = explode ("=", $arr_mod);
+ 
+                 $upload_mod = (strlen ($row_mod [3]) > 0 && is_file ("./uploaded/pic/catalogs/modifications/big/" . $row_mod [3])) ? array (
+                     'pic' => array (
+                         'tmp_name' => "./uploaded/pic/catalogs/modifications/big/" . $row_mod [3],
+                         'name' => $row_mod [3],
+                         'big' => true
+                     )
+                 ) : null;
+ 
+                 $size_mod = explode ("*", $row_mod [1]);
+                 $rost = (isset ($size_mod [1])) ? $size_mod [1] : '';
+                 $this->SaveModification (array (
+                     'product_id' => $product_id,
+                     'code' => $row_mod [0],
+                     'size' => $size_mod [0],
+                     'rost' => $rost,
+                     'color' => $row_mod [2],
+                     'active' => $row_mod [4]
+                 ), $upload_mod);
+ 
+                 if ($row_mod [4] > 0)
+                 {
+                     $m_i ++;
+                 }
+             }
+         }
+ 
+         $this->updateProduct_countModification ($product_id, $m_i);
+ 
+         // $this->import_saveFilters($product_id,$rubric_parent_id,$row_line[6]);
+         // $strnumber = $this->getProductID($row_line[3]); $this->save_keysProductsFilters($id,$data);
+         // print_r($row_line);
+ 
+         $this->saveTmpProduct ($row_line, $product_id);
+         if (($i % 30) == 0)
+         {
+             sleep (1);
+         }
+     }
+     // print"
"; } - function importCSV_cine($upload){ - if($upload['file']['name']!="file_1.csv"){print"! file_1.csv";exit;} - $arr_line = file($upload['file']['tmp_name']); - //print"
";
-  $i = 0;
-  $mktime = mktime();
-  foreach($arr_line as $line){
-     $row_line = explode(";",$line);
-     $this->import_updateProductCine($this->getModificationProduct_id($row_line[0]),$row_line,$line,$mktime);
-     if(($i%30)==0)sleep(1);
-     $i++;
-   //  print_r($row_line);
-  }//print"
"; + function importCSV_cine ($upload) + { + if ($upload['file']['name'] != "file_1.csv") + { + print "! file_1.csv"; + exit; + } + + $arr_line = file ($upload['file']['tmp_name']); + + //print"
";
+     $i = 0;
+     $mktime = mktime();
+     foreach ($arr_line as $line)
+     {
+         $row_line = explode (";", $line);
+         $this->import_updateProductCine($this->getModificationProduct_id ($row_line[0]), $row_line, $line, $mktime);
+ 
+         if (($i % 30) == 0)
+         {
+             sleep(1);
+         }
+ 
+         $i++;
+     }
+}
 
- // $this->updateCountModificationProducts();
- }
+function loadCSV_cine($upload)
+{
+    if ($upload['file']['name'] != "file_1.csv")
+    {
+        print "!  file_1.csv";
+        exit;
+    }
+    
+    $file = $_SERVER['DOCUMENT_ROOT'] . "/cron/file_1.csv";
+
+    //echo $file;
+    //exit;
+
+    move_uploaded_file ($upload['file']['tmp_name'], $file);
+}
+  
+function is_loadCSV_cine()
+{
+    $is = is_file($_SERVER['DOCUMENT_ROOT'] . '/cron/file_1.csv');
+    $this->tpl->assign('is', $is);
+}
  
- function loadCSV_cine($upload){
-  if($upload['file']['name']!="file_1.csv"){print"!  file_1.csv";exit;}
-  $file = $_SERVER['DOCUMENT_ROOT'] . "/cron/file_1.csv";
-  //echo $file;
-  //exit;
-  move_uploaded_file($upload['file']['tmp_name'], $file);
- }
+function CronImportCSV_cine($upload)
+{
+    $this->importCSV_cine ($upload);
+}
  
- function is_loadCSV_cine(){
-  $file = $_SERVER['DOCUMENT_ROOT'] . "/cron/file_1.csv";
-  $is = is_file($file);
-  $this->tpl->assign('is',$is);
- }
+function updateCountModificationProducts ()
+{
+    $res = $this->db->getAll("
+       select *
+       from catalogs_products
+    ", array (), DB_FETCHMODE_ASSOC);
  
- function CronImportCSV_cine($upload){
-   if($upload['file']['name']!="file_1.csv"){print"!  file_1.csv";exit;}
-  $arr_line = file($upload['file']['tmp_name']);
-  //print"
";
-  $i = 0;
-  $mktime = mktime();
-  foreach($arr_line as $line){
-     $row_line = explode(";",$line);
-     $this->import_updateProductCine($this->getModificationProduct_id($row_line[0]),$row_line,$line,$mktime);
-     if(($i%30)==0)sleep(1);
-     $i++;
-   //  print_r($row_line);
-  }//print"
"; - //$this->updateCountModificationProducts(); - } - - function updateCountModificationProducts(){ // print"test"; -// $this->db->autoExecute("catalogs_products",array('count_modifications'=>0),DB_AUTOQUERY_UPDATE); - $res = $this->db->getAll("select * from catalogs_products",array(),DB_FETCHMODE_ASSOC); - $i = 0; - foreach($res as $row){ - $count = $this->db->getOne("select count(*) from catalogs_modifications where product_id=? and active>0",array($row['id'])); - $this->db->autoExecute("catalogs_products",array('count_modifications'=>$count),DB_AUTOQUERY_UPDATE,"id='".$row['id']."'"); - // if(($i%10)==0)sleep(10); - $i++; - } - } + $i = 0; + + foreach ($res as $row) + { + $count = $this->db->getOne (" + select count(*) + from catalogs_modifications + where product_id=? and active>0", array ( + $row['id'] + ) + ); + + $this->db->autoExecute ("catalogs_products", array ( + 'count_modifications' => $count + ), DB_AUTOQUERY_UPDATE, "id='" . $row ['id'] . "'"); + + // if(($i%10)==0)sleep(10); + + $i ++; + } +} function config_update($id,$value){ $this->db->autoExecute("catalogs_config",array('value'=>$value),DB_AUTOQUERY_UPDATE,"id='".$id."'"); diff --git a/modules/admin/catalogs.php b/modules/admin/catalogs.php index 90daa87..bb4144e 100644 --- a/modules/admin/catalogs.php +++ b/modules/admin/catalogs.php @@ -1,41 +1,152 @@ - diff --git a/modules/admin/catalogs/import.php b/modules/admin/catalogs/import.php index d1126e3..6258a15 100644 --- a/modules/admin/catalogs/import.php +++ b/modules/admin/catalogs/import.php @@ -1,14 +1,26 @@ view_config_value(2)==1){exit(" ...");} -if(isset($_POST['import'])){ - $objCatalogs->trim($_POST); - if(!$objCatalogs->valid($_POST,$_FILES)){ - ignore_user_abort(false); - $objCatalogs->config_update(2,1); - $saveId = $objCatalogs->importCSV($_FILES); - $objCatalogs->config_update(2,0); - header("location:" . URL . "admin.php?action={$rule['action']}&modAction=import&res=ok"); - } -} -$objCatalogs->displayImport(); + + if ($objCatalogs->view_config_value (2) == 1) + { + exit (" ..."); + } + + if (isset ($_POST ['import'])) + { + $objCatalogs->trim ($_POST); + + if (! $objCatalogs->valid ($_POST, $_FILES)) + { + ignore_user_abort (false); + + $objCatalogs->config_update (2, 1); + $saveId = $objCatalogs->importCSV ($_FILES); + $objCatalogs->config_update (2, 0); + + header ("location:" . URL . "admin.php?action={$rule['action']}&modAction=import&res=ok"); + } + } + + $objCatalogs->displayImport (); + ?> diff --git a/modules/admin/catalogs/import_cine.php b/modules/admin/catalogs/import_cine.php index 44d453e..2f1e913 100644 --- a/modules/admin/catalogs/import_cine.php +++ b/modules/admin/catalogs/import_cine.php @@ -1,29 +1,21 @@ -view_config_value(1)==1){exit(" ...");} -if(isset($_POST['import'])){ - $objCatalogs->trim($_POST); - if(!$objCatalogs->valid($_POST,$_FILES)){ - ignore_user_abort(false); - $objCatalogs->config_update(1,1); - $saveId = $objCatalogs->importCSV_cine($_FILES); - $objCatalogs->config_update(1,0); - $objCatalogs->config_update(4,1); - header("location:" . URL . "admin.php?action={$rule['action']}&modAction=import_cine&res=ok"); - } -} */ +trim($_POST); -if(trim(@$_POST['import'])=="1"){ + if (! $objCatalogs->valid($_POST, $_FILES)) + { + $objCatalogs->loadCSV_cine($_FILES); + + unlink ($_SERVER['DOCUMENT_ROOT'] . "/tmp/noDB_mod.csv"); + + header ("location:" . URL . "admin.php?action={$rule['action']}&modAction=import_cine"); + } + } + + // , - $objCatalogs->trim($_POST); -if(!$objCatalogs->valid($_POST,$_FILES)){ - $objCatalogs->loadCSV_cine($_FILES); - -unlink($_SERVER['DOCUMENT_ROOT'] . "/tmp/noDB_mod.csv"); - - header("location:" . URL . "admin.php?action={$rule['action']}&modAction=import_cine"); - } -} -$objCatalogs->is_loadCSV_cine(); -$objCatalogs->displayImportCine(); + $objCatalogs->is_loadCSV_cine(); + $objCatalogs->displayImportCine(); ?> -- libgit2 0.21.4