コード例 #1
0
ファイル: StatsWebModule.php プロジェクト: nncsang/Kurogo
 protected function getStatsData($chartData)
 {
     $kurogoOption = new KurogoStatsOption();
     $type = isset($chartData['stattype']) ? $chartData['stattype'] : 'count';
     $kurogoOption->setType($type);
     if ($chartData['service']) {
         $kurogoOption->setService($chartData['service']);
         unset($chartData['service']);
     }
     if ($chartData['start']) {
         $kurogoOption->addFilter('timestamp', 'GTE', $chartData['start']);
     }
     if ($chartData['end']) {
         $kurogoOption->addFilter('timestamp', 'LTE', $chartData['end']);
     }
     if (isset($chartData['sort'])) {
         $kurogoOption->setSortField($chartData['sort']);
     }
     if (isset($chartData['sort_dir'])) {
         $kurogoOption->setSortDir($chartData['sort_dir']);
     }
     if (isset($chartData['group'])) {
         $kurogoOption->setGroup($chartData['group']);
     }
     if (isset($chartData['field'])) {
         $kurogoOption->setField($chartData['field']);
     }
     if (isset($chartData['top'])) {
         $kurogoOption->setLimit($chartData['top']);
     }
     foreach (KurogoStats::validFields() as $field) {
         if (isset($chartData[$field])) {
             $kurogoOption->addFilter($field, 'EQ', $chartData[$field]);
         }
     }
     return KurogoStats::retrieveStats($kurogoOption, $chartData);
 }