示例#1
0
 public function getVoteChartDataAction()
 {
     $result = array('success' => false);
     $siteId = -1;
     $fromDate = null;
     $toDate = null;
     if ($this->getCommonParams($siteId, $fromDate, $toDate)) {
         $count = new Aggregate('*', Aggregate::COUNT, 'Number');
         $dateAgg = new DateAggregate(DbViewVotes::DATETIME, 'Period');
         $dateAgg->setBestAggregateType($fromDate, $toDate);
         $votes = $this->services->getVoteService()->getAggregatedForSite($siteId, array($count, $dateAgg), $fromDate, $toDate);
         foreach ($votes as $vote) {
             $result['data'][] = array($vote['Period']->format(\DateTime::ISO8601), $vote['Number']);
         }
         $result['group'] = $dateAgg->getAggregateDescription();
         $result['starting'] = $this->services->getVoteService()->countSiteVotes($siteId, VoteType::ANY, null, $fromDate);
         $result['success'] = true;
     }
     return new JsonModel($result);
 }