本文整理汇总了PHP中Repositories\SiteRepository::editCached方法的典型用法代码示例。如果您正苦于以下问题:PHP SiteRepository::editCached方法的具体用法?PHP SiteRepository::editCached怎么用?PHP SiteRepository::editCached使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Repositories\SiteRepository
的用法示例。
在下文中一共展示了SiteRepository::editCached方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: run
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);
}
示例2: countries
function countries(Request $request, Application $app)
{
$crb = new CountryRepositoryBuilder();
$crb->setSiteInformation($app['currentSite']);
$countries = $crb->fetchAll();
if ($request->request->get('submitted') == 'yes' && $request->request->get('CSFRToken') == $app['websession']->getCSFRToken()) {
$in = is_array($request->request->get('country')) ? $request->request->get('country') : null;
$cisr = new CountryInSiteRepository();
$countriesCount = 0;
$timezones = array();
foreach ($countries as $country) {
if (isset($in[$country->getTwoCharCode()]) && $in[$country->getTwoCharCode()] == 'yes') {
$cisr->addCountryToSite($country, $app['currentSite'], $app['currentUser']);
$countriesCount++;
foreach (explode(",", $country->getTimezones()) as $timeZone) {
$timezones[] = $timeZone;
}
} else {
$cisr->removeCountryFromSite($country, $app['currentSite'], $app['currentUser']);
}
}
$app['currentSite']->setCachedTimezonesAsList($timezones);
$app['currentSite']->setCachedIsMultipleCountries($countriesCount > 1);
$siteRepository = new SiteRepository();
$siteRepository->editCached($app['currentSite']);
return $app->redirect('/admin/');
}
return $app['twig']->render('site/admin/countries.html.twig', array('countries' => $countries));
}