Beispiel #1
0
 protected function getStatsData($options)
 {
     $kurogoOption = new KurogoStatsOption();
     $type = isset($options['stattype']) ? $options['stattype'] : 'count';
     $kurogoOption->setType($type);
     if ($options['service']) {
         $kurogoOption->setService($options['service']);
         unset($options['service']);
     }
     if ($options['start']) {
         $kurogoOption->addFilter('timestamp', 'GT', $options['start']);
     }
     if ($options['end']) {
         $kurogoOption->addFilter('timestamp', 'LT', $options['end']);
     }
     if (isset($options['sort'])) {
         $kurogoOption->setSortField($options['sort']);
     }
     if (isset($options['sort_dir'])) {
         $kurogoOption->setSortDir($options['sort_dir']);
     }
     if (isset($options['group'])) {
         $kurogoOption->setGroup($options['group']);
     }
     if (isset($options['field'])) {
         $kurogoOption->setField($options['field']);
     }
     if (isset($options['top'])) {
         $kurogoOption->setLimit($options['top']);
     }
     foreach (KurogoStats::validFields() as $field) {
         if (isset($options[$field])) {
             $kurogoOption->addFilter($field, 'EQ', $options[$field]);
         }
     }
     return KurogoStats::retrieveStats($kurogoOption);
 }
Beispiel #2
0
 public static function initStatsResult(KurogoStatsOption $OptionObject)
 {
     $result = array();
     foreach ($OptionObject->getGroup() as $group) {
         switch ($group) {
             case 'moduleID':
                 if ($OptionObject->getService() == 'web') {
                     $moduleData = WebModule::getAllModules();
                 } else {
                     $moduleData = APIModule::getAllModules();
                 }
                 $result = array_combine(array_keys($moduleData), array_fill(0, count($moduleData), 0));
                 break;
             case 'platform':
                 $platforms = self::$platforms;
                 $result = array_combine(array_keys($platforms), array_fill(0, count($platforms), 0));
                 break;
             case 'pagetype':
                 $pagetypes = self::$pagetypes;
                 $result = array_combine(array_keys($pagetypes), array_fill(0, count($pagetypes), 0));
                 break;
             case 'hour':
                 $result = array_combine(range(0, 23), array_fill(0, 24, 0));
                 break;
         }
     }
     return $result;
 }