225 lines
10 KiB
HTML
225 lines
10 KiB
HTML
<html>
|
|
<!-- DEPRECATED FROM ADMIN 3 -->
|
|
<link rel="stylesheet" type="text/css" href="../../lib/css/themes/jquery-ui/redmond/jquery-ui.min.css"/>
|
|
<link rel="stylesheet" type="text/css" href="../../css/adapter.css"/>
|
|
|
|
<script type="text/javascript" src="../../lib/js/jquery-3.2.1.min.js"></script>
|
|
<script type="text/javascript" src="../../socket.io/socket.io.js"></script>
|
|
<script type="text/javascript" src="../../lib/js/jquery-ui-1.10.3.full.min.js"></script>
|
|
|
|
<script type="text/javascript" src="../../js/translate.js"></script>
|
|
<script type="text/javascript" src="../../js/adapter-settings.js"></script>
|
|
<script type="text/javascript" src="words.js"></script>
|
|
|
|
<style>
|
|
.number {
|
|
width: 70px
|
|
}
|
|
</style>
|
|
<script type="text/javascript">
|
|
|
|
var oldBind;
|
|
var oldSecure;
|
|
var oldPort;
|
|
|
|
function showHideSettings() {
|
|
var $secure = $('#secure');
|
|
var $auth = $('#auth');
|
|
if ($secure.prop('checked')) {
|
|
$('#_certPublic').show();
|
|
$('#_certPrivate').show();
|
|
$('#_certChained').show();
|
|
$('.le-settings').show();
|
|
|
|
if ($('#leEnabled').prop('checked')) {
|
|
$('.le-sub-settings').show();
|
|
if ($('#leUpdate').prop('checked')) {
|
|
$('.le-sub-settings-update').show();
|
|
} else {
|
|
$('.le-sub-settings-update').hide();
|
|
}
|
|
} else {
|
|
$('.le-sub-settings').hide();
|
|
}
|
|
|
|
} else {
|
|
$('#_certPublic').hide();
|
|
$('#_certPrivate').hide();
|
|
$('#_certChained').hide();
|
|
$auth.prop('checked', false);
|
|
$('.le-settings').hide();
|
|
}
|
|
if ($auth.prop('checked')) {
|
|
$secure.prop('checked', true);
|
|
$('#defaultUser').val('admin');
|
|
$('.defaultUser').hide();
|
|
$('#_ttl').show();
|
|
} else {
|
|
$('.defaultUser').show();
|
|
$('#_ttl').hide();
|
|
}
|
|
}
|
|
|
|
// the function loadSettings has to exist ...
|
|
function load(settings, onChange) {
|
|
if (!settings) return;
|
|
|
|
if (!settings.thresholdValue) {
|
|
settings.thresholdValue = 200;
|
|
}
|
|
|
|
getIPs(function(ips) {
|
|
for (var i = 0; i < ips.length; i++) {
|
|
$('#bind').append('<option value="' + ips[i].address + '">' + ips[i].name + '</option>');
|
|
}
|
|
$('#bind.value').val(settings.bind);
|
|
});
|
|
|
|
oldBind = settings.bind;
|
|
oldSecure = settings.secure;
|
|
oldPort = settings.port;
|
|
|
|
if (settings.autoUpdate === undefined) settings.autoUpdate = 24;
|
|
if (!settings.lePort) settings.lePort = 80;
|
|
|
|
$('.value').each(function () {
|
|
var key = $(this).attr('id');
|
|
var $value = $('#' + key + '.value');
|
|
if ($value.attr('type') === 'checkbox') {
|
|
$value.prop('checked', settings[key]).on('change', function() {
|
|
showHideSettings();
|
|
onChange();
|
|
});
|
|
} else {
|
|
$value.val(settings[key]).on('change', onChange).on('keyup', function() {
|
|
onChange();
|
|
// Chack that only numbers entered
|
|
if ($(this).hasClass('number')) {
|
|
var val = $(this).val();
|
|
if (val) {
|
|
var newVal = '';
|
|
for (var i = 0; i < val.length; i++) {
|
|
if (val[i] >= '0' && val[i] <= '9') {
|
|
newVal += val[i];
|
|
}
|
|
}
|
|
|
|
if (val != newVal) {
|
|
$(this).val(newVal);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
onChange(false);
|
|
|
|
fillSelectCertificates('#certPublic', 'public', settings.certPublic);
|
|
fillSelectCertificates('#certPrivate', 'private', settings.certPrivate);
|
|
fillSelectCertificates('#certChained', 'chained', settings.certChained);
|
|
fillUsers('#defaultUser', settings.defaultUser);
|
|
|
|
showHideSettings();
|
|
|
|
$('#auth').change(function () {
|
|
if ($(this).prop('checked')) {
|
|
$('#secure').prop('checked', true);
|
|
showHideSettings();
|
|
}
|
|
});
|
|
}
|
|
|
|
function save(callback) {
|
|
var obj = {};
|
|
$('.value').each(function () {
|
|
var $this = $(this);
|
|
if ($this.attr('type') === 'checkbox') {
|
|
obj[$this.attr('id')] = $this.prop('checked');
|
|
} else {
|
|
obj[$this.attr('id')] = $this.val();
|
|
}
|
|
});
|
|
|
|
if ($('#secure').prop('checked') && (!$('#certPrivate').val() || !$('#certPublic').val())) {
|
|
showMessage(_('Set certificates or load it first in the system settings (right top).'));
|
|
return;
|
|
}
|
|
var isRedirect = false;
|
|
var isHttp = false;
|
|
if (oldBind !== obj.bind) {
|
|
isRedirect = true;
|
|
}
|
|
if (oldSecure !== obj.secure) {
|
|
isHttp = true;
|
|
}
|
|
if (oldPort !== obj.port) {
|
|
isRedirect = true;
|
|
}
|
|
var href = '';
|
|
if (isRedirect || isHttp) {
|
|
href = obj.secure ? 'https://' : 'http://';
|
|
|
|
href += (obj.bind !== '0.0.0.0') ? obj.bind : document.location.hostname;
|
|
href += ':' + obj.port;
|
|
}
|
|
|
|
callback(obj, null, href);
|
|
}
|
|
</script>
|
|
|
|
<!-- you have to put your config page in a div with id adapter-container -->
|
|
<div id="adapter-container">
|
|
|
|
<table><tr><td><img src="admin.png"></td><td><h3 class="translate">Admin adapter settings</h3></td></tr></table>
|
|
|
|
<table>
|
|
<tr><td><label class="translate" for="bind">IP:</label></td><td class="admin-icon"></td><td><select class="value" id="bind"></select></td><td class="admin-tooltip" data-id="bind"></td></tr>
|
|
<tr><td><label class="translate" for="port">Port:</label></td><td class="admin-icon"></td><td><input class="value number" id="port" size="5" maxlength="5" type="number"/></td><td class="admin-tooltip"></td></tr>
|
|
<tr><td><label class="translate" for="secure">Secure(HTTPS):</label></td><td class="admin-icon"></td><td><input class="value" id="secure" type="checkbox" /></td><td class="admin-tooltip"></td></tr>
|
|
<tr id="_certPublic">
|
|
<td><label class="translate" for="certPublic">Public certificate:</label></td>
|
|
<td class="admin-icon"></td>
|
|
<td><select id="certPublic" class="value"></select></td>
|
|
<td class="admin-tooltip"></td>
|
|
</tr>
|
|
<tr id="_certPrivate">
|
|
<td><label class="translate" for="certPrivate">Private certificate:</label></td>
|
|
<td class="admin-icon"></td>
|
|
<td><select id="certPrivate" class="value"></select></td>
|
|
<td class="admin-tooltip"></td>
|
|
</tr>
|
|
<tr id="_certChained">
|
|
<td><label class="translate" for="certChained">Chained certificate:</label></td>
|
|
<td class="admin-icon"></td>
|
|
<td><select id="certChained" class="value"></select></td>
|
|
<td class="admin-tooltip"></td>
|
|
</tr>
|
|
<tr><td><label class="translate" for="auth">Authentication:</label></td><td class="admin-icon"></td><td><input class="value" id="auth" type="checkbox" /></td><td class="admin-text"></td></tr>
|
|
<tr id="_ttl"><td><label class="translate" for="ttl">Login timeout(sec):</label></td><td class="admin-icon"></td><td><input class="value" id="ttl" /></td><td class="admin-tooltip"></td></tr>
|
|
<tr><td><label class="translate" for="cache">Cache:</label></td><td class="admin-icon"></td><td><input class="value" id="cache" type="checkbox" /></td><td class="admin-tooltip"></td></tr>
|
|
<tr class="defaultUser"><td><label class="translate" for="defaultUser">Run as:</label></td><td class="admin-icon"></td><td><select class="value" id="defaultUser"></select></td><td class="admin-tooltip"></td></tr>
|
|
<tr><td><label class="translate" for="autoUpdate">Auto update:</label></td><td class="admin-icon"></td><td>
|
|
<select class="value" id="autoUpdate">
|
|
<option value="0" class="translate">manually</option>
|
|
<option value="12" class="translate">every 12 hours</option>
|
|
<option value="24" class="translate">every day</option>
|
|
<option value="48" class="translate">every 2 days</option>
|
|
<option value="72" class="translate">every 3 days</option>
|
|
<option value="168" class="translate">every week</option>
|
|
<option value="336" class="translate">every 2 weeks</option>
|
|
<option value="720" class="translate">monthly</option>
|
|
</select>
|
|
</td>
|
|
<td class="admin-tooltip"></td>
|
|
</tr>
|
|
<tr><td><label class="translate" for="thresholdValue">Events threshold value:</label></td><td class="admin-icon"></td><td><input class="value" id="thresholdValue" type="number" min="50"/></td><td class="admin-tooltip"></td></tr>
|
|
<tr><td colspan="2"> </td></tr>
|
|
<tr class="le-settings"><td colspan="2"><h3 class="translate">Let's Encrypt settings</h3></tr>
|
|
<tr class="le-settings"><td><label for="leEnabled" class="translate">Use Lets Encrypt certificates:</label></td><td class="admin-icon"></td><td><input class="value" id="leEnabled" type="checkbox" /></td><td class="admin-tooltip" data-link="lets-encrypt-certificates"></td></tr>
|
|
<tr class="le-settings le-sub-settings"><td><label for="leUpdate" class="translate">Use this instance for automatic update:</label></td><td class="admin-icon"></td><td><input class="value" id="leUpdate" type="checkbox" /></td><td class="admin-tooltip" data-link="lets-encrypt-certificates"></td></tr>
|
|
<tr class="le-settings le-sub-settings le-sub-settings-update"><td><label for="lePort" class="translate">Port to check the domain:</label></td><td class="admin-icon"></td><td><input class="value number" id="lePort" type="number" size="5" maxlength="5" /></td><td class="admin-tooltip" data-link="lets-encrypt-certificates"></td></tr>
|
|
</table>
|
|
</div>
|
|
</html>
|