public function actionHosts($date) { $this->pageName = 'Hosts'; $stats = Yii::app()->stats->initRun(); $zp = $stats['zp']; $sql = "SELECT tm,refer,ip,proxy,host,lang,user,req from cms_surf WHERE dt='" . $date . "' AND " . $zp . " GROUP BY ip ORDER BY i DESC"; $cmd = Yii::app()->db->createCommand($sql); $result = array(); foreach ($cmd->queryAll(false) as $row) { $refer = StatsHelper::Ref($row[1]); if (is_array($refer)) { list($engine, $query) = $refer; $refer1 = StatsHelper::checkSearchEngine($row[1], $engine, $query); } else { $refer1 = StatsHelper::checkIdna($row); } $result[] = array('time' => $row[0], 'refer' => $refer1, 'ip' => StatsHelper::getRowIp($row[2], $row[3]), 'host' => StatsHelper::getRowHost($row[2], $row[3], $row[4], $row[5]), 'user_agent' => StatsHelper::getRowUserAgent($row[6], $row[1]), 'timelink' => Html::link($row[7], $row[7])); } $dataProvider = new CArrayDataProvider($result, array('sort' => array('attributes' => array('ip' => array('asc' => 'ip DESC', 'desc' => 'ip ASC'), 'refer' => array('asc' => 'refer DESC', 'desc' => 'refer ASC'), 'time' => array('asc' => 'time DESC', 'desc' => 'time ASC'))), 'pagination' => array('pageSize' => 10))); $this->render('hosts', array('dataProvider' => $dataProvider)); }