Ojs\AdminBundle\Controller\AdminController::cacheAdminStats PHP Method

cacheAdminStats() private method

private cacheAdminStats ( )
    private function cacheAdminStats()
    {
        $cache = $this->container->get('file_cache');
        $generator = $this->container->get('ojs.graph.data.generator');
        /** @var $dispatcher EventDispatcherInterface */
        $dispatcher = $this->get('event_dispatcher');
        $lastMonth = ['x'];
        for ($i = 0; $i < 30; $i++) {
            $lastMonth[] = date($generator->getDateFormat(), strtotime('-' . $i . ' days'));
        }
        $slicedLastMonth = array_slice($lastMonth, 1);
        $json = ['dates' => $lastMonth, 'journalViews' => $generator->generateJournalBarChartData($slicedLastMonth), 'articleViews' => $generator->generateArticleBarChartData($slicedLastMonth), 'issueFileDownloads' => $generator->generateIssueFilePieChartData($slicedLastMonth), 'articleFileDownloads' => $generator->generateArticleFilePieChartData($slicedLastMonth), 'application' => $generator->generateApplicationBarChartData()];
        $data = ['journals' => $generator->generateJournalViewsData(), 'articles' => $generator->generateArticleViewsData(), 'issueFiles' => $generator->generateIssueFileDownloadsData(), 'articleFiles' => $generator->generateArticleFileDownloadsData(), 'journalsMonthly' => $generator->generateJournalViewsData($slicedLastMonth), 'articlesMonthly' => $generator->generateArticleViewsData($slicedLastMonth), 'applicationMonthly' => $generator->generateApplicationMonthlyData(), 'applicationYearly' => $generator->generateApplicationYearlyData(), 'issueFilesMonthly' => $generator->generateIssueFileDownloadsData($slicedLastMonth), 'articleFilesMonthly' => $generator->generateArticleFileDownloadsData($slicedLastMonth), 'exitedJournal' => $generator->generateExitedJournalData()];
        $event = new StatEvent($json, $data);
        $dispatcher->dispatch(StatEvents::OJS_ADMIN_STATS_CACHE, $event);
        $data = $event->getData();
        $data['stats'] = json_encode($event->getJson());
        $cache->save('admin_statistics', $data, 1800);
        return true;
    }