00001 <?php
00002
00015 import('classes.controllers.grid.languages.LanguageGridHandler');
00016
00017 import('controllers.grid.languages.LanguageGridRow');
00018
00019 class ManageLanguageGridHandler extends LanguageGridHandler {
00023 function ManageLanguageGridHandler() {
00024 parent::LanguageGridHandler();
00025 $this->addRoleAssignment(array(
00026 ROLE_ID_PRESS_MANAGER),
00027 array('fetchGrid', 'fetchRow'));
00028 }
00029
00030
00031
00032
00033
00037 function authorize(&$request, $args, $roleAssignments) {
00038 import('classes.security.authorization.OmpPressAccessPolicy');
00039 $this->addPolicy(new OmpPressAccessPolicy($request, $roleAssignments));
00040 return parent::authorize($request, $args, $roleAssignments);
00041 }
00042
00043
00044
00045
00046
00050 function loadData(&$request, $filter) {
00051 $site =& $request->getSite();
00052 $press =& $request->getPress();
00053
00054 $allLocales = AppLocale::getAllLocales();
00055 $supportedLocales = $site->getSupportedLocales();
00056 $pressPrimaryLocale = $press->getPrimaryLocale();
00057 $data = array();
00058
00059 foreach ($supportedLocales as $locale) {
00060 $data[$locale] = array();
00061 $data[$locale]['name'] = $allLocales[$locale];
00062 $data[$locale]['supported'] = true;
00063 $data[$locale]['primary'] = ($locale == $pressPrimaryLocale);
00064 }
00065
00066 $data = $this->addManagementData($request, $data);
00067 return $data;
00068 }
00069
00070
00071
00072
00076 function initialize($request) {
00077 parent::initialize($request);
00078
00079 $this->setInstructions('manager.languages.languageInstructions');
00080
00081 $this->addNameColumn();
00082 $this->addPrimaryColumn('pressPrimary');
00083 $this->addManagementColumns();
00084 }
00085 }
00086 ?>