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( !preg_match("/^(\+380)[0-9]+$/i",$data['order_phone']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Ìîáèëüíûé òåëåôîí (ôîðìàò: +380XXXXXXXXX).";
}
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";
$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){ 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')",$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_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 ); $res = Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array()); $this->tpl->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_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 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_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 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 .= "
";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) -
"; $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;$i"; } function importCSV_cine($upload){ if($upload['file']['name']!="file_1.csv"){print"Îøèáêà! Òîëüêî file_1.csv";exit;} $arr_line = file($upload['file']['tmp_name']); //print"0){ $row_mod = explode("=",$arr_mod); $upload_mod = (strlen($row_mod[3])>0 && is_file("./uploaded/pic/catalogs/modifications/big/".$row_mod[3]))?array('pic'=>array('tmp_name'=>"./uploaded/pic/catalogs/modifications/big/".$row_mod[3],'name'=>$row_mod[3],'big'=>true)):null; $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"
"; $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'); } } ?>