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); }
protected function run() { $siteRepository = new SiteRepository(); $eventCustomFieldsRepo = new EventCustomFieldDefinitionRepository(); $siteRepositoryBuilder = new SiteRepositoryBuilder(); $count = 0; foreach ($siteRepositoryBuilder->fetchAll() as $site) { $crb = new CountryRepositoryBuilder(); $crb->setSiteIn($site); $countries = $crb->fetchAll(); $timezones = array(); foreach ($countries as $country) { foreach (explode(",", $country->getTimezones()) as $timeZone) { $timezones[] = $timeZone; } } $site->setCachedTimezonesAsList($timezones); $site->setCachedIsMultipleCountries(count($countries) > 1); $siteRepository->editCached($site); $eventCustomFieldsRepo->updateSiteCache($site); ++$count; } return array('result' => 'ok', 'count' => $count); }
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 index(Request $request, Application $app) { $erb = new SiteRepositoryBuilder(); $sites = $erb->fetchAll(); return $app['twig']->render('sysadmin/sitelist/index.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())); }