/** * Arranges statistics * @return array */ private function createStats() { $generator = new GraphDataGenerator($this->getDoctrine()->getManager()); $journal = $this->get('ojs.journal_service')->getSelectedJournal(); $lastMonth = ['x']; for ($i = 0; $i < 30; $i++) { $lastMonth[] = date($this::DATE_FORMAT, strtotime('-' . $i . ' days')); } $slicedLastMonth = array_slice($lastMonth, 1); $articles = $this->getDoctrine()->getRepository('OjsJournalBundle:Article')->findAll(); $issues = $this->getDoctrine()->getRepository('OjsJournalBundle:Issue')->findAll(); $json = ['dates' => $lastMonth, 'articleViews' => $generator->generateArticleBarChartData($articles, $slicedLastMonth), 'issueFileDownloads' => $generator->generateIssueFilePieChartData($issues, $slicedLastMonth), 'articleFileDownloads' => $generator->generateArticleFilePieChartData($articles, $slicedLastMonth)]; $data = ['stats' => json_encode($json), 'articles' => $generator->generateArticleViewsData($articles), 'issueFiles' => $generator->generateIssueFileDownloadsData($issues), 'articleFiles' => $generator->generateArticleFileDownloadsData($articles), 'articlesMonthly' => $generator->generateArticleViewsData($articles, $slicedLastMonth), 'issueFilesMonthly' => $generator->generateIssueFileDownloadsData($issues, $slicedLastMonth), 'articleFilesMonthly' => $generator->generateArticleFileDownloadsData($articles, $slicedLastMonth)]; return $data; }
/** * Arranges statistics * @return array */ private function createStats() { $generator = new GraphDataGenerator($this->getDoctrine()->getManager()); $lastMonth = ['x']; for ($i = 0; $i < 30; $i++) { $lastMonth[] = date($generator->getDateFormat(), strtotime('-' . $i . ' days')); } $slicedLastMonth = array_slice($lastMonth, 1); $articles = $this->getDoctrine()->getRepository('OjsJournalBundle:Article')->findBy(['submitterUser' => $this->getUser()]); $json = ['dates' => $lastMonth, 'articleViews' => $generator->generateArticleBarChartData($articles, $slicedLastMonth), 'articleFileDownloads' => $generator->generateArticleFilePieChartData($articles, $slicedLastMonth)]; $data = ['stats' => json_encode($json), 'articles' => $generator->generateArticleViewsData($articles), 'articleFiles' => $generator->generateArticleFileDownloadsData($articles), 'articlesMonthly' => $generator->generateArticleViewsData($articles, $slicedLastMonth), 'articleFilesMonthly' => $generator->generateArticleFileDownloadsData($articles, $slicedLastMonth)]; return $data; }