summaryrefslogtreecommitdiffstats
path: root/modules-available/internetaccess/page.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/internetaccess/page.inc.php')
-rw-r--r--modules-available/internetaccess/page.inc.php47
1 files changed, 29 insertions, 18 deletions
diff --git a/modules-available/internetaccess/page.inc.php b/modules-available/internetaccess/page.inc.php
index 246d4477..a92ba3e3 100644
--- a/modules-available/internetaccess/page.inc.php
+++ b/modules-available/internetaccess/page.inc.php
@@ -6,27 +6,35 @@ class Page_InternetAccess extends Page
protected function doPreprocess()
{
User::load();
- if (!User::hasPermission('superadmin')) {
+
+ if (!User::isLoggedIn()) {
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();
- } 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');
+
+ $action = Request::any('action', 'show');
+
+ if ($action == 'save') {
+ if (User::hasPermission("configuration.safe")) {
+ 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');
+ }
+ }
}
}
}
@@ -45,6 +53,9 @@ class Page_InternetAccess extends Page
if (!isset($data['PROXY_CONF']))
$data['PROXY_CONF'] = 'AUTO';
$data['selected_' . $data['PROXY_CONF']] = 'selected';
+
+ $data['allowedSave'] = User::hasPermission("configuration.safe");
+
Render::addTemplate('_page', $data);
}