16 import(
'lib.pkp.controllers.grid.languages.LanguageGridHandler');
23 parent::__construct();
25 array(ROLE_ID_MANAGER),
26 array(
'saveLanguageSetting',
'setContextPrimaryLocale',
'reloadLocale',
'fetchGrid',
'fetchRow')
37 function authorize($request, &$args, $roleAssignments) {
38 import(
'lib.pkp.classes.security.authorization.ContextAccessPolicy');
40 return parent::authorize($request, $args, $roleAssignments);
46 protected function loadData($request, $filter) {
47 $site = $request->getSite();
48 $context = $request->getContext();
51 $supportedLocales = $site->getSupportedLocales();
52 $contextPrimaryLocale = $context->getPrimaryLocale();
55 foreach ($supportedLocales as $locale) {
56 $data[$locale] = array();
57 $data[$locale][
'name'] = $allLocales[$locale];
58 $data[$locale][
'supported'] =
true;
59 $data[$locale][
'primary'] = ($locale == $contextPrimaryLocale);
73 parent::initialize($request, $args);
88 $context = $request->getContext();
89 $locale = $request->getUserVar(
'rowId');
92 if (empty($context) || !$request->checkCSRF() || !array_key_exists($locale, $gridData)) {
96 import(
'classes.core.Services');
97 $context =
Services::get(
'context')->restoreLocaleDefaults($context, $request, $locale);
100 $notificationManager->createTrivialNotification(
101 $request->getUser()->getId(),
102 NOTIFICATION_TYPE_SUCCESS,
103 array(
'contents' => __(
'notification.localeReloaded', array(
'locale' => $gridData[$locale][
'name'],
'contextName' => $context->getLocalizedName())))