diff options
author | Simon Rettberg | 2014-11-18 19:48:44 +0100 |
---|---|---|
committer | Simon Rettberg | 2014-11-18 19:48:44 +0100 |
commit | 463d695c4f7ba87ba99f0ffc548ad6f994ff49d0 (patch) | |
tree | 49f7f26bf4368f0947a59d34e4f441ad8d20261c /modules | |
parent | Create slxlog URL dynamically depending on current script's directory (diff) | |
download | slx-admin-463d695c4f7ba87ba99f0ffc548ad6f994ff49d0.tar.gz slx-admin-463d695c4f7ba87ba99f0ffc548ad6f994ff49d0.tar.xz slx-admin-463d695c4f7ba87ba99f0ffc548ad6f994ff49d0.zip |
Added proxy server settings
Diffstat (limited to 'modules')
-rw-r--r-- | modules/internetaccess.inc.php | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/modules/internetaccess.inc.php b/modules/internetaccess.inc.php new file mode 100644 index 00000000..a292926c --- /dev/null +++ b/modules/internetaccess.inc.php @@ -0,0 +1,51 @@ +<?php + +class Page_InternetAccess extends Page +{ + + protected function doPreprocess() + { + User::load(); + if (!User::hasPermission('superadmin')) { + Message::addError('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('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'); + } + } + } + + protected function doRender() + { + if (Request::any('show') === 'update') { + $taskids = Session::get('ia-restart'); + if (is_array($taskids)) { + Render::addTemplate('internetaccess/restart', $taskids); + } else { + Message::addError('invalid-action', 'Restart'); + } + } + $data = FileUtil::fileToArray(CONFIG_PROXY_CONF); + if (!isset($data['PROXY_CONF'])) + $data['PROXY_CONF'] = 'AUTO'; + $data['selected_' . $data['PROXY_CONF']] = 'selected'; + Render::addTemplate('internetaccess/_page', $data); + } + +} |