db = &$db; $this->tpl = &$tpl; $this->error = &$error; } function viewProjectsLast($limit = 3){ $sql = "select * from projects order by mktime desc limit $limit"; $row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); $this->tpl->assign('projects_last',$row); } function viewProjectsComments(){ $sql = "select articles.*,firms.name as firm_name,topic.comments from articles left join firms on firms.id=articles.firm_id left join topic on topic.parent_table='articles' where topic.parent_table_id=articles.id order by topic.comments desc limit 3"; $row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); $this->tpl->assign('articles_comments',$row); } /* function viewFirmProjects($firm_id){ $sql = "select articles.*,firms.name as firm_name from articles left join firms on firms.id=articles.firm_id where articles.firm_id=? order by articles.mktime desc"; $pagerOptions = Array( 'mode' => 'Sliding', 'delta' => 6, 'perPage' => 10, 'spacesBeforeSeparator' => 1, 'spacesAfterSeparator' => 1 ); $this->tpl->assign('articlesData', Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array($firm_id))); } */ function viewAllProjects($param = array()){ $search = array(); $sql = "select * from projects where 1=1 "; if(count($search))$sql .= "AND " . implode(" AND ",$search)." "; $sql .= "order by mktime desc"; $pagerOptions = Array( 'mode' => 'Sliding', 'delta' => 6, 'perPage' => 10, 'spacesBeforeSeparator' => 1, 'spacesAfterSeparator' => 1 ); $this->tpl->assign('projectsAllData', Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array())); } function getProjects($limit = 10,$firm_id = "all"){ $sql = "select articles.*,rss_rubrics.name as rss_rubric_name from articles left join rss_rubrics on rss_rubrics.id=articles.rss_rubric "; if($firm_id!="all")$sql .= "where articles.firm_id=$firm_id "; $sql .= "order by articles.mktime desc limit $limit"; return $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); } function viewOneProject($id,&$row){ $sql = "select * from projects where id=? limit 1"; $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); $this->tpl->assign('article',$row); } function infoEditProjectOne($id,$firm_id){ $sql = "select * from projects where firm_id=? and id=? limit 1"; $row = $this->db->getRow($sql,array($firm_id,$id),DB_FETCHMODE_ASSOC); $this->tpl->assign('article',$row); } function admin_infoEditProjectOne($id){ $sql = "select * from projects where id=? limit 1"; $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); $this->tpl->assign('article',$row); } function Click($id){ $sql = "update projects set view=view+1 where id=? limit 1"; $this->db->query($sql,$id); } 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['rss_rubric'])){ if( !preg_match("/^([0-9]+)$/",$data['rss_rubric']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Ðóáðèêà."; } if(isset($data['title'])){ if( !preg_match("/.{1,150}/i",$data['title']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Çàãëàâèå, îò 1-150 ñèìâîëîâ."; } if(isset($data['text'])){ if( !preg_match("/.+/is",$data['text']) ) $this->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) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Èçîáðàæåíèÿ, òîëüêî jpg,png,gif."; } return ( count($this->error) ) ? true : false; } function SaveProject($data,$upload = null,$firm_id = 0){ $table_name = "projects"; 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('mySequenceProjects');$where = null;} $fields_values = array("id"=>$id,"title"=>$data['title'],"text"=>$data['text']); if(!$data['update_id']){$fields_values['mktime'] = mktime();} if($upload['pic']['tmp_name']){ $fields_values['pic'] = upload_ImageResize($upload['pic'],array('width'=>"210",'height'=>"210",'upload_path'=>"./uploaded/pic/projects/")); $fields_values['pic_ico'] = upload_ImageResize($upload['pic'],array('width'=>"180",'height'=>"180",'upload_path'=>"./uploaded/pic/projects/ico/")); $fields_values['pic_big'] = upload_ImageResize($upload['pic'],array('width'=>"500",'height'=>"500",'upload_path'=>"./uploaded/pic/projects/big/")); } $this->db->autoExecute($table_name, $fields_values, $DB_AUTOQUERY,$where); return $id; } function deleteProjectOne($firm_id,$id){ $sql = "select pic,pic_big from projects where firm_id=? and id=?"; $pics = $this->db->getRow($sql,array($firm_id,$id),DB_FETCHMODE_ASSOC); @unlink("./pic/articles/{$pics['pic']}"); @unlink("./pic/articles/big/{$pics['pic_big']}"); $sql = "delete from articles where firm_id=? and id=?"; $this->db->query($sql,array($firm_id,$id)); } function admin_deleteProjectOne($id){ $sql = "select pic,pic_ico,pic_big from projects where id=?"; $project = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); @unlink("./uploaded/pic/projects/{$project['pic']}"); @unlink("./uploaded/pic/projects/ico/{$project['pic_ico']}"); @unlink("./uploaded/pic/projects/big/{$project['pic_big']}"); $sql = "delete from projects where id=?"; $this->db->query($sql,array($id)); } function rssRubcrics(){ $sql = "select * from rss_rubrics"; $rubrics = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); $this->tpl->assign('articles_rubrics',$rubrics); } function displayServieArticles(){ $this->tpl->assign("service_tpl","articles.tpl"); } function displayServieArticleSave(){ $this->rssRubcrics(); $this->tpl->assign("service_tpl","article_save.tpl"); } function displayProjectSave(){ $this->tpl->assign("tpl","project_save.tpl"); } function displayProjects(){ $this->tpl->assign("tpl","projects.tpl"); } function displayProjectOne(){ $this->tpl->assign("tpl","project_one.tpl"); } } ?>