"./pics/articles/", 'pic_big'=>"./pics/articles/big/"); function __construct($lang){ $this->db = sdb::getInstance(); $this->lang = $lang; } public function valid($data,$upload = null){ $error = array(); if(!preg_match("/.{1,200}/i",$data['title']))$error[] = "Îøèáêà ââîäà Çàãëàâèå!"; 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) ) $error[] = "Îøèáêà ââîäà ïîëÿ Èçîáðàæåíèÿ, òîëüêî jpg,png,gif."; } return $error; } public function save($data,$upload = null){ $table_name = "articles"; if($data['update_id']>0){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$where = "id={$data['update_id']}";}else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$where = null;} $fields_values = array("title_".$this->lang=>$data['title'], 'translit' => ($data['translit']) ? $data['translit'] : translitIt($data['title']), "text_".$this->lang=>$data['text'], "date"=>$data['date'], "meta_title_".$this->lang=>$data['meta_title'], "meta_description_".$this->lang=>$data['meta_description'], "meta_keywords_".$this->lang=>$data['meta_keywords'], "meta_about_".$this->lang=>$data['meta_about']); if(isset($data['delete_pic']) && $data['delete_pic']==1){ if($data['update_id']>0)$this->deletePic($data['update_id']); $fields_values['pic'] = null; $fields_values['pic_big'] = null; } if($upload['pic']['tmp_name']){ if($data['update_id']>0)$this->deletePic($data['update_id']); $fields_values['pic'] = upload_ImageResize($upload['pic'],array('width'=>"100",'height'=>"100",'upload_path'=>$this->path_pic['pic'])); $fields_values['pic_big'] = upload_ImageResize($upload['pic'],array('width'=>"300",'height'=>"300",'upload_path'=>$this->path_pic['pic_big'])); } $this->db->autoExecute($table_name, $fields_values, $DB_AUTOQUERY,$where); return $id; } function deletePic($id){ $sql = "select pic,pic_big from articles where id=?"; $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); @unlink($this->path_pic['pic'] . $row['pic']); @unlink($this->path_pic['pic_big'] . $row['pic_big']); } function delete($id){ $this->deletePic($id); $this->db->query("delete from articles where id=?",array($id)); } public function getNews($param = array()){ $search = array(); $sql = "select *,title_{$this->lang} as title,text_{$this->lang} as text from articles where 1=1 "; if(count($search))$sql .= "AND " . implode(" AND ",$search)." "; $sql .= "order by date desc"; $pagerOptions = Array( 'mode' => 'Sliding', 'delta' => 6, 'perPage' => 10, 'spacesBeforeSeparator' => 1, 'spacesAfterSeparator' => 1 ); return Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array()); } function view($id){ $sql = "select *,title_{$this->lang} as title,meta_title_{$this->lang} as meta_title,meta_description_{$this->lang} as meta_description,meta_keywords_{$this->lang} as meta_keywords,meta_about_{$this->lang} as meta_about,text_{$this->lang} as text from articles where id=? limit 1"; return $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); } } ?>