2011-09-20 09:12:02 +00:00
< ? php
class Admin_StatController extends Zend_Controller_Action
{
function preDispatch ()
{
$this -> db = Zend_Registry :: get ( 'db' );
$this -> view -> config = Zend_Registry :: get ( 'config' );
$this -> messenger = $this -> _helper -> getHelper ( 'FlashMessenger' );
$this -> view -> messages = $this -> messenger -> getMessages ();
}
function postDispatch ()
{
$this -> view -> messages = $this -> messenger -> getMessages ();
}
function indexAction ()
{
2011-12-07 07:23:03 +00:00
$sql = " select (select count(id) from users) as alluser,
( select count ( id ) from normalmetadata ) as alldata ,
( select count ( id ) as num from dataorder where status = 0 ) as onlinedown ,
( select count ( id ) as num from dataorder where offlineappid > 0 and status > 4 ) as offlinepass ,
( select count ( id ) as num from dataorder where offlineappid > 0 and status in ( 2 , 3 , 4 )) as offlineunfinished ,
2012-09-06 07:41:59 +00:00
( select count ( id ) as num from dataorder where offlineappid > 0 and status =- 1 ) as offlinedenied " ;
2011-12-07 07:23:03 +00:00
$this -> view -> stat = $this -> db -> fetchRow ( $sql );
2011-09-21 07:49:27 +00:00
//下载量统计
2011-09-24 13:39:02 +00:00
$sql = " select sum(num) as num from (select m.filesize/1024 as num,m.title,d.userid from dataorder d left join metadata m on d.uuid=m.uuid where (d.status=0 or d.status=5) and m.filesize>0 group by m.title,d.userid,m.filesize) as t " ;
2011-09-21 07:49:27 +00:00
$res = $this -> db -> query ( $sql );
$allsize = $res -> fetch ();
$this -> view -> allsize = $allsize ;
2011-09-30 06:56:24 +00:00
2011-09-24 13:39:02 +00:00
$sql = " select sum(num) as num from (select m.filesize/1024 as num,m.title,d.userid from dataorder d left join metadata m on d.uuid=m.uuid where d.status=5 and m.filesize>0 group by m.title,d.userid,m.filesize) as t " ;
2011-09-21 07:49:27 +00:00
$res = $this -> db -> query ( $sql );
$offlinesize = $res -> fetch ();
$this -> view -> offlinesize = $offlinesize ;
2011-09-30 06:56:24 +00:00
2011-09-24 13:39:02 +00:00
$sql = " select sum(num) as num from (select m.filesize/1024 as num,m.title,d.userid from dataorder d left join metadata m on d.uuid=m.uuid where d.status=0 and m.filesize>0 group by m.title,d.userid,m.filesize) as t " ;
2011-09-21 07:49:27 +00:00
$res = $this -> db -> query ( $sql );
$onlinesize = $res -> fetch ();
2011-09-30 06:56:24 +00:00
$this -> view -> onlinesize = $onlinesize ;
2012-09-06 07:41:59 +00:00
2011-09-20 09:12:02 +00:00
} //indexAction 首页
2011-12-07 07:23:03 +00:00
function unitAction ()
{
2011-12-07 10:00:58 +00:00
//各单位下载情况
2011-12-08 03:46:35 +00:00
$sql = " select count(d.id) as num,o.unit from dataorder d
2011-12-07 10:00:58 +00:00
left join offlineapp o on o . id = d . offlineappid
2011-12-08 03:46:35 +00:00
where d . offlineappid > 0 and o . unit is not null and d . status > 4
group by o . unit " ;
2011-12-07 10:00:58 +00:00
$fe = $this -> db -> query ( $sql );
$unitoffline = $fe -> fetchAll ();
$this -> view -> unitoffline = $unitoffline ;
2011-12-08 03:46:35 +00:00
//各单位在线下载情况
$sql = " select count(d.id) as num,o.unit from dataorder d
left join onlineapp o on o . id = d . onlineappid
where d . onlineappid > 0 and o . unit is not null
group by o . unit " ;
$fe = $this -> db -> query ( $sql );
$unitonline = $fe -> fetchAll ();
$this -> view -> unitonline = $unitonline ;
2011-12-07 10:00:58 +00:00
2011-12-07 07:23:03 +00:00
} //分单位统计
function monthAction (){
$y = $this -> _request -> getParam ( 'y' );
if ( ! empty ( $y ) ||! is_numeric ( $y ))
{
$n = date ( " Y " , time ());
2012-09-06 07:41:59 +00:00
if ( $y < 2011 || $y > $n )
2011-12-07 07:23:03 +00:00
{
$y = $n ;
}
}
$this -> view -> y = $y ;
$sql = " select count(extract(month from ts_created)) as c,extract(month from ts_created) as m,extract(year from ts_created) as y from onlineapp
where extract ( year from ts_created ) = '$y'
group by extract ( month from ts_created ), extract ( year from ts_created )
order by extract ( year from ts_created ), extract ( month from ts_created ) " ;
$rs = $this -> db -> query ( $sql );
$rows = $rs -> fetchAll ();
$this -> view -> data = $rows ;
$sql = " select count(extract(month from ts_created)) as c,extract(month from ts_created) as m,extract(year from ts_created) as y from offlineapp
where extract ( year from ts_created ) = '$y'
group by extract ( month from ts_created ), extract ( year from ts_created )
order by extract ( year from ts_created ), extract ( month from ts_created ) " ;
$rs = $this -> db -> query ( $sql );
$rows = $rs -> fetchAll ();
if ( count ( $rows ) <= 0 )
{
$this -> view -> offline = " " ;
}
$this -> view -> offline = $rows ;
$sql = " select count(extract(month from ts_created)) as c,extract(month from ts_created) as m,extract(year from ts_created) as y from users
where extract ( year from ts_created ) = '$y'
group by extract ( month from ts_created ), extract ( year from ts_created )
order by extract ( year from ts_created ), extract ( month from ts_created ) " ;
$rs = $this -> db -> query ( $sql );
$rows = $rs -> fetchAll ();
if ( count ( $rows ) <= 0 )
{
$this -> view -> newuser = " " ;
}
$this -> view -> newuser = $rows ;
} //按月份统计
2011-10-31 07:17:35 +00:00
2011-09-20 09:12:02 +00:00
function awstatswebAction ()
{
} //awstats web 统计
function awstatsftpAction ()
{
} //awstats ftp 统计
function webalizerAction ()
{
} //webalizer 统计
}