• Main Page
  • Modules
  • Classes
  • Files
  • File List

pages/management/SettingsHandler.inc.php

00001 <?php
00002 
00015 // Import the base ManagementHandler.
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    // Public handler methods
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 ?>

Generated on Mon Sep 17 2012 13:58:56 for Open Monograph Press by  doxygen 1.7.1