db = &$db; $this->tpl = &$tpl; $this->error = &$error; } function trim(&$data){ foreach($data as $key=>$value){ $data[$key] = trim($value); } } function valid($data,$upload = null){ if(isset($data['name'])){ if( !preg_match("/.{1,150}/i",$data['name']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Íàçâàíèÿ èçîáðàæåíèÿ."; } if(isset($data['rubric'])){ if( !preg_match("/.{1,100}/i",$data['rubric']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Íàçâàíèÿ ðóáðèêè, 100 ñèìâ.."; } if(isset($upload['pic']['name']) && !$data['update_id']){ $type = substr(strrchr($upload['pic']['name'],"."),1); if( !preg_match("/^(jpeg|jpg|gif|png)$/i",$type) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Èçîáðàæåíèÿ, òîëüêî jpg,png,gif."; } return ( count($this->error) ) ? true : false; } function deletePicsGallery($id){ $sql = "select pic,pic_big from catalogs_gallery where id=?"; $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); @unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/products/gallery/{$row['pic']}"); //@unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/products/big/{$row['pic_big']}"); } function deleteGallery($id){ $this->deletePicsGallery($id); $sql = "delete from catalogs_gallery where id=?"; $this->db->query($sql,array($id)); } 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){ $this->deleteGallery($row['id']); } } function deleteRoom($id){ $sql = "select pic from rooms where id=?"; $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); @unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/gallery/rooms/{$row['pic']}"); $sql = "delete from rooms where id=?"; $this->db->query($sql,array($id)); } function viewGalleryOne($id){ $sql = "select * from catalogs_gallery where id=?"; $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); $this->tpl->assign('pic',$row); } 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 viewCheckPhotos(){ $sql = "select gallery.*,topic.id as topic_id,topic.comments as topic_comments, firms.name as firm_name from gallery left join topic on topic.parent_table='gallery' Left join firms on firms.id=gallery.firm_id where gallery.active=? and topic.parent_table_id=gallery.id order by gallery.mktime desc"; $row = $this->db->getAll($sql,array(1),DB_FETCHMODE_ASSOC); $this->tpl->assign('photosCheck',$row); } function SaveGallery($data,$upload){ $table_name = "catalogs_gallery"; if(isset($data['update_id']) && $data['update_id']>0){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$id = $data['update_id'];$where = "id=$id";} else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$id = $this->db->nextId('mySequence_catalogs_gallery');$where = null;} $fields_values = array('id'=>$id,'name' => $data['name'],'product_id' => $data['product_id']); if($upload['pic']['tmp_name']){ $this->deletePicsGallery($id); $fields_values['pic'] = upload_ImageResize($upload['pic'],array('width'=>"100",'height'=>"100",'upload_path'=>"./uploaded/pic/catalogs/products/gallery/")); $fields_values['pic_big'] = upload_ImageResize($upload['pic'],array('width'=>"600",'height'=>"600",'upload_path'=>"./uploaded/pic/catalogs/products/big/")); } $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,$where); return $id; } function SaveRubric($data,$num){ $table_name = "gallery_rubrics"; $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; $where = ($data['update_id']>0) ? "id=".$data['update_id'] : null; $fields_values = array('name' => $data['rubric'],'num' => $num); $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,$where); } function viewRubrics($num){ $sql = "select * from gallery_rubrics where num=?"; $row = $this->db->getAll($sql,array($num),DB_FETCHMODE_ASSOC); $this->tpl->assign('rubrics'.$num,$row); } function getRubrics($num){ $sql = "select * from gallery_rubrics where num=?"; return $this->db->getAll($sql,array($num),DB_FETCHMODE_ASSOC); } function viewRubric($id){ $sql = "select * from gallery_rubrics where id=?"; $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); $this->tpl->assign('rubric',$row); } function deleteRubric($id){ $sql = "delete from gallery_rubrics where id=?"; $this->db->query($sql,array($id)); } function countPhotosFirm($firm_id){ $data = array(); $sql = "select count(id) from gallery where 1=1"; if($firm_id!='All'){$sql .= " and firm_id=?";$data[] = $firm_id;} $count = $this->db->getOne($sql,$data); $this->tpl->assign('count_photos',$count); } function viewGallery($params = array()){ $search = array(); if(isset($params['productID']) && $params['productID']>0)$product_id = $params['productID'];else $product_id = 0; $sql = "select * from catalogs_gallery where product_id=? "; if(count($search))$sql .= " and " . implode(" and ",$search)." "; $sql .= "order by id asc"; $pagerOptions = Array( 'mode' => 'Sliding', 'delta' => 6, 'perPage' => 15, 'spacesBeforeSeparator' => 1, 'spacesAfterSeparator' => 1 ); $this->tpl->assign('galleryAllData', Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array($product_id))); } function viewGalleryProduct($id){ $sql = "select * from catalogs_gallery where product_id=? order by id asc"; $row = $this->db->getAll($sql,array($id),DB_FETCHMODE_ASSOC); $this->tpl->assign('gallery', $row); } function viewGalleryRubrics($params = array(),$what = 1){ $search = array(); //if(isset($params['rubID']) && $params['rubID']>0)$search[] = sprintf("gallery.group_id=%d",$params['rubID']); if(isset($params['parentID']) && $params['parentID']>0)$parentID = $params['parentID'];else $parentID = 0; $sql = "select gallery.*,gallery_rubrics.name as rubric,topic.id as topic_id,topic.comments as topic_comments from gallery Left Join gallery_rubrics On gallery_rubrics.id=rubric_id Left Join topic On topic.parent_table='gallery' And topic.parent_table_id=gallery.id where parent_id=? and what=? and rubric_id=? "; // if(count($search))$sql .= " and " . implode(" and ",$search)." "; if($parentID>0)$sql .= "order by rubric_id asc"; else $sql .= "order by sort asc"; $row = array(); foreach($this->getRubrics($what) as $key=>$rub){ $row[$key]['rubric'] = $rub['name']; $row[$key]['gallery'] = $this->db->getAll($sql,array($parentID,$what,$rub['id']),DB_FETCHMODE_ASSOC); } //print_r($row); $this->tpl->assign('gallery', $row); } function displayServiceGallery(){ $this->tpl->assign("service_tpl",'gallery.tpl'); } function displayGallery(){ $this->tpl->assign("tpl",'gallery_list.tpl'); } function displayGalleryParent(){ $this->tpl->assign("tpl",'gallery_parent.tpl'); } function displayGallery3(){ $this->tpl->assign("tpl",'gallery3.tpl'); } function displayGallerySave(){ $this->tpl->assign("tpl",'gallery_list_save.tpl'); } function displayGallerySave2(){ $this->tpl->assign("tpl",'gallery_save2.tpl'); } function displayRooms(){ $this->tpl->assign("tpl",'rooms_gallery.tpl'); } function displayGalleryBar(){ $this->tpl->display('gallery_bar.tpl'); } } ?>