public function onArticleFileDownload(DownloadArticleFileEvent $event) { $articleFile = $event->getArticleFile(); $article = $event->getArticleFile()->getArticle(); $journal = $article->getJournal(); $stat = $this->em->getRepository('OjsAnalyticsBundle:ArticleFileStatistic')->findOneBy(['date' => new \DateTime(), 'articleFile' => $articleFile]); if (!$stat) { $stat = new ArticleFileStatistic(); $stat->setDate(new \DateTime()); $stat->setArticleFile($articleFile); $stat->setDownload(1); } else { $stat->setDownload($stat->getDownload() + 1); } $article->increaseDownloadCount(); $journal->increaseDownloadCount(); $this->em->persist($journal); $this->em->persist($stat); $this->em->flush(); }
public function onArticleFileDownload(DownloadArticleFileEvent $event) { $stat = $this->em->getRepository('OjsAnalyticsBundle:ArticleFileStatistic')->findOneBy(['date' => new \DateTime(), 'articleFile' => $event->getArticleFile()]); if (!$stat) { $stat = new ArticleFileStatistic(); $stat->setDate(new \DateTime()); $stat->setArticleFile($event->getArticleFile()); $stat->setDownload(1); } else { $stat->setDownload($stat->getDownload() + 1); } $this->em->persist($stat); $this->em->flush($stat); }
public function onArticleFileDownload(DownloadArticleFileEvent $event) { $request = $this->requestStack->getMasterRequest(); $session = $request->getSession(); $articleFile = $event->getArticleFile(); $sessionKey = 'download_article_file_' . $articleFile->getId(); if ($session->has($sessionKey)) { return; } else { $session->set($sessionKey, 1); } $article = $event->getArticleFile()->getArticle(); $journal = $article->getJournal(); $stat = $this->em->getRepository('OjsAnalyticsBundle:ArticleFileStatistic')->findOneBy(['date' => new \DateTime(), 'articleFile' => $articleFile]); if (!$stat) { $stat = new ArticleFileStatistic(); $stat->setDate(new \DateTime()); $stat->setArticleFile($articleFile); $stat->setDownload(1); } else { $stat->setDownload($stat->getDownload() + 1); } $article->increaseDownloadCount(); $journal->increaseDownloadCount(); $this->em->persist($journal); $this->em->persist($stat); $this->em->flush(); }