本文整理匯總了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));
}