view->config = Zend_Registry::get('config'); $this->db=Zend_Registry::get('db'); $this->view->theme = new Theme(); $this->submd = $this->view->config->sub->metadata; $this->subnews = $this->view->config->sub->news; # $this->_helper->layout->setLayout('index'); //$this->view->main_nav_pageID = "index"; } function indexAction() { //统计数据 $sql="select (select count(*) from users) as usernum,(select count(*) from {$this->submd}) as metanum, (select count(distinct d.uuid) from dataorder d left join offlineapp f on d.offlineappid=f.id where d.uuid in (select uuid from meteorologymd) and d.ts_approved is not null and d.status in (0,5) ) as offlinenum, (select count(*) from datavisual where uuid in (select uuid from {$this->submd}) and status=1) as visualnum"; $row=$this->db->fetchRow($sql); $this->view->usernum=$row['usernum']; $this->view->metanum=$row['metanum']; $this->view->offlinenum=$row['offlinenum']; $this->view->visualnum=$row['visualnum']; /*$sql='select count(*) from metadata'; $row=$this->db->fetchRow($sql); $this->view->metanum=$row['count'];*/ $sql="select sum(filesize) as sum,datatype from {$this->submd} group by datatype"; $rows=$this->db->fetchAll($sql); foreach($rows as $row) { if ($row['datatype']) $this->view->offlinesize=$row['sum']; else $this->view->onlinesize=$row['sum']; } //下载最多数据(top 5) $sql="select uuid,title,id from {$this->submd} where id in (select m.id from {$this->submd} m left join dataorder d on m.uuid=d.uuid where m.datatype=0 group by m.id order by count(d.uuid) desc limit 5)"; //最新数据 $sql = "select id,uuid,title,ts_created from {$this->submd} order by ts_created desc limit 5"; $this->db->setFetchMode(Zend_Db::FETCH_BOTH); $this->view->mdtop=$this->db->fetchAll($sql); $sql="select uuid,title,id from {$this->submd} where id in (select m.id from {$this->submd} m left join dataorder d on m.uuid=d.uuid where m.datatype=1 group by m.id order by count(d.uuid) desc limit 5)"; $this->view->offlinemdtop=$this->db->fetchAll($sql); $sql="select m.uuid,m.title,m.id,m.description from {$this->submd} m left join thumbnail t on m.id=t.id where length(t.data)>2 order by random()"; $this->view->mdrandom=$this->db->fetchRow($sql); //搜索 $this->view->addHelperPath('helper','Zend_View_Helper_'); $searchform=new SearchForm(); //$searchform->removeElement('submit'); $this->view->searchform=$searchform; $News = new Archive($this->db); $time = date("Y-m-d H:i:s",time()); $sql = "SELECT * FROM archive WHERE is_pub=true and sub='$this->subnews' AND ts_published<'$time' AND image!='' and id in (select ar_catalog.aid from ar_category left join ar_catalog on ar_category.id=ar_catalog.cid where ar_category.code='featured') order by ts_published desc LIMIT 5"; $sth = $this->db->query($sql); $rows = $sth->fetchAll(PDO::FETCH_BOTH); foreach($rows as $k=>$v) { $url = $News->getArchiveUrlByCid($v['id']); $rows[$k]['url'] = $url['archive_url']; } $this->view->news = $rows; //$time = date("Y-m-d H:i:s",time()); $sql = "SELECT * FROM archive WHERE is_pub=true and sub='$this->subnews' AND ts_publisheddb->query($sql); $rows = $sth->fetchAll(PDO::FETCH_BOTH); foreach($rows as $k=>$v) { $url = $News->getArchiveUrlByCid($v['id']); $rows[$k]['url'] = $url['archive_url']; $rows[$k]['type_title'] = $url['type_title']; $rows[$k]['type_url'] = $url['type_url']; } $this->view->list_news = $rows; $sql="select * from $this->submd where uuid in (select uuid from datavisual) order by ts_created desc limit 5"; $sth=$this->db->query($sql); $this->view->visualdata = $sth->fetchAll(PDO::FETCH_BOTH); } }