diff options
Diffstat (limited to 'modules-available/dozmod/page.inc.php')
-rw-r--r-- | modules-available/dozmod/page.inc.php | 108 |
1 files changed, 72 insertions, 36 deletions
diff --git a/modules-available/dozmod/page.inc.php b/modules-available/dozmod/page.inc.php index 669538e5..c1c19b15 100644 --- a/modules-available/dozmod/page.inc.php +++ b/modules-available/dozmod/page.inc.php @@ -2,6 +2,8 @@ class Page_DozMod extends Page { + /* sub page classes */ + private $mail_templates; protected function doPreprocess() { @@ -12,6 +14,25 @@ class Page_DozMod extends Page Util::redirect('?do=Main'); } + /* add sub-menus */ + Dashboard::addSubmenu('?do=dozmod§ion=mailconfig', Dictionary::translate('submenu_mailconfig')); + Dashboard::addSubmenu('?do=dozmod§ion=templates', Dictionary::translate('submenu_templates')); + Dashboard::addSubmenu('?do=dozmod§ion=runtimeconfig', Dictionary::translate('submenu_runtime')); + Dashboard::addSubmenu('?do=dozmod§ion=users', Dictionary::translate('submenu_users')); + + /* instantiate sub pages */ + $this->mail_templates = new Page_mail_templates(); + + + + /* different pages for different sections */ + $section = Request::get('section', 'mailconfig', 'string'); + if ($section == 'templates') { + $this->mail_templates->doPreprocess(); + return; + } + + /* execute actions */ $action = Request::post('action'); if ($action === 'mail') { @@ -31,47 +52,62 @@ class Page_DozMod extends Page protected function doRender() { + /* different pages for different sections */ + $section = Request::get('section', 'mailconfig', 'string'); + if ($section == 'templates') { + $this->mail_templates->doRender(); + return; + } + + $this->listDeletePendingImages(); - // Mail config - $mailConf = Database::queryFirst('SELECT value FROM sat.configuration WHERE parameter = :param', array('param' => 'mailconfig')); - if ($mailConf != null) { - $mailConf = @json_decode($mailConf['value'], true); - if (is_array($mailConf)) { - $mailConf['set_' . $mailConf['ssl']] = 'selected="selected"'; + + if ($section === 'mailconfig') { + // Mail config + $mailConf = Database::queryFirst('SELECT value FROM sat.configuration WHERE parameter = :param', array('param' => 'mailconfig')); + if ($mailConf != null) { + $mailConf = @json_decode($mailConf['value'], true); + if (is_array($mailConf)) { + $mailConf['set_' . $mailConf['ssl']] = 'selected="selected"'; + } } + Render::addTemplate('mailconfig', $mailConf); } - Render::addTemplate('mailconfig', $mailConf); - // Runtime config - $runtimeConf = Database::queryFirst('SELECT value FROM sat.configuration WHERE parameter = :param', array('param' => 'runtimelimits')); - if ($runtimeConf != null) { - $runtimeConf = json_decode($runtimeConf['value'], true); - - /* convert some value to corresponding "selected" texts */ - if ($runtimeConf['defaultLecturePermissions']['edit']) { - $runtimeConf['defaultLecturePermissions']['edit'] = 'checked="checked"'; - } - if ($runtimeConf['defaultLecturePermissions']['admin']) { - $runtimeConf['defaultLecturePermissions']['admin'] = 'checked="checked"'; - } - if ($runtimeConf['defaultImagePermissions']['edit']) { - $runtimeConf['defaultImagePermissions']['edit'] = 'checked="checked"'; - } - if ($runtimeConf['defaultImagePermissions']['admin']) { - $runtimeConf['defaultImagePermissions']['admin'] = 'checked="checked"'; - } - if ($runtimeConf['defaultImagePermissions']['link']) { - $runtimeConf['defaultImagePermissions']['link'] = 'checked="checked"'; - } - if ($runtimeConf['defaultImagePermissions']['download']) { - $runtimeConf['defaultImagePermissions']['download'] = 'checked="checked"'; - } + if ($section === 'runtimeconfig') { + // Runtime config + $runtimeConf = Database::queryFirst('SELECT value FROM sat.configuration WHERE parameter = :param', array('param' => 'runtimelimits')); + if ($runtimeConf != null) { + $runtimeConf = json_decode($runtimeConf['value'], true); + + /* convert some value to corresponding "selected" texts */ + if ($runtimeConf['defaultLecturePermissions']['edit']) { + $runtimeConf['defaultLecturePermissions']['edit'] = 'checked="checked"'; + } + if ($runtimeConf['defaultLecturePermissions']['admin']) { + $runtimeConf['defaultLecturePermissions']['admin'] = 'checked="checked"'; + } + if ($runtimeConf['defaultImagePermissions']['edit']) { + $runtimeConf['defaultImagePermissions']['edit'] = 'checked="checked"'; + } + if ($runtimeConf['defaultImagePermissions']['admin']) { + $runtimeConf['defaultImagePermissions']['admin'] = 'checked="checked"'; + } + if ($runtimeConf['defaultImagePermissions']['link']) { + $runtimeConf['defaultImagePermissions']['link'] = 'checked="checked"'; + } + if ($runtimeConf['defaultImagePermissions']['download']) { + $runtimeConf['defaultImagePermissions']['download'] = 'checked="checked"'; + } + } + Render::addTemplate('runtimeconfig', $runtimeConf); } - Render::addTemplate('runtimeconfig', $runtimeConf); // User list for making people admin - $this->listUsers(); - $this->listOrganizations(); + if ($section === 'users') { + $this->listUsers(); + $this->listOrganizations(); + } } private function listDeletePendingImages() @@ -199,7 +235,7 @@ class Page_DozMod extends Page )); Message::addSuccess('mail-config-saved'); } - Util::redirect('?do=DozMod'); + Util::redirect('?do=DozMod§ion=mailconfig'); } private function runtimeHandler() @@ -236,7 +272,7 @@ class Page_DozMod extends Page )); Message::addSuccess('runtimelimits-config-saved'); } - Util::redirect('?do=DozMod'); + Util::redirect('?do=DozMod§ion=runtimeconfig'); } private function listUsers() |