コード例 #1
0
 protected function run()
 {
     $siteRepoBuilder = new SiteRepositoryBuilder();
     $siteRepoBuilder->setIsOpenBySysAdminsOnly(true);
     $countCheck = 0;
     $countSend = 0;
     foreach ($siteRepoBuilder->fetchAll() as $site) {
         $this->logVerbose("Site " . $site->getSlug());
         $userRepoBuilder = new UserAccountRepositoryBuilder();
         $userRepoBuilder->setIsOpenBySysAdminsOnly(true);
         foreach ($userRepoBuilder->fetchAll() as $userAccount) {
             $this->logVerbose("User " . $userAccount->getId());
             ++$countCheck;
             $checkTime = \TimeSource::getDateTime();
             $contentsToSend = array();
             foreach ($this->app['extensions']->getExtensionsIncludingCore() as $extension) {
                 $contentsToSend = array_merge($contentsToSend, $extension->getUserNotifyContents($site, $userAccount));
             }
             if ($contentsToSend) {
                 $this->logVerbose("Found contents!");
                 ++$countSend;
                 $this->makeSureHistoriesAreCorrect($contentsToSend);
                 $this->sendFor($site, $userAccount, $contentsToSend);
                 foreach ($contentsToSend as $contentToSend) {
                     $contentToSend->markNotificationSent($checkTime);
                 }
             } else {
                 $this->logVerbose("found nothing");
             }
         }
     }
     return array('result' => 'ok', 'countCheck' => $countCheck, 'countSend' => $countSend);
 }
コード例 #2
0
 function discover(Application $app)
 {
     $srb = new SiteRepositoryBuilder();
     $srb->setIsListedInIndexOnly(true);
     $srb->setIsOpenBySysAdminsOnly(true);
     $sites = $srb->fetchAll();
     return $app['twig']->render('index/index/discover.html.twig', array('sites' => $sites));
 }
 function sites(Request $request, Application $app)
 {
     $srb = new SiteRepositoryBuilder();
     $srb->setUserInterestedIn($app['currentUser']);
     $srb->setIsOpenBySysAdminsOnly(true);
     return $app['twig']->render('index/currentuser/sites.html.twig', array('sites' => $srb->fetchAll()));
 }