db = &$db; $this->tpl = &$tpl; $this->error = &$error; } function viewCity(){ $sql = "select * from vacancy where parent_id=? order by id asc"; $res = $this->db->getAll($sql,array(0),DB_FETCHMODE_ASSOC); foreach($res as $key=>$row){ $res[$key]['child'] = $this->db->getAll($sql,array($row['id']),DB_FETCHMODE_ASSOC); } $this->tpl->assign('city',$res); } function viewAllNews($param = array()){ $search = array(); if(isset($_GET['parentID']) && $_GET['parentID']>0)$search[] = sprintf("parent_id='%d'",$_GET['parentID']); else $search[] = sprintf("parent_id='%d'",0); $sql = "select * from vacancy where 1=1 "; if(count($search))$sql .= "AND " . implode(" AND ",$search)." "; $sql .= "order by id asc"; $pagerOptions = Array( 'mode' => 'Sliding', 'delta' => 6, 'perPage' => 10, 'spacesBeforeSeparator' => 1, 'spacesAfterSeparator' => 1 ); $this->tpl->assign('newsAllData', Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array())); } function viewOneNews($id,&$row){ $sql = "select * from vacancy where id=? limit 1"; $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); $this->tpl->assign('news',$row); } function admin_infoEditNewsOne($id){ $sql = "select * from vacancy where id=? limit 1"; $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); $this->tpl->assign('news',$row); } function trim(&$data){ foreach($data as $key=>$value){ if(!is_array($data[$key]))$data[$key] = trim($value); } } function valid($data,$upload = null){ if(isset($data['title'])){ if( !preg_match("/.{1,150}/i",$data['title']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Çàãëàâèå, îò 1-150 ñèìâîëîâ."; } if(isset($upload['pic']['name']) && $upload['pic']['name']!=null){ $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 SaveNews($data,$upload = null,$firm_id = 0){ $table_name = "vacancy"; if($data['update_id']>0){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$id = $data['update_id'];$where = "id=$id";$where .= ($firm_id>0) ? " and firm_id=$firm_id" : "";}else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$id = $this->db->nextId('mySequenceNews');$where = null;} $fields_values = array("id"=>$id,"parent_id"=>$data['parent_id'],"title"=>$data['title'],"text"=>$data['text']); // if(!$data['update_id']){$fields_values['mktime'] = mktime();} if(isset($data['delete_pic']) && $data['delete_pic']==1){ $this->deletePic($id); $fields_values['pic'] = null; $fields_values['pic_big'] = null; } if($upload['pic']['tmp_name']){ $this->deletePic($id); $fields_values['pic'] = upload_ImageResize($upload['pic'],array('width'=>"100",'height'=>"100",'upload_path'=>"./uploaded/pic/vacancy/")); $fields_values['pic_big'] = upload_ImageResize($upload['pic'],array('width'=>"300",'height'=>"300",'upload_path'=>"./uploaded/pic/vacancy/big/")); } $this->db->autoExecute($table_name, $fields_values, $DB_AUTOQUERY,$where); return $id; } function deletePic($id){ $sql = "select pic,pic_big from vacancy where id=?"; $news = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); @unlink("./uploaded/pic/vacancy/{$news['pic']}"); @unlink("./uploaded/pic/vacancy/big/{$news['pic_big']}"); } function admin_deleteNewsOne($id){ //$this->deletePic($id); $sql = "delete from vacancy where id=?"; $this->db->query($sql,array($id)); } function displayNewsSave(){ $this->tpl->assign("tpl","vacancy_save.tpl"); } function displayNews(){ $this->tpl->assign("tpl","vacancy.tpl"); } function displayNewsOne(){ $this->tpl->assign("tpl","vacancy_one.tpl"); } } ?>