From 639b0c95c8d46d371ac4743dd62fa5f3426c6f4b Mon Sep 17 00:00:00 2001 From: andryeyev Date: Tue, 24 Nov 2015 11:55:18 +0200 Subject: [PATCH] удалил мусор --- libs/catalogs.class_.php | 1995 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- libs/catalogs2.class.php | 1563 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 2 files changed, 0 insertions(+), 3558 deletions(-) delete mode 100644 libs/catalogs.class_.php delete mode 100644 libs/catalogs2.class.php diff --git a/libs/catalogs.class_.php b/libs/catalogs.class_.php deleted file mode 100644 index 171fac0..0000000 --- a/libs/catalogs.class_.php +++ /dev/null @@ -1,1995 +0,0 @@ -db = &$db; - $this->tpl = &$tpl; - $this->error = &$error; - } - - - function trim(&$data){ - foreach($data as $key=>$value){ - if(is_array($value))$this->trim($value); - else $data[$key] = stripslashes(trim($value)); - } - } - - - function valid($data,$upload = null){ - - if(isset($data['name'])){ - if( !preg_match("/.{1,100}/i",$data['name']) ) $this->error[] = " ."; - } - - if(isset($data['about_min'])){ - if( !preg_match("/.+/is",$data['about_min']) ) $this->error[] = " ."; - } - /* - if(isset($data['text'])){ - if( !preg_match("/.+/is",$data['text']) ) $this->error[] = " ."; - } */ -/* - if(isset($data['cine'])){ - if( !preg_match("/[0-9]+/",$data['cine']) ) $this->error[] = " , ."; - } */ - - if(isset($upload['pic']['name']) && $upload['pic']['tmp_name']){ - $type = substr(strrchr($upload['pic']['name'],"."),1); - if( !preg_match("/^(jpeg|jpg|gif|png|bmp)$/i",$type) ) $this->error[] = " , jpg,png,gif."; - } - - if(isset($upload['file']['name'])){ - if( !preg_match("/\.csv$/i",$upload['file']['name']) ) $this->error[] = " CSV , csv."; - } - - - if(isset($data['order_name'])){ - if( !preg_match("/.{1,100}/i",$data['order_name']) ) $this->error[] = " ( 100 )."; - } - - if(isset($data['order_adress'])){ - if( !preg_match("/.{1,200}/i",$data['order_adress']) ) $this->error[] = " ( 200 )."; - } - - if(isset($data['order_phone2'])&& strlen($data['order_phone2'])>0){ - if( !preg_match("/.{1,20}/i",$data['order_phone2']) ) $this->error[] = " ( 70 )."; - } - - if(isset($data['order_phone'])){ -if( trim($data['order_phone']) == "" ) $this->error[] = " (: (0XX) XXX-XXXX)."; - } - - if(isset($data['delivery']) && $data['delivery']==0){ - $this->error[] = " ."; - } - - if(isset($data['user_name'])){ - if( !preg_match("/.{1,100}/i",$data['user_name']) ) $this->error[] = " ( 100 )."; - } - - if(isset($data['user_email'])){ - if( !preg_match("/.{1,80}/i",$data['user_email']) ) $this->error[] = " e-mail ( 80 )."; - } - - if(isset($data['user_login'])){ - if( !preg_match("/.{1,100}/i",$data['user_login']) ) $this->error[] = " ( 100 )."; - elseif( $this->isLoginUser($data['user_login']) ) $this->error[] = " !"; - } - - if(isset($data['you_login'])){ - if( !$this->isLoginUser($data['you_login']) ) $this->error[] = " !"; - } - - if(isset($data['user_psw'])){ - if( !preg_match("/.{1,100}/i",$data['user_psw']) ) $this->error[] = " ( 100 )."; - } - - return ( count($this->error) ) ? true : false; - } - - function deleteRubric($id,$field="id"){ - $sql = "select pic,id,parent_id from catalogs_rubrics where $field=?"; - $res = $this->db->getAll($sql,array($id),DB_FETCHMODE_ASSOC); - foreach($res as $row){ - @unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/rubrics/{$row['pic']}"); - $sql = "delete from catalogs_rubrics where id=?"; - $this->db->query($sql,array($row['id'])); - $this->deleteFiltersRubric_id($row['id']); - $this->deleteYearsRubric_id($row['id']); - $this->deleteProductsRubric($row['id']); - $this->deleteRubric($row['id'],"parent_id"); - } - } - - function deleteProductPics($id,$pics = array('pic_big','pic')){ - $sql = "select pic_big,pic from catalogs_products where id=?"; - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); - // if(in_array('pic_big',$pics))@unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/products/big/{$row['pic_big']}"); - if(in_array('pic',$pics))@unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/products/{$row['pic']}"); - } - - function deleteProduct($id){ - $this->deleteProductPics($id); - $sql = "delete from catalogs_products where id=?"; - $this->db->query($sql,array($id)); - $this->delete_keysProductsFilters($id); - $this->delete_keysProductsAkcii($id); - $this->delete_keysProductsYears($id); - $this->delete_keysProductsCities($id); - $this->deleteProductModifications($id); - } - - function deleteProductsRubric($id){ - $res = $this->db->getAll("select id from catalogs_products where rubric_id=?",array($id),DB_FETCHMODE_ASSOC); - foreach($res as $row){ - $this->deleteProduct($row['id']); - } - } - - - function PhotosCheck($id_s,$check_s = array()){ - $sql = "UPDATE gallery SET active = ? WHERE id =?"; - - foreach($id_s as $id){ - $this->db->query($sql,array(0,$id)); - } - if(count($check_s)){ - foreach($check_s as $id){ - $this->db->query($sql,array(1,$id)); - } - } - } - - function viewRubrics($id = 0,$parent_id = 0){ // print $parent_id."
"; - global $rubrics; - //$sql = "select a.*,(select b.id from catalogs_rubrics b where b.parent_id=a.id order by b.sort limit 1) as r_pid from catalogs_rubrics a where a.parent_id=? group by a.id order by a.sort asc"; -$sql = "select a.*,(select b.translit from catalogs_rubrics b where b.parent_id=a.id order by b.sort limit 1) as r_pid2,(select b.id from catalogs_rubrics b where b.parent_id=a.id order by b.sort limit 1) as r_pid from catalogs_rubrics a where a.parent_id=? group by a.id order by a.sort asc"; - -$res = $this->db->query($sql,array($id)); - while ($res->fetchInto($row,DB_FETCHMODE_ASSOC)){ - $rubrics[] = $row; //print $row['id']."
"; - - if(in_array($row['id'],$this->getParentIdRubric($parent_id))){$this->viewRubrics($row['id']);} - // if($row['level']==0){$this->viewRubrics($row['id']);} - } - $this->tpl->assign("rubrics",$rubrics); - } - - function getParentIdRubric($id){ - //$ids = array(); - global $ids; - if(!count($ids))$ids = array(); - while($id>0){ - $row = $this->db->getRow('select id,parent_id from catalogs_rubrics where id=?',array($id),DB_FETCHMODE_ASSOC); - //if(isset($row['id'])) - $ids[] = $row['id']; - $id = $row['parent_id']; - } //print_r($ids); - // sort($ids); - return $ids; - } - - function viewRubricsAll($id = 0){ - global $rubrics; - $sql = "select * from catalogs_rubrics where parent_id=? order by sort asc"; - $res = $this->db->query($sql,array($id)); - while ($res->fetchInto($row,DB_FETCHMODE_ASSOC)){ - $rubrics[] = $row; - $this->viewRubricsAll($row['id']); - } - $this->tpl->assign("rubrics",$rubrics); - } - - - function viewRubrics_begin($item = 'parents'){ - $sql = "select a.*,(select b.id from catalogs_rubrics b where b.parent_id=a.id order by b.sort limit 1) as r_pid from catalogs_rubrics a where a.parent_id=? order by a.sort asc"; - $row = $this->db->getAll($sql,array(0),DB_FETCHMODE_ASSOC); - foreach($row as $key=>$value){ - if($item=='parents'){ - $row[$key]['parents'] = $this->db->getAll("select * from catalogs_rubrics where parent_id=? order by sort asc",array($value['id']),DB_FETCHMODE_ASSOC); - }elseif($item=='brends'){ - $row[$key]['brends'] = $this->db->getAll("select * from catalogs_brends where rubric_id in (select id from catalogs_rubrics where parent_id=? or id=?) group by name",array($value['id'],$value['id']),DB_FETCHMODE_ASSOC); - } - } - $this->tpl->assign("catalogs_rubrics_begin",$row); - } - - function viewRubrics_parent($parent_id = 0){ - $sql = "select * from catalogs_rubrics where parent_id=? order by sort asc"; - $row = $this->db->getAll($sql,array($parent_id),DB_FETCHMODE_ASSOC); - $this->tpl->assign("catalogs_rubrics_parent",$row); - } - - function viewRubrics_parent2($rub_id){ - $parent_id = $this->getRubricParent($rub_id); - if($parent_id==0)$parent_id = $rub_id; - $sql = "select * from catalogs_rubrics where parent_id=? order by sort asc"; - $row = $this->db->getAll($sql,array($parent_id),DB_FETCHMODE_ASSOC); - $this->tpl->assign("catalogs_rubrics_parent2",$row); - } - - function viewRubricOne($id,&$row){ - $sql = "select * from catalogs_rubrics where id=?"; - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('rubric',$row); - } - - function getRubricName($id){ - $sql = "select name from catalogs_rubrics where id=?"; - return $this->db->getOne($sql,array($id)); - } - - function getRubricParent($id){ - $sql = "select parent_id from catalogs_rubrics where id=?"; - return $this->db->getOne($sql,array($id)); - } - - function SaveRubric($data,$upload){ - $table_name = "catalogs_rubrics"; - -if(trim($data['translit']) == '') $data['translit'] = translit($data['name']); - - $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; - $parent_id = (isset($data['parent_id']) ? $data['parent_id'] : 0); - $fields_values = array('parent_id' => $parent_id,"level"=>($this->getLevelRubric($parent_id)+1),'sort' => $data['sort'],'name' => $data['name'],'list_name' => $data['list_name'],'sort_cost' => $data['sort_cost'],'meta_title' => $data['meta_title'],'meta_description' => $data['meta_description'],'meta_keywords' => $data['meta_keywords'],'meta_about' => $data['meta_about'],'translit' => $data['translit']); - /* - if($upload['pic']['tmp_name']){ - $fields_values['pic'] = upload_ImageResize($upload['pic'],array('width'=>"180",'height'=>"180",'upload_path'=>"./uploaded/pic/catalogs/rubrics/")); - } */ - - if($upload['pic']['tmp_name']){ - if($data['update_id']>0)$this->deletePicRubric($data['update_id']); - $uploadfile = "./uploaded/pic/catalogs/rubrics/"; - $type = substr(strrchr($upload['pic']['name'],"."),1); - $uploadname = mktime() . "." . $type; - if (!move_uploaded_file($_FILES['pic']['tmp_name'], $uploadfile . $uploadname))print" !"; - $fields_values['pic'] = $uploadname; - } - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); - } - - function deletePicRubric($id){ - $sql = "select pic from catalogs_rubrics where id=?"; - $rub = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); - @unlink("./uploaded/pic/catalogs/rubrics/{$rub['pic']}"); - } - - function getLevelRubric($id){ - $level = $this->db->getOne("select level from catalogs_rubrics where id=?",array($id)); - return ($level==null)? -1 : $level; - } - - function saveUser($data){ - $table_name = "catalogs_users"; - $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; - $fields_values = array('name' => $data['user_name'],'email' => $data['user_email'],'login' => $data['user_login'],'psw' => $data['user_psw'],'about' => $data['user_about'],'mktime'=>mktime()); - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); - } - - function updateUser($data){ - $table_name = "catalogs_users"; - $DB_AUTOQUERY = DB_AUTOQUERY_UPDATE; - $fields_values = array('name' => $data['user_name'],'email' => $data['user_email'],'login' => $data['user_login'],'psw' => $data['user_psw'],'about' => $data['user_about'],'discount'=>$data['user_discount']); - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); - } - - function updateUserID($data,$id){ - $table_name = "catalogs_users"; - $DB_AUTOQUERY = DB_AUTOQUERY_UPDATE; - $fields_values = array('name' => $data['user_name'],'email' => $data['user_email'],'psw' => $data['user_psw'],'about' => $data['user_about'],'phone' => $data['user_phone'],'phonemob' => $data['user_phonemob'],'adress' => $data['user_adress']); - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$id}"); - } - - function deleteUser($id){ - $this->db->query("delete from catalogs_users where id=?",array($id)); - $res_order_id = $this->db->getRow("select id from catalogs_orders where user_id=?",array($id),DB_FETCHMODE_ASSOC); - if(count($res_order_id)){ - foreach($res_order_id as $_id){ - $this->db->query("delete from catalogs_orders where id=?",array($_id)); - $this->db->query("delete from catalogs_orders_products where order_id=?",array($_id)); - }} - } - - function isLoginUser($login){ - return $this->db->getOne("select id from catalogs_users where login=?",array($login)); - } - - function sendLoginInfo($login){ - $user = $this->db->getRow("select * from catalogs_users where login=?",array($login),DB_FETCHMODE_ASSOC); - $mail = new PHPMailer(); - $mail->CharSet = "windows-1251"; - $mail->From = "shop@eltrade.com.ua"; - $mail->FromName = "shop@eltrade.com.ua"; - $mail->AddAddress($user['email'], $user['name']); - $mail->Subject = " "; - $msg = ""; - $msg .= ": ".$user['name']; - $msg .= "
"; - $msg .= " : ".$user['login']; - $msg .= "
"; - $msg .= " : ".$user['psw']; - $msg .= "
"; - $msg .= " , shop@eltrade.com.ua"; - - $mail->MsgHTML($msg); - - if(!$mail->Send()){echo "There has been a mail error sending to
";return false;} - $mail->ClearAddresses(); - $mail->ClearAttachments(); - } - - function isUser($login,$psw){ - $row = $this->db->getRow("select * from catalogs_users where login=? AND psw=?",array($login,$psw),DB_FETCHMODE_ASSOC); - $this->tpl->assign('user_service',$row); - return $row['id']; - } - - function viewUser($id){ - $sql = "select * from catalogs_users where id=?"; - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('user',$row); - } - - function getUserDiscount($id){ - return $this->db->getOne("select discount from catalogs_users where id=?",array($id)); - } - - function viewUsers(){ - $sql = "SELECT catalogs_users. *, COUNT(catalogs_orders.user_id) as count_orders -FROM catalogs_users LEFT JOIN catalogs_orders ON catalogs_orders.user_id=catalogs_users.id -GROUP BY catalogs_users.id -ORDER BY catalogs_users.mktime DESC"; - - $pagerOptions = Array( - 'mode' => 'Sliding', - 'delta' => 6, - 'perPage' => 10, - 'linkClass'=>"link_class", - 'curPageLinkClassName'=>"link_class_active", - 'spacesBeforeSeparator' => 1, - 'spacesAfterSeparator' => 1 - ); - $res = Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array()); - - $this->tpl->assign('usersData', $res); - } - - function viewModifications($product_id){ - $sql = "select * from catalogs_modifications where product_id=? order by id desc"; - $row = $this->db->getAll($sql,array($product_id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('modifications', $row); - } - - function viewModificationsProduct($product_id){ - $sql = "select * from catalogs_modifications where product_id=? and active>0 order by id desc"; - // $sql = "select m.* from catalogs_keys_products_cities k left join catalogs_modifications m on m.code=k.mod_code where k.product_id=? and k.count>0 order by k.mod_code desc"; - $row = $this->db->getAll($sql,array($product_id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('modifications', $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); - } - - 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['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'=>"500",'height'=>"500",'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'"); - } - - function SaveProduct($data,$upload){ - $table_name = "catalogs_products"; - -if(trim(@$data['translit'])=="") $data['translit'] = @totranslit($data['name']); - - $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; - $id = ($data['update_id']>0) ? $data['update_id'] : $this->db->nextId('mySequence_'.$table_name); - $fields_values = array('id'=>$id,'rubric_id'=>$data['rubric_id'],'rubric_parent_id'=>$this->getRubricParent($data['rubric_id']),'brend_id'=>$data['brend_id'],'name' => $data['name'],'about' => $data['about'],'text' => $data['text'],'strnumber' => $data['strnumber'],'cine'=>$data['cine'],'cine_last'=>$data['cine_last'],'sex'=>$data['sex'], 'mktime' => mktime(),'meta_title' => $data['meta_title'],'meta_description' => $data['meta_description'],'meta_keywords' => $data['meta_keywords'],'meta_about' => $data['meta_about'],'active' => $data['active'],'translit' => $data['translit']); - if(isset($data['is_cost2']))$fields_values['is_cost2'] = 1;else $fields_values['is_cost2'] = 0; - if(isset($data['cine2']))$fields_values['cine2'] = $data['cine2']; - if(isset($data['params']))$fields_values['params'] = $data['params']; - if(isset($data['doc']))$fields_values['doc'] = $data['doc']; - if(isset($data['video_code']))$fields_values['video_code'] = $data['video_code']; - if(isset($data['akcii_id']))$fields_values['akcii_id'] = $data['akcii_id']; - - if(isset($data['translit']))$fields_values['translit'] = $data['translit']; - - if($upload['pic']['tmp_name']){ - $delete_pics = (isset($upload['pic']['big']) && $upload['pic']['big']==true)?array('pic'):array('pic','pic_big'); - $this->deleteProductPics($id,$delete_pics); - $fields_values['pic'] = upload_ImageResize($upload['pic'],array('width'=>"144",'height'=>"144",'upload_path'=>"./uploaded/pic/catalogs/products/")); - $fields_values['pic_big'] = (isset($upload['pic']['big']) && $upload['pic']['big']==true)?$upload['pic']['name']:upload_ImageResize($upload['pic'],array('width'=>"500",'height'=>"500",'upload_path'=>"./uploaded/pic/catalogs/products/big/")); - } - - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id='$id'"); - $this->save_keysProductsFilters($id,$data); - $this->save_keysProductsYears($id,$data); - //$this->save_keysProductsCities($id,$data); - $this->save_keysProductsAkcii($id,$data); - return $id; - } - - function save_keysProductsFilters($id,$data){ - $this->delete_keysProductsFilters($id); - if(!isset($data['filter']))return false; - $table_name = "catalogs_keys_products_filters"; - foreach($data['filter'] as $filter_id){ - $this->db->autoExecute($table_name,array('product_id'=>$id,'filter_id'=>$filter_id,'rubric_id'=>$data['rubric_id']),DB_AUTOQUERY_INSERT); - } - } - - function delete_keysProductsFilters($id){ - $this->db->query("delete from catalogs_keys_products_filters where product_id=?",array($id)); - } - - function save_keysProductsYears($id,$data){ - $this->delete_keysProductsYears($id); - if(!isset($data['years']))return false; - $table_name = "catalogs_keys_products_years"; - foreach($data['years'] as $filter_id){ - $this->db->autoExecute($table_name,array('product_id'=>$id,'year_id'=>$filter_id,'rubric_id'=>$data['rubric_id']),DB_AUTOQUERY_INSERT); - } - } - - function delete_keysProductsYears($id){ - $this->db->query("delete from catalogs_keys_products_years where product_id=?",array($id)); - } - - function save_keysProductsCities($id,$data){ - $this->delete_keysProductsCities($id); - if(!isset($data['city']))return false; - $table_name = "catalogs_keys_products_cities"; - foreach($data['city'] as $city_id){ - $this->db->autoExecute($table_name,array('product_id'=>$id,'city_id'=>$city_id),DB_AUTOQUERY_INSERT); - } - } - - function delete_keysProductsAkcii($id){ - $this->db->query("delete from catalogs_keys_products_akcii where product_id=?",array($id)); - } - - function save_keysProductsAkcii($id,$data){ - $this->delete_keysProductsAkcii($id); - if(!isset($data['akcii']))return false; - $table_name = "catalogs_keys_products_akcii"; - foreach($data['akcii'] as $rubric_id){ - $this->db->autoExecute($table_name,array('product_id'=>$id,'rubric_id'=>$rubric_id),DB_AUTOQUERY_INSERT); - } - } - - function delete_keysProductsCities($id){ - $this->db->query("delete from catalogs_keys_products_cities where product_id=?",array($id)); - } - - - function saveProductSizeCine($id,$data){ - $this->db->query("delete from catalogs_products_cine where product_id=?",array($id)); - foreach($data['size'] as $key=>$size){ - $this->db->autoExecute("catalogs_products_cine",array('product_id'=>$id,'size'=>$size,'cine'=>$data['cine'][$key],'metka'=>$data['size_metka'][$key],'n'=>$key),DB_AUTOQUERY_INSERT); - } - } - - - function productsIsHits($products,$hits,$tops,$headers){ - $sql = "update catalogs_products set hit=?,top=?,header=? where id=?"; - foreach($products as $id){ - if(@in_array($id,$hits))$hit = true; - else $hit = false; - if(@in_array($id,$tops))$top = true; - else $top = false; - if(@in_array($id,$headers))$header = true; - else $header = false; - $this->db->query($sql,array($hit,$top,$header, $id)); - } - } - - function productsIsHits2($data,$hits){ - $sql = "update catalogs_products set hit=?,hit_sort=? where id=?"; - foreach($data['product_id'] as $key=>$id){ - if(@in_array($id,$hits))$hit = true; - else $hit = false; - $this->db->query($sql,array($hit,$data['hit_sort'][$key],$id)); - } - } - - function viewProductsRubrics($rubrics,$limit=20){ - $data = array(); - foreach($rubrics as $key=>$rubric_id){ - $data[$key]['rubric']['name'] = $this->getRubricName($rubric_id); - $data[$key]['rubric']['id'] = $rubric_id; - - $count = $this->db->getOne("select count(*) from catalogs_products WHERE count_modifications>0 and rubric_id=?",array($rubric_id)); - $limit = 4; $round = ($count>$limit) ? rand(0,($count-$limit)) : $limit; - $sql = "select * from catalogs_products where count_modifications>0 and rubric_id=? order by id " . ((rand(1,1000)%2) ? "asc" : "desc") . " limit $round,$limit"; - $data[$key]['products'] = $this->db->getAll($sql,array($rubric_id),DB_FETCHMODE_ASSOC); - } - /* print"
";
-  print_r($data);
-  print"
"; */ - $this->tpl->assign('products',$data); - } - - function seralizeFilter($str){ - $array = explode(';',$str); - $filter = array(); - foreach($array as $key=>$value){ - $filter[substr($value,0,1)][] = substr($value,1, strpos($value,"_")-1 ); - } - return $filter; - } - - function viewProducts($params,$rubricsP = false,$count_modf = true){ - - - //exit; - - - if(isset($params['filter']) && count($params['filter'])>0)$filter = $this->seralizeFilter($params['filter']); - $search = array(); - if(isset($_GET['perPage']) && $_GET['perPage']>0 && $_GET['perPage']<=100)$perPage = $_GET['perPage'];else $perPage = 20; - if(isset($params['search_str']) && strlen($params['search_str'])>0){ - $array_string = explode(" ",trim($params['search_str'])); - $search_string = array(); - $search_string[] = "catalogs_products.name like '%".mysql_real_escape_string($params['search_str'])."%'"; - $search_string[] = "catalogs_products.text like '%".mysql_real_escape_string($params['search_str'])."%'"; - /* foreach($array_string as $str){ - $search_string[] = "catalogs_products.name like '$str'"; - $search_string[] = "catalogs_products.name like'% $str %'"; - $search_string[] = "catalogs_products.name like'%$str %'"; - $search_string[] = "catalogs_products.name like'% $str%'"; - - $search_string[] = "catalogs_products.text like '$str'"; - $search_string[] = "catalogs_products.text like'% $str %'"; - $search_string[] = "catalogs_products.text like'%$str %'"; - $search_string[] = "catalogs_products.text like'% $str%'"; - } */ - $search[] = "((" . implode(" OR ",$search_string) . ") OR ". sprintf("catalogs_modifications.code='%s'", mysql_real_escape_string($params['search_str'])).")"; - } - // print_r($params); - if(isset($params['brendID']) && $params['brendID']>0)$search[] = sprintf("catalogs_products.brend_id='%d'",$params['brendID']); - if(isset($params['akciiID']) && $params['akciiID']>0)$search[] = sprintf("catalogs_products.akcii_id='%d'",$params['akciiID']); - if(isset($params['brend']) && strlen($params['brend'])>0)$search[] = "catalogs_products.brend_id in(".implode(",",$this->getBrendIDs_name($params['brend'])).")"; - if(isset($params['sex']) && strlen($params['sex'])>0){ - $sex = array('male'=>1,'female'=>2,'child'=>3,'unisex'=>4); - $search[] = sprintf("catalogs_products.sex='%d'",$sex[$params['sex']]); - - } - //if(isset($params['akcii']) && $params['akcii']>0)$search[] = sprintf("catalogs_products.hit='%d'",$params['akcii']); - if($count_modf==true)$search[] = "catalogs_products.count_modifications>0"; - if(isset($params['rubID']) && $params['rubID']>0){ - $search[] = ($rubricsP==true)?sprintf("(catalogs_products.rubric_id='%d')",$params['rubID']):sprintf(" - (catalogs_products.rubric_parent_id='%d' || - catalogs_products.rubric_id='%d' || - catalogs_products.rubric_id=(SELECT id FROM catalogs_rubrics WHERE translit='%d') || - catalogs_products.rubric_parent_id=(SELECT id FROM catalogs_rubrics WHERE translit='%d'))",$params['rubID'],$params['rubID'],$params['rubID'],$params['rubID']); - } - - /* if(isset($params['filterID'])){ - //$search[] = sprintf("catalogs_keys_products_filters.filter_id='%d'", $params['filterID']); - $search[] = "catalogs_keys_products_filters.filter_id in (".implode(",",$params['filterID']).")"; - }*/ - if(isset($filter['f']) && count($filter['f'])>0){ - $search[] = "catalogs_keys_products_filters.filter_id in (".implode(",",$filter['f']).")"; - } -/* if(isset($params['yearID']) && $params['yearID']>0){ - //$search[] = sprintf("catalogs_keys_products_years.year_id='%d'", $params['yearID']); - $search[] = "catalogs_keys_products_years.year_id in (".implode(",",$params['yearID']).")"; - }*/ - if(isset($filter['y']) && $filter['y']>0){ - $search[] = "catalogs_keys_products_years.year_id in (".implode(",",$filter['y']).")"; - } - $sql = "select catalogs_rubrics.translit as translit2,catalogs_products.*,catalogs_brends.name as brend_name,catalogs_rubrics.list_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id LEFT JOIN catalogs_rubrics ON catalogs_rubrics.id=catalogs_products.rubric_id "; - if(isset($params['akcii']) && $params['akcii']>0)$sql .= "RIGHT JOIN catalogs_keys_products_akcii ON catalogs_keys_products_akcii.product_id=catalogs_products.id "; - if(isset($filter['f']) && count($filter['f'])>0)$sql .= "LEFT JOIN catalogs_keys_products_filters ON catalogs_keys_products_filters.product_id=catalogs_products.id "; - //if(isset($params['filterID']) && $params['filterID']>0)$sql .= "LEFT JOIN catalogs_keys_products_filters ON catalogs_keys_products_filters.product_id=catalogs_products.id "; -// if(isset($params['yearID']) && $params['yearID']>0)$sql .= "LEFT JOIN catalogs_keys_products_years ON catalogs_keys_products_years.product_id=catalogs_products.id "; - if(isset($filter['y']) && $filter['y']>0)$sql .= "LEFT JOIN catalogs_keys_products_years ON catalogs_keys_products_years.product_id=catalogs_products.id "; - if(isset($params['search_str']) && strlen($params['search_str'])>0){$sql .= "LEFT JOIN catalogs_modifications ON catalogs_modifications.product_id=catalogs_products.id ";} - $sql .= "WHERE 1=1 "; - if(count($search))$sql .= "AND " . implode(" AND ",$search) . " "; - if(isset($params['akcii']) && $params['akcii']>0){$sql .= " GROUP BY catalogs_keys_products_akcii.product_id ";} - if(isset($params['search_str']) && strlen($params['search_str'])>0){$sql .= " GROUP BY catalogs_products.id ";} - $sql .= "order by "; - if(isset($params['sort'])){ - switch($params['sort']){ - case 'cine' : $sql .= " catalogs_products.cine " . (($_GET['order']=='asc')?"asc":"desc"); break; - case 'click' : $sql .= " catalogs_products.click " . (($_GET['order']=='asc')?"asc":"desc"); break; - case 'hit' : $sql .= " catalogs_products.hit_sort asc"; break; - default : $sql .= " catalogs_products.mktime desc"; - } - }else $sql .= " catalogs_products.cine desc"; - - $pagerOptions = Array( - 'mode' => 'Sliding', - 'delta' => 5, - 'perPage' => $perPage, - 'linkClass'=>"link_class", - 'curPageLinkClassName'=>"link_class_active", - 'spacesBeforeSeparator' => 1, - 'spacesAfterSeparator' => 1 - ); - //echo $sql; - //$sql=""; - $res = Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array()); - -if($_GET['test']=='1') -for($i=0;$itpl->assign('productsData', $res); - return $res; - } - - function getCineCurs($type_curs,$cine){ - $curs = array(); - - $uah = $this->db->getOne("select curs from catalogs_curs where type=?",array('uah')); - $uah_bank = $this->db->getOne("select curs from catalogs_curs where type=?",array('uah_bank')); - $usd = $this->db->getOne("select curs from catalogs_curs where type=?",array('usd')); - - switch($type_curs){ - case 'uah' : - $curs['uah'] = round($cine,2); - $curs['uah_bank'] = round(($cine/$usd)*$uah_bank,2); - $curs['usd'] = round($cine/$usd,2); - break; - case 'uah_bank' : - $curs['uah'] = round(($cine/$uah_bank)*$uah,2); - $curs['uah_bank'] = round($cine,2); - $curs['usd'] = round($cine/$uah_bank,2); - break; - case 'usd' : - $curs['uah'] = round($cine*$uah,2); - $curs['uah_bank'] = round($cine*$uah_bank,2); - $curs['usd'] = round($cine,2); - break; - } - return $curs; - } - - function viewProductsAkcii($rubric_id){ - $sql = "select catalogs_products.* from catalogs_keys_products_akcii left join catalogs_products on catalogs_products.id=catalogs_keys_products_akcii.product_id where catalogs_keys_products_akcii.rubric_id=?"; - $res = $this->db->getAll($sql,array($rubric_id),DB_FETCHMODE_ASSOC); - //print_r($res); - $this->tpl->assign('products_akcii',$res); - } - - function viewProductsHitsAll2(){ - if(isset($_GET['perPage']) && $_GET['perPage']>0 && $_GET['perPage']<=100)$perPage = $_GET['perPage'];else $perPage = 20; - $sql = "select * from catalogs_products where hit=?"; - $pagerOptions = Array( - 'mode' => 'Sliding', - 'delta' => 6, - 'perPage' => $perPage, - 'linkClass'=>"link_class", - 'curPageLinkClassName'=>"link_class_active", - 'spacesBeforeSeparator' => 1, - 'spacesAfterSeparator' => 1 - ); - $res = Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array(true)); - - $this->tpl->assign('productsData', $res); - } - - function viewProductsHits($params,$limit = 4,$curs = null){ - $search = array(); - if(isset($params['rubID']) && $params['rubID']>0)$search[] = sprintf("rubric_parent_id=%d",$params['rubID']); - $sql = "select catalogs_products.*,catalogs_brends.name as brend_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id WHERE catalogs_products.hit=? and catalogs_products.count_modifications>0 "; - if(count($search))$sql .= "AND " . implode(" AND ",$search) . " "; - $sql .= "order by catalogs_products.mktime desc"; - $res = $this->db->getAll($sql,array(true),DB_FETCHMODE_ASSOC); - $this->tpl->assign('products_hits',$res); - } - - function viewProductsTops($params,$limit = 4,$curs = null){ - $search = array(); - if(isset($params['rubID']) && $params['rubID']>0)$search[] = sprintf("rubric_parent_id=%d",$params['rubID']); - $sql = "select catalogs_products.*,catalogs_brends.name as brend_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id WHERE catalogs_products.top=? and catalogs_products.count_modifications>0 "; - if(count($search))$sql .= "AND " . implode(" AND ",$search) . " "; - $sql .= "order by catalogs_products.mktime desc"; - $res = $this->db->getAll($sql,array(true),DB_FETCHMODE_ASSOC); - $this->tpl->assign('products_top',$res); - } - - function viewProductsTopOne(){ - $count = $this->db->getOne("select count(*) from catalogs_products WHERE catalogs_products.header=?",array(true)); - $limit = 1; $round = rand(0,($count-$limit)); - $res = $this->db->getRow("select * from catalogs_products WHERE catalogs_products.header=? order by id " . ((rand(1,1000)%2) ? "asc" : "desc") . " LIMIT $round,$limit",array(true),DB_FETCHMODE_ASSOC); - $this->tpl->assign('products_top_one',$res); - } - - function viewProductsLast($limit = 1){ - $search = array(); - $sql = "select catalogs_products.*,catalogs_brends.name as brend_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id WHERE catalogs_products.active=? "; - $sql .= "order by catalogs_products.mktime desc LIMIT $limit"; - $res = $this->db->getAll($sql,array(true),DB_FETCHMODE_ASSOC); - $this->tpl->assign('products_last',$res); - } - - function viewProductsHitsAll($limit = 4){ - $sql = "select catalogs_products.*,catalogs_brends.name as brend_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id WHERE hit=? "; - $sql .= "order by mktime desc LIMIT $limit"; - $products_hits = $this->db->getAll($sql,array(true),DB_FETCHMODE_ASSOC); - $this->tpl->assign('products_hits_all',$products_hits); - } - - function viewProductOne($id,&$row){ - $sql = "select p.*,b.name as brend_name,b.text as brend_text,b.pic_s as brend_pic_s from catalogs_products p left join catalogs_brends b ON b.id=p.brend_id where p.id=?"; - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('product',$row); - } - - function deleteCompareProduct(&$compare,$id){ - foreach($compare as $key=>$_id){ - if($_id == $id)unset($compare[$key]); - } - } - - function viewCompareProducts($compare){ - $products = array(); - $i = 0; - foreach($compare as $id){ - $sql = "select p.* from catalogs_products p where p.id=?"; - $products[$i] = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); - $products[$i]['params'] = $this->getProductParams($id); - $i++; - } //print_r($products); - $this->tpl->assign('products',$products); - } - - function viewProductNembers($str_n){ - $arr_id = explode(",",$str_n); - $products = array(); - foreach($arr_id as $id){ - $count = $this->db->getOne("select count(*) from catalogs_keys_products_filters where filter_id=?",array(trim($id))); - $limit = 1; $round = rand(0,($count-$limit)); //" LIMIT 0,$limit" - $sql = "select catalogs_rubrics.translit as translit2, catalogs_products.*,catalogs_keys_products_filters.filter_id as prd from catalogs_keys_products_filters Left Join catalogs_products ON catalogs_products.id=catalogs_keys_products_filters.product_id Left Join catalogs_rubrics ON catalogs_rubrics.id=catalogs_products.rubric_id where catalogs_keys_products_filters.filter_id=? and catalogs_products.count_modifications>0 order by catalogs_keys_products_filters.product_id " . ((rand(1,1000)%2) ? "asc" : "desc") . " LIMIT $round,$limit"; - $row = $this->db->getRow($sql ,array(trim($id)),DB_FETCHMODE_ASSOC); - if(count($row)>0)$products[] = $row; - } - -// $products = $this->db->getAll("select catalogs_rubrics.translit as translit2,catalogs_products.*,catalogs_keys_products_filters.filter_id as prd from catalogs_keys_products_filters Left Join catalogs_products ON catalogs_products.id=catalogs_keys_products_filters.product_id Left Join catalogs_rubrics ON catalogs_rubrics.id=catalogs_products.rubric_id where catalogs_keys_products_filters.filter_id in(".implode(',',$arr_id).") and catalogs_products.count_modifications>0 Group By catalogs_keys_products_filters.filter_id order by catalogs_keys_products_filters.product_id " . ((rand(1,1000)%2) ? "asc" : "desc") ,array(),DB_FETCHMODE_ASSOC); - $this->tpl->assign('products_parent',$products); - } - - function getProductSizeCine($id,&$products){ - $res = $this->db->getAll("select * from catalogs_products_cine where product_id=?",array($id),DB_FETCHMODE_ASSOC); - $i = 0; - foreach($res as $row){ - $products['size_' . $row['n']] = $row['size']; - $products['cine_' . $row['n']] = $row['cine']; - $products['metka_' . $row['n']] = $row['metka']; - $products['id_cine_' . $row['n']] = $row['id']; - $i++; - } //print_r($products); - } - /* - function getProductCine($id,$curs = null){ - $sql = "select cine from catalogs_products where id=?"; - $row = $this->db->getOne($sql,array($id)); - return $row; - }*/ - - function getProductCine($id){ - $sql = "select IF( catalogs_products.is_cost2 <1, catalogs_products.cine, catalogs_products.cine2 ) AS cine from catalogs_modifications left join catalogs_products on catalogs_products.id=catalogs_modifications.product_id where catalogs_modifications.id=?"; - return $this->db->getOne($sql,array($id)); - } - - function viewProductCine($id){ - $row = $this->db->getAll("select * from catalogs_products_cine where product_id=? and cine>0 Order By n ASC",array($id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('product_cines',$row); - } - - function viewCatalogsCurs(){ - $uah = $this->db->getOne("select curs from catalogs_curs where type=?",array('uah')); - $this->tpl->assign('curs_uah',$uah); - $uah_bank = $this->db->getOne("select curs from catalogs_curs where type=?",array('uah_bank')); - $this->tpl->assign('curs_uah_bank',$uah_bank); - $usd = $this->db->getOne("select curs from catalogs_curs where type=?",array('usd')); - $this->tpl->assign('curs_usd',$usd); - } - - function saveCurs($data){ - $table_name = "catalogs_curs"; - $DB_AUTOQUERY = DB_AUTOQUERY_UPDATE; - foreach($data as $key=>$value){ - $this->db->autoExecute($table_name,array('curs'=>$value),$DB_AUTOQUERY,"type='$key'"); - } - } - - function viewVarCurs($curs){ - $this->tpl->assign('curs',$curs); - } - - function viewBasketProducts($session_basket,$curs = null,$discount = 0){ - $products = array(); $i = 0; $cineAll = 0; -// $sql = "select catalogs_products.* from catalogs_products where catalogs_products.id=?"; - $sql = "select catalogs_modifications.id,IF(catalogs_products.is_cost2<1,catalogs_products.cine,catalogs_products.cine2) as cine,catalogs_products.name,catalogs_modifications.code,catalogs_modifications.size,catalogs_modifications.color,catalogs_modifications.pic,catalogs_modifications.pic_big from catalogs_modifications Left Join catalogs_products On catalogs_products.id=catalogs_modifications.product_id where catalogs_modifications.id=?"; - - foreach($session_basket as $id){ - $products_count = 1; - if(count($products)){ - foreach($products as $key=>$value){ - if($value['id']==$id){$products_count=$products[$key]['products_count']+$products_count;$products[$key]['products_count']=$products_count;$products[$key]['products_cine_all']=$products[$key]['cine']*$products_count;$cineAll = $cineAll+$products[$key]['cine'];} - }} - if($products_count==1){ - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); - $products[$i] = $row; - $products[$i]['products_count']=$products_count; - $products[$i]['products_cine_all']=$products[$i]['cine']*$products_count; - $cineAll = $cineAll+$products[$i]['products_cine_all']; - $i++; - } - - } - /*print"
";
-  print_r($products);
-  print"
";*/ - $this->tpl->assign('cineAll',$cineAll); - $this->tpl->assign('cineAll_discount',$cineAll - (($cineAll*$discount)/100)); - $this->tpl->assign('basket_products',$products); //print_r($products); - } - - - function BasketUpload(&$session_basket,$proructs_count){ - - // ========== ZLODEYEV ============ - - foreach($proructs_count as $key=>$value){ - - // ==== ==== - - // - $sql4 = "SELECT * FROM catalogs_modifications as m - LEFT JOIN catalogs_products as p - ON p.id=m.product_id - WHERE m.id='".$key."' "; - $result4 = mysql_query($sql4) or die(mysql_error()); - if (mysql_affected_rows()!=0) { - $item=mysql_fetch_assoc($result4); - } - - $f=0; - - if (isset($_SESSION['shopcart'])) { - - foreach ($_SESSION['shopcart'] as $i => $cart) { - - - if ($cart['code']!='' && $cart['code']==$key) { - $f=1; - $_SESSION['shopcart'][$i]['count']=$value; - $_SESSION['shopcart'][$i]['total']=$value*$_SESSION['shopcart'][$i]['price']; - if ($_SESSION['shopcart'][$i]['total']==0) { - unset($_SESSION['shopcart'][$i]); - } - break; - } - } - } - } - - // ========== ZLODEYEV ============ - - - $session_basket = array(); - foreach($proructs_count as $key=>$value){ - for($i=0;$i<$value;$i++){ - $session_basket[] = $key; - } - } - } - - function sendOrder($data){ - $mail = new PHPMailer(); - $mail->CharSet = "windows-1251"; - $mail->From = (strlen($data['order_email'])>0) ? $data['order_email'] : "shopextremstyle2@gmail.com"; - $mail->FromName = $data['order_name']; - $mail->AddAddress("shop@eltrade.com.ua","shop"); - $mail->Subject = " "; - $title = Mail::str_rus(" "); - $msg = ""; - foreach($data['product_id'] as $key=>$value){ - $msg .= "ID: ".$value." "; - $msg .= ": ".$data['product_name'][$key]." "; - $msg .= " : ".$data['product_cine'][$key]." "; - $msg .= ": ".$data['product_count'][$key]." "; - $msg .= " : ".$data['product_cine_all'][$key]." "; - $msg .= "
"; - } - $msg .= " : ".$data['cineAll']; - $msg .= "
"; - /* $msg .= ": ".$data['discount']." %"; - $msg .= "
"; */ - $msg .= " : ".$data['cineAll_discount']; - $msg .= "


"; - $msg .= " :"; - $msg .= "
"; - $msg .= ": ".$data['order_name']; - $msg .= "
"; - $msg .= ": ".$data['order_adress']; - $msg .= "
"; - $msg .= "E-mail: ".$data['order_email']; - $msg .= "
"; - $msg .= " : ".$data['order_phone']; -// $msg .= "
"; -// $msg .= " : ".$data['order_phonemob']; - $msg .= "
"; - $msg .= ": ".$data['order_comment']; -// $order_email = (strlen($data['order_email'])>0) ? $data['order_email'] : "vapila@vapila.kiev.ua"; -// Mail::send("borisenko.pavel@gmail.com",$data['order_email'],$title,Mail::str_rus($msg)); - $mail->MsgHTML($msg); - if(!$mail->Send()){echo "There has been a mail error sending to
";return false;} - $mail->ClearAddresses(); - $mail->ClearAttachments(); - - $this->sendOrderXML($data); - } - - - function sendOrderXML($data){ - - - -$data['order_phone'] = str_replace("-","",$data['order_phone']); -$data['order_phone'] = str_replace(")","",$data['order_phone']); -$data['order_phone'] = str_replace("(","",$data['order_phone']); -$data['order_phone'] = str_replace(" ","",$data['order_phone']); -$data['order_phone'] = "+38".$data['order_phone']; - - - - $mail = new PHPMailer(); - $mail->CharSet = "windows-1251"; - $mail->From = (strlen($data['order_email'])>0) ? $data['order_email'] : "shopextremstyle2@gmail.com"; - $mail->FromName = $data['order_name']; - $mail->AddAddress("extremshop@portal.myoffice.biz.ua","extremshop"); - $mail->Subject = "xml "; - $order_email = (strlen($data['order_email'])>0) ? $data['order_email'] : "shopextremstyle2@gmail.com"; - $xml = ''; - $xml .= ''; - foreach($data['product_id'] as $key=>$value){ - $xml .= ""; - $xml .= "".$data['product_name2'][$key].""; - $xml .= "".$data['product_size'][$key].""; - $xml .= "".$data['product_color'][$key].""; - $xml .= "".$data['product_price'][$key].""; - $xml .= "".$data['product_count'][$key].""; - $xml .= ""; - } - $xml .= ''; - $xml .= ''.$data['order_name'].''; - $xml .= ''.$data['order_phone'].''; - $xml .= ''.$data['order_email'].''; - $xml .= ''; - $xml .= ''; - $xml .= ''; - $xml .= '
'.$data['order_adress'].'
'; - $xml .= ''; - $xml .= '
'; - $xml .= ''.$data['order_comment'].''; - $xml .= '
'; - $tmpfname = tempnam("tmp", "FOO"); - $handle = fopen($tmpfname, "w"); - fwrite($handle, $xml); - $mail->AddAttachment($tmpfname, 'order.xml'); - if(!$mail->Send()){echo "There has been a mail error sending to
";return false;} - fclose($handle); - unlink($tmpfname); - $mail->ClearAddresses(); - $mail->ClearAttachments(); - // Mail::send("borisenko.pavel@gmail.com",$order_email,"Order",Mail::str_rus($xml)); - // Mail::send("andrey.belyy@gmail.com",$order_email,"Order",Mail::str_rus($xml)); - } - - function saveOrder($data,$userID = 0){ - - $table_name = "catalogs_orders"; - - if(isset($data['update_id']) && $data['update_id']>0){ - $DB_AUTOQUERY = DB_AUTOQUERY_UPDATE; - $id = $data['update_id']; - $where = sprintf("id='%d'",$id); - } else { - $DB_AUTOQUERY = DB_AUTOQUERY_INSERT; - $id = $this->db->nextId('mySequence_'.$table_name); - $where = null; - } - - - - - $fields_values = array( - 'id'=>$id, - 'user_id'=>$userID, - 'name' => $data['order_name'], - 'email' => $data['order_email'], - 'adress' => $data['order_adress'], - //'phone' => phone_mobil($data['order_phone']), - 'phone' => $data['order_phone'], - 'comment' => $data['order_comment'], - 'delivery' => $data['delivery'], - 'total'=>$_SESSION['cart']['total'], - 'status' => '1', - 'mktime'=>mktime() - ); - $DB_AUTOQUERY; - - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,$where); - - if(isset($data['product_id'])){ $i=-1; - foreach($data['product_id'] as $key=>$value){ $i++; - $this->db->autoExecute("catalogs_orders_products",array( - 'order_id'=>$id, - 'product_id'=>$value, - 'product_cine_id'=>$_SESSION['cart'][$i]['price'], - 'count'=>$data['product_count'][$key]) - ,DB_AUTOQUERY_INSERT); - } - } - - - } - - function deleteOrder($id){ - $this->db->query("delete from catalogs_orders where id=?",array($id)); - $this->db->query("delete from catalogs_orders_products where order_id=?",array($id)); - } - - function updateOrder($data){ - $table_name = "catalogs_orders"; - $fields_values = array('name' => $data['order_name'],'email' => $data['order_email'],'adress' => $data['order_adress'],'phone' => $data['order_phone'],'comment' => $data['order_comment'],'mktime'=>mktime()); - if(isset($data['order_active']))$fields_values['active'] = 1; - else $fields_values['active'] = 0; - $this->db->autoExecute($table_name,$fields_values,DB_AUTOQUERY_UPDATE,sprintf("id='%d'",$data['update_id'])); - } - - function updateOrderProducts($data){ - foreach($data['product_id'] as $key=>$value){ - if($data['product_count'][$value]<1){$this->db->query("delete from catalogs_orders_products where order_id='{$data['order_id']}' AND product_id='$value'");} - else{$this->db->autoExecute("catalogs_orders_products",array('count'=>$data['product_count'][$value]),DB_AUTOQUERY_UPDATE,"order_id='{$data['order_id']}' AND product_id='$value'");} - } - } - - function viewOrder($id){ - $row = $this->db->getRow("select * from catalogs_orders where id=?",array($id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('order', $row); - } - - function viewOrderProducts($order_id){ - $res = $this->db->getAll("select p.*,op.*,pr.name,pr.pic,pr.pic_big from catalogs_orders_products op Left join catalogs_products_cine p On p.id=op.product_id Left join catalogs_products pr On pr.id=p.product_id where order_id=?",array($order_id),DB_FETCHMODE_ASSOC); - $sum = 0; - foreach($res as $key=>$row){ - $sum = $sum + ($row['cine']*$row['count']); - $res[$key]['cine_all'] = ($row['cine']*$row['count']); - } - $discount = $this->db->getOne('select catalogs_users.discount from catalogs_orders Left join catalogs_users on catalogs_users.id=user_id where catalogs_orders.id=?',array($order_id)); - $this->tpl->assign('cine', array('sum'=>$sum,'discount'=>$discount,'sum_discount'=>($sum - (($sum*$discount)/100)) )); - $this->tpl->assign('basket_products', $res); - } - - function viewOrders($params = array()){ - $search = array(); - if(isset($params['userID']) && $params['userID']>0)$search[] = sprintf("catalogs_orders.user_id='%d'",$params['userID']); - $sql = "select catalogs_orders.*,catalogs_users.login as user_login,catalogs_users.discount from catalogs_orders Left join catalogs_users on catalogs_users.id=user_id WHERE 1=1 "; - if(count($search))$sql .= "AND " . implode(" AND ",$search) . " "; - $sql .= " order by mktime desc"; - $pagerOptions = Array( - 'mode' => 'Sliding', - 'delta' => 16, - 'perPage' => 50, - 'linkClass'=>"link_class", - 'curPageLinkClassName'=>"link_class_active", - 'spacesBeforeSeparator' => 1, - 'spacesAfterSeparator' => 1 - ); - $res = Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array()); - foreach($res['data'] as $key=>$value){ - $res['data'][$key]['sum'] = $this->getOrderProductsSum($value['id']); - $res['data'][$key]['sum_discount'] = $res['data'][$key]['sum'] - (($res['data'][$key]['sum']*$value['discount'])/100); - } - $this->tpl->assign('ordersData', $res); - } - - function getOrderProductsSum($order_id){ - $res = $this->db->getAll("select op.*,p.cine from catalogs_orders_products op Left join catalogs_products_cine p On p.id=op.product_id where op.order_id=?",array($order_id),DB_FETCHMODE_ASSOC); - // print_r($res); - $sum = 0; - foreach($res as $row){ - $sum = $sum + ($row['cine']*$row['count']); - } - return $sum; - } - - function SaveBrend($data,$upload){ - $table_name = "catalogs_brends"; - $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; - $fields_values = array('rubric_id'=>$data['rubric_id'],'name'=>$data['brend'],'text'=>$data['text'],'youtube'=>$data['youtube'],'seo'=>$data['seo'],'sort'=>$data['sort'],'meta_title'=>$data['meta_title'],'meta_description'=>$data['meta_description'],'meta_keywords'=>$data['meta_keywords'],'active'=>$data['active'] ,'about'=>$data['about'],'link'=>$data['link'],'teh'=>$data['teh']); - - if(isset($data['delete_video']) && $data['delete_video']==1){ - $this->deleteBrendPic($data['update_id']); - $fields_values['pic'] = null; - } - if($upload['pic']['tmp_name']){ - if($data['update_id']>0)$this->deleteBrendPic($data['update_id'],array('pic')); - $name_pic = mktime() . "." . substr(strrchr($_FILES['pic']['name'],"."),1); - $file_name = "{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/brends/$name_pic"; - move_uploaded_file($_FILES["pic"]["tmp_name"], $file_name); - chmod($file_name,"0777"); - $fields_values['pic'] = $name_pic; - } - - if(isset($data['delete_pic_s']) && $data['delete_pic_s']==1){ - $this->deleteBrendPic($data['update_id'],array('pic_s')); - $fields_values['pic_s'] = null; - } - if($upload['pic_s']['tmp_name']){ - if($data['update_id']>0)$this->deleteBrendPic($data['update_id'],array('pic_s')); - $name_pic = mktime() . "." . substr(strrchr($_FILES['pic_s']['name'],"."),1); - $file_name = "{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/brends/s/$name_pic"; - move_uploaded_file($_FILES["pic_s"]["tmp_name"], $file_name); - chmod($file_name,"0777"); - $fields_values['pic_s'] = $name_pic; - } - - - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); - } - - function deleteBrendPic($id,$pics = array('pic','pic_s')){ - $sql = "select " . implode(',',$pics) . " from catalogs_brends where id=?"; - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); - if(isset($row['pic'])){ - $file_name = "{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/brends/{$row['pic']}"; - @unlink($file_name); - } - if(isset($row['pic_s'])){ - $file_name = "{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/brends/s/{$row['pic_s']}"; - @unlink($file_name); - } - } - - function viewBrends($type = false){ - $sql = "select b.*,r.name as rubric from catalogs_brends b left join catalogs_rubrics r On r.id=b.rubric_id "; - if($type!=false)$sql .= "where b.type='$type'"; - $sql .= " Order by b.name Asc"; - $row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); - $this->tpl->assign('brends',$row); - } - - function viewBrendsGroup($params = array()){ - $sql = "select * from catalogs_brends where 1=1 "; - if(isset($params['rubID'])){ - $rubric_id = $params['rubID'];//$this->getRubricParent($params['rubID']); - $rubric_id = ($rubric_id==0)?$params['rubID']:$rubric_id; - $sql .= "and rubric_id='".$rubric_id."'"; - } - $sql .= " Group by name Order by sort Asc"; - $row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); - $this->tpl->assign('brends',$row); - } - - function viewBrendsActive(){ - $sql = "select * from catalogs_brends where active=1 "; - $sql .= " Order by sort Asc"; - $row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); - $this->tpl->assign('brends_a',$row); - } - - function SaveCity($data){ - $table_name = "catalogs_cities"; - $DB_AUTOQUERY = (isset($data['update_id']) && $data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; - $fields_values = array('name'=>$data['name']); - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); - return mysql_insert_id(); - } - - function is_city($name){ - return $this->db->getOne('select id from catalogs_cities where name=?',array($name)); - } - - function viewCityMod($code){ - $sql = "select c.name from catalogs_keys_products_cities k left join catalogs_cities c on c.id=k.city_id where k.mod_code=? and k.count>0"; - $row = $this->db->getCol($sql,"name",array($code)); - if(!count($row))return ""; - foreach($row as $key=>$value){if($value==" " or $value=="()")unset($row[$key]);} - return implode(', ',$row); - } - - function viewCitiesProductID($id){ - $sql = "select city_id from catalogs_keys_products_cities where product_id=?"; - $row = $this->db->getCol($sql,"city_id",array($id)); - $this->tpl->assign('product_cities',$row); - } - - function viewCities($type = false){ - $sql = "select * from catalogs_cities "; - $sql .= " Order by name Asc"; - $row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); - $this->tpl->assign('cities',$row); - } - - function viewCitiesProduct($id){ - $sql = "select catalogs_cities.* from catalogs_keys_products_cities left join catalogs_cities on catalogs_cities.id=catalogs_keys_products_cities.city_id Where catalogs_keys_products_cities.product_id=? "; - $row = $this->db->getAll($sql,array($id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('cities',$row); - } - - function viewCity($id){ - $row = $this->db->getRow("select * from catalogs_cities where id=?",array($id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('city', $row); - } - - function deleteCity($id){ - $this->db->query("delete from catalogs_cities where id=?",array($id)); - $this->delete_keysCitiesProduct($id); - } - - function delete_keysCitiesProduct($id){ - $sql = "delete from catalogs_keys_products_cities where city_id=?"; - $this->db->query($sql,array($id)); - } - - function SaveYears($data){ - $table_name = "catalogs_years"; - foreach($data['filter'] as $key=>$name){ - if(strlen($name)>0){ - if(isset($data['update_id'][$key]) && $data['update_id'][$key]>0){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$where = "id='{$data['update_id'][$key]}'";} - else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$where = "";} - $this->db->autoExecute($table_name,array('name'=>$name,'rubric_id'=>$data['rubric_id']),$DB_AUTOQUERY,$where); - } - } - } - - function viewYearsProductID($id){ - $sql = "select year_id from catalogs_keys_products_years where product_id=?"; - $row = $this->db->getCol($sql,"year_id",array($id)); - $this->tpl->assign('product_years',$row); - } - - function viewYears($rubric_id){ - $row = $this->db->getAll("select * from catalogs_years where rubric_id=? order by name",array($rubric_id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('years', $row); - } - - function getYearsName_IDs($ids){ - //$sql = "select name from catalogs_years where id in (".implode(",",$ids).") order by name"; - //$row = $this->db->getCol($sql,"name",array()); - //return implode(", ",$row); - - $name = array(); - foreach($ids as $id){ - $name[] = $this->db->getOne("select name from catalogs_years where id=?",array($id)); - } - return implode(", ",$name); - } - - function deleteYearsRubric_id($id){ - $this->db->query("delete from catalogs_years where rubric_id=?",array($id)); - $this->delete_keysYearsRubric($id); - } - - function delete_keysYearsRubric($id){ - $sql = "delete from catalogs_keys_products_years where rubric_id=?"; - $this->db->query($sql,array($id)); - } - - function deleteYear($id){ - $this->db->query("delete from catalogs_years where id=?",array($id)); - $this->delete_keysYearsProduct($id); - } - - function delete_keysYearsProduct($id){ - $sql = "delete from catalogs_keys_products_years where year_id=?"; - $this->db->query($sql,array($id)); - } - - function SaveFilters($data){ - $table_name = "catalogs_filters"; - foreach($data['filter'] as $key=>$name){ - if(strlen($name)>0){ - if(isset($data['update_id'][$key]) && $data['update_id'][$key]>0){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$where = "id='{$data['update_id'][$key]}'";} - else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$where = "";} - $active = (isset($data['active'][$key])) ? 1 : 0; - $this->db->autoExecute($table_name,array('name'=>$name,'prefix'=>encodestring($name),'rubric_id'=>$data['rubric_id'],"sort"=>$data['sort'][$key],"active"=>$active),$DB_AUTOQUERY,$where); - } - } - } - - function viewFilterProductID($id){ - $sql = "select filter_id from catalogs_keys_products_filters where product_id=?"; - $row = $this->db->getCol($sql,"filter_id",array($id)); - $this->tpl->assign('product_filters',$row); - } - - function deleteFilter($id){ - $this->db->query("delete from catalogs_filters where id=?",array($id)); - $this->delete_keysFilterProduct($id); - } - - function deleteFiltersRubric_id($rubric_id){ - $this->db->query("delete from catalogs_filters where rubric_id=?",array($rubric_id)); - $this->delete_keysFilterRubric($rubric_id); - } - - function delete_keysFilterProduct($id){ - $sql = "delete from catalogs_keys_products_filters where filter_id=?"; - $this->db->query($sql,array($id)); - } - - function delete_keysFilterRubric($id){ - $sql = "delete from catalogs_keys_products_filters where rubric_id=?"; - $this->db->query($sql,array($id)); - } - - function viewFilters($rubric_id){ - $row = $this->db->getAll("select * from catalogs_filters where active='0' and rubric_id=? order by sort",array($rubric_id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('filters', $row); - } - - function getFiltersName_IDs($ids){ - //$sql = "select name from catalogs_filters where id in (".implode(",",$ids).")"; - //$row = $this->db->getCol($sql,"name",array()); - $name = array(); - foreach($ids as $id){ - $name[] = $this->db->getOne("select name from catalogs_filters where id=?",array($id)); - } - return implode(", ",$name); - } - - function viewBrend($id){ - $row = $this->db->getRow("select * from catalogs_brends where id=?",array($id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('brend', $row); - } - - function viewBrendName($name){ - $name = iconv("utf-8", "windows-1251", $name); - $sql = "select * from catalogs_brends where name=? and active=1 limit 1"; - $row = $this->db->getRow($sql,array($name),DB_FETCHMODE_ASSOC); - $this->tpl->assign('brend_seo', $row); - return $row; - } - - function getBrendIDs_name($name){ - //$name = iconv("utf-8", "windows-1251", $name); - $sql = "select id from catalogs_brends where name=?"; - return $this->db->getCol($sql,"id",array($name)); - } - - function deleteBrend($id){ - $this->db->query("delete from catalogs_brends where id=?",array($id)); - } - - function viewAkciiProductID($id){ - $sql = "select rubric_id from catalogs_keys_products_akcii where product_id=?"; - $row = $this->db->getCol($sql,"rubric_id",array($id)); - $this->tpl->assign('product_akcii',$row); - } - - function import_saveRubric($name,$parent_id){ - $id = $this->db->getOne("select id from catalogs_rubrics where name=? and parent_id=?",array($name,$parent_id)); - if( !$id ){ - $this->db->autoExecute("catalogs_rubrics",array('name'=>$name,'parent_id' => $parent_id,"level"=>($this->getLevelRubric($parent_id)+1)),DB_AUTOQUERY_INSERT); - return mysql_insert_id(); - } - return $id; - } - - function import_saveBrend($name,$rubric_id){ - //getRubricParent(); - $id = $this->db->getOne("select id from catalogs_brends where name=? and rubric_id=?",array($name,$rubric_id)); - if( !$id ){ - $this->db->autoExecute("catalogs_brends",array('rubric_id'=>$rubric_id,'name'=>$name),DB_AUTOQUERY_INSERT); - return mysql_insert_id(); - } - return $id; - } - - function import_saveFilters($rubric_id,$str){ - if(!$str)return array(); - $row_str = explode(",",trim($str)); - $arr_id = array(); - foreach($row_str as $str){ - $name = trim($str); - $name_r = explode('=',$name);$name = $name_r[0]; $active = (isset($name_r[1])) ? 1 : 0; - $id = $this->db->getOne("select id from catalogs_filters where rubric_id=? and name=?",array($rubric_id,$name)); - if( !$id ){ - $this->db->autoExecute("catalogs_filters",array('rubric_id'=>$rubric_id,'name'=>$name,'prefix'=>encodestring($name),'active'=>$active),DB_AUTOQUERY_INSERT); - $id = mysql_insert_id(); - }else{ $this->db->autoExecute("catalogs_filters",array('rubric_id'=>$rubric_id,'name'=>$name,'prefix'=>encodestring($name),'active'=>$active),DB_AUTOQUERY_UPDATE,"id=$id");} - $arr_id[] = $id; - } - return $arr_id; - } - - function import_saveYear($rubric_id,$name){ - $id = $this->db->getOne("select id from catalogs_years where rubric_id=? and name=?",array($rubric_id,$name)); - if( !$id ){ - $this->db->autoExecute("catalogs_years",array('rubric_id'=>$rubric_id,'name'=>$name),DB_AUTOQUERY_INSERT); - $id = mysql_insert_id(); - } - return ($id)?array($id):array(); - } - - function import_updateProductCine($product_id,$row,$line='',$mktime = 0){ // print"
";print_r($row);print"
"; - - IF($product_id>0){ - IF($row[3]>0){ - if($row[2]<1){$cine=$row[1];$cine_last=0;} - else {$cine=$row[2];$cine_last=(($row[1]>0)?$row[1]:$row[2]);} - $this->db->autoExecute("catalogs_products",array('cine'=>$cine,'cine_last'=>$cine_last),DB_AUTOQUERY_UPDATE,"id='$product_id'"); - } - - - $city = trim($row[4]); - if(!$city)$city = " "; - //echo "OK(1) -
"; - if(strlen($city)>0){ //print $city; - $city_id = $this->is_city($city); - //echo "OK(2) -
"; - if(!$city_id){$city_id = $this->SaveCity(array('name'=>$city));} - $this->db->query("delete from catalogs_keys_products_cities where product_id=? and mod_code=? and mktimedb->query("delete from catalogs_keys_products_cities where product_id=? and mod_code=? and mktime"; - if($this->getKeysModificationCity($row[0], $city_id)){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$where = "mod_code='".$row[0]."' and city_id='".$city_id."'";} - else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$where = null;} - - // if($this->getKeysModificationCityMktime_count($row[0], $city_id, $mktime)>0){$row[3]=1;} - //print $city_id .'--'.$where."
"; - $fields = array('count'=>$row[3],'product_id'=>$product_id,'mod_code'=>$row[0],'city_id'=>$city_id,'mktime'=>$mktime); - $s = $this->db->autoExecute("catalogs_keys_products_cities",$fields,$DB_AUTOQUERY,$where); - if (PEAR::isError($s)) die($s->getMessage()); - }} - //echo "OK(4) -
"; - $active = $this->db->getOne("select count(*) from catalogs_keys_products_cities where mod_code=? and count>0",array($row[0])); - //$active = true; - if($this->db->getOne("select count(*) from catalogs_modifications where code=?",array($row[0]))>0){ - $this->db->autoExecute("catalogs_modifications",array('active'=>$active,'is_update'=>1,'prefix'=>$row[4]),DB_AUTOQUERY_UPDATE,"code='".$row[0]."'"); - //echo "OK(5) -
"; - }else{ - //echo "OK(6) -
"; - $this->saveCsvMod($line); - } - } - } - - function saveCsvMod($line){ - echo "OK1 -
"; - $tmpfname = $_SERVER['DOCUMENT_ROOT'] . "/tmp/noDB_mod.csv"; - $handle = @fopen($tmpfname, "a"); -// $row = explode(";",$line); -// File_FGetCSV::fputcsv($handle,$row,';'); - echo "OK2 -
"; - echo $line; - echo "OK3 -
"; - fwrite($handle,$line); - fclose($handle); - } - - function getKeysModificationCity($code, $city_id){ - return $this->db->getOne("select count(*) from catalogs_keys_products_cities where mod_code=? and city_id=?", array($code, $city_id)); - } - - function getKeysModificationCity_count($code, $city_id){ - return $this->db->getOne("select count from catalogs_keys_products_cities where mod_code=? and city_id=?", array($code, $city_id)); - } - - function getKeysModificationCityMktime_count($code, $city_id, $mktime){ - $r = $this->db->getOne("select count from catalogs_keys_products_cities where mod_code=? and city_id=? and mktime=?", array($code, $city_id, $mktime)); - return $r; - } - - function getProductID($name){ - $id = $this->db->getOne("select id from catalogs_products where name=?",array($name)); - return $id; - } - - function getProductID_R($name,$rubric_parent_id){ - $id = $this->db->getOne("select id from catalogs_products where name=? and rubric_id=?",array($name,$rubric_parent_id)); - return $id; - } - - function getModificationActive($code){ - 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 updateProductModificationCountPrefix($product_id,$prefix = "+"){ -// print $product_id; - $sql = "UPDATE catalogs_products SET count_modifications = count_modifications $prefix 1 WHERE id =?"; - $this->db->query($sql,array($product_id)); - } - - function exportCSV(){ - $tmpfname = "tmp/price.csv"; - $handle = fopen($tmpfname, "w"); - // fwrite($handle, $xml); - $res = $this->db->getAll('select p.id,p.rubric_id,r2.name,r.name,b.name as brend,p.name,p.about,p.text,null,p.sex,null,p.cine,p.cine_last,p.akcii_id,p.strnumber,p.active,null,p.video_code,p.pic_big from catalogs_products p left join catalogs_rubrics r on r.id=p.rubric_id left join catalogs_rubrics r2 on r2.id=p.rubric_parent_id left join catalogs_brends b on b.id=p.brend_id',array()); - foreach($res as $key=>$row){ - $list = $row; - $mod_res = $this->db->getAll('select code,size,color,pic_big,active from catalogs_modifications where product_id=?',array($row[0])); - foreach($mod_res as $mod_row){$list[] = implode('=',$mod_row);} - - $f_row = $this->db->getCol("select f.name from catalogs_keys_products_filters k Left Join catalogs_filters f ON f.id=k.filter_id where k.product_id=?",'name',array($list[0])); - $list[8]=implode(',',$f_row); - - switch($list[9]){ - case 1 : $list[9] = ''; break; - case 2 : $list[9] = ''; break; - case 3 : $list[9] = ''; break; - case 4 : $list[9] = ''; break; - default : $list[9] = ''; break; - } - - $y_row = $this->db->getCol("select y.name from catalogs_keys_products_years k Left Join catalogs_years y ON y.id=k.year_id where k.product_id=?",'name',array($list[0])); - $list[10]=implode(',',$y_row); - - - //print_r($list);exit; - $p_res = $this->db->getAll("select name,size,metka from catalogs_products_params where product_id=?",array($list[0])); - $param = array(); - foreach($p_res as $row_p){ - $param[] = implode('*',$row_p); - } - $list[15] = implode('=',$param); - - unset($list[0]);unset($list[1]); - - File_FGetCSV::fputcsv($handle,$list,';'); - - - - } - - fclose($handle); - - $params = array( - 'file' => $tmpfname, - 'contenttype' => 'application/xls', - 'contentdisposition' => array(HTTP_DOWNLOAD_ATTACHMENT, 'price.csv'), - 'cache' => false - ); - $error = HTTP_Download::staticSend($params, false); // - if ($error === true) { - // , - } - - unlink($tmpfname); - } - - function exportModCSV(){ - $tmpfname = "tmp/price_mod.csv"; - $handle = fopen($tmpfname, "w"); - $res = $this->db->getAll('select m.code,p.cine,p.cine_last,m.active,null,m.prefix,m.is_update From catalogs_modifications m Left join catalogs_products p on p.id=m.product_id'); - foreach($res as $key=>$row){ - File_FGetCSV::fputcsv($handle,$row,';'); - } - fclose($handle); - $params = array( - 'file' => $tmpfname, - 'contenttype' => 'application/xls', - 'contentdisposition' => array(HTTP_DOWNLOAD_ATTACHMENT, 'file_1.csv'), - 'cache' => false - ); - $error = HTTP_Download::staticSend($params, false); // - if ($error === true) { - // , - } - - unlink($tmpfname); - $this->db->autoExecute("catalogs_modifications",array('is_update'=>0),DB_AUTOQUERY_UPDATE); - } - - function exportOrdersCSV(){ - $tmpfname = "tmp/orders.csv"; - $handle = fopen($tmpfname, "w"); - $res = $this->db->getAll('select name,email,adress,phone From catalogs_orders order by id desc'); - foreach($res as $key=>$row){ - File_FGetCSV::fputcsv($handle,$row,';'); - } - fclose($handle); - $params = array( - 'file' => $tmpfname, - 'contenttype' => 'application/xls', - 'contentdisposition' => array(HTTP_DOWNLOAD_ATTACHMENT, 'orders.csv'), - 'cache' => false - ); - $error = HTTP_Download::staticSend($params, false); // - if ($error === true) { - // , - } - - unlink($tmpfname); - } - - function deleteProductParams($product_id){ - $sql = "delete from catalogs_products_params where product_id=?"; - $this->db->query($sql,array($product_id)); - } - - function saveProductParams($product_id,$pruduct_params){ - $this->deleteProductParams($product_id); - $array_params = explode("=",$pruduct_params); - foreach($array_params as $row){ - $arr = explode('*',$row); - $this->db->autoExecute("catalogs_products_params",array('product_id'=>$product_id,'name'=>$arr[0],'size'=>$arr[1],'metka'=>$arr[2]),DB_AUTOQUERY_INSERT); - } - } - - function getProductParams($product_id){ - $sql = "select * from catalogs_products_params where product_id=? order by id"; - $row = $this->db->getAll($sql,array($product_id),DB_FETCHMODE_ASSOC); - return $row; - } - - function viewProductParams($product_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 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]);
-   switch($row_line[7]){
-    case '' : $pruduct_sex = 1; break;
-    case '' : $pruduct_sex = 2; break;
-    case '' : $pruduct_sex = 3; break;
-    case '' : $pruduct_sex = 4; break;
-    default : $pruduct_sex = 0; break;
-   }
-   $pruduct_date = trim($row_line[8]);
-   $pruduct_cine = trim($row_line[9]);
-   $pruduct_cine_last = trim($row_line[10]);
-   if($pruduct_cine<1){$pruduct_cine=$pruduct_cine_last;$pruduct_cine_last=0;}
-   $pruduct_akcii_id = trim($row_line[11]);
-   $pruduct_strnumber = trim($row_line[12]);
-   $pruduct_active = trim($row_line[13]);
-   $pruduct_params = trim($row_line[14]);
-   $pruduct_pic_tmp = trim($row_line[16]);
-   $pruduct_video = trim($row_line[15]);
-   $pruduct_update_id = $this->getProductID_R($pruduct_name,$rubric_parent_id);
-   $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]),
-                              '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->deleteProductModifications($product_id,true);
-   $m_i = 0;
-   for($i=17;$i0){
-     $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;
-
-     $this->SaveModification(
-            array('product_id'=>$product_id,
-                  'code'=>$row_mod[0],
-                  'size'=>$row_mod[1],
-                  '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"
"; - - // $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(){ - $file = $_SERVER['DOCUMENT_ROOT'] . "/cron/file_1.csv"; - $is = is_file($file); - $this->tpl->assign('is',$is); - } - - 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++; - } - } - - function config_update($id,$value){ - $this->db->autoExecute("catalogs_config",array('value'=>$value),DB_AUTOQUERY_UPDATE,"id='".$id."'"); - } - - function view_config_value($id){ - $r = $this->db->getOne("select value from catalogs_config where id=?",$id); - $this->tpl->assign("config",$r); - return $r; - } - - function displayCatalogsCurs(){ - $this->tpl->assign("tpl",'catalogs_curs.tpl'); - } - - function displayCatalogs(){ - $this->tpl->assign("tpl",'catalogs.tpl'); - } - - function displayProducts(){ - $this->tpl->assign("tpl",'catalogs_products.tpl'); - } - - function displayProductsTops(){ - $this->tpl->assign("tpl",'catalogs_products_tops.tpl'); - } - - function displayProductsHits(){ - $this->tpl->assign("tpl",'catalogs_products_hits.tpl'); - } - - function displayProductsHitsAll(){ - $this->tpl->assign("tpl",'catalogs_products_hits_all.tpl'); - } - - function displayBasket($count_products,$cine_products,$cine_products_discount,$discount){ - $this->tpl->assign("count_products",$count_products); - $this->tpl->assign("cine_products",$cine_products); - $this->tpl->assign("cine_products_discount",$cine_products_discount); - $this->tpl->assign("discount",$discount); - $this->tpl->display('basket.tpl'); - } - - function displayProduct(){ - $this->tpl->assign("tpl",'catalogs_product.tpl'); - } - - function displayProductBasket(){ - $this->tpl->assign("tpl",'catalogs_basket.tpl'); - } - - function displayBrends(){ - $this->tpl->assign("tpl",'catalogs_brends.tpl'); - } - - function displayBrend(){ - $this->tpl->assign("tpl",'catalogs_brend.tpl'); - } - - function displayCities(){ - $this->tpl->assign("tpl",'catalogs_cities.tpl'); - } - - function displayProductBasketSend(){ - $this->tpl->assign("tpl",'catalogs_basket_send.tpl'); - } - - function displayReg(){ - $this->tpl->assign("tpl",'catalogs_reg.tpl'); - } - - function displayEditUser(){ - $this->tpl->assign("tpl",'catalogs_user_edit.tpl'); - } - - function displayNoPsw(){ - $this->tpl->assign("tpl",'catalogs_nopsw.tpl'); - } - - function displayOrders(){ - $this->tpl->assign("tpl",'catalogs_orders.tpl'); - } - - function displayOrder(){ - $this->tpl->assign("tpl",'catalogs_order.tpl'); - } - - function displayUsers(){ - $this->tpl->assign("tpl",'catalogs_users.tpl'); - } - - function displayUser(){ - $this->tpl->assign("tpl",'catalogs_user.tpl'); - } - - function displayFilters(){ - $this->tpl->assign("tpl",'catalogs_filters.tpl'); - } - - function displayYears(){ - $this->tpl->assign("tpl",'catalogs_years.tpl'); - } - - function displayWinProducts(){ - $this->tpl->display('catalogs_win_products.tpl'); - } - - function displayModifications(){ - $this->tpl->assign("tpl",'catalogs_modifications.tpl'); - } - - function displayImport(){ - $this->tpl->assign("tpl",'catalogs_import.tpl'); - } - - function displayImportCine(){ - $this->tpl->assign("tpl",'catalogs_import_cine.tpl'); - } - - function displayAkcii(){ - $this->tpl->assign("tpl",'catalogs_akcii.tpl'); - } - - function displayCompare(){ - $this->tpl->assign("tpl",'catalogs_compare.tpl'); - } - - function displayTmpProducts(){ - $this->tpl->assign("tpl",'catalogs_tmp_products.tpl'); - } - -} -?> diff --git a/libs/catalogs2.class.php b/libs/catalogs2.class.php deleted file mode 100644 index 5ab28ae..0000000 --- a/libs/catalogs2.class.php +++ /dev/null @@ -1,1563 +0,0 @@ -db = &$db; - $this->tpl = &$tpl; - $this->error = &$error; - } - - - function trim(&$data){ - foreach($data as $key=>$value){ - if(is_array($value))$this->trim($value); - else $data[$key] = stripslashes(trim($value)); - } - } - - - function valid($data,$upload = null){ - - if(isset($data['name'])){ - if( !preg_match("/.{1,100}/i",$data['name']) ) $this->error[] = " ."; - } - - if(isset($data['about_min'])){ - if( !preg_match("/.+/is",$data['about_min']) ) $this->error[] = " ."; - } - /* - if(isset($data['text'])){ - if( !preg_match("/.+/is",$data['text']) ) $this->error[] = " ."; - } */ -/* - if(isset($data['cine'])){ - if( !preg_match("/[0-9]+/",$data['cine']) ) $this->error[] = " , ."; - } */ - - if(isset($upload['pic']['name']) && $upload['pic']['tmp_name']){ - $type = substr(strrchr($upload['pic']['name'],"."),1); - if( !preg_match("/^(jpeg|jpg|gif|png|bmp)$/i",$type) ) $this->error[] = " , jpg,png,gif."; - } - - if(isset($upload['file']['name'])){ - if( !preg_match("/\.csv$/i",$upload['file']['name']) ) $this->error[] = " CSV , csv."; - } - - - if(isset($data['order_name'])){ - if( !preg_match("/.{1,100}/i",$data['order_name']) ) $this->error[] = " ( 100 )."; - } - - if(isset($data['order_adress'])){ - if( !preg_match("/.{1,200}/i",$data['order_adress']) ) $this->error[] = " ( 200 )."; - } - - if(isset($data['order_phone'])){ - if( !preg_match("/.{1,70}/i",$data['order_phone']) ) $this->error[] = " ( 70 )."; - } - - if(isset($data['user_name'])){ - if( !preg_match("/.{1,100}/i",$data['user_name']) ) $this->error[] = " ( 100 )."; - } - - if(isset($data['user_email'])){ - if( !preg_match("/.{1,80}/i",$data['user_email']) ) $this->error[] = " e-mail ( 80 )."; - } - - if(isset($data['user_login'])){ - if( !preg_match("/.{1,100}/i",$data['user_login']) ) $this->error[] = " ( 100 )."; - elseif( $this->isLoginUser($data['user_login']) ) $this->error[] = " !"; - } - - if(isset($data['you_login'])){ - if( !$this->isLoginUser($data['you_login']) ) $this->error[] = " !"; - } - - if(isset($data['user_psw'])){ - if( !preg_match("/.{1,100}/i",$data['user_psw']) ) $this->error[] = " ( 100 )."; - } - - return ( count($this->error) ) ? true : false; - } - - function deleteRubric($id,$field="id"){ - $sql = "select pic,id,parent_id from catalogs_rubrics where $field=?"; - $res = $this->db->getAll($sql,array($id),DB_FETCHMODE_ASSOC); - foreach($res as $row){ - @unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/rubrics/{$row['pic']}"); - $sql = "delete from catalogs_rubrics where id=?"; - $this->db->query($sql,array($row['id'])); - $this->deleteFiltersRubric_id($row['id']); - $this->deleteYearsRubric_id($row['id']); - $this->deleteProductsRubric($row['id']); - $this->deleteRubric($row['id'],"parent_id"); - } - } - - function deleteProductPics($id,$pics = array('pic_big','pic')){ - $sql = "select pic_big,pic from catalogs_products where id=?"; - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); - // if(in_array('pic_big',$pics))@unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/products/big/{$row['pic_big']}"); - if(in_array('pic',$pics))@unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/products/{$row['pic']}"); - } - - function deleteProduct($id){ - $this->deleteProductPics($id); - $sql = "delete from catalogs_products where id=?"; - $this->db->query($sql,array($id)); - $this->delete_keysProductsFilters($id); - $this->delete_keysProductsAkcii($id); - $this->delete_keysProductsYears($id); - $this->delete_keysProductsCities($id); - $this->deleteProductModifications($id); - } - - function deleteProductsRubric($id){ - $res = $this->db->getAll("select id from catalogs_products where rubric_id=?",array($id),DB_FETCHMODE_ASSOC); - foreach($res as $row){ - $this->deleteProduct($row['id']); - } - } - - - function PhotosCheck($id_s,$check_s = array()){ - $sql = "UPDATE gallery SET active = ? WHERE id =?"; - - foreach($id_s as $id){ - $this->db->query($sql,array(0,$id)); - } - if(count($check_s)){ - foreach($check_s as $id){ - $this->db->query($sql,array(1,$id)); - } - } - } - - function viewRubrics($id = 0,$parent_id = 0){ // print $parent_id."
"; - global $rubrics; - $sql = "select a.*,(select b.id from catalogs_rubrics b where b.parent_id=a.id order by b.sort limit 1) as r_pid from catalogs_rubrics a where a.parent_id=? group by a.id order by a.sort asc"; - $res = $this->db->query($sql,array($id)); - while ($res->fetchInto($row,DB_FETCHMODE_ASSOC)){ - $rubrics[] = $row; //print $row['id']."
"; - - if(in_array($row['id'],$this->getParentIdRubric($parent_id))){$this->viewRubrics($row['id']);} - // if($row['level']==0){$this->viewRubrics($row['id']);} - } - $this->tpl->assign("rubrics",$rubrics); - } - - function getParentIdRubric($id){ - //$ids = array(); - global $ids; - if(!count($ids))$ids = array(); - while($id>0){ - $row = $this->db->getRow('select id,parent_id from catalogs_rubrics where id=?',array($id),DB_FETCHMODE_ASSOC); - //if(isset($row['id'])) - $ids[] = $row['id']; - $id = $row['parent_id']; - } //print_r($ids); - // sort($ids); - return $ids; - } - - function viewRubricsAll($id = 0){ - global $rubrics; - $sql = "select * from catalogs_rubrics where parent_id=? order by sort asc"; - $res = $this->db->query($sql,array($id)); - while ($res->fetchInto($row,DB_FETCHMODE_ASSOC)){ - $rubrics[] = $row; - $this->viewRubricsAll($row['id']); - } - $this->tpl->assign("rubrics",$rubrics); - } - - - function viewRubrics_begin($item = 'parents'){ - $sql = "select a.*,(select b.id from catalogs_rubrics b where b.parent_id=a.id order by b.sort limit 1) as r_pid from catalogs_rubrics a where a.parent_id=? order by a.sort asc"; - $row = $this->db->getAll($sql,array(0),DB_FETCHMODE_ASSOC); - foreach($row as $key=>$value){ - if($item=='parents'){ - $row[$key]['parents'] = $this->db->getAll("select * from catalogs_rubrics where parent_id=? order by sort asc",array($value['id']),DB_FETCHMODE_ASSOC); - }elseif($item=='brends'){ - $row[$key]['brends'] = $this->db->getAll("select * from catalogs_brends where rubric_id in (select id from catalogs_rubrics where parent_id=? or id=?) group by name",array($value['id'],$value['id']),DB_FETCHMODE_ASSOC); - } - } - $this->tpl->assign("catalogs_rubrics_begin",$row); - } - - function viewRubrics_parent($parent_id = 0){ - $sql = "select * from catalogs_rubrics where parent_id=? order by sort asc"; - $row = $this->db->getAll($sql,array($parent_id),DB_FETCHMODE_ASSOC); - $this->tpl->assign("catalogs_rubrics_parent",$row); - } - - function viewRubrics_parent2($rub_id){ - $parent_id = $this->getRubricParent($rub_id); - if($parent_id==0)$parent_id = $rub_id; - $sql = "select * from catalogs_rubrics where parent_id=? order by sort asc"; - $row = $this->db->getAll($sql,array($parent_id),DB_FETCHMODE_ASSOC); - $this->tpl->assign("catalogs_rubrics_parent2",$row); - } - - function viewRubricOne($id,&$row){ - $sql = "select * from catalogs_rubrics where id=?"; - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('rubric',$row); - } - - function getRubricName($id){ - $sql = "select name from catalogs_rubrics where id=?"; - return $this->db->getOne($sql,array($id)); - } - - function getRubricParent($id){ - $sql = "select parent_id from catalogs_rubrics where id=?"; - return $this->db->getOne($sql,array($id)); - } - - function SaveRubric($data,$upload){ - $table_name = "catalogs_rubrics"; - $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; - $parent_id = (isset($data['parent_id']) ? $data['parent_id'] : 0); - $fields_values = array('parent_id' => $parent_id,"level"=>($this->getLevelRubric($parent_id)+1),'sort' => $data['sort'],'name' => $data['name'],'list_name' => $data['list_name'],'sort_cost' => $data['sort_cost'],'meta_title' => $data['meta_title'],'meta_description' => $data['meta_description'],'meta_keywords' => $data['meta_keywords'],'meta_about' => $data['meta_about']); - /* - if($upload['pic']['tmp_name']){ - $fields_values['pic'] = upload_ImageResize($upload['pic'],array('width'=>"180",'height'=>"180",'upload_path'=>"./uploaded/pic/catalogs/rubrics/")); - } */ - - if($upload['pic']['tmp_name']){ - if($data['update_id']>0)$this->deletePicRubric($data['update_id']); - $uploadfile = "./uploaded/pic/catalogs/rubrics/"; - $type = substr(strrchr($upload['pic']['name'],"."),1); - $uploadname = mktime() . "." . $type; - if (!move_uploaded_file($_FILES['pic']['tmp_name'], $uploadfile . $uploadname))print" !"; - $fields_values['pic'] = $uploadname; - } - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); - } - - function deletePicRubric($id){ - $sql = "select pic from catalogs_rubrics where id=?"; - $rub = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); - @unlink("./uploaded/pic/catalogs/rubrics/{$rub['pic']}"); - } - - function getLevelRubric($id){ - $level = $this->db->getOne("select level from catalogs_rubrics where id=?",array($id)); - return ($level==null)? -1 : $level; - } - - function saveUser($data){ - $table_name = "catalogs_users"; - $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; - $fields_values = array('name' => $data['user_name'],'email' => $data['user_email'],'login' => $data['user_login'],'psw' => $data['user_psw'],'about' => $data['user_about'],'mktime'=>mktime()); - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); - } - - function updateUser($data){ - $table_name = "catalogs_users"; - $DB_AUTOQUERY = DB_AUTOQUERY_UPDATE; - $fields_values = array('name' => $data['user_name'],'email' => $data['user_email'],'login' => $data['user_login'],'psw' => $data['user_psw'],'about' => $data['user_about'],'discount'=>$data['user_discount']); - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); - } - - function updateUserID($data,$id){ - $table_name = "catalogs_users"; - $DB_AUTOQUERY = DB_AUTOQUERY_UPDATE; - $fields_values = array('name' => $data['user_name'],'email' => $data['user_email'],'psw' => $data['user_psw'],'about' => $data['user_about'],'phone' => $data['user_phone'],'phonemob' => $data['user_phonemob'],'adress' => $data['user_adress']); - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$id}"); - } - - function deleteUser($id){ - $this->db->query("delete from catalogs_users where id=?",array($id)); - $res_order_id = $this->db->getRow("select id from catalogs_orders where user_id=?",array($id),DB_FETCHMODE_ASSOC); - if(count($res_order_id)){ - foreach($res_order_id as $_id){ - $this->db->query("delete from catalogs_orders where id=?",array($_id)); - $this->db->query("delete from catalogs_orders_products where order_id=?",array($_id)); - }} - } - - function isLoginUser($login){ - return $this->db->getOne("select id from catalogs_users where login=?",array($login)); - } - - function sendLoginInfo($login){ - $user = $this->db->getRow("select * from catalogs_users where login=?",array($login),DB_FETCHMODE_ASSOC); - $mail = new PHPMailer(); - $mail->CharSet = "windows-1251"; - $mail->From = "shop@eltrade.com.ua"; - $mail->FromName = "shop@eltrade.com.ua"; - $mail->AddAddress($user['email'], $user['name']); - $mail->Subject = " "; - $msg = ""; - $msg .= ": ".$user['name']; - $msg .= "
"; - $msg .= " : ".$user['login']; - $msg .= "
"; - $msg .= " : ".$user['psw']; - $msg .= "
"; - $msg .= " , shop@eltrade.com.ua"; - - $mail->MsgHTML($msg); - - if(!$mail->Send()){echo "There has been a mail error sending to
";return false;} - $mail->ClearAddresses(); - $mail->ClearAttachments(); - } - - function isUser($login,$psw){ - $row = $this->db->getRow("select * from catalogs_users where login=? AND psw=?",array($login,$psw),DB_FETCHMODE_ASSOC); - $this->tpl->assign('user_service',$row); - return $row['id']; - } - - function viewUser($id){ - $sql = "select * from catalogs_users where id=?"; - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('user',$row); - } - - function getUserDiscount($id){ - return $this->db->getOne("select discount from catalogs_users where id=?",array($id)); - } - - function viewUsers(){ - $sql = "SELECT catalogs_users. *, COUNT(catalogs_orders.user_id) as count_orders -FROM catalogs_users LEFT JOIN catalogs_orders ON catalogs_orders.user_id=catalogs_users.id -GROUP BY catalogs_users.id -ORDER BY catalogs_users.mktime DESC"; - - $pagerOptions = Array( - 'mode' => 'Sliding', - 'delta' => 6, - 'perPage' => 10, - 'linkClass'=>"link_class", - 'curPageLinkClassName'=>"link_class_active", - 'spacesBeforeSeparator' => 1, - 'spacesAfterSeparator' => 1 - ); - $res = Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array()); - - $this->tpl->assign('usersData', $res); - } - - function viewModifications($product_id){ - $sql = "select * from catalogs_modifications where product_id=? order by id desc"; - $row = $this->db->getAll($sql,array($product_id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('modifications', $row); - } - - function viewModificationsProduct($product_id){ - $sql = "select * from catalogs_modifications where product_id=? and active>0 order by id desc"; - // $sql = "select m.* from catalogs_keys_products_cities k left join catalogs_modifications m on m.code=k.mod_code where k.product_id=? and k.count>0 order by k.mod_code desc"; - $row = $this->db->getAll($sql,array($product_id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('modifications', $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); - } - - 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['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'=>"500",'height'=>"500",'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'"); - } - - function SaveProduct($data,$upload){ - $table_name = "catalogs_products"; - $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; - $id = ($data['update_id']>0) ? $data['update_id'] : $this->db->nextId('mySequence_'.$table_name); - $fields_values = array('id'=>$id,'rubric_id'=>$data['rubric_id'],'rubric_parent_id'=>$this->getRubricParent($data['rubric_id']),'brend_id'=>$data['brend_id'],'name' => $data['name'],'about' => $data['about'],'text' => $data['text'],'strnumber' => $data['strnumber'],'cine'=>$data['cine'],'cine_last'=>$data['cine_last'],'sex'=>$data['sex'], 'mktime' => mktime(),'meta_title' => $data['meta_title'],'meta_description' => $data['meta_description'],'meta_keywords' => $data['meta_keywords'],'meta_about' => $data['meta_about'],'active' => $data['active']); - if($upload['pic']['tmp_name']){ - $delete_pics = (isset($upload['pic']['big']) && $upload['pic']['big']==true)?array('pic'):array('pic','pic_big'); - $this->deleteProductPics($id,$delete_pics); - $fields_values['pic'] = upload_ImageResize($upload['pic'],array('width'=>"144",'height'=>"144",'upload_path'=>"./uploaded/pic/catalogs/products/")); - $fields_values['pic_big'] = (isset($upload['pic']['big']) && $upload['pic']['big']==true)?$upload['pic']['name']:upload_ImageResize($upload['pic'],array('width'=>"500",'height'=>"500",'upload_path'=>"./uploaded/pic/catalogs/products/big/")); - } - - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id='$id'"); - $this->save_keysProductsFilters($id,$data); - $this->save_keysProductsYears($id,$data); - $this->save_keysProductsCities($id,$data); - $this->save_keysProductsAkcii($id,$data); - return $id; - } - - function save_keysProductsFilters($id,$data){ - $this->delete_keysProductsFilters($id); - if(!isset($data['filter']))return false; - $table_name = "catalogs_keys_products_filters"; - foreach($data['filter'] as $filter_id){ - $this->db->autoExecute($table_name,array('product_id'=>$id,'filter_id'=>$filter_id,'rubric_id'=>$data['rubric_id']),DB_AUTOQUERY_INSERT); - } - } - - function delete_keysProductsFilters($id){ - $this->db->query("delete from catalogs_keys_products_filters where product_id=?",array($id)); - } - - function save_keysProductsYears($id,$data){ - $this->delete_keysProductsYears($id); - if(!isset($data['years']))return false; - $table_name = "catalogs_keys_products_years"; - foreach($data['years'] as $filter_id){ - $this->db->autoExecute($table_name,array('product_id'=>$id,'year_id'=>$filter_id,'rubric_id'=>$data['rubric_id']),DB_AUTOQUERY_INSERT); - } - } - - function delete_keysProductsYears($id){ - $this->db->query("delete from catalogs_keys_products_years where product_id=?",array($id)); - } - - function save_keysProductsCities($id,$data){ - $this->delete_keysProductsCities($id); - if(!isset($data['city']))return false; - $table_name = "catalogs_keys_products_cities"; - foreach($data['city'] as $city_id){ - $this->db->autoExecute($table_name,array('product_id'=>$id,'city_id'=>$city_id),DB_AUTOQUERY_INSERT); - } - } - - function delete_keysProductsAkcii($id){ - $this->db->query("delete from catalogs_keys_products_akcii where product_id=?",array($id)); - } - - function save_keysProductsAkcii($id,$data){ - $this->delete_keysProductsAkcii($id); - if(!isset($data['akcii']))return false; - $table_name = "catalogs_keys_products_akcii"; - foreach($data['akcii'] as $rubric_id){ - $this->db->autoExecute($table_name,array('product_id'=>$id,'rubric_id'=>$rubric_id),DB_AUTOQUERY_INSERT); - } - } - - function delete_keysProductsCities($id){ - $this->db->query("delete from catalogs_keys_products_cities where product_id=?",array($id)); - } - - - function saveProductSizeCine($id,$data){ - $this->db->query("delete from catalogs_products_cine where product_id=?",array($id)); - foreach($data['size'] as $key=>$size){ - $this->db->autoExecute("catalogs_products_cine",array('product_id'=>$id,'size'=>$size,'cine'=>$data['cine'][$key],'metka'=>$data['size_metka'][$key],'n'=>$key),DB_AUTOQUERY_INSERT); - } - } - - - function productsIsHits($products,$hits,$tops,$headers){ - $sql = "update catalogs_products set hit=?,top=?,header=? where id=?"; - foreach($products as $id){ - if(@in_array($id,$hits))$hit = true; - else $hit = false; - if(@in_array($id,$tops))$top = true; - else $top = false; - if(@in_array($id,$headers))$header = true; - else $header = false; - $this->db->query($sql,array($hit,$top,$header, $id)); - } - } - - function productsIsHits2($data,$hits){ - $sql = "update catalogs_products set hit=?,hit_sort=? where id=?"; - foreach($data['product_id'] as $key=>$id){ - if(@in_array($id,$hits))$hit = true; - else $hit = false; - $this->db->query($sql,array($hit,$data['hit_sort'][$key],$id)); - } - } - - function viewProducts($params,$rubricsP = false,$count_modf = true){ - $search = array(); - if(isset($_GET['perPage']) && $_GET['perPage']>0 && $_GET['perPage']<=100)$perPage = $_GET['perPage'];else $perPage = 20; - if(isset($params['search_str']) && strlen($params['search_str'])>0){ - $array_string = explode(" ",trim($params['search_str'])); - $search_string = array(); - $search_string[] = "catalogs_products.name like '%{$params['search_str']}%'"; - foreach($array_string as $str){ - $search_string[] = "catalogs_products.name like '$str'"; - $search_string[] = "catalogs_products.name like'% $str %'"; - $search_string[] = "catalogs_products.name like'%$str %'"; - $search_string[] = "catalogs_products.name like'% $str%'"; - } - $search[] = "((" . implode(" OR ",$search_string) . ") OR ". sprintf("catalogs_modifications.code='%s'", $params['search_str']).")"; - } - // print_r($params); - if(isset($params['brendID']) && $params['brendID']>0)$search[] = sprintf("catalogs_products.brend_id='%d'",$params['brendID']); - if(isset($params['brend']) && strlen($params['brend'])>0)$search[] = "catalogs_products.brend_id in(".implode(",",$this->getBrendIDs_name($params['brend'])).")"; - if(isset($params['sex']) && $params['sex']>0)$search[] = sprintf("catalogs_products.sex='%d'",$params['sex']); - //if(isset($params['akcii']) && $params['akcii']>0)$search[] = sprintf("catalogs_products.hit='%d'",$params['akcii']); - if($count_modf==true)$search[] = "catalogs_products.count_modifications>0"; - if(isset($params['rubID']) && $params['rubID']>0){ - $search[] = ($rubricsP==true)?sprintf("(catalogs_products.rubric_id='%d')",$params['rubID']):sprintf("(catalogs_products.rubric_parent_id='%d' || catalogs_products.rubric_id='%d')",$params['rubID'],$params['rubID']); - } - if(isset($params['filterID'])){ - //$search[] = sprintf("catalogs_keys_products_filters.filter_id='%d'", $params['filterID']); - $search[] = "catalogs_keys_products_filters.filter_id in (".implode(",",$params['filterID']).")"; - } - if(isset($params['yearID']) && $params['yearID']>0){ - //$search[] = sprintf("catalogs_keys_products_years.year_id='%d'", $params['yearID']); - $search[] = "catalogs_keys_products_years.year_id in (".implode(",",$params['yearID']).")"; - } - $sql = "select catalogs_products.*,catalogs_brends.name as brend_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id "; - if(isset($params['akcii']) && $params['akcii']>0)$sql .= "RIGHT JOIN catalogs_keys_products_akcii ON catalogs_keys_products_akcii.product_id=catalogs_products.id "; - if(isset($params['filterID']) && $params['filterID']>0)$sql .= "LEFT JOIN catalogs_keys_products_filters ON catalogs_keys_products_filters.product_id=catalogs_products.id "; - if(isset($params['yearID']) && $params['yearID']>0)$sql .= "LEFT JOIN catalogs_keys_products_years ON catalogs_keys_products_years.product_id=catalogs_products.id "; - if(isset($params['search_str']) && strlen($params['search_str'])>0){$sql .= "LEFT JOIN catalogs_modifications ON catalogs_modifications.product_id=catalogs_products.id ";} - $sql .= "WHERE 1=1 "; - if(count($search))$sql .= "AND " . implode(" AND ",$search) . " "; - if(isset($params['akcii']) && $params['akcii']>0){$sql .= " GROUP BY catalogs_keys_products_akcii.product_id ";} - if(isset($params['search_str']) && strlen($params['search_str'])>0){$sql .= " GROUP BY catalogs_products.id ";} - $sql .= "order by "; - if(isset($_GET['sort'])){ - switch($_GET['sort']){ - case 'cine' : $sql .= " catalogs_products.cine " . (($_GET['order']=='asc')?"asc":"desc"); break; - case 'click' : $sql .= " catalogs_products.click " . (($_GET['order']=='asc')?"asc":"desc"); break; - case 'hit' : $sql .= " catalogs_products.hit_sort asc"; break; - default : $sql .= " catalogs_products.mktime desc"; - } - }else $sql .= " catalogs_products.cine desc"; - // print $sql; - $pagerOptions = Array( - 'mode' => 'Sliding', - 'delta' => 6, - 'perPage' => $perPage, - 'linkClass'=>"link_class", - 'curPageLinkClassName'=>"link_class_active", - 'spacesBeforeSeparator' => 1, - 'spacesAfterSeparator' => 1 - ); - $res = Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array()); - - $this->tpl->assign('productsData', $res); - } - - function getCineCurs($type_curs,$cine){ - $curs = array(); - - $uah = $this->db->getOne("select curs from catalogs_curs where type=?",array('uah')); - $uah_bank = $this->db->getOne("select curs from catalogs_curs where type=?",array('uah_bank')); - $usd = $this->db->getOne("select curs from catalogs_curs where type=?",array('usd')); - - switch($type_curs){ - case 'uah' : - $curs['uah'] = round($cine,2); - $curs['uah_bank'] = round(($cine/$usd)*$uah_bank,2); - $curs['usd'] = round($cine/$usd,2); - break; - case 'uah_bank' : - $curs['uah'] = round(($cine/$uah_bank)*$uah,2); - $curs['uah_bank'] = round($cine,2); - $curs['usd'] = round($cine/$uah_bank,2); - break; - case 'usd' : - $curs['uah'] = round($cine*$uah,2); - $curs['uah_bank'] = round($cine*$uah_bank,2); - $curs['usd'] = round($cine,2); - break; - } - return $curs; - } - - function viewProductsAkcii($rubric_id){ - $sql = "select catalogs_products.* from catalogs_keys_products_akcii left join catalogs_products on catalogs_products.id=catalogs_keys_products_akcii.product_id where catalogs_keys_products_akcii.rubric_id=?"; - $res = $this->db->getAll($sql,array($rubric_id),DB_FETCHMODE_ASSOC); - //print_r($res); - $this->tpl->assign('products_akcii',$res); - } - - function viewProductsHitsAll2(){ - if(isset($_GET['perPage']) && $_GET['perPage']>0 && $_GET['perPage']<=100)$perPage = $_GET['perPage'];else $perPage = 20; - $sql = "select * from catalogs_products where hit=?"; - $pagerOptions = Array( - 'mode' => 'Sliding', - 'delta' => 6, - 'perPage' => $perPage, - 'linkClass'=>"link_class", - 'curPageLinkClassName'=>"link_class_active", - 'spacesBeforeSeparator' => 1, - 'spacesAfterSeparator' => 1 - ); - $res = Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array(true)); - - $this->tpl->assign('productsData', $res); - } - - function viewProductsHits($params,$limit = 4,$curs = null){ - $search = array(); - if(isset($params['rubID']) && $params['rubID']>0)$search[] = sprintf("rubric_parent_id=%d",$params['rubID']); - $sql = "select catalogs_products.*,catalogs_brends.name as brend_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id WHERE catalogs_products.hit=? and catalogs_products.count_modifications>0 "; - if(count($search))$sql .= "AND " . implode(" AND ",$search) . " "; - $sql .= "order by catalogs_products.mktime desc"; - $res = $this->db->getAll($sql,array(true),DB_FETCHMODE_ASSOC); - $this->tpl->assign('products_hits',$res); - } - - function viewProductsTops($params,$limit = 4,$curs = null){ - $search = array(); - if(isset($params['rubID']) && $params['rubID']>0)$search[] = sprintf("rubric_parent_id=%d",$params['rubID']); - $sql = "select catalogs_products.*,catalogs_brends.name as brend_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id WHERE catalogs_products.top=? and catalogs_products.count_modifications>0 "; - if(count($search))$sql .= "AND " . implode(" AND ",$search) . " "; - $sql .= "order by catalogs_products.mktime desc"; - $res = $this->db->getAll($sql,array(true),DB_FETCHMODE_ASSOC); - $this->tpl->assign('products_top',$res); - } - - function viewProductsTopOne(){ - $count = $this->db->getOne("select count(*) from catalogs_products WHERE catalogs_products.header=?",array(true)); - $limit = 1; $round = rand(0,($count-$limit)); - $res = $this->db->getRow("select * from catalogs_products WHERE catalogs_products.header=? order by id " . ((rand(1,1000)%2) ? "asc" : "desc") . " LIMIT $round,$limit",array(true),DB_FETCHMODE_ASSOC); - $this->tpl->assign('products_top_one',$res); - } - - function viewProductsLast($limit = 1){ - $search = array(); - $sql = "select catalogs_products.*,catalogs_brends.name as brend_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id WHERE catalogs_products.active=? "; - $sql .= "order by catalogs_products.mktime desc LIMIT $limit"; - $res = $this->db->getAll($sql,array(true),DB_FETCHMODE_ASSOC); - $this->tpl->assign('products_last',$res); - } - - function viewProductsHitsAll($limit = 4){ - $sql = "select catalogs_products.*,catalogs_brends.name as brend_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id WHERE hit=? "; - $sql .= "order by mktime desc LIMIT $limit"; - $products_hits = $this->db->getAll($sql,array(true),DB_FETCHMODE_ASSOC); - $this->tpl->assign('products_hits_all',$products_hits); - } - - function viewProductOne($id,&$row){ - $sql = "select p.*,b.text as brend_text from catalogs_products p left join catalogs_brends b ON b.id=p.brend_id where p.id=?"; - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('product',$row); - } - - function viewProductNembers($str_n){ - $arr_id = explode(",",$str_n); - $products = array(); - foreach($arr_id as $id){ - $count = $this->db->getOne("select count(*) from catalogs_keys_products_filters where filter_id=?",array(trim($id))); - $limit = 1; $round = rand(0,($count-$limit)); - $products[] = $this->db->getRow("select catalogs_products.* from catalogs_keys_products_filters Left Join catalogs_products ON catalogs_products.id=catalogs_keys_products_filters.product_id where catalogs_keys_products_filters.filter_id=? order by catalogs_keys_products_filters.product_id " . ((rand(1,1000)%2) ? "asc" : "desc") . " LIMIT $round,$limit",array(trim($id)),DB_FETCHMODE_ASSOC); - } - $this->tpl->assign('products_parent',$products); - } - - function getProductSizeCine($id,&$products){ - $res = $this->db->getAll("select * from catalogs_products_cine where product_id=?",array($id),DB_FETCHMODE_ASSOC); - $i = 0; - foreach($res as $row){ - $products['size_' . $row['n']] = $row['size']; - $products['cine_' . $row['n']] = $row['cine']; - $products['metka_' . $row['n']] = $row['metka']; - $products['id_cine_' . $row['n']] = $row['id']; - $i++; - } //print_r($products); - } - /* - function getProductCine($id,$curs = null){ - $sql = "select cine from catalogs_products where id=?"; - $row = $this->db->getOne($sql,array($id)); - return $row; - }*/ - - function getProductCine($id){ - $sql = "select catalogs_products.cine from catalogs_modifications left join catalogs_products on catalogs_products.id=catalogs_modifications.product_id where catalogs_modifications.id=?"; - return $this->db->getOne($sql,array($id)); - } - - function viewProductCine($id){ - $row = $this->db->getAll("select * from catalogs_products_cine where product_id=? and cine>0 Order By n ASC",array($id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('product_cines',$row); - } - - function viewCatalogsCurs(){ - $uah = $this->db->getOne("select curs from catalogs_curs where type=?",array('uah')); - $this->tpl->assign('curs_uah',$uah); - $uah_bank = $this->db->getOne("select curs from catalogs_curs where type=?",array('uah_bank')); - $this->tpl->assign('curs_uah_bank',$uah_bank); - $usd = $this->db->getOne("select curs from catalogs_curs where type=?",array('usd')); - $this->tpl->assign('curs_usd',$usd); - } - - function saveCurs($data){ - $table_name = "catalogs_curs"; - $DB_AUTOQUERY = DB_AUTOQUERY_UPDATE; - foreach($data as $key=>$value){ - $this->db->autoExecute($table_name,array('curs'=>$value),$DB_AUTOQUERY,"type='$key'"); - } - } - - function viewVarCurs($curs){ - $this->tpl->assign('curs',$curs); - } - - function viewBasketProducts($session_basket,$curs = null,$discount = 0){ - $products = array(); $i = 0; $cineAll = 0; -// $sql = "select catalogs_products.* from catalogs_products where catalogs_products.id=?"; - $sql = "select catalogs_modifications.id,catalogs_products.cine,catalogs_products.name,catalogs_modifications.code,catalogs_modifications.size,catalogs_modifications.color,catalogs_modifications.pic,catalogs_modifications.pic_big from catalogs_modifications Left Join catalogs_products On catalogs_products.id=catalogs_modifications.product_id where catalogs_modifications.id=?"; - foreach($session_basket as $id){ - $products_count = 1; - if(count($products)){ - foreach($products as $key=>$value){ - if($value['id']==$id){$products_count=$products[$key]['products_count']+$products_count;$products[$key]['products_count']=$products_count;$products[$key]['products_cine_all']=$products[$key]['cine']*$products_count;$cineAll = $cineAll+$products[$key]['cine'];} - }} - if($products_count==1){ - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); - $products[$i] = $row; - $products[$i]['products_count']=$products_count; - $products[$i]['products_cine_all']=$products[$i]['cine']*$products_count; - $cineAll = $cineAll+$products[$i]['products_cine_all']; - $i++; - } - - } - /*print"
";
-  print_r($products);
-  print"
";*/ - $this->tpl->assign('cineAll',$cineAll); - $this->tpl->assign('cineAll_discount',$cineAll - (($cineAll*$discount)/100)); - $this->tpl->assign('basket_products',$products); //print_r($products); - } - - - function BasketUpload(&$session_basket,$proructs_count){ - $session_basket = array(); - foreach($proructs_count as $key=>$value){ - for($i=0;$i<$value;$i++){ - $session_basket[] = $key; - } - } - } - - function sendOrder($data){ - $mail = new PHPMailer(); - $mail->CharSet = "windows-1251"; - $mail->From = (strlen($data['order_email'])>0) ? $data['order_email'] : "shopextremstyle2@gmail.com"; - $mail->FromName = $data['order_name']; - $mail->AddAddress("extremstyleshop@ukr.net","extremstyleshop"); - $mail->AddAddress("shopextremstyle@gmail.com","shopextremstyle"); - $mail->Subject = " "; - $title = Mail::str_rus(" "); - $msg = ""; - foreach($data['product_id'] as $key=>$value){ - $msg .= "ID: ".$value." "; - $msg .= ": ".$data['product_name'][$key]." "; - $msg .= " : ".$data['product_cine'][$key]." "; - $msg .= ": ".$data['product_count'][$key]." "; - $msg .= " : ".$data['product_cine_all'][$key]." "; - $msg .= "
"; - } - $msg .= " : ".$data['cineAll']; - $msg .= "
"; - /* $msg .= ": ".$data['discount']." %"; - $msg .= "
"; */ - $msg .= " : ".$data['cineAll_discount']; - $msg .= "


"; - $msg .= " :"; - $msg .= "
"; - $msg .= ": ".$data['order_name']; - $msg .= "
"; - $msg .= ": ".$data['order_adress']; - $msg .= "
"; - $msg .= "E-mail: ".$data['order_email']; - $msg .= "
"; - $msg .= " : ".$data['order_phone']; - $msg .= "
"; - $msg .= " : ".$data['order_phonemob']; - $msg .= "
"; - $msg .= ": ".$data['order_comment']; -// $order_email = (strlen($data['order_email'])>0) ? $data['order_email'] : "vapila@vapila.kiev.ua"; -// Mail::send("borisenko.pavel@gmail.com",$data['order_email'],$title,Mail::str_rus($msg)); - $mail->MsgHTML($msg); - if(!$mail->Send()){echo "There has been a mail error sending to
";return false;} - $mail->ClearAddresses(); - $mail->ClearAttachments(); - - $this->sendOrderXML($data); - } - - - function sendOrderXML($data){ - $mail = new PHPMailer(); - $mail->CharSet = "windows-1251"; - $mail->From = (strlen($data['order_email'])>0) ? $data['order_email'] : "shopextremstyle2@gmail.com"; - $mail->FromName = $data['order_name']; - $mail->AddAddress("extremshop@portal.myoffice.biz.ua","extremshop"); - $mail->Subject = "xml "; - $order_email = (strlen($data['order_email'])>0) ? $data['order_email'] : "shopextremstyle2@gmail.com"; - $xml = ''; - $xml .= ''; - foreach($data['product_id'] as $key=>$value){ - $xml .= ""; - $xml .= "".$data['product_name2'][$key].""; - $xml .= "".$data['product_size'][$key].""; - $xml .= "".$data['product_color'][$key].""; - $xml .= "".$data['product_price'][$key].""; - $xml .= "".$data['product_count'][$key].""; - $xml .= ""; - } - $xml .= ''; - $xml .= ''.$data['order_name'].''; - $xml .= ''.$data['order_phone'].''; - $xml .= ''.$data['order_email'].''; - $xml .= ''; - $xml .= ''; - $xml .= ''; - $xml .= '
'.$data['order_adress'].'
'; - $xml .= ''; - $xml .= '
'; - $xml .= ''.$data['order_comment'].''; - $xml .= '
'; - $tmpfname = tempnam("tmp", "FOO"); - $handle = fopen($tmpfname, "w"); - fwrite($handle, $xml); - $mail->AddAttachment($tmpfname, 'order.xml'); - if(!$mail->Send()){echo "There has been a mail error sending to
";return false;} - fclose($handle); - unlink($tmpfname); - $mail->ClearAddresses(); - $mail->ClearAttachments(); - // Mail::send("borisenko.pavel@gmail.com",$order_email,"Order",Mail::str_rus($xml)); - // Mail::send("andrey.belyy@gmail.com",$order_email,"Order",Mail::str_rus($xml)); - } - - function saveOrder($data,$userID){ - $table_name = "catalogs_orders"; - if(isset($data['update_id']) && $data['update_id']>0){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$id = $data['update_id']; $where = sprintf("id='%d'",$id);} - else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$id = $this->db->nextId('mySequence_'.$table_name);$where = null;} - $fields_values = array('id'=>$id,'user_id'=>$userID,'name' => $data['order_name'],'email' => $data['order_email'],'adress' => $data['order_adress'],'phone' => $data['order_phone'],'phonemob' => $data['order_phonemob'],'comment' => $data['order_comment'],'mktime'=>mktime()); - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,$where); - if(isset($data['product_id'])){ - foreach($data['product_id'] as $key=>$value){ - $this->db->autoExecute("catalogs_orders_products",array('order_id'=>$id,'product_id'=>$value,'count'=>$data['product_count'][$key]),DB_AUTOQUERY_INSERT); - } - } - } - - function deleteOrder($id){ - $this->db->query("delete from catalogs_orders where id=?",array($id)); - $this->db->query("delete from catalogs_orders_products where order_id=?",array($id)); - } - - function updateOrder($data){ - $table_name = "catalogs_orders"; - $fields_values = array('name' => $data['order_name'],'email' => $data['order_email'],'adress' => $data['order_adress'],'phone' => $data['order_phone'],'comment' => $data['order_comment'],'mktime'=>mktime()); - if(isset($data['order_active']))$fields_values['active'] = 1; - else $fields_values['active'] = 0; - $this->db->autoExecute($table_name,$fields_values,DB_AUTOQUERY_UPDATE,sprintf("id='%d'",$data['update_id'])); - } - - function updateOrderProducts($data){ - foreach($data['product_id'] as $key=>$value){ - if($data['product_count'][$value]<1){$this->db->query("delete from catalogs_orders_products where order_id='{$data['order_id']}' AND product_id='$value'");} - else{$this->db->autoExecute("catalogs_orders_products",array('count'=>$data['product_count'][$value]),DB_AUTOQUERY_UPDATE,"order_id='{$data['order_id']}' AND product_id='$value'");} - } - } - - function viewOrder($id){ - $row = $this->db->getRow("select * from catalogs_orders where id=?",array($id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('order', $row); - } - - function viewOrderProducts($order_id){ - $res = $this->db->getAll("select p.*,op.*,pr.name,pr.pic,pr.pic_big from catalogs_orders_products op Left join catalogs_products_cine p On p.id=op.product_id Left join catalogs_products pr On pr.id=p.product_id where order_id=?",array($order_id),DB_FETCHMODE_ASSOC); - $sum = 0; - foreach($res as $key=>$row){ - $sum = $sum + ($row['cine']*$row['count']); - $res[$key]['cine_all'] = ($row['cine']*$row['count']); - } - $discount = $this->db->getOne('select catalogs_users.discount from catalogs_orders Left join catalogs_users on catalogs_users.id=user_id where catalogs_orders.id=?',array($order_id)); - $this->tpl->assign('cine', array('sum'=>$sum,'discount'=>$discount,'sum_discount'=>($sum - (($sum*$discount)/100)) )); - $this->tpl->assign('basket_products', $res); - } - - function viewOrders($params = array()){ - $search = array(); - if(isset($params['userID']) && $params['userID']>0)$search[] = sprintf("catalogs_orders.user_id='%d'",$params['userID']); - $sql = "select catalogs_orders.*,catalogs_users.login as user_login,catalogs_users.discount from catalogs_orders Left join catalogs_users on catalogs_users.id=user_id WHERE 1=1 "; - if(count($search))$sql .= "AND " . implode(" AND ",$search) . " "; - $sql .= " order by mktime desc"; - $pagerOptions = Array( - 'mode' => 'Sliding', - 'delta' => 16, - 'perPage' => 50, - 'linkClass'=>"link_class", - 'curPageLinkClassName'=>"link_class_active", - 'spacesBeforeSeparator' => 1, - 'spacesAfterSeparator' => 1 - ); - $res = Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array()); - foreach($res['data'] as $key=>$value){ - $res['data'][$key]['sum'] = $this->getOrderProductsSum($value['id']); - $res['data'][$key]['sum_discount'] = $res['data'][$key]['sum'] - (($res['data'][$key]['sum']*$value['discount'])/100); - } - $this->tpl->assign('ordersData', $res); - } - - function getOrderProductsSum($order_id){ - $res = $this->db->getAll("select op.*,p.cine from catalogs_orders_products op Left join catalogs_products_cine p On p.id=op.product_id where op.order_id=?",array($order_id),DB_FETCHMODE_ASSOC); - // print_r($res); - $sum = 0; - foreach($res as $row){ - $sum = $sum + ($row['cine']*$row['count']); - } - return $sum; - } - - function SaveBrend($data){ - $table_name = "catalogs_brends"; - $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; - $fields_values = array('rubric_id'=>$data['rubric_id'],'name'=>$data['brend'],'text'=>$data['text'],'seo'=>$data['seo'],'sort'=>$data['sort'],'meta_title'=>$data['meta_title'],'meta_description'=>$data['meta_description'],'meta_keywords'=>$data['meta_keywords']); - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); - } - - function viewBrends($type = false){ - $sql = "select b.*,r.name as rubric from catalogs_brends b left join catalogs_rubrics r On r.id=b.rubric_id "; - if($type!=false)$sql .= "where b.type='$type'"; - $sql .= " Order by b.sort Asc"; - $row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); - $this->tpl->assign('brends',$row); - } - - function viewBrendsGroup($params = array()){ - $sql = "select * from catalogs_brends where 1=1 "; - if(isset($params['rubID'])){ - $rubric_id = $params['rubID'];//$this->getRubricParent($params['rubID']); - $rubric_id = ($rubric_id==0)?$params['rubID']:$rubric_id; - $sql .= "and rubric_id='".$rubric_id."'"; - } - $sql .= " Group by name Order by sort Asc"; - $row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); - $this->tpl->assign('brends',$row); - } - - function SaveCity($data){ - $table_name = "catalogs_cities"; - $DB_AUTOQUERY = (isset($data['update_id']) && $data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; - $fields_values = array('name'=>$data['name']); - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); - return mysql_insert_id(); - } - - function is_city($name){ - return $this->db->getOne('select id from catalogs_cities where name=?',array($name)); - } - - function viewCityMod($code){ - $sql = "select c.name from catalogs_keys_products_cities k left join catalogs_cities c on c.id=k.city_id where k.mod_code=? and k.count>0"; - $row = $this->db->getCol($sql,"name",array($code)); - return implode(', ',$row); - } - - function viewCitiesProductID($id){ - $sql = "select city_id from catalogs_keys_products_cities where product_id=?"; - $row = $this->db->getCol($sql,"city_id",array($id)); - $this->tpl->assign('product_cities',$row); - } - - function viewCities($type = false){ - $sql = "select * from catalogs_cities "; - $sql .= " Order by name Asc"; - $row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); - $this->tpl->assign('cities',$row); - } - - function viewCitiesProduct($id){ - $sql = "select catalogs_cities.* from catalogs_keys_products_cities left join catalogs_cities on catalogs_cities.id=catalogs_keys_products_cities.city_id Where catalogs_keys_products_cities.product_id=? "; - $row = $this->db->getAll($sql,array($id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('cities',$row); - } - - function viewCity($id){ - $row = $this->db->getRow("select * from catalogs_cities where id=?",array($id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('city', $row); - } - - function deleteCity($id){ - $this->db->query("delete from catalogs_cities where id=?",array($id)); - $this->delete_keysCitiesProduct($id); - } - - function delete_keysCitiesProduct($id){ - $sql = "delete from catalogs_keys_products_cities where city_id=?"; - $this->db->query($sql,array($id)); - } - - function SaveYears($data){ - $table_name = "catalogs_years"; - foreach($data['filter'] as $key=>$name){ - if(strlen($name)>0){ - if(isset($data['update_id'][$key]) && $data['update_id'][$key]>0){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$where = "id='{$data['update_id'][$key]}'";} - else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$where = "";} - $this->db->autoExecute($table_name,array('name'=>$name,'rubric_id'=>$data['rubric_id']),$DB_AUTOQUERY,$where); - } - } - } - - function viewYearsProductID($id){ - $sql = "select year_id from catalogs_keys_products_years where product_id=?"; - $row = $this->db->getCol($sql,"year_id",array($id)); - $this->tpl->assign('product_years',$row); - } - - function viewYears($rubric_id){ - $row = $this->db->getAll("select * from catalogs_years where rubric_id=? order by id",array($rubric_id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('years', $row); - } - - function deleteYearsRubric_id($id){ - $this->db->query("delete from catalogs_years where rubric_id=?",array($id)); - $this->delete_keysYearsRubric($id); - } - - function delete_keysYearsRubric($id){ - $sql = "delete from catalogs_keys_products_years where rubric_id=?"; - $this->db->query($sql,array($id)); - } - - function deleteYear($id){ - $this->db->query("delete from catalogs_years where id=?",array($id)); - $this->delete_keysYearsProduct($id); - } - - function delete_keysYearsProduct($id){ - $sql = "delete from catalogs_keys_products_years where year_id=?"; - $this->db->query($sql,array($id)); - } - - function SaveFilters($data){ - $table_name = "catalogs_filters"; - foreach($data['filter'] as $key=>$name){ - if(strlen($name)>0){ - if(isset($data['update_id'][$key]) && $data['update_id'][$key]>0){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$where = "id='{$data['update_id'][$key]}'";} - else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$where = "";} - $this->db->autoExecute($table_name,array('name'=>$name,'rubric_id'=>$data['rubric_id'],"sort"=>$data['sort'][$key]),$DB_AUTOQUERY,$where); - } - } - } - - function viewFilterProductID($id){ - $sql = "select filter_id from catalogs_keys_products_filters where product_id=?"; - $row = $this->db->getCol($sql,"filter_id",array($id)); - $this->tpl->assign('product_filters',$row); - } - - function deleteFilter($id){ - $this->db->query("delete from catalogs_filters where id=?",array($id)); - $this->delete_keysFilterProduct($id); - } - - function deleteFiltersRubric_id($rubric_id){ - $this->db->query("delete from catalogs_filters where rubric_id=?",array($rubric_id)); - $this->delete_keysFilterRubric($rubric_id); - } - - function delete_keysFilterProduct($id){ - $sql = "delete from catalogs_keys_products_filters where filter_id=?"; - $this->db->query($sql,array($id)); - } - - function delete_keysFilterRubric($id){ - $sql = "delete from catalogs_keys_products_filters where rubric_id=?"; - $this->db->query($sql,array($id)); - } - - function viewFilters($rubric_id){ - $row = $this->db->getAll("select * from catalogs_filters where rubric_id=? order by sort",array($rubric_id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('filters', $row); - } - - function viewBrend($id){ - $row = $this->db->getRow("select * from catalogs_brends where id=?",array($id),DB_FETCHMODE_ASSOC); - $this->tpl->assign('brend', $row); - } - - function viewBrendName($name){ - $name = iconv("utf-8", "windows-1251", $name); - $sql = "select * from catalogs_brends where name=? and seo>'' limit 1"; - $row = $this->db->getRow($sql,array($name),DB_FETCHMODE_ASSOC); - $this->tpl->assign('brend_seo', $row); - } - - function getBrendIDs_name($name){ $name = iconv("utf-8", "windows-1251", $name); - $sql = "select id from catalogs_brends where name=?"; - return $this->db->getCol($sql,"id",array($name)); - } - - function deleteBrend($id){ - $this->db->query("delete from catalogs_brends where id=?",array($id)); - } - - function viewAkciiProductID($id){ - $sql = "select rubric_id from catalogs_keys_products_akcii where product_id=?"; - $row = $this->db->getCol($sql,"rubric_id",array($id)); - $this->tpl->assign('product_akcii',$row); - } - - function import_saveRubric($name,$parent_id){ - $id = $this->db->getOne("select id from catalogs_rubrics where name=? and parent_id=?",array($name,$parent_id)); - if( !$id ){ - $this->db->autoExecute("catalogs_rubrics",array('name'=>$name,'parent_id' => $parent_id,"level"=>($this->getLevelRubric($parent_id)+1)),DB_AUTOQUERY_INSERT); - return mysql_insert_id(); - } - return $id; - } - - function import_saveBrend($name,$rubric_id){ - //getRubricParent(); - $id = $this->db->getOne("select id from catalogs_brends where name=? and rubric_id=?",array($name,$rubric_id)); - if( !$id ){ - $this->db->autoExecute("catalogs_brends",array('rubric_id'=>$rubric_id,'name'=>$name),DB_AUTOQUERY_INSERT); - return mysql_insert_id(); - } - return $id; - } - - function import_saveFilters($rubric_id,$str){ - if(!$str)return array(); - $row_str = explode(",",trim($str)); - $arr_id = array(); - foreach($row_str as $str){ - $name = trim($str); - $id = $this->db->getOne("select id from catalogs_filters where rubric_id=? and name=?",array($rubric_id,$name)); - if( !$id ){ - $this->db->autoExecute("catalogs_filters",array('rubric_id'=>$rubric_id,'name'=>$name),DB_AUTOQUERY_INSERT); - $id = mysql_insert_id(); - } - $arr_id[] = $id; - } - return $arr_id; - } - - function import_saveYear($rubric_id,$name){ - $id = $this->db->getOne("select id from catalogs_years where rubric_id=? and name=?",array($rubric_id,$name)); - if( !$id ){ - $this->db->autoExecute("catalogs_years",array('rubric_id'=>$rubric_id,'name'=>$name),DB_AUTOQUERY_INSERT); - $id = mysql_insert_id(); - } - return ($id)?array($id):array(); - } - - function import_updateProductCine($product_id,$row,$line=''){ //print"
";print_r($row);print"
"; - IF($row[3]>0){ - if($row[2]<1){$cine=$row[1];$cine_last=0;} - else {$cine=$row[2];$cine_last=(($row[1]>0)?$row[1]:$row[2]);} - $this->db->autoExecute("catalogs_products",array('cine'=>$cine,'cine_last'=>$cine_last),DB_AUTOQUERY_UPDATE,"id='$product_id'"); - } - /* if($this->getModificationActive($row[0])!=$row[3]){ - $prefix = ($row[3]==0)?'-':'+'; - $this->updateProductModificationCountPrefix($product_id,$prefix); - } */ - $city = trim($row[4]); - if(strlen($city)>0){ //print $city; - $city_id = $this->is_city($city); - if(!$city_id){$city_id = $this->SaveCity(array('name'=>$city));} - if($this->getKeysModificationCity($row[0], $city_id)){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$where = "mod_code='".$row[0]."' and city_id='".$city_id."'";} - else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$where = null;} - //print $city_id .'--'.$where."
"; - $s = $this->db->autoExecute("catalogs_keys_products_cities",array('count'=>$row[3],'product_id'=>$product_id,'mod_code'=>$row[0],'city_id'=>$city_id),$DB_AUTOQUERY,$where); - // if (PEAR::isError($s)) die($s->getMessage()); - } - $active = $this->db->getOne("select count(*) from catalogs_keys_products_cities where mod_code=? and count>0",array($row[0])); - if($this->db->getOne("select count(*) from catalogs_modifications where code=?",array($row[0]))>0){ - $this->db->autoExecute("catalogs_modifications",array('active'=>$active,'is_update'=>1,'prefix'=>$row[5]),DB_AUTOQUERY_UPDATE,"code='".$row[0]."'"); - }else{ - $this->saveCsvMod($line); - } - } - - function saveCsvMod($line){ - $tmpfname = $_SERVER['DOCUMENT_ROOT'] . "/tmp/noDB_mod.csv"; - $handle = fopen($tmpfname, "a"); - fwrite($handle,$line); - fclose($handle); - } - - function getKeysModificationCity($code, $city_id){ - return $this->db->getOne("select count(*) from catalogs_keys_products_cities where mod_code=? and city_id=?", array($code, $city_id)); - } - - function getProductID($name){ - $id = $this->db->getOne("select id from catalogs_products where name=?",array($name)); - return $id; - } - - function getModificationActive($code){ - 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 updateProductModificationCountPrefix($product_id,$prefix = "+"){ -// print $product_id; - $sql = "UPDATE catalogs_products SET count_modifications = count_modifications $prefix 1 WHERE id =?"; - $this->db->query($sql,array($product_id)); - } - - function exportCSV(){ - $tmpfname = "tmp/price.csv"; - $handle = fopen($tmpfname, "w"); - // fwrite($handle, $xml); - $res = $this->db->getAll('select p.id,p.rubric_id,r.name,r2.name,b.name as brend,p.name,p.about,p.text,null,p.sex,null,p.cine,p.cine_last,p.strnumber,p.active,p.pic_big from catalogs_products p left join catalogs_rubrics r on r.id=p.rubric_id left join catalogs_rubrics r2 on r2.id=p.rubric_parent_id left join catalogs_brends b on b.id=p.brend_id',array()); - foreach($res as $key=>$row){ - $list = $row; - $mod_res = $this->db->getAll('select code,size,color,pic_big,active from catalogs_modifications where product_id=?',array($row[0])); - foreach($mod_res as $mod_row){$list[] = implode('=',$mod_row);} - - $f_row = $this->db->getCol("select name from catalogs_filters where rubric_id=?",'name',array($list[1])); - $list[8]=implode(',',$f_row); - - switch($list[9]){ - case 1 : $list[9] = ''; break; - case 2 : $list[9] = ''; break; - case 3 : $list[9] = ''; break; - case 4 : $list[9] = ''; break; - default : $list[9] = ''; break; - } - - $y_row = $this->db->getCol("select name from catalogs_years where rubric_id=? order by id desc limit 1",'name',array($list[1])); - $list[10]=implode(',',$y_row); - - - unset($list[0]);unset($list[1]); - //print_r($list);exit; - File_FGetCSV::fputcsv($handle,$list,';'); - } - - fclose($handle); - - $params = array( - 'file' => $tmpfname, - 'contenttype' => 'application/xls', - 'contentdisposition' => array(HTTP_DOWNLOAD_ATTACHMENT, 'price.csv'), - 'cache' => false - ); - $error = HTTP_Download::staticSend($params, false); // - if ($error === true) { - // , - } - - unlink($tmpfname); - } - - function exportModCSV(){ - $tmpfname = "tmp/price_mod.csv"; - $handle = fopen($tmpfname, "w"); - $res = $this->db->getAll('select m.code,p.cine,p.cine_last,m.active,null,m.prefix,m.is_update From catalogs_modifications m Left join catalogs_products p on p.id=m.product_id'); - foreach($res as $key=>$row){ - File_FGetCSV::fputcsv($handle,$row,';'); - } - fclose($handle); - $params = array( - 'file' => $tmpfname, - 'contenttype' => 'application/xls', - 'contentdisposition' => array(HTTP_DOWNLOAD_ATTACHMENT, 'file_1.csv'), - 'cache' => false - ); - $error = HTTP_Download::staticSend($params, false); // - if ($error === true) { - // , - } - - unlink($tmpfname); - $this->db->autoExecute("catalogs_modifications",array('is_update'=>0),DB_AUTOQUERY_UPDATE); - } - - 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"
";
- 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]);
-   switch($row_line[7]){
-    case '' : $pruduct_sex = 1; break;
-    case '' : $pruduct_sex = 2; break;
-    case '' : $pruduct_sex = 3; break;
-    case '' : $pruduct_sex = 4; break;
-    default : $pruduct_sex = 0; break;
-   }
-   $pruduct_date = trim($row_line[8]);
-   $pruduct_cine = trim($row_line[9]);
-   $pruduct_cine_last = trim($row_line[10]);
-   if($pruduct_cine<1){$pruduct_cine=$pruduct_cine_last;$pruduct_cine_last=0;}
-   
-   $pruduct_strnumber = trim($row_line[11]);
-   $pruduct_active = trim($row_line[12]);
-   $pruduct_pic_tmp = trim($row_line[13]);
-   $pruduct_update_id = $this->getProductID($pruduct_name);
-   $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,
-                              'sex'=>$pruduct_sex,
-                              'date'=>$pruduct_date,
-                              'cine'=>$pruduct_cine,
-                              'cine_last'=>$pruduct_cine_last,
-                              '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]),
-                              'years'=>$this->import_saveYear($rubric_parent_id,$pruduct_date),
-                              'akcii'=>array(),
-                              'update_id'=>$pruduct_update_id),
-                              $upload_pruduct
-                        );
-   $this->deleteProductModifications($product_id,true);
-   $m_i = 0;
-   for($i=14;$i0){
-     $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;
-
-     $this->SaveModification(
-            array('product_id'=>$product_id,
-                  'code'=>$row_mod[0],
-                  'size'=>$row_mod[1],
-                  '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);
-   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;
-  foreach($arr_line as $line){
-     $row_line = explode(";",$line);
-     $this->import_updateProductCine($this->getModificationProduct_id($row_line[0]),$row_line,$line);
-     if(($i%30)==0)sleep(1);
-     $i++;
-   //  print_r($row_line);
-  }//print"
"; - $this->updateCountModificationProducts(); - } - - 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;
-  foreach($arr_line as $line){
-     $row_line = explode(";",$line);
-     $this->import_updateProductCine($this->getModificationProduct_id($row_line[0]),$row_line,$line);
-     if(($i%30)==0)sleep(1);
-     $i++;
-   //  print_r($row_line);
-  }//print"
"; - //$this->updateCountModificationProducts(); - } - - function updateCountModificationProducts(){ - $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++; - } - } - - function config_update($id,$value){ - $this->db->autoExecute("catalogs_config",array('value'=>$value),DB_AUTOQUERY_UPDATE,"id='".$id."'"); - } - - function view_config_value($id){ - $r = $this->db->getOne("select value from catalogs_config where id=?",$id); - $this->tpl->assign("config",$r); - return $r; - } - - function displayCatalogsCurs(){ - $this->tpl->assign("tpl",'catalogs_curs.tpl'); - } - - function displayCatalogs(){ - $this->tpl->assign("tpl",'catalogs.tpl'); - } - - function displayProducts(){ - $this->tpl->assign("tpl",'catalogs_products.tpl'); - } - - function displayProductsTops(){ - $this->tpl->assign("tpl",'catalogs_products_tops.tpl'); - } - - function displayProductsHits(){ - $this->tpl->assign("tpl",'catalogs_products_hits.tpl'); - } - - function displayProductsHitsAll(){ - $this->tpl->assign("tpl",'catalogs_products_hits_all.tpl'); - } - - function displayBasket($count_products,$cine_products,$cine_products_discount,$discount){ - $this->tpl->assign("count_products",$count_products); - $this->tpl->assign("cine_products",$cine_products); - $this->tpl->assign("cine_products_discount",$cine_products_discount); - $this->tpl->assign("discount",$discount); - $this->tpl->display('basket.tpl'); - } - - function displayProduct(){ - $this->tpl->assign("tpl",'catalogs_product.tpl'); - } - - function displayProductBasket(){ - $this->tpl->assign("tpl",'catalogs_basket.tpl'); - } - - function displayBrends(){ - $this->tpl->assign("tpl",'catalogs_brends.tpl'); - } - - function displayCities(){ - $this->tpl->assign("tpl",'catalogs_cities.tpl'); - } - - function displayProductBasketSend(){ - $this->tpl->assign("tpl",'catalogs_basket_send.tpl'); - } - - function displayReg(){ - $this->tpl->assign("tpl",'catalogs_reg.tpl'); - } - - function displayEditUser(){ - $this->tpl->assign("tpl",'catalogs_user_edit.tpl'); - } - - function displayNoPsw(){ - $this->tpl->assign("tpl",'catalogs_nopsw.tpl'); - } - - function displayOrders(){ - $this->tpl->assign("tpl",'catalogs_orders.tpl'); - } - - function displayOrder(){ - $this->tpl->assign("tpl",'catalogs_order.tpl'); - } - - function displayUsers(){ - $this->tpl->assign("tpl",'catalogs_users.tpl'); - } - - function displayUser(){ - $this->tpl->assign("tpl",'catalogs_user.tpl'); - } - - function displayFilters(){ - $this->tpl->assign("tpl",'catalogs_filters.tpl'); - } - - function displayYears(){ - $this->tpl->assign("tpl",'catalogs_years.tpl'); - } - - function displayWinProducts(){ - $this->tpl->display('catalogs_win_products.tpl'); - } - - function displayModifications(){ - $this->tpl->assign("tpl",'catalogs_modifications.tpl'); - } - - function displayImport(){ - $this->tpl->assign("tpl",'catalogs_import.tpl'); - } - - function displayImportCine(){ - $this->tpl->assign("tpl",'catalogs_import_cine.tpl'); - } - - function displayAkcii(){ - $this->tpl->assign("tpl",'catalogs_akcii.tpl'); - } - -} -?> -- libgit2 0.21.4