private function createStats()
{
$generator = new GraphDataGenerator($this->getDoctrine()->getManager());
$journals = $this->getDoctrine()->getRepository('OjsJournalBundle:Journal')->findAll();
$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(['journal' => $journals]);
$issues = $this->getDoctrine()->getRepository('OjsJournalBundle:Issue')->findBy(['journal' => $journals]);
$json = ['dates' => $lastMonth, 'journalViews' => $generator->generateJournalBarChartData($journals, $slicedLastMonth), 'articleViews' => $generator->generateArticleBarChartData($articles, $slicedLastMonth), 'issueFileDownloads' => $generator->generateIssueFilePieChartData($issues, $slicedLastMonth), 'articleFileDownloads' => $generator->generateArticleFilePieChartData($articles, $slicedLastMonth)];
$data = ['stats' => json_encode($json), 'journals' => $generator->generateJournalViewsData($journals), 'articles' => $generator->generateArticleViewsData($articles), 'issueFiles' => $generator->generateIssueFileDownloadsData($issues), 'articleFiles' => $generator->generateArticleFileDownloadsData($issues), 'journalsMonthly' => $generator->generateJournalViewsData($journals, $slicedLastMonth), 'articlesMonthly' => $generator->generateArticleViewsData($articles, $slicedLastMonth), 'issueFilesMonthly' => $generator->generateIssueFileDownloadsData($issues, $slicedLastMonth), 'articleFilesMonthly' => $generator->generateArticleFileDownloadsData($articles, $slicedLastMonth)];
return $data;
}