From 7250d8de72daa36cb23bfc3cb20c23905fcee94d Mon Sep 17 00:00:00 2001 From: Christian Hofmaier Date: Fri, 29 Sep 2017 18:28:03 +0200 Subject: [internetaccess] implemented new permission system --- modules-available/internetaccess/page.inc.php | 46 +++++++++++++++------------ 1 file changed, 26 insertions(+), 20 deletions(-) (limited to 'modules-available/internetaccess/page.inc.php') diff --git a/modules-available/internetaccess/page.inc.php b/modules-available/internetaccess/page.inc.php index 246d4477..4f4cb8f3 100644 --- a/modules-available/internetaccess/page.inc.php +++ b/modules-available/internetaccess/page.inc.php @@ -6,27 +6,33 @@ class Page_InternetAccess extends Page protected function doPreprocess() { User::load(); - if (!User::hasPermission('superadmin')) { - Message::addError('main.no-permission'); - Util::redirect('?do=Main'); - } - if (isset($_POST['PROXY_CONF'])) { - $data = array(); - foreach (array('PROXY_CONF', 'PROXY_ADDR', 'PROXY_PORT', 'PROXY_USERNAME', 'PROXY_PASSWORD') as $key) { - $data[$key] = Request::post($key, ''); - } - if (!FileUtil::arrayToFile(CONFIG_PROXY_CONF, $data)) { - Message::addError('main.error-write', CONFIG_PROXY_CONF); - Util::redirect(); + + $action = Request::any('action', 'show'); + + if ($action == 'save') { + if (User::hasPermission("configuration.save")) { + if (isset($_POST['PROXY_CONF'])) { + $data = array(); + foreach (array('PROXY_CONF', 'PROXY_ADDR', 'PROXY_PORT', 'PROXY_USERNAME', 'PROXY_PASSWORD') as $key) { + $data[$key] = Request::post($key, ''); + } + if (!FileUtil::arrayToFile(CONFIG_PROXY_CONF, $data)) { + Message::addError('main.error-write', CONFIG_PROXY_CONF); + Util::redirect(); + } else { + Message::addSuccess('settings-updated'); + Taskmanager::release(Taskmanager::submit('ReloadProxy')); + $taskids = array(); + Trigger::stopDaemons(NULL, $taskids); + $taskids = array(); + Trigger::startDaemons(NULL, $taskids); + Session::set('ia-restart', $taskids); + Util::redirect('?do=InternetAccess&show=update'); + } + } } else { - Message::addSuccess('settings-updated'); - Taskmanager::release(Taskmanager::submit('ReloadProxy')); - $taskids = array(); - Trigger::stopDaemons(NULL, $taskids); - $taskids = array(); - Trigger::startDaemons(NULL, $taskids); - Session::set('ia-restart', $taskids); - Util::redirect('?do=InternetAccess&show=update'); + Message::addError('main.no-permission'); + Util::redirect('?do=internetaccess'); } } } -- cgit v1.2.3-55-g7522