summaryrefslogtreecommitdiffstats
path: root/modules/internetaccess
diff options
context:
space:
mode:
Diffstat (limited to 'modules/internetaccess')
-rw-r--r--modules/internetaccess/config.json4
-rw-r--r--modules/internetaccess/module.inc.php51
-rw-r--r--modules/internetaccess/templates/_page.html40
-rw-r--r--modules/internetaccess/templates/restart.html22
4 files changed, 117 insertions, 0 deletions
diff --git a/modules/internetaccess/config.json b/modules/internetaccess/config.json
new file mode 100644
index 00000000..4e7fa5fb
--- /dev/null
+++ b/modules/internetaccess/config.json
@@ -0,0 +1,4 @@
+{
+ "category":"content",
+ "enabled":"true"
+}
diff --git a/modules/internetaccess/module.inc.php b/modules/internetaccess/module.inc.php
new file mode 100644
index 00000000..b949be26
--- /dev/null
+++ b/modules/internetaccess/module.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('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('_page', $data);
+ }
+
+}
diff --git a/modules/internetaccess/templates/_page.html b/modules/internetaccess/templates/_page.html
new file mode 100644
index 00000000..a2aaddac
--- /dev/null
+++ b/modules/internetaccess/templates/_page.html
@@ -0,0 +1,40 @@
+<h1>{{lang_internetAccess}}</h1>
+
+<form action="?do=InternetAccess" method="post">
+ <input type="text" name="prevent_autofill" id="prevent_autofill" value="" style="display:none;">
+ <input type="password" name="password_fake" id="password_fake" value="" style="display:none;">
+ <input type="hidden" name="token" value="{{token}}">
+ <div class="panel panel-default">
+ <div class="panel-heading">{{lang_internetAccess}}</div>
+ <div class="panel-body">
+ <p>{{lang_description}}</p>
+ <div class="input-group">
+ <span class="input-group-addon slx-ga">{{lang_proxyType}}</span>
+ <select name="PROXY_CONF" class="form-control">
+ <option value="AUTO" {{selected_AUTO}}>{{lang_automatic}} (dns-wpad)</option>
+ <option value="NO" {{selected_NO}}>{{lang_no}}</option>
+ <option value="YES" {{selected_YES}}>{{lang_manual}}</option>
+ </select>
+ </div>
+ <br>
+ <p>{{lang_manualProxyConfig}}</p>
+ <div class="input-group">
+ <span class="input-group-addon slx-ga">{{lang_proxyAddress}} *</span>
+ <input name="PROXY_ADDR" value="{{PROXY_ADDR}}" type="text" class="form-control">
+ </div>
+ <div class="input-group">
+ <span class="input-group-addon slx-ga">{{lang_proxyPort}} *</span>
+ <input name="PROXY_PORT" value="{{PROXY_PORT}}" type="text" class="form-control">
+ </div>
+ <div class="input-group">
+ <span class="input-group-addon slx-ga">{{lang_proxyUsername}}</span>
+ <input name="PROXY_USERNAME" value="{{PROXY_USERNAME}}" type="text" class="form-control">
+ </div>
+ <div class="input-group">
+ <span class="input-group-addon slx-ga">{{lang_proxyPassword}}</span>
+ <input name="PROXY_PASSWORD" value="{{PROXY_PASSWORD}}" type="{{password_type}}" class="form-control">
+ </div>
+ <button class="btn btn-primary" type="submit">{{lang_save}}</button>
+ </div>
+ </div>
+</form>
diff --git a/modules/internetaccess/templates/restart.html b/modules/internetaccess/templates/restart.html
new file mode 100644
index 00000000..effe1feb
--- /dev/null
+++ b/modules/internetaccess/templates/restart.html
@@ -0,0 +1,22 @@
+<div class="panel panel-default">
+ <div class="panel-heading">{{lang_serviceRestart}}</div>
+ <div class="panel-body">
+ <div data-tm-id="{{syncid}}" data-tm-log="messages" data-tm-callback="restartCb">{{lang_restarting}} syncdaemon</div>
+ <div data-tm-id="{{dmsdid}}" data-tm-log="messages" data-tm-callback="restartCb">{{lang_restarting}} dmsd</div>
+ <div data-tm-id="{{ldadpid}}" data-tm-log="messages" data-tm-callback="restartCb">{{lang_restarting}} ldadp</div>
+ <div id="restartfailed" class="alert alert-danger" style="display:none">
+ {{lang_restartFailed}}
+ </div>
+ </div>
+</div>
+
+<script type="text/javascript">
+ function restartCb(task)
+ {
+ if (!task || !task.statusCode)
+ return;
+ if (task.statusCode === 'TASK_ERROR') {
+ $('#restartfailed').show('slow');
+ }
+ }
+</script>