00001 <?php
00002
00015
00016 import('pages.management.ManagementHandler');
00017
00018 class SettingsHandler extends ManagementHandler {
00022 function SettingsHandler() {
00023 parent::Handler();
00024 $this->addRoleAssignment(
00025 ROLE_ID_PRESS_MANAGER,
00026 array(
00027 'index',
00028 'categories',
00029 'series',
00030 'settings',
00031 'access',
00032 'press',
00033 'website',
00034 'publication',
00035 'distribution',
00036 )
00037 );
00038 }
00039
00040
00041
00042
00043
00049 function index($args, &$request) {
00050 $templateMgr =& TemplateManager::getManager();
00051 $this->setupTemplate();
00052 $templateMgr->display('management/settings/index.tpl');
00053 }
00054
00060 function categories($args, &$request) {
00061 $this->setupTemplate($request);
00062
00063 $templateMgr =& TemplateManager::getManager();
00064 $jsonMessage = new JSONMessage(true, $templateMgr->fetch('management/categories.tpl'));
00065 return $jsonMessage->getString();
00066 }
00067
00073 function series($args, &$request) {
00074 $this->setupTemplate($request);
00075
00076 $templateMgr =& TemplateManager::getManager();
00077 $jsonMessage = new JSONMessage(true, $templateMgr->fetch('management/series.tpl'));
00078 return $jsonMessage->getString();
00079 }
00080
00086 function settings($args, &$request) {
00087 $path = array_shift($args);
00088 switch($path) {
00089 case 'index':
00090 $this->index($args, $request);
00091 break;
00092 case 'access':
00093 $this->access($args, $request);
00094 break;
00095 case 'press':
00096 $this->press($args, $request);
00097 break;
00098 case 'website':
00099 $this->website($args, $request);
00100 break;
00101 case 'publication':
00102 $this->publication($args, $request);
00103 break;
00104 case 'distribution':
00105 $this->distribution($args, $request);
00106 break;
00107 default:
00108 assert(false);
00109 }
00110 }
00111
00117 function access($args, &$request) {
00118 $templateMgr =& TemplateManager::getManager();
00119 $this->setupTemplate();
00120 $templateMgr->display('management/settings/access.tpl');
00121 }
00122
00128 function press($args, &$request) {
00129 $templateMgr =& TemplateManager::getManager();
00130 $this->setupTemplate();
00131 $templateMgr->display('management/settings/press.tpl');
00132 }
00133
00139 function website($args, &$request) {
00140 $templateMgr =& TemplateManager::getManager();
00141 $this->setupTemplate();
00142 $press =& $request->getPress();
00143 $templateMgr->assign('enableAnnouncements', $press->getSetting('enableAnnouncements'));
00144 $templateMgr->display('management/settings/website.tpl');
00145 }
00146
00152 function publication($args, &$request) {
00153 $templateMgr =& TemplateManager::getManager();
00154 $this->setupTemplate();
00155 $templateMgr->display('management/settings/publication.tpl');
00156 }
00157
00163 function distribution($args, &$request) {
00164 $templateMgr =& TemplateManager::getManager();
00165 $this->setupTemplate();
00166 $templateMgr->display('management/settings/distribution.tpl');
00167 }
00168 }
00169
00170 ?>