diff options
author | Christian Hofmaier | 2017-09-29 18:28:03 +0200 |
---|---|---|
committer | Christian Hofmaier | 2017-09-29 18:28:03 +0200 |
commit | 7250d8de72daa36cb23bfc3cb20c23905fcee94d (patch) | |
tree | 31dbe27fa16d822cc5a43e0636864edcc0c176ec /modules-available/internetaccess/page.inc.php | |
parent | [news] small design change + implemented new permission system (diff) | |
download | slx-admin-7250d8de72daa36cb23bfc3cb20c23905fcee94d.tar.gz slx-admin-7250d8de72daa36cb23bfc3cb20c23905fcee94d.tar.xz slx-admin-7250d8de72daa36cb23bfc3cb20c23905fcee94d.zip |
[internetaccess] implemented new permission system
Diffstat (limited to 'modules-available/internetaccess/page.inc.php')
-rw-r--r-- | modules-available/internetaccess/page.inc.php | 46 |
1 files changed, 26 insertions, 20 deletions
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'); } } } |