public function ratingChartAction() { $result = array('success' => false); $userId = (int) $this->params()->fromQuery('userId'); $siteId = (int) $this->params()->fromQuery('siteId'); $user = $this->services->getUserService()->find($userId); if ($user) { $byDate = new DateAggregate(DbViewVotes::DATETIME, 'Date'); $count = new Aggregate(DbViewVotes::VALUE, Aggregate::SUM, 'Votes'); $votes = $this->services->getVoteService()->getAggregatedVotesOnUser($userId, $siteId, array($byDate, $count)); $resVotes = array(); foreach ($votes as $vote) { $resVotes[] = array($vote['Date']->format(\DateTime::ISO8601), (int) $vote['Votes']); } $authorships = $this->services->getUserService()->findAuthorshipsOfUser($userId, $siteId); $milestones = array(); foreach ($authorships as $auth) { $name = $auth->getPage()->getTitle(); if (mb_strlen($name) > 11) { $name = mb_substr($name, 0, 8) . '...'; } $milestones[] = array($auth->getPage()->getCreationDate()->format(\DateTime::ISO8601), array('name' => $name, 'text' => $auth->getPage()->getTitle())); } $result = array('success' => true, 'votes' => $resVotes, 'milestones' => $milestones); } return new JsonModel($result); }
public function ratingChartAction() { $pageId = (int) $this->params()->fromQuery('pageId'); $byDate = new DateAggregate(DbViewVotes::DATETIME, 'Date'); $count = new Aggregate(DbViewVotes::VALUE, Aggregate::SUM, 'Votes'); $votes = $this->services->getVoteService()->getAggregatedForPage($pageId, array($byDate, $count), true); $resVotes = array(); foreach ($votes as $vote) { $resVotes[] = array($vote['Date']->format(\DateTime::ISO8601), (int) $vote['Votes']); } $revisions = $this->services->getRevisionService()->findRevisionsOfPage($pageId); $resRevisions = array(); foreach ($revisions as $rev) { $resRevisions[] = array($rev->getDateTime()->format(\DateTime::ISO8601), array('name' => (string) ($rev->getIndex() + 1), 'text' => $rev->getComments() === '' ? $rev->getUser()->getDisplayName() : sprintf('%s: "%s"', $rev->getUser()->getDisplayName(), $rev->getComments()))); } return new JsonModel(array('success' => true, 'votes' => $resVotes, 'milestones' => $resRevisions)); }
public function editorListAction() { $result = array('success' => false); $siteId = (int) $this->params()->fromQuery('siteId', $this->services->getUtilityService()->getSiteId()); $page = (int) $this->params()->fromQuery('page', 1); $perPage = (int) $this->params()->fromQuery('perPage', 10); $orderBy = $this->params()->fromQuery('orderBy', 'Revisions'); $order = $this->params()->fromQuery('ascending', true); if ($order) { $order = Order::ASCENDING; } else { $order = Order::DESCENDING; } $table = $this->getEditorsTable($siteId, $orderBy, $order, $page, $perPage); $renderer = $this->getServiceLocator()->get('ViewHelperManager')->get('partial'); if ($renderer) { $result['success'] = true; $result['content'] = $renderer('partial/tables/table.phtml', array('table' => $table, 'data' => array('total' => $this->services->getRevisionService()->countSiteRevisions($siteId)))); } return new JsonModel($result); }
public function pageListAction() { $result = array('success' => false); $siteId = (int) $this->params()->fromQuery('siteId', $this->services->getUtilityService()->getSiteId()); $page = (int) $this->params()->fromQuery('page', 1); $perPage = (int) $this->params()->fromQuery('perPage', 10); $orderBy = $this->params()->fromQuery('orderBy', DbViewPages::CLEANRATING); $order = $this->params()->fromQuery('ascending', true); if ($order) { $order = Order::ASCENDING; } else { $order = Order::DESCENDING; } $this->extractTagParameters($method, $searchTags, $includeTags, $excludeTags); $table = $this->getPagesTable($siteId, $includeTags, $excludeTags, $method === 'and', $orderBy, $order, $page, $perPage); $renderer = $this->getServiceLocator()->get('ViewHelperManager')->get('partial'); if ($renderer) { $result['success'] = true; $result['content'] = $renderer('partial/tables/table.phtml', array('table' => $table, 'data' => array('siteId' => $siteId))); } return new JsonModel($result); }