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 viewYearsProduct($id){
$sql = "select y.* from catalogs_keys_products_years k LEFT JOIN catalogs_years y ON y.id=k.year_id where k.product_id=?";
$row = $this->db->getAll($sql,array($id),DB_FETCHMODE_ASSOC);
$this->tpl->assign('product_years',$row);
}
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,$filters = null){
$search = array();
if(isset($_GET['filter']) && count($_GET['filter'])>0)$filter = $this->seralizeFilter($_GET['filter']);
if(isset($filter['f']) && count($filter['f'])>0){
$search[] = "catalogs_keys_products_filters.filter_id in (".implode(",",$filter['f']).")";
}
if(isset($filter['s']) && count($filter['s'])>0){
$search[] = "catalogs_modifications.size in (".implode(",",$filter['s']).")";
}
if(isset($filter['r']) && count($filter['r'])>0){
$search[] = "m2.rost in (".implode(",",$filter['r']).")";
}
if(isset($_GET['new']) && $_GET['new']>0)$search[] = sprintf("p.active='%d'",$_GET['new']);
if(isset($_GET['top']) && $_GET['top']>0)$search[] = sprintf("p.top='%d'",$_GET['top']);
if(isset($_GET['akciiID']) && $_GET['akciiID']>0)$search[] = sprintf("p.akcii_id>'%d'",0);
if(isset($_GET['brend']) && strlen($_GET['brend'])>0)$search[] = "p.brend_id in(".implode(",",$this->getBrendIDs_name($_GET['brend'])).")";
/* if(isset($_GET['sex']) && strlen($_GET['sex'])>0){
$sex = array('male'=>1,'female'=>2,'child'=>3,'unisex'=>4);
$search[] = sprintf("p.sex='%d'",$sex[$_GET['sex']]);
} */
if(isset($_GET['sex']) && strlen($_GET['sex'])>0){
$sex = $this->seralizeSex($_GET['sex']);
$search[] = "s.sex IN (" . implode(",",$sex) . ")";
}
if(strlen($filters)>0 && !isset($filter['f'])){
$search[] = "catalogs_keys_products_filters.filter_id in (".$filters.")";
}
$sql = "select y.* from catalogs_products p, catalogs_keys_products_years k LEFT JOIN catalogs_years y ON y.id=k.year_id ";
if(isset($filter['f']) && count($filter['f'])>0)$sql .= "LEFT JOIN catalogs_keys_products_filters ON catalogs_keys_products_filters.product_id=k.product_id ";
if(isset($filter['s']) && count($filter['s'])>0){$sql .= "LEFT JOIN catalogs_modifications ON catalogs_modifications.product_id=k.product_id and catalogs_modifications.active=1 ";}
if(isset($filter['r']) && count($filter['r'])>0){$sql .= "LEFT JOIN catalogs_modifications m2 ON m2.product_id=k.product_id and m2.active=1 ";}
if(strlen($filters)>0 && !isset($filter['f'])){
$sql .= "LEFT JOIN catalogs_keys_products_filters ON catalogs_keys_products_filters.product_id=k.product_id ";
}
if(isset($_GET['sex']) && strlen($_GET['sex'])>0){$sql .= "LEFT JOIN catalogs_keys_products_sex s ON s.product_id=k.product_id ";}
$sql .= "where p.id=k.product_id and p.count_modifications>0 ";
if($filters==null)$sql .= " and p.rubric_id='".$rubric_id."' ";
if(count($search))$sql .= "AND " . implode(" AND ",$search) . " ";
$sql .= " GROUP BY k.year_id order by y.name desc";
// print $sql;
$row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC);
$this->tpl->assign('years', $row);
}
function viewYearsAll($rubric_id){
$sql = "SELECT * FROM catalogs_years WHERE rubric_id=? ORDER BY id asc ";
$row = $this->db->getAll($sql,array($rubric_id),DB_FETCHMODE_ASSOC);
$this->tpl->assign('years', $row);
}
function viewSexProduct($id){
$sql = "select * from catalogs_keys_products_sex where product_id=?";
$row = $this->db->getAll($sql,array($id),DB_FETCHMODE_ASSOC);
$this->tpl->assign('product_sex',$row);
}
function viewSexProductID($id){
$sql = "select sex from catalogs_keys_products_sex where product_id=?";
$row = $this->db->getCol($sql,"sex",array($id));
$this->tpl->assign('product_sex',$row);
}
function viewSex($rubric_id,$filters = null,$lang = 'rus'){
$search = array();
if(isset($_GET['filter']) && count($_GET['filter'])>0)$filter = $this->seralizeFilter($_GET['filter']);
if(isset($filter['f']) && count($filter['f'])>0){
$search[] = "catalogs_keys_products_filters.filter_id in (".implode(",",$filter['f']).")";
}
if(isset($filter['y']) && $filter['y']>0){
$search[] = "catalogs_keys_products_years.year_id in (".implode(",",$filter['y']).")";
}
if(isset($filter['s']) && count($filter['s'])>0){
$search[] = "catalogs_modifications.size in (".implode(",",$filter['s']).")";
}
if(isset($filter['r']) && count($filter['r'])>0){
$search[] = "m2.rost in (".implode(",",$filter['r']).")";
}
if(isset($_GET['new']) && $_GET['new']>0)$search[] = sprintf("p.active='%d'",$_GET['new']);
if(isset($_GET['top']) && $_GET['top']>0)$search[] = sprintf("p.top='%d'",$_GET['top']);
if(isset($_GET['akciiID']) && $_GET['akciiID']>0)$search[] = sprintf("p.akcii_id>'%d'",0);
if(strlen($filters)>0 && !isset($filter['f'])){
$search[] = "catalogs_keys_products_filters.filter_id in (".$filters.")";
}
if(isset($_GET['brend']) && strlen($_GET['brend'])>0)$search[] = "p.brend_id in(".implode(",",$this->getBrendIDs_name($_GET['brend'])).")";
$sql = "select s.sex from catalogs_products p LEFT JOIN catalogs_keys_products_sex s ON s.product_id=p.id ";
if(isset($filter['f']) && count($filter['f'])>0)$sql .= "LEFT JOIN catalogs_keys_products_filters ON catalogs_keys_products_filters.product_id=p.id ";
if(isset($filter['y']) && $filter['y']>0)$sql .= "LEFT JOIN catalogs_keys_products_years ON catalogs_keys_products_years.product_id=p.id ";
if(isset($filter['s']) && count($filter['s'])>0){$sql .= "LEFT JOIN catalogs_modifications ON catalogs_modifications.product_id=p.id and catalogs_modifications.active=1 ";}
if(isset($filter['r']) && count($filter['r'])>0){$sql .= "LEFT JOIN catalogs_modifications m2 ON m2.product_id=p.id and m2.active=1 ";}
if(strlen($filters)>0 && !isset($filter['f'])){
$sql .= "LEFT JOIN catalogs_keys_products_filters ON catalogs_keys_products_filters.product_id=p.id ";
}
$sql .= "where p.count_modifications>0 and s.sex<4 ";
if($filters==null)$sql .= " and p.rubric_id='".$rubric_id."' ";
if(count($search))$sql .= "AND " . implode(" AND ",$search) . " ";
$sql .= " GROUP BY s.sex";
// print $sql;
$res = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC);
// print_r($res);
$sex = array();
if($lang=='ukr')
$arr = array(1=>array('name'=>"×îëîâ³÷èé",'link'=>'male'),
2=>array('name'=>"Ƴíî÷èé",'link'=>'female'),
3=>array('name'=>"Äèòÿ÷èé",'link'=>'child'),
// 4=>array('name'=>"Óí³ñåêñ",'link'=>'unisex')
);
else
$arr = array(1=>array('name'=>"Ìóæñêîé",'link'=>'male'),
2=>array('name'=>"Æåíñêèé",'link'=>'female'),
3=>array('name'=>"Äåòñêèé",'link'=>'child'),
// 4=>array('name'=>"Óíèñåêñ",'link'=>'unisex')
);
foreach($res as $row){
$sex[] = $arr[$row['sex']];
}
if(isset($_GET['s']))print_r($sex);
$this->tpl->assign('sex', $sex);
}
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=$id",array());
}
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;
$fields = array('name'=>$name,"name_ukr"=>$data['filter_ukr'][$key],'prefix'=>encodestring($name),'rubric_id'=>$data['rubric_id'],"ph1"=>$data['ph1'][$key],"ph1_ukr"=>$data['ph1_ukr'][$key],"sort"=>$data['sort'][$key],"active"=>$active);
if(isset($data['cat'][$key])){$fields['cat'] = $data['cat'][$key];}
$this->db->autoExecute($table_name,$fields,$DB_AUTOQUERY,$where);
}
}
}
function viewFilterProduct($id){
$sql = "select f.* from catalogs_keys_products_filters k LEFT JOIN catalogs_filters f ON f.id=k.filter_id where f.active='0' and k.product_id=?";
$row = $this->db->getAll($sql,array($id),DB_FETCHMODE_ASSOC);
$this->tpl->assign('product_filters',$row);
return $row;
}
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,$all = false,$lang = 'ru'){
$search = array();
if(isset($_GET['filter']) && count($_GET['filter'])>0)$filter = $this->seralizeFilter($_GET['filter']);
if(isset($filter['g']) && count($filter['g'])>0){
$search[] = "catalogs_keys_products_filters2.filter_id in (".implode(",",$filter['g']).")";
}
if(isset($filter['y']) && $filter['y']>0){
$search[] = "catalogs_keys_products_years.year_id in (".implode(",",$filter['y']).")";
}
if(isset($filter['s']) && count($filter['s'])>0){
$search[] = "catalogs_modifications.size in (".implode(",",$filter['s']).")";
}
if(isset($filter['r']) && count($filter['r'])>0){
$search[] = "m2.rost in (".implode(",",$filter['r']).")";
}
if(isset($_GET['new']) && $_GET['new']>0)$search[] = sprintf("p.active='%d'",$_GET['new']);
if(isset($_GET['top']) && $_GET['top']>0)$search[] = sprintf("p.top='%d'",$_GET['top']);
if(isset($_GET['akciiID']) && $_GET['akciiID']>0)$search[] = sprintf("p.akcii_id>'%d'",0);
if(isset($_GET['brend']) && strlen($_GET['brend'])>0)$search[] = "p.brend_id in(".implode(",",$this->getBrendIDs_name($_GET['brend'])).")";
/* if(isset($_GET['sex']) && strlen($_GET['sex'])>0){
$sex = array('male'=>1,'female'=>2,'child'=>3,'unisex'=>4);
$search[] = sprintf("p.sex='%d'",$sex[$_GET['sex']]);
} */
if(isset($_GET['sex']) && strlen($_GET['sex'])>0){
$sex = $this->seralizeSex($_GET['sex']);
$search[] = "s.sex IN (" . implode(",",$sex) . ")";
}
$sql = "select f.*,f.name".($lang=='ukr'?'_ukr':'')." as name,f.h1".($lang=='ukr'?'_ukr':'')." as h1 from catalogs_products p, catalogs_keys_products_filters k LEFT JOIN catalogs_filters f ON f.id=k.filter_id ";
if(isset($filter['g']) && count($filter['g'])>0)$sql .= "LEFT JOIN catalogs_keys_products_filters2 ON catalogs_keys_products_filters2.product_id=k.product_id ";
if(isset($filter['y']) && $filter['y']>0)$sql .= "LEFT JOIN catalogs_keys_products_years ON catalogs_keys_products_years.product_id=k.product_id ";
if(isset($filter['s']) && count($filter['s'])>0){$sql .= "LEFT JOIN catalogs_modifications ON catalogs_modifications.product_id=k.product_id and catalogs_modifications.active=1 ";}
if(isset($filter['r']) && count($filter['r'])>0){$sql .= "LEFT JOIN catalogs_modifications m2 ON m2.product_id=k.product_id and m2.active=1 ";}
if(isset($_GET['sex']) && strlen($_GET['sex'])>0){$sql .= "LEFT JOIN catalogs_keys_products_sex s ON s.product_id=k.product_id ";}
$sql .= "where p.id=k.product_id and p.count_modifications>0 ";
//$sql = "select * from catalogs_filters where 1=1 ";
if($all == false)$sql .= "and f.active='0' ";
if(count($search))$sql .= "AND " . implode(" AND ",$search) . " ";
$sql .= "and f.rubric_id=? GROUP BY k.filter_id order by f.sort asc";
// print $sql;
$row = $this->db->getAll($sql,array($rubric_id),DB_FETCHMODE_ASSOC);
$this->tpl->assign('filters', $row);
}
function viewFiltersAll($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 getFiltersName_IDs($ids,$lang){
//$sql = "select name from catalogs_filters where id in (".implode(",",$ids).")";
//$row = $this->db->getCol($sql,"name",array());
$name = array();
foreach($ids as $id){
$row = $this->db->getRow("select h1".($lang=='ukr'?'_ukr':'')." as h1 from catalogs_filters where id=$id",array(),DB_FETCHMODE_ASSOC);
$name[] = ((strlen($row['h1'])>0) ? $row['h1'] : $row['name']);
}
return implode(", ",$name);
}
function getFilters2Name_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){
$row = $this->db->getRow("select h1,name from catalogs_filters2 where id=$id",array(),DB_FETCHMODE_ASSOC);
$name[] = ((strlen($row['h1'])>0) ? $row['h1'] : $row['name']);
}
//print_r($name);
return implode(", ",$name);
}
function SaveFilters2($data){
$table_name = "catalogs_filters2";
foreach($data['filter2'] 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,"name_ukr"=>$data['filter_ukr'][$key],'prefix'=>encodestring($name),'rubric_id'=>$data['rubric_id'],"sort"=>$data['sort'][$key],"active"=>$active),$DB_AUTOQUERY,$where);
}
}
}
function viewFilterProductID2($id){
$sql = "select filter_id from catalogs_keys_products_filters2 where product_id=?";
$row = $this->db->getCol($sql,"filter_id",array($id));
$this->tpl->assign('product_filters2',$row);
}
function deleteFilter2($id){
$this->db->query("delete from catalogs_filters2 where id=?",array($id));
$this->delete_keysFilterProduct2($id);
}
function delete_keysFilterProduct2($id){
$sql = "delete from catalogs_keys_products_filters2 where filter_id=?";
$this->db->query($sql,array($id));
}
function deleteFiltersRubric_id2($rubric_id){
$this->db->query("delete from catalogs_filters2 where rubric_id=?",array($rubric_id));
$this->delete_keysFilterRubric2($rubric_id);
}
function delete_keysFilterRubric2($id){
$sql = "delete from catalogs_keys_products_filters2 where rubric_id=?";
$this->db->query($sql,array($id));
}
function viewFilters2($rubric_id,$lang='ru'){
$search = array();
if(isset($_GET['filter']) && count($_GET['filter'])>0)$filter = $this->seralizeFilter($_GET['filter']);
if(isset($filter['f']) && count($filter['f'])>0){
$search[] = "catalogs_keys_products_filters.filter_id in (".implode(",",$filter['f']).")";
}
if(isset($filter['y']) && $filter['y']>0){
$search[] = "catalogs_keys_products_years.year_id in (".implode(",",$filter['y']).")";
}
if(isset($filter['s']) && count($filter['s'])>0){
$search[] = "catalogs_modifications.size in (".implode(",",$filter['s']).")";
}
if(isset($filter['r']) && count($filter['r'])>0){
$search[] = "m2.rost in (".implode(",",$filter['r']).")";
}
if(isset($_GET['new']) && $_GET['new']>0)$search[] = sprintf("p.active='%d'",$_GET['new']);
if(isset($_GET['top']) && $_GET['top']>0)$search[] = sprintf("p.top='%d'",$_GET['top']);
if(isset($_GET['akciiID']) && $_GET['akciiID']>0)$search[] = sprintf("p.akcii_id>'%d'",0);
if(isset($_GET['brend']) && strlen($_GET['brend'])>0)$search[] = "p.brend_id in(".implode(",",$this->getBrendIDs_name($_GET['brend'])).")";
/* if(isset($_GET['sex']) && strlen($_GET['sex'])>0){
$sex = array('male'=>1,'female'=>2,'child'=>3,'unisex'=>4);
$search[] = sprintf("p.sex='%d'",$sex[$_GET['sex']]);
} */
if(isset($_GET['sex']) && strlen($_GET['sex'])>0){
$sex = $this->seralizeSex($_GET['sex']);
$search[] = "s.sex IN (" . implode(",",$sex) . ")";
}
$sql = "select f.*,f.name".($lang=='ukr'?'_ukr':'')." as name from catalogs_products p, catalogs_keys_products_filters2 k LEFT JOIN catalogs_filters2 f ON f.id=k.filter_id ";
if(isset($filter['f']) && count($filter['f'])>0)$sql .= "LEFT JOIN catalogs_keys_products_filters ON catalogs_keys_products_filters.product_id=k.product_id ";
if(isset($filter['y']) && $filter['y']>0)$sql .= "LEFT JOIN catalogs_keys_products_years ON catalogs_keys_products_years.product_id=k.product_id ";
if(isset($filter['s']) && count($filter['s'])>0){$sql .= "LEFT JOIN catalogs_modifications ON catalogs_modifications.product_id=k.product_id and catalogs_modifications.active=1 ";}
if(isset($filter['r']) && count($filter['r'])>0){$sql .= "LEFT JOIN catalogs_modifications m2 ON m2.product_id=k.product_id and m2.active=1 ";}
if(isset($_GET['sex']) && strlen($_GET['sex'])>0){$sql .= "LEFT JOIN catalogs_keys_products_sex s ON s.product_id=k.product_id ";}
$sql .= "where p.id=k.product_id and p.count_modifications>0 ";
//$sql = "select * from catalogs_filters where 1=1 ";
if($all == false)$sql .= "and f.active='0' ";
if(count($search))$sql .= "AND " . implode(" AND ",$search) . " ";
$sql .= "and f.rubric_id=? GROUP BY k.filter_id order by f.sort asc";
//print $sql;
$row = $this->db->getAll($sql,array($rubric_id),DB_FETCHMODE_ASSOC);
// $row = $this->db->getAll("select *,f.name".($lang=='ukr'?'_ukr':'')." as name from catalogs_filters2 f where f.active='0' and f.rubric_id=? order by sort",array($rubric_id),DB_FETCHMODE_ASSOC);
$this->tpl->assign('filters2', $row);
}
function getFiltersMod_IDs($ids){
$name = array();
foreach($ids as $id){
$name[] = $this->db->getOne("select size from catalogs_modifications where size=$id",array());
}
return implode(", ",$name);
}
function viewFiltersMod($rubric_id){
$search = array();
if(isset($_GET['filter']) && count($_GET['filter'])>0)$filter = $this->seralizeFilter($_GET['filter']);
if(isset($filter['f']) && count($filter['f'])>0){
$search[] = "catalogs_keys_products_filters.filter_id in (".implode(",",$filter['f']).")";
}
if(isset($filter['y']) && $filter['y']>0){
$search[] = "catalogs_keys_products_years.year_id in (".implode(",",$filter['y']).")";
}
if(isset($filter['r']) && count($filter['r'])>0){
$search[] = "m2.rost in (".implode(",",$filter['r']).")";
}
if(isset($_GET['brend']) && strlen($_GET['brend'])>0)$search[] = "p.brend_id in(".implode(",",$this->getBrendIDs_name($_GET['brend'])).")";
/* if(isset($_GET['sex']) && strlen($_GET['sex'])>0){
$sex = array('male'=>1,'female'=>2,'child'=>3,'unisex'=>4);
$search[] = sprintf("p.sex='%d'",$sex[$_GET['sex']]);
} */
if(isset($_GET['sex']) && strlen($_GET['sex'])>0){
$sex = $this->seralizeSex($_GET['sex']);
$search[] = "p.sex IN (" . implode(",",$sex) . ")";
}
if(isset($_GET['new']) && $_GET['new']>0)$search[] = sprintf("p.active='%d'",$_GET['new']);
if(isset($_GET['top']) && $_GET['top']>0)$search[] = sprintf("p.top='%d'",$_GET['top']);
if(isset($_GET['akciiID']) && $_GET['akciiID']>0)$search[] = sprintf("p.akcii_id>'%d'",0);
$sql = "select m.* from catalogs_modifications m,catalogs_products p ";
if(isset($filter['f']) && count($filter['f'])>0)$sql .= "LEFT JOIN catalogs_keys_products_filters ON catalogs_keys_products_filters.product_id=p.id ";
if(isset($filter['y']) && $filter['y']>0)$sql .= "LEFT JOIN catalogs_keys_products_years ON catalogs_keys_products_years.product_id=p.id ";
if(isset($filter['r']) && count($filter['r'])>0){$sql .= "LEFT JOIN catalogs_modifications m2 ON m2.product_id=p.id and m2.active=1 ";}
$sql .= "where m.size<>'' ";
if(count($search))$sql .= "AND " . implode(" AND ",$search) . " ";
$sql .= "and m.product_id=p.id and m.active=1 and p.rubric_id=? and p.count_modifications>0 GROUP BY m.size";
$row = $this->db->getAll($sql,array($rubric_id),DB_FETCHMODE_ASSOC);
if($_GET['t']==1){
print"";
print_r($row);
print"
";
}
$this->tpl->assign('size', $row);
}
function viewFiltersRost($rubric_id){
$search = array();
if(isset($_GET['filter']) && count($_GET['filter'])>0)$filter = $this->seralizeFilter($_GET['filter']);
if(isset($filter['f']) && count($filter['f'])>0){
$search[] = "catalogs_keys_products_filters.filter_id in (".implode(",",$filter['f']).")";
}
if(isset($filter['y']) && $filter['y']>0){
$search[] = "catalogs_keys_products_years.year_id in (".implode(",",$filter['y']).")";
}
if(isset($_GET['brend']) && strlen($_GET['brend'])>0)$search[] = "p.brend_id in(".implode(",",$this->getBrendIDs_name($_GET['brend'])).")";
/* if(isset($_GET['sex']) && strlen($_GET['sex'])>0){
$sex = array('male'=>1,'female'=>2,'child'=>3,'unisex'=>4);
$search[] = sprintf("p.sex='%d'",$sex[$_GET['sex']]);
} */
if(isset($_GET['sex']) && strlen($_GET['sex'])>0){
$sex = $this->seralizeSex($_GET['sex']);
$search[] = "p.sex IN (" . implode(",",$sex) . ")";
}
$sql = "select m.* from catalogs_modifications m,catalogs_products p ";
if(isset($filter['f']) && count($filter['f'])>0)$sql .= "LEFT JOIN catalogs_keys_products_filters ON catalogs_keys_products_filters.product_id=p.id ";
if(isset($filter['y']) && $filter['y']>0)$sql .= "LEFT JOIN catalogs_keys_products_years ON catalogs_keys_products_years.product_id=p.id ";
$sql .= "where m.rost<>'' ";
if(count($search))$sql .= "AND " . implode(" AND ",$search) . " ";
$sql .= "and m.product_id=p.id and m.active=1 and p.rubric_id=? and p.count_modifications>0 GROUP BY m.rost";
$row = $this->db->getAll($sql,array($rubric_id),DB_FETCHMODE_ASSOC);
if($_GET['t']==1){
print"";
print_r($row);
print"
";
}
$this->tpl->assign('rost', $row);
}
function viewRostProduct($id){
$sql = "select m.* from catalogs_modifications m where m.product_id=? GROUP BY m.rost";
$row = $this->db->getAll($sql,array($id),DB_FETCHMODE_ASSOC);
$this->tpl->assign('product_rost',$row);
}
function viewFiltersInProducts($filter_products,$lang='ru'){
$search = array();
if(isset($_GET['new']) && $_GET['new']>0)$search[] = sprintf("p.active='%d'",$_GET['new']);
if(isset($_GET['top']) && $_GET['top']>0)$search[] = sprintf("p.top='%d'",$_GET['top']);
if(isset($_GET['akciiID']) && $_GET['akciiID']>0)$search[] = sprintf("p.akcii_id>'%d'",0);
$sql ="select f.*,f.name".($lang=='ukr'?'_ukr':'')." as name from catalogs_products p, catalogs_keys_products_filters k LEFT JOIN catalogs_filters f ON f.id=k.filter_id where p.id=k.product_id AND f.id IN (".$filter_products.") and f.active='0' ";
if(count($search))$sql .= "AND " . implode(" AND ",$search) . " ";
$sql .= 'GROUP BY k.filter_id order by f.sort';
//print $sql;
$row = $this->db->getAll($sql,array(),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=? limit 1";
$row = $this->db->getRow($sql,array($name),DB_FETCHMODE_ASSOC);
$this->tpl->assign('brend_seo', $row);
return $row;
}
function getBrendIDs_name($name){
$n = array();
$name_arr = explode(";",$name);
foreach($name_arr as $row){
$n[] = "'".$row."'";
}
//$name = iconv("utf-8", "windows-1251", $name);
$sql = "select id from catalogs_brends where name in (" . implode(",",$n) . ")";
//print $sql;
return $this->db->getCol($sql,"id",array());
}
function viewBrendRubrics($name,$lang = 'ru'){
$name = iconv("utf-8", "windows-1251", $name);
$sql = "select r.name".(($lang=='ukr')?'_ukr':'')." as name,r.parent_id,r.translit,count(p.id) as c from catalogs_brends b
Left Join catalogs_rubrics r On r.id=b.rubric_id
Left Join catalogs_products p On p.brend_id=b.id AND p.count_modifications>0
where b.name=? and r.name<>'' Group by p.brend_id";
$res = $this->db->getAll($sql,array($name),DB_FETCHMODE_ASSOC);
$rubrics = array();
foreach($res as $row){
if($row['c']>0){
$rubrics[$this->getRubricName($row['parent_id'],$lang)][] = $row;
}
}
// print"";
// print_r($rubrics);
// print"
";
$this->tpl->assign('brend_rubrics',$rubrics);
}
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,'translit'=>translit($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_saveFilters2($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_filters2 where rubric_id=? and name=?",array($rubric_id,$name));
if( !$id ){
$this->db->autoExecute("catalogs_filters2",array('rubric_id'=>$rubric_id,'name'=>$name,'prefix'=>encodestring($name),'active'=>$active),DB_AUTOQUERY_INSERT);
$id = mysql_insert_id();
}else{ $this->db->autoExecute("catalogs_filters2",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_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){
if(!$name)return false;
$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 mktime", array($product_id,$row[0],$mktime));
if($row[3]==0){
}
else{
// $this->db->query("delete from catalogs_keys_products_cities where product_id=? and mod_code=? and mktime", array($product_id,$row[0],$mktime));
//echo "OK(3) -
";
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,null,p.sex,null,p.cine,p.cine_last,p.akcii_id,p.strnumber,p.active,null,p.video_code,p.pic_big,null 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=? Order by 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);
$f_row = $this->db->getCol("select f.name from catalogs_keys_products_filters2 k Left Join catalogs_filters2 f ON f.id=k.filter_id where k.product_id=?",'name',array($list[0]));
$list[9]=implode(',',$f_row);
switch($list[10]){
case 1 : $list[10] = 'ìóæñêîé'; break;
case 2 : $list[10] = 'æåíñêèé'; break;
case 3 : $list[10] = 'äåòñêèé'; break;
case 4 : $list[10] = 'óíèñåêñ'; break;
default : $list[10] = 'ìóæñêîé'; 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[11]=implode(',',$y_row);
$p_row = $this->db->getCol("select pic_big from catalogs_gallery where product_id=?",'pic_big',array($list[0]));
$list[20]=implode(',',$p_row);
//print_r($list);exit;
$p_res = $this->db->getAll("select name,size,metka from catalogs_products_params where product_id=? order by id asc",array($list[0]));
$param = array();
foreach($p_res as $row_p){
$param[] = implode('*',$row_p);
}
$list[17] = 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 exportCSVaktual(){
$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,null,p.sex,null,p.cine,p.cine_last,p.akcii_id,p.strnumber,p.active,null,p.video_code,p.pic_big,null 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 WHERE p.count_modifications>0',array());
foreach($res as $key=>$row){
$list = $row;
$mod_res = $this->db->getAll('select code,size,rost,color,pic_big,active from catalogs_modifications where product_id=? Order by id',array($row[0]));
foreach($mod_res as $mod_row){if(strlen($mod_row[2])>0)$mod_row[1] = $mod_row[1].'*'.$mod_row[2]; unset($mod_row[2]);$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);
$f_row = $this->db->getCol("select f.name from catalogs_keys_products_filters2 k Left Join catalogs_filters2 f ON f.id=k.filter_id where k.product_id=?",'name',array($list[0]));
$list[9]=implode(',',$f_row);
switch($list[10]){
case 1 : $list[10] = 'ìóæñêîé'; break;
case 2 : $list[10] = 'æåíñêèé'; break;
case 3 : $list[10] = 'äåòñêèé'; break;
case 4 : $list[10] = 'óíèñåêñ'; break;
default : $list[10] = 'ìóæñêîé'; 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[11]=implode(',',$y_row);
$p_row = $this->db->getCol("select pic_big from catalogs_gallery where product_id=?",'pic_big',array($list[0]));
$list[20]=implode(',',$p_row);
//print_r($list);exit;
$p_res = $this->db->getAll("select name,size,metka from catalogs_products_params where product_id=? order by id asc",array($list[0]));
$param = array();
foreach($p_res as $row_p){
$param[] = implode('*',$row_p);
}
$list[17] = 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 Order by m.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 exportUsersCSV(){
$tmpfname = "tmp/users.csv";
$handle = fopen($tmpfname, "w");
$sql = "SELECT u.id,u.username,u.tel,u.city,u.email,g.name,u.registered,summary,u.birthday,c.card
FROM zlo_users AS u
LEFT JOIN card c ON c.user_id = u.id
LEFT JOIN zlo_users_group AS g ON u.group = g.id
LEFT JOIN (SELECT user_id AS order_user_id, sum( `total` ) AS `summary` FROM catalogs_orders group by user_id ) o
ON u.id = o.order_user_id
";
$res = $this->db->getAll($sql);
foreach($res as $key=>$row){
File_FGetCSV::fputcsv($handle,$row,';');
}
fclose($handle);
$params = array(
'file' => $tmpfname,
'contenttype' => 'application/xls',
'contentdisposition' => array(HTTP_DOWNLOAD_ATTACHMENT, 'users.csv'),
'cache' => false
);
$error = HTTP_Download::staticSend($params, false); //îòäà¸ì ôàéë
if ($error === true) {
//åñëè ôàéë çàãðóæåí óñïåøíî, îáíîâëÿåì äàòó ïîñëåäíåé çàêà÷êè
}
unlink($tmpfname);
}
function exportUsersBirdthCSV(){
$tmpfname = "tmp/usersBirdth.csv";
$handle = fopen($tmpfname, "w");
$sql = "SELECT u.id,u.username,u.tel,u.city,u.email,g.name,u.registered,u.birthday,c.card
FROM zlo_users AS u
LEFT JOIN card c ON c.user_id = u.id
LEFT JOIN zlo_users_group AS g ON u.group = g.id
WHERE DAYOFMONTH(u.birthday) >= '19' AND DAYOFMONTH(u.birthday) <= '28' and MONTH(u.birthday) = '10'
";
$res = $this->db->getAll($sql);
foreach($res as $key=>$row){
File_FGetCSV::fputcsv($handle,$row,';');
}
fclose($handle);
$params = array(
'file' => $tmpfname,
'contenttype' => 'application/xls',
'contentdisposition' => array(HTTP_DOWNLOAD_ATTACHMENT, 'users.csv'),
'cache' => false
);
$error = HTTP_Download::staticSend($params, false); //îòäà¸ì ôàéë
if ($error === true) {
//åñëè ôàéë çàãðóæåí óñïåøíî, îáíîâëÿåì äàòó ïîñëåäíåé çàêà÷êè
}
unlink($tmpfname);
}
function exportSeoF1CSV(){
$tmpfname = "tmp/seo_f1.csv";
$handle = fopen($tmpfname, "w");
$res = $this->db->getAll("select id,name,translit,name_h1 from catalogs_rubrics");
foreach($res as $key=>$row){
//$res_b = $this->db->getAll("select b.name from catalogs_products p left join catalogs_brends b on b.id=p.brend_id where p.rubric_id=? group by p.brend_id",array($row[0]));
//foreach($res_b as $row_b){
$list = array();
$f_res = $this->db->getAll("select id,prefix,name from catalogs_filters where rubric_id=?",array($row[0]));
foreach($f_res as $f_row){
$list[0] = $row[0];
$list[1] = (strlen($row[3])>0) ? $row[3] : $row[1];
$list[2] = $f_row[2];
$list[3] = "http://extremstyle.ua/".$row[2]."-catalogs/filter;filter=f".$f_row[0]."_".$f_row[1]."/";
//$list[4] = $row_b[0];
File_FGetCSV::fputcsv($handle,$list,';');
}
//}
}
$res = $this->db->getAll("select id,name,translit,name_h1 from catalogs_rubrics");
foreach($res as $key=>$row){
//$res_b = $this->db->getAll("select b.name from catalogs_products p left join catalogs_brends b on b.id=p.brend_id where p.rubric_id=? group by p.brend_id",array($row[0]));
//foreach($res_b as $row_b){
$list = array();
$f_res = $this->db->getAll("select b.name from catalogs_products p left join catalogs_brends b on b.id=p.brend_id where p.rubric_id=? group by p.brend_id",array($row[0]));
foreach($f_res as $f_row){
if(!strlen($f_row[0]))continue;
$list[0] = $row[0];
$list[1] = (strlen($row[3])>0) ? $row[3] : $row[1];
$list[2] = $f_row[0];
$list[3] = "http://extremstyle.ua/".$row[2]."-catalogs/filter;brend=".$f_row[0]."/";
//$list[4] = $row_b[0];
File_FGetCSV::fputcsv($handle,$list,';');
}
//}
}
fclose($handle);
$params = array(
'file' => $tmpfname,
'contenttype' => 'application/xls',
'contentdisposition' => array(HTTP_DOWNLOAD_ATTACHMENT, 'seo_f1.csv'),
'cache' => false
);
$error = HTTP_Download::staticSend($params, false); //îòäà¸ì ôàéë
if ($error === true) {
//åñëè ôàéë çàãðóæåí óñïåøíî, îáíîâëÿåì äàòó ïîñëåäíåé çàêà÷êè
}
unlink($tmpfname);
}
function exportSeoCSV(){
$tmpfname = "tmp/seo.csv";
$handle = fopen($tmpfname, "w");
$res = $this->db->getAll('select p.id,p.rubric_id,r.name_h1,null,r.list_name,b.name,p.name,null,p.cine, r.translit,p.translit,r.name From catalogs_products p Left join catalogs_rubrics r on r.id=p.rubric_id Left join catalogs_brends b on b.id=p.brend_id');
foreach($res as $key=>$row){
$row[3] = $this->getFilterPh1($row[0]);
if(!strlen($row[2]))$row[2] = $row[11];
$row[7] = "http://extremstyle.ua/".$row[9]."-catalogs/".$row[10]."-".$row[0]."/";
unset($row[9]);unset($row[10]);unset($row[11]);
File_FGetCSV::fputcsv($handle,$row,';');
}
fclose($handle);
$params = array(
'file' => $tmpfname,
'contenttype' => 'application/xls',
'contentdisposition' => array(HTTP_DOWNLOAD_ATTACHMENT, 'seo.csv'),
'cache' => false
);
$error = HTTP_Download::staticSend($params, false); //îòäà¸ì ôàéë
if ($error === true) {
//åñëè ôàéë çàãðóæåí óñïåøíî, îáíîâëÿåì äàòó ïîñëåäíåé çàêà÷êè
}
unlink($tmpfname);
}
function exportProductsSeoCSV(){
$tmpfname = "tmp/products_seo.csv";
$handle = fopen($tmpfname, "w");
$res = $this->db->getAll('select r.id,r.name,p.id,p.name,p.cine,r.translit,p.translit,r.list_name From catalogs_products p Left join catalogs_rubrics r on r.id=p.rubric_id Left join catalogs_brends b on b.id=p.brend_id where b.name=?',array('Dakine'));
foreach($res as $key=>$row){
$vowels = array("'05","'06","'07","'08","'09","'10", "'11", "'12", "'13", "'14", "'15", "'16","2005","2006","2007","2008","2009", "2010", "2011", "2012", "2013", "2014", "2015", "2016",);
$row[3] = $this->getFilterPh1($row[2]) .' '. str_replace($vowels, "", $row[3]);
$row[8] = "http://extremstyle.ua/".$row[5]."-catalogs/".$row[6]."-".$row[2]."/";
unset($row[6]);unset($row[7]);
File_FGetCSV::fputcsv($handle,$row,';');
}
fclose($handle);
$params = array(
'file' => $tmpfname,
'contenttype' => 'application/xls',
'contentdisposition' => array(HTTP_DOWNLOAD_ATTACHMENT, 'products_seo.csv'),
'cache' => false
);
$error = HTTP_Download::staticSend($params, false); //îòäà¸ì ôàéë
if ($error === true) {
//åñëè ôàéë çàãðóæåí óñïåøíî, îáíîâëÿåì äàòó ïîñëåäíåé çàêà÷êè
}
unlink($tmpfname);
}
function exportProducts2SeoCSV(){
$tmpfname = $_SERVER['DOCUMENT_ROOT'] . "/cron/products_seo.csv";
$handle = fopen($tmpfname, "w");
$sql = 'select r.id,r.name,p.id,p.name,p.cine,r.translit,p.translit,r.list_name From catalogs_products p Left join catalogs_rubrics r on r.id=p.rubric_id Left join catalogs_brends b on b.id=p.brend_id LEFT JOIN catalogs_keys_products_years ky ON ky.product_id=p.id LEFT JOIN catalogs_years y ON y.id=ky.year_id where p.count_modifications>0 and b.name=? and y.name in ("2013","2014","2015","2014-2015")';
$res = $this->db->getAll($sql,array('Dakine'));
foreach($res as $key=>$row){
$vowels = array("'05","'06","'07","'08","'09","'10", "'11", "'12", "'13", "'14", "'15", "'16","2005","2006","2007","2008","2009", "2010", "2011", "2012", "2013", "2014", "2015", "2016",);
$row[3] = $this->getFilterPh1($row[2]) .' '. str_replace($vowels, "", $row[3]);
$row[8] = "http://extremstyle.ua/".$row[5]."-catalogs/".$row[6]."-".$row[2]."/";
unset($row[5]);unset($row[6]);unset($row[7]);
File_FGetCSV::fputcsv($handle,$row,';');
}
fclose($handle);
}
function exportProductsFeed(){
$tmpfname = "tmp/products_feed.csv";
$handle = fopen($tmpfname, "w");
$sql = 'select r.id,r.name,p.id,p.name,p.cine_last,r.translit,p.translit,r.list_name,p.pic,b.name,p.about,p.cine From catalogs_products p Left join catalogs_rubrics r on r.id=p.rubric_id Left join catalogs_brends b on b.id=p.brend_id where p.count_modifications>0 and p.cine>0';
$res = $this->db->getAll($sql,array());
$list = array('ID','ID2','Item title','Destination URL','Image URL','Item subtitle','Item description','Item category','Price','Sale price','Contextual keywords','Item address');
File_FGetCSV::fputcsv($handle,$list,',');
foreach($res as $key=>$row){
$url = "http://extremstyle.ua/".$row[5]."-catalogs/".$row[6]."-".$row[2]."/";
$image = "http://extremstyle.ua/uploaded/pic/catalogs/products/".$row[8];
$subtitle = $row[1].' '.$row[9];
$list = array(
$row[2],$row[2].'S',substr($row[3],0,12),$url,$image,substr($subtitle,0,12),"Ãàðàíòèÿ êà÷åñòâà",$row[1],round($row[11]).' UAH',round($row[4]).' UAH',$row[1].' '.$row[9],
);
//print_r($list);
unset($row[5]);unset($row[6]);unset($row[7]);
File_FGetCSV::fputcsv($handle,$list,',');
}
fclose($handle);
$params = array(
'file' => $tmpfname,
'contenttype' => 'application/xls',
'contentdisposition' => array(HTTP_DOWNLOAD_ATTACHMENT, 'products_feed.csv'),
'cache' => false
);
$error = HTTP_Download::staticSend($params, false); //îòäà¸ì ôàéë
if ($error === true) {
//åñëè ôàéë çàãðóæåí óñïåøíî, îáíîâëÿåì äàòó ïîñëåäíåé çàêà÷êè
}
unlink($tmpfname);
}
function exportOrdersCSV(){
$tmpfname = "tmp/orders.csv";
$handle = fopen($tmpfname, "w");
$res = $this->db->getAll('select o.id,o.name,o.email,o.adress,o.phone,o.total From catalogs_orders o LEFT JOIN zlo_users u ON u.id=o.user_id WHERE u.`group`=2 order by o.id desc');
foreach($res as $key=>$row){
$products = $this->db->getAll("select p.* from catalogs_orders_products op
LEFT JOIN catalogs_modifications m ON m.code=op.code
LEFT JOIN catalogs_products p ON p.id=m.product_id
where op.order_id=? GROUP BY p.id",array($row[0]),DB_FETCHMODE_ASSOC);
$arr_products = array();
foreach($products as $p){
$arr_products[] = $p['name'];
}
$row[6] = implode(', ',$arr_products);
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 deleteGalleryProduct($id){
$sql = "select * from catalogs_gallery where product_id=?";
$res = $this->db->getAll($sql,array($id),DB_FETCHMODE_ASSOC);
foreach($res as $row){
@unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/products/gallery/{$row['pic']}");
$this->db->query("delete from catalogs_gallery where id=?",array($row['id']));
}
}
function saveGalleryPics($product_id,$pruduct_gallery_pics){
$this->deleteGalleryProduct($product_id);
if(strlen($pruduct_gallery_pics)>0){
$arr = explode(",",$pruduct_gallery_pics);
foreach($arr as $pic){
$pic = trim($pic);
$id = $this->db->nextId('mySequence_catalogs_gallery');
$fields_values = array('id'=>$id,'name' => $pic,'product_id' => $product_id);
$upload['pic'] = array('tmp_name'=>"./uploaded/pic/catalogs/products/big/$pic",'name'=>$pic);
$fields_values['pic'] = upload_ImageResize($upload['pic'],array('width'=>"100",'height'=>"100",'upload_path'=>"./uploaded/pic/catalogs/products/gallery/"));
$fields_values['pic_big'] = $pic;
$this->db->autoExecute("catalogs_gallery",$fields_values,DB_AUTOQUERY_INSERT);
}
}
}
function importCSV ($upload)
{
error_reporting (0);
if ($upload['file']['name'] == "file_1.csv")
{
print "Îøèáêà! Ôàéë öåí!";
exit ();
}
// $arr_line = file($upload['file']['tmp_name']);
$f = fopen ($upload['file']['tmp_name'], "r") or die ("Îøèáêà!");
// print"";
$this->clearTmpProduct();
for ($i = 0; $row_line = File_FGetCSV::fgetcsv ($f, 15000000, ";"); $i ++)
{
// foreach($arr_line as $line){
// $row_line = fgetcsv(";",$line);
$rubric_id = $this->import_saveRubric ($row_line [0], 0);
$rubric_parent_id = $this->import_saveRubric ($row_line [1], $rubric_id);
$brend_id = $this->import_saveBrend ($row_line [2], $rubric_parent_id);
$pruduct_name = trim ($row_line [3]);
$pruduct_about = trim ($row_line [4]);
$pruduct_text = trim ($row_line [5]);
$sex = explode (',', $row_line [8]);
$pruduct_sex = array ();
foreach ($sex as $s)
{
switch (trim ($s))
{
case 'ìóæñêîé' :
$pruduct_sex [] = 1;
break;
case 'æåíñêèé' :
$pruduct_sex [] = 2;
break;
case 'äåòñêèé' :
$pruduct_sex [] = 3;
break;
case 'óíèñåêñ' :
$pruduct_sex [] = 4;
break;
default :
$pruduct_sex [] = array ();
break;
}
}
$pruduct_date = trim ($row_line [9]);
$pruduct_cine = trim ($row_line [10]);
$pruduct_cine_last = trim ($row_line [11]);
if ($pruduct_cine < 1)
{
$pruduct_cine = $pruduct_cine_last;
$pruduct_cine_last = 0;
}
$pruduct_akcii_id = trim ($row_line [12]);
$pruduct_strnumber = trim ($row_line [13]);
$pruduct_active = trim ($row_line [14]);
$pruduct_params = trim ($row_line [15]);
$pruduct_pic_tmp = trim ($row_line [17]);
$pruduct_gallery_pics = trim ($row_line [18]);
$pruduct_video = trim ($row_line [16]);
$pruduct_update_id = $this->getProductID_R ($pruduct_name, $rubric_parent_id);
if ($pruduct_update_id > 0)
{
$row_product = $this->db->getRow ('
select update_text, about, text
from catalogs_products
where id=?', array (
$pruduct_update_id
),
DB_FETCHMODE_ASSOC
);
// íå îáíîâëÿòü ïðè èìïîðòå?
// 0 - îáíîâëÿòü
// 1 - íå îáíîâëÿòü
if ($row_product['update_text'] == 1)
{
// about - ukr
$pruduct_about = $row_product['about'];
// text - ru
$pruduct_text = $row_product['text'];
}
}
$upload_pruduct = (strlen ($pruduct_pic_tmp) > 0 && is_file ("./uploaded/pic/catalogs/products/big/$pruduct_pic_tmp")) ? array (
'pic' => array (
'tmp_name' => "./uploaded/pic/catalogs/products/big/$pruduct_pic_tmp",
'name' => $pruduct_pic_tmp,
'big' => true
)
) : null;
$product_id = $this->saveProduct (array (
'rubric_id' => $rubric_parent_id,
'rubric_parent_id' => $rubric_parent_id,
'brend_id' => $brend_id,
'name' => $pruduct_name,
'about' => $pruduct_about,
'update_text' => isset ($row_product['update_text']) ? $row_product['update_text'] : 0,
'text' => $pruduct_text,
'video_code' => $pruduct_video,
'sex' => $pruduct_sex,
'date' => $pruduct_date,
'cine' => $pruduct_cine,
'cine_last' => $pruduct_cine_last,
'akcii_id' => $pruduct_akcii_id,
'strnumber' => $pruduct_strnumber,
'active' => $pruduct_active,
'meta_title' => $pruduct_name,
'meta_description' => $pruduct_name,
'meta_keywords' => $pruduct_name,
'meta_about' => $pruduct_name,
'filter' => $this->import_saveFilters ($rubric_parent_id, $row_line [6]),
'filter2' => $this->import_saveFilters2 ($rubric_parent_id, $row_line [7]),
'years' => $this->import_saveYear ($rubric_parent_id, $pruduct_date),
'akcii' => array (),
'update_id' => $pruduct_update_id
), $upload_pruduct);
// print $pruduct_update_id;exit;
$this->saveProductParams ($product_id, $pruduct_params);
$this->saveGalleryPics ($product_id, $pruduct_gallery_pics);
// íå óäàëÿåì !
// $this->deleteProductModifications ($product_id, true);
$m_i = 0;
for ($i = 19; $i < count ($row_line); $i ++)
{
$arr_mod = trim ($row_line [$i]);
if (strlen ($arr_mod) > 0)
{
$row_mod = explode ("=", $arr_mod);
$upload_mod = (strlen ($row_mod [3]) > 0 && is_file ("./uploaded/pic/catalogs/modifications/big/" . $row_mod [3])) ? array (
'pic' => array (
'tmp_name' => "./uploaded/pic/catalogs/modifications/big/" . $row_mod [3],
'name' => $row_mod [3],
'big' => true
)
) : null;
$size_mod = explode ("*", $row_mod [1]);
$rost = (isset ($size_mod [1])) ? $size_mod [1] : '';
$this->SaveModification (array (
'product_id' => $product_id,
'code' => $row_mod [0],
'size' => $size_mod [0],
'rost' => $rost,
'color' => $row_mod [2],
'active' => $row_mod [4]
), $upload_mod);
if ($row_mod [4] > 0)
{
$m_i ++;
}
}
}
$this->updateProduct_countModification ($product_id, $m_i);
// $this->import_saveFilters($product_id,$rubric_parent_id,$row_line[6]);
// $strnumber = $this->getProductID($row_line[3]); $this->save_keysProductsFilters($id,$data);
// print_r($row_line);
$this->saveTmpProduct ($row_line, $product_id);
if (($i % 30) == 0)
{
sleep (1);
}
}
// print"
";
}
function importCSV_cine ($upload)
{
if ($upload['file']['name'] != "file_1.csv")
{
print "Îøèáêà! Òîëüêî file_1.csv";
exit;
}
$arr_line = file ($upload['file']['tmp_name']);
//print"";
$i = 0;
$mktime = mktime();
foreach ($arr_line as $line)
{
$row_line = explode (";", $line);
$this->import_updateProductCine($this->getModificationProduct_id ($row_line[0]), $row_line, $line, $mktime);
if (($i % 30) == 0)
{
sleep(1);
}
$i++;
}
}
function loadCSV_cine($upload)
{
if ($upload['file']['name'] != "file_1.csv")
{
print "Îøèáêà! Òîëüêî file_1.csv";
exit;
}
$file = $_SERVER['DOCUMENT_ROOT'] . "/cron/file_1.csv";
//echo $file;
//exit;
move_uploaded_file ($upload['file']['tmp_name'], $file);
}
function is_loadCSV_cine()
{
$is = is_file($_SERVER['DOCUMENT_ROOT'] . '/cron/file_1.csv');
$this->tpl->assign('is', $is);
}
function CronImportCSV_cine($upload)
{
$this->importCSV_cine ($upload);
}
function updateCountModificationProducts ()
{
$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 addViewProduct($product_id){
$i = 0;
foreach($_SESSION['view_product'] as $id){
if($product_id==$id)$i++;
}
if($i==0)$_SESSION['view_product'][] = $product_id;
}
function viewUserProducts($limit = "all"){ //unset($_SESSION['view_product']);
if(isset($_SESSION['view_product']) && count($_SESSION['view_product'])>0){
$sql = "select catalogs_products.*,catalogs_brends.name as brend_name,r.translit as rubric_translit from catalogs_products
LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id
LEFT JOIN catalogs_rubrics r ON r.id=catalogs_products.rubric_id
WHERE catalogs_products.id IN (".implode(",",$_SESSION['view_product']).") ";
if($limit != "all")$sql .= "LIMIT ".$limit;
$res = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC);
$this->tpl->assign("products_view",$res);
}
}
function viewSimilarProducts($product_id,$brend,$rubric_id,$mods){
IF($brend == 'Dakine'){
$rub_arr = array(14071,14069,14070,14072);
unset($rub_arr[array_search('rubric_id', $rub_arr)]);
if(count($mods)>1){
$r = array();
foreach($mods as $key=>$mod){
$r[$key]['color'] = $mod['color'];
$row = $this->db->getRow("select * from catalogs_products where id=?",array($product_id),DB_FETCHMODE_ASSOC);
$sql = "select catalogs_products.*,m.pic,catalogs_brends.name as brend_name,r.translit as rubric_translit from catalogs_products
LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id
LEFT JOIN catalogs_rubrics r ON r.id=catalogs_products.rubric_id
LEFT JOIN catalogs_modifications m ON m.product_id=catalogs_products.id
WHERE catalogs_products.rubric_id IN (".implode(',',$rub_arr).") and catalogs_products.count_modifications>0 and catalogs_products.cine and catalogs_brends.name=? and m.color=? and m.active=1 Order by catalogs_products.cine DESC LIMIT 5";
$r[$key]["products_similar_prev"] = $this->db->getAll($sql,array($row['cine'],$brend,$mod['color']),DB_FETCHMODE_ASSOC);
$sql = "select catalogs_products.*,m.pic,catalogs_brends.name as brend_name,r.translit as rubric_translit from catalogs_products
LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id
LEFT JOIN catalogs_rubrics r ON r.id=catalogs_products.rubric_id
LEFT JOIN catalogs_modifications m ON m.product_id=catalogs_products.id
WHERE catalogs_products.rubric_id IN (".implode(',',$rub_arr).") and catalogs_products.count_modifications>0 and catalogs_products.cine>? and catalogs_brends.name=? and m.color=? and m.active=1 Order by catalogs_products.cine DESC LIMIT 5";
$r[$key]["products_similar_next"] = $this->db->getAll($sql,array($row['cine'],$brend,$mod['color']),DB_FETCHMODE_ASSOC);
}
//print_r($r);
$this->tpl->assign("products_similar",$r);
}
else{
$row = $this->db->getRow("select * from catalogs_products where id=?",array($product_id),DB_FETCHMODE_ASSOC);
$sql = "select catalogs_products.*,catalogs_brends.name as brend_name,r.translit as rubric_translit from catalogs_products
LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id
LEFT JOIN catalogs_rubrics r ON r.id=catalogs_products.rubric_id
WHERE catalogs_products.rubric_id IN (".implode(',',$rub_arr).") and catalogs_products.count_modifications>0 and catalogs_products.cine and catalogs_brends.name=? Order by catalogs_products.cine DESC LIMIT 5";
$res = $this->db->getAll($sql,array($row['cine'],$brend),DB_FETCHMODE_ASSOC);
$this->tpl->assign("products_similar_prev",$res);
$sql = "select catalogs_products.*,catalogs_brends.name as brend_name,r.translit as rubric_translit from catalogs_products
LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id
LEFT JOIN catalogs_rubrics r ON r.id=catalogs_products.rubric_id
WHERE catalogs_products.rubric_id IN (".implode(',',$rub_arr).") and catalogs_products.count_modifications>0 and catalogs_products.cine>? and catalogs_brends.name=? Order by catalogs_products.cine DESC LIMIT 5";
$res = $this->db->getAll($sql,array($row['cine'],$brend),DB_FETCHMODE_ASSOC);
$this->tpl->assign("products_similar_next",$res);
}
} else{
$row = $this->db->getRow("select * from catalogs_products where id=?",array($product_id),DB_FETCHMODE_ASSOC);
$sql = "select catalogs_products.*,catalogs_brends.name as brend_name,r.translit as rubric_translit from catalogs_products
LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id
LEFT JOIN catalogs_rubrics r ON r.id=catalogs_products.rubric_id
WHERE catalogs_products.rubric_id=? and catalogs_products.count_modifications>0 and catalogs_products.cine Order by catalogs_products.cine DESC LIMIT 5";
$res = $this->db->getAll($sql,array($row['rubric_id'],$row['cine']),DB_FETCHMODE_ASSOC);
$this->tpl->assign("products_similar_prev",$res);
$sql = "select catalogs_products.*,catalogs_brends.name as brend_name,r.translit as rubric_translit from catalogs_products
LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id
LEFT JOIN catalogs_rubrics r ON r.id=catalogs_products.rubric_id
WHERE catalogs_products.rubric_id=? and catalogs_products.count_modifications>0 and catalogs_products.cine>? Order by catalogs_products.cine DESC LIMIT 5";
$res = $this->db->getAll($sql,array($row['rubric_id'],$row['cine']),DB_FETCHMODE_ASSOC);
$this->tpl->assign("products_similar_next",$res);
}
}
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 displayFilters2(){
$this->tpl->assign("tpl",'catalogs_filters2.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');
}
}
?>