summaryrefslogtreecommitdiffstats
path: root/modules-available/dnbd3/templates
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/dnbd3/templates')
-rw-r--r--modules-available/dnbd3/templates/fragment-server-settings.html14
-rw-r--r--modules-available/dnbd3/templates/page-proxy-altservers.html36
-rw-r--r--modules-available/dnbd3/templates/page-proxy-clients.html20
-rw-r--r--modules-available/dnbd3/templates/page-proxy-config.html4
-rw-r--r--modules-available/dnbd3/templates/page-proxy-header.html1
-rw-r--r--modules-available/dnbd3/templates/page-proxy-loclist.html27
-rw-r--r--modules-available/dnbd3/templates/page-proxy-stats.html9
-rw-r--r--modules-available/dnbd3/templates/page-server-locations.html96
-rw-r--r--modules-available/dnbd3/templates/page-serverlist.html404
9 files changed, 611 insertions, 0 deletions
diff --git a/modules-available/dnbd3/templates/fragment-server-settings.html b/modules-available/dnbd3/templates/fragment-server-settings.html
new file mode 100644
index 00000000..61b0626d
--- /dev/null
+++ b/modules-available/dnbd3/templates/fragment-server-settings.html
@@ -0,0 +1,14 @@
+<input type="hidden" name="server" value="{{serverid}}">
+
+<div class="checkbox">
+ <input type="checkbox" name="bgr" id="bgr" {{#bgr}}checked{{/bgr}}>
+ <label for="bgr">{{lang_backgroundReplication}}</label>
+</div>
+<i>{{lang_backgroundReplicationInfo}}</i>
+<br>
+<div class="checkbox">
+ <input type="checkbox" name="firewall" id="firewall" {{#firewall}}checked{{/firewall}}>
+ <label for="firewall">{{lang_firewalled}}</label>
+</div>
+<i>{{lang_firewallInfo}}</i>
+<br>
diff --git a/modules-available/dnbd3/templates/page-proxy-altservers.html b/modules-available/dnbd3/templates/page-proxy-altservers.html
new file mode 100644
index 00000000..00a884cc
--- /dev/null
+++ b/modules-available/dnbd3/templates/page-proxy-altservers.html
@@ -0,0 +1,36 @@
+<div class="col-md-6">
+ <h2>{{lang_altservers}}</h2>
+ <table class="table table-condensed">
+ <tr>
+ <th>{{lang_proxyServerTHead}}</th>
+ <th>{{lang_numFails}}</th>
+ <th class="text-right">{{lang_latency}}</th>
+ <th>{{lang_flags}}</th>
+ <th>{{lang_comment}}</th>
+ </tr>
+ {{#altservers}}
+ <tr>
+ <td class="text-nowrap">{{host}}</td>
+ <td>
+ {{^isClientOnly}}
+ {{numFails}}
+ {{/isClientOnly}}
+ </td>
+ <td class="text-right text-nowrap">
+ {{^isClientOnly}}
+ {{rtt}}&thinsp;ms
+ {{/isClientOnly}}
+ </td>
+ <td>
+ {{#isClientOnly}}
+ [CO]
+ {{/isClientOnly}}
+ {{#isPrivate}}
+ [PO]
+ {{/isPrivate}}
+ </td>
+ <td><table class="slx-ellipsis"><tr><td>{{comment}}</td></tr></table></td>
+ </tr>
+ {{/altservers}}
+ </table>
+</div> \ No newline at end of file
diff --git a/modules-available/dnbd3/templates/page-proxy-clients.html b/modules-available/dnbd3/templates/page-proxy-clients.html
new file mode 100644
index 00000000..9e7cec4c
--- /dev/null
+++ b/modules-available/dnbd3/templates/page-proxy-clients.html
@@ -0,0 +1,20 @@
+<div class="col-md-6">
+ <h2>{{lang_clientList}}</h2>
+
+ <table class="table table-condensed">
+ <tr>
+ <th>{{lang_client}}</th>
+ <th class="text-right">{{lang_bytesSent}}</th>
+ </tr>
+ {{#clients}}
+ <tr>
+ <td>
+ {{address}}
+ </td>
+ <td data-sort="int" data-sort-value="{{bytesSent}}" class="text-right">
+ {{bytesSent_s}}
+ </td>
+ </tr>
+ {{/clients}}
+ </table>
+</div> \ No newline at end of file
diff --git a/modules-available/dnbd3/templates/page-proxy-config.html b/modules-available/dnbd3/templates/page-proxy-config.html
new file mode 100644
index 00000000..adc73a57
--- /dev/null
+++ b/modules-available/dnbd3/templates/page-proxy-config.html
@@ -0,0 +1,4 @@
+<div class="col-md-6">
+ <h2>{{lang_proxyConfig}}</h2>
+ <pre>{{config}}</pre>
+</div> \ No newline at end of file
diff --git a/modules-available/dnbd3/templates/page-proxy-header.html b/modules-available/dnbd3/templates/page-proxy-header.html
new file mode 100644
index 00000000..6f3f1b7f
--- /dev/null
+++ b/modules-available/dnbd3/templates/page-proxy-header.html
@@ -0,0 +1 @@
+<h1>{{ip}}</h1> \ No newline at end of file
diff --git a/modules-available/dnbd3/templates/page-proxy-loclist.html b/modules-available/dnbd3/templates/page-proxy-loclist.html
new file mode 100644
index 00000000..67c90683
--- /dev/null
+++ b/modules-available/dnbd3/templates/page-proxy-loclist.html
@@ -0,0 +1,27 @@
+<div class="col-md-6">
+ <h2>{{lang_clientsByLocation}}</h2>
+
+ <table class="table table-condensed">
+ <tr>
+ <th>{{lang_location}}</th>
+ <th class="text-right">{{lang_count}}</th>
+ <th class="text-right">{{lang_recursiveCount}}</th>
+ </tr>
+ {{#list}}
+ <tr>
+ <td>
+ {{#depth}}
+ <div style="display:inline-block;width:{{depth}}em"></div>
+ {{/depth}}
+ {{locationname}}
+ </td>
+ <td class="text-right">
+ {{clientCount}}
+ </td>
+ <td class="text-right">
+ {{recCount}}
+ </td>
+ </tr>
+ {{/list}}
+ </table>
+</div> \ No newline at end of file
diff --git a/modules-available/dnbd3/templates/page-proxy-stats.html b/modules-available/dnbd3/templates/page-proxy-stats.html
new file mode 100644
index 00000000..e7811028
--- /dev/null
+++ b/modules-available/dnbd3/templates/page-proxy-stats.html
@@ -0,0 +1,9 @@
+<div class="panel panel-default">
+ <div class="panel-body">
+ {{lang_sessionTx}}: <b>{{bytesSent_s}}</b>
+ ––
+ {{lang_sessionRx}}: <b>{{bytesReceived_s}}</b>
+ ––
+ {{lang_uptime}}: <b>{{uptime_s}}</b>
+ </div>
+</div> \ No newline at end of file
diff --git a/modules-available/dnbd3/templates/page-server-locations.html b/modules-available/dnbd3/templates/page-server-locations.html
new file mode 100644
index 00000000..20dddaac
--- /dev/null
+++ b/modules-available/dnbd3/templates/page-server-locations.html
@@ -0,0 +1,96 @@
+<h1>{{lang_manageAccessTo}} {{ip}}</h1>
+
+<p><i>{{lang_proxyLocationText}}</i></p>
+
+<form method="post" action="?do=dnbd3">
+ <input type="hidden" name="token" value="{{token}}">
+ <input type="hidden" name="server" value="{{serverid}}">
+
+ <div class="buttonbar text-right">
+ <button type="submit" class="btn btn-primary" name="action" value="savelocations">
+ <span class="glyphicon glyphicon-floppy-disk"></span>
+ {{lang_save}}
+ </button>
+ </div>
+
+ <div class="row">
+ <div class="col-md-6">
+ <h3>{{lang_allowedSubnets}}</h3>
+ <div id="subnet-list">
+
+ </div>
+ </div>
+ <div class="col-md-6">
+ <h3>{{lang_locations}}</h3>
+ {{#locations}}
+ <div class="checkbox">
+ {{#depth}}
+ <div style="display:inline-block;width:{{depth}}em"></div>
+ {{/depth}}
+ <input id="cb-{{locationid}}" class="loc-check" type="checkbox" name="location[]" value="{{locationid}}" {{checked_s}}>
+ <label for="cb-{{locationid}}">{{locationname}}</label>
+ </div>
+ {{/locations}}
+ </div>
+ </div>
+
+ <div class="buttonbar text-right">
+ <button type="submit" class="btn btn-success" name="action" value="savelocations">
+ <span class="glyphicon glyphicon-floppy-disk"></span>
+ {{lang_save}}
+ </button>
+ </div>
+</form>
+
+<script type="application/javascript"><!--
+document.addEventListener('DOMContentLoaded', function() {
+
+ const locData = {{{jsonLocations}}};
+ const $snList = $('#subnet-list');
+
+ function updateLocations() {
+ var allLocs = [];
+ $('.loc-check:checked').each(function () {
+ var lid = parseInt(this.value);
+ var locs = getAllLocs(lid);
+ for (var i = 0; i < locs.length; ++i) {
+ if (allLocs.indexOf(locs[i]) === -1) allLocs.push(locs[i]);
+ }
+ });
+ var subnets = [];
+ $snList.empty();
+ for (var i = 0; i < allLocs.length; ++i) {
+ var loc = locData['l'+allLocs[i]];
+ if (!loc || !loc.subnets) continue;
+ for (var j = 0; j < loc.subnets.length; ++j) {
+ var line = long2ip(loc.subnets[j].startaddr) + ' - ' + long2ip(loc.subnets[j].endaddr);
+ if (subnets.indexOf(line) === -1) {
+ subnets.push(line);
+ $snList.append($('<div>').text(line));
+ }
+ }
+ }
+ if (subnets.length === 0) {
+ $snList.text('{{lang_global}}');
+ }
+ }
+
+ function getAllLocs(lid) {
+ var e = locData['l'+lid];
+ if (!e || !e.children) return [];
+ var ret = e.children;
+ ret.push(lid);
+ return ret;
+ }
+
+ function long2ip(ip) {
+ // discuss at: http://locutus.io/php/long2ip/
+ // original by: Waldo Malqui Silva (http://waldo.malqui.info)
+ if (!isFinite(ip)) return false;
+ return [ip >>> 24, ip >>> 16 & 0xFF, ip >>> 8 & 0xFF, ip & 0xFF].join('.');
+ }
+
+ $('.loc-check').change(updateLocations);
+ updateLocations();
+});
+//--></script> \ No newline at end of file
diff --git a/modules-available/dnbd3/templates/page-serverlist.html b/modules-available/dnbd3/templates/page-serverlist.html
new file mode 100644
index 00000000..c5905dcd
--- /dev/null
+++ b/modules-available/dnbd3/templates/page-serverlist.html
@@ -0,0 +1,404 @@
+<h1>{{lang_dnbd3Management}}</h1>
+<p><i>{{lang_dnbd3IntroText}}</i></p>
+
+<div class="panel panel-default">
+ <div class="panel-heading">
+ {{lang_dnbd3Status}}:
+ <b>
+ {{#enabled}}{{lang_enabled}}{{/enabled}}
+ {{^enabled}}{{lang_disabled}} (NFS/CIFS){{/enabled}}
+ </b>
+ – <a href="#" data-toggle="collapse" data-target="#toggle-div">{{lang_changeDnbd3Status}}</a>
+ </div>
+ <div class="panel-collapse collapse" id="toggle-div">
+ <div class="panel-body">
+ <form method="post" action="?do=dnbd3">
+ <input type="hidden" name="token" value="{{token}}">
+ <div class="checkbox">
+ <input id="enable-dnbd3" type="checkbox" name="enabled" {{enabled_checked_s}}>
+ <label for="enable-dnbd3">{{lang_enableDnbd3}}</label>
+ </div>
+ <div class="checkbox">
+ <input id="allow-nfs" type="checkbox" name="with-nfs" {{nfs_checked_s}}>
+ <label for="allow-nfs">{{lang_allowNfsFallback}}</label>
+ </div>
+ <button type="submit" name="action" value="toggle-usage" class="btn btn-success">
+ <span class="glyphicon glyphicon-floppy-disk"></span>
+ {{lang_save}}
+ </button>
+ </form>
+ </div>
+ </div>
+</div>
+
+<form method="post" onsubmit="$('#refbtn').prop('disabled', true).find('span').addClass('slx-rotation')" action="?do=dnbd3">
+ <input type="hidden" name="token" value="{{token}}">
+ <input type="hidden" name="action" value="refresh">
+ <h2>
+ {{lang_serverList}}
+ <button id="refbtn" type="submit" class="btn btn-default"><span class="glyphicon glyphicon-refresh"></span></button>
+ </h2>
+</form>
+
+<form method="post" action="?do=dnbd3">
+ <input type="hidden" name="token" value="{{token}}">
+ <input type="hidden" name="action" value="delserver">
+ <table class="table">
+ <thead>
+ <tr>
+ <th></th>
+ <th>{{lang_proxyServerTHead}}</th>
+ <th class="text-right">{{lang_storageSize}}</th>
+ <th class="text-right">{{lang_clientCount}}</th>
+ <th class="text-right">{{lang_lastSeen}}</th>
+ <th class="text-right">{{lang_uptime}}</th>
+ <th class="text-right">{{lang_txTotal}}</th>
+ <th class="text-right">{{lang_rxTotal}}</th>
+ <th class="text-right">{{lang_locations}}</th>
+ <th></th>
+ </tr>
+ </thead>
+
+ <tbody>
+ {{#list}}
+ <tr>
+ <td class="text-right text-nowrap">
+ {{#slxOk}}
+ <span class="glyphicon glyphicon-ok text-success"></span>
+ {{/slxOk}}
+ {{#slxDown}}
+ <span class="glyphicon glyphicon-off"></span>
+ {{/slxDown}}
+ {{#uptime}}
+ <span class="glyphicon glyphicon-ok text-success"></span>
+ {{/uptime}}
+ {{^uptime}}
+ <span class="glyphicon glyphicon-remove text-danger"></span>
+ {{/uptime}}
+ </td>
+ <td class="{{#self}}slx-bold{{/self}}">
+ {{#machineuuid}}
+ <a class="pull-right btn btn-default btn-xs" href="?do=Statistics&uuid={{machineuuid}}">
+ <span class="glyphicon glyphicon-eye-open"></span>
+ </a>
+ {{/machineuuid}}
+ <a href="?do=dnbd3&amp;show=proxy&amp;server={{serverid}}">
+ {{fixedip}}
+ <span class="small">{{clientip}}</span>
+ </a>
+ <div class="small">{{hostname}}</div>
+ </td>
+ <td data-sort="int" data-sort-default="desc" data-sort-value="{{disktotal}}">
+ <div style="border:1px solid #ddd;background:linear-gradient(to right, #f85 {{diskUsePercent}}%, transparent {{diskUsePercent}}%)"
+ class="text-center text-nowrap"
+ title="{{lang_diskFree}}: {{diskfree_s}}">
+ {{disktotal_s}}
+ </div>
+ {{#errormsg}}
+ <div class="small text-nowrap text-danger" style="margin-right:-500px">
+ {{errormsg}}
+ </div>
+ {{/errormsg}}
+ </td>
+ <td data-sort="int" data-sort-default="desc" class="text-right">
+ {{clientcount}}
+ </td>
+ <td data-sort="int" data-sort-default="desc" data-sort-value="{{dnbd3lastseen}}" class="text-right text-nowrap">
+ {{dnbd3lastseen_s}}
+ </td>
+ <td data-sort="int" data-sort-default="desc" data-sort-value="{{uptime}}" class="text-right text-nowrap">
+ {{uptime_s}}
+ </td>
+ <td data-sort="int" data-sort-default="desc" data-sort-value="{{totalup}}" class="text-right text-nowrap">
+ {{totalup_s}}
+ </td>
+ <td data-sort="int" data-sort-default="desc" data-sort-value="{{totaldown}}" class="text-right text-nowrap">
+ {{totaldown_s}}
+ </td>
+ <td class="text-right text-nowrap">
+ {{^self}}
+ {{^locations}}
+ <i>{{lang_global}}</i>
+ {{/locations}}
+ {{#locations}}
+ {{locations}}
+ {{/locations}}
+ <a href="?do=dnbd3&amp;show=locations&amp;server={{serverid}}" class="btn btn-default btn-xs">
+ <span class="glyphicon glyphicon-map-marker"></span>
+ </a>
+ {{/self}}
+ </td>
+ <td class="text-right text-nowrap">
+ {{#machineuuid}}
+ {{#rebootcontrol}}
+ <button class="btn btn-warning btn-xs reboot-btn" type="button" data-id="{{serverid}}"
+ data-toggle="modal" data-target="#server-reboot-modal" title="{{lang_reboot}}">
+ <span class="glyphicon glyphicon-repeat"></span>
+ </button>
+ {{/rebootcontrol}}
+ <button class="btn btn-default btn-xs edit-btn" type="button" data-id="{{serverid}}"
+ data-toggle="modal" data-target="#server-edit-modal" title="{{lang_settings}}">
+ <span class="glyphicon glyphicon-cog"></span>
+ </button>
+ {{/machineuuid}}
+ {{^self}}
+ <button class="btn btn-danger btn-xs" name="server" value="{{serverid}}"
+ onclick="return confirm('{{lang_wantToDelete}}')" title="{{lang_delete}}">
+ <span class="glyphicon glyphicon-trash"></span>
+ </button>
+ {{/self}}
+ </td>
+ </tr>
+ {{/list}}
+ </tbody>
+ </table>
+</form>
+
+<div class="btn-toolbar pull-right">
+ <div class="btn-group">
+ <button type="button" class="btn btn-success" data-toggle="modal" data-target="#add-modal">
+ <span class="glyphicon glyphicon-plus"></span>
+ {{lang_externalServerAdd}}
+ </button>
+ <button type="button" class="btn btn-default" data-toggle="modal" data-target="#help-external">
+ <span class="glyphicon glyphicon-question-sign"></span>
+ </button>
+ </div>
+ <div class="btn-group">
+ <a class="btn btn-success" href="?do=runmode&amp;module=dnbd3&amp;modeid=proxy&amp;redirect=?do=dnbd3">
+ <span class="glyphicon glyphicon-plus"></span>
+ {{lang_managedServerAdd}}
+ </a>
+ <button type="button" class="btn btn-default" data-toggle="modal" data-target="#help-automatic">
+ <span class="glyphicon glyphicon-question-sign"></span>
+ </button>
+ </div>
+</div>
+
+<div id="help-external" class="modal fade" role="dialog">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal">&times;</button>
+ <h4 class="modal-title"><b>{{lang_externalServer}}</b></h4>
+ </div>
+ <div class="modal-body">
+ {{lang_externalServerHelp}}
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-primary pull-right" data-dismiss="modal">
+ {{lang_close}}
+ </button>
+ </div>
+ </div>
+ </div>
+</div>
+
+<div id="help-automatic" class="modal fade" role="dialog">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal">&times;</button>
+ <h4 class="modal-title"><b>{{lang_managedServer}}</b></h4>
+ </div>
+ <div class="modal-body">
+ {{lang_managedServerHelp}}
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-primary pull-right" data-dismiss="modal">
+ {{lang_close}}
+ </button>
+ </div>
+ </div>
+ </div>
+</div>
+
+<div id="server-edit-modal" class="modal fade" role="dialog">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <form method="post" action="?do=dnbd3">
+ <input type="hidden" name="token" value="{{token}}">
+ <input type="hidden" name="action" value="editserver">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal">&times;</button>
+ <h4 class="modal-title"><b>{{lang_editProxyHeading}}</b></h4>
+ </div>
+ <div class="modal-body" id="server-edit-body">
+ .
+ </div>
+ <div class="modal-footer">
+ <button type="submit" class="btn btn-primary pull-right">
+ <span class="glyphicon glyphicon-floppy-disk"></span>
+ {{lang_save}}
+ </button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+
+<div id="server-reboot-modal" class="modal fade" role="dialog">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal">&times;</button>
+ <h4 class="modal-title"><b>{{lang_rebootProxyHeading}}</b></h4>
+ </div>
+ <div class="modal-body">
+ <p>{{lang_rebootProxyText}}</p>
+ <p id="reboot-status"></p>
+ </div>
+ <div class="modal-footer text-right">
+ <button type="button" class="btn btn-default" data-dismiss="modal">{{lang_close}}</button>
+ <button id="btn-exec-reboot" type="button" class="btn btn-primary">
+ <span class="glyphicon glyphicon-repeat"></span>
+ {{lang_reboot}}
+ </button>
+ </div>
+ </div>
+ </div>
+</div>
+
+<div id="add-modal" class="modal fade" role="dialog">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal">&times;</button>
+ <h4 class="modal-title"><b>{{lang_addServer}}</b></h4>
+ </div>
+ <form id="addform" method="post" action="?do=dnbd3">
+ <div class="modal-body">
+ <p>{{lang_enterIpOfServer}}</p>
+
+ <input type="hidden" name="token" value="{{token}}">
+ <input type="text" class="form-control" name="newip" id="newip">
+ <div id="addtest" class="text-danger"></div>
+ </div>
+ <div class="modal-footer">
+ <div class="btn-toolbar pull-right">
+ <button id="testbtn" type="submit" class="btn btn-warning" name="action" value="addserver">
+ <span class="glyphicon glyphicon-question-sign"></span>
+ {{lang_test}}
+ </button>
+ <button id="savebtn" type="submit" class="btn btn-primary" name="action" value="addserver" disabled>
+ <span class="glyphicon glyphicon-floppy-disk"></span>
+ {{lang_save}}
+ </button>
+ </div>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+
+<div class="clearfix"></div>
+
+<script type="application/javascript"><!--
+document.addEventListener('DOMContentLoaded', function () {
+ var slxWorking = false;
+ var testedIp;
+ const $form = $('#addform');
+ const $inputs = $form.find(':input');
+ const $result =$('#addtest');
+ const $ip = $('#newip');
+ const $save = $('#savebtn');
+
+ const changeFunc = function() {
+ $save.prop('disabled', $ip.val() !== testedIp);
+ };
+ $ip.change(changeFunc).keypress(function () { setTimeout(changeFunc, 1); });
+
+ $form.submit(function (event) {
+ console.log('pre-sub');
+ console.log($save.prop('disabled'));
+ if (!$save.prop('disabled')) return;
+ console.log('post-sub');
+ event.preventDefault();
+ runTest();
+ });
+
+ $('#testbtn').click(function (event) {
+ console.log('pre-focus');
+ if ($ip.is(':focus')) return;
+ console.log('post-focus');
+ event.preventDefault();
+ runTest();
+ });
+
+ function runTest() {
+ if (slxWorking === false) {
+ var ip = $ip.val();
+ var form = $('#addform');
+ slxWorking = Math.random();
+ var workCopy = slxWorking;
+ $inputs.prop('disabled', true);
+ $result.empty().removeClass('text-danger').text('...working...');
+ var resetFunc = function(ok) {
+ if (slxWorking === workCopy) {
+ slxWorking = false;
+ $inputs.prop('disabled', false);
+ if (!ok) $result.empty().addClass('text-danger').text('Timeout.');
+ }
+ };
+ setTimeout(resetFunc, 3000);
+ testedIp = ip;
+ $.post('?do=dnbd3', {action:'servertest', ip:ip, token:TOKEN}, function (data) {
+ if (workCopy !== slxWorking) return;
+ resetFunc(true);
+ if (!data || data.fatal) {
+ $save.prop('disabled', true);
+ }
+ if (data && data.error) {
+ $result.empty().addClass('text-danger').text(data.error);
+ } else {
+ $result.empty().removeClass('text-danger').text('OK, Uptime: ' + data.uptime + ', Clients: ' + data.clientCount);
+ }
+ }, 'json').fail(function(oh, what) {
+ resetFunc(true);
+ $result.empty().addClass('text-danger').text('Fail ' + what);
+ });
+ }
+ }
+
+ $('.edit-btn').click(function() {
+ var id = $(this).data('id');
+ $('#server-edit-body').text('loading').load('?do=dnbd3&action=editserver&server=' + id);
+ });
+
+ var rebootServerId = 0;
+ $('.reboot-btn').click(function() {
+ rebootServerId = $(this).data('id');
+ $('#btn-exec-reboot').prop('disabled', false);
+ $('#reboot-status').empty();
+ });
+ $('#btn-exec-reboot').click(function() {
+ $(this).prop('disabled', true);
+ var $t = $('#reboot-status');
+ if (rebootServerId === 0) {
+ $t.text('No ID!?');
+ return;
+ }
+ $t.html('<span class="glyphicon glyphicon-refresh slx-rotation"></span>');
+ var sid = rebootServerId;
+ var query = function() {
+ $.ajax({
+ "data": {"token": TOKEN, "action": "reboot", "server": sid},
+ "method": "POST",
+ "dataType": "text",
+ "url": "?do=dnbd3"
+ }).done(function (data) {
+ $t.text(data);
+ if (data.indexOf('REBOOTING') !== -1 || data.indexOf('CONNECTING') !== -1) {
+ setTimeout(query, 5000);
+ $t.append($('<span class="glyphicon glyphicon-refresh slx-rotation"></span>'));
+ }
+ }).fail(function () {
+ $.text('Failed');
+ });
+ };
+ query();
+ rebootServerId = 0;
+ });
+});
+
+//--></script> \ No newline at end of file