diff options
author | Simon Rettberg | 2016-05-03 19:03:09 +0200 |
---|---|---|
committer | Simon Rettberg | 2016-05-03 19:03:09 +0200 |
commit | 50404f3b23b7fd6aeae4c9d2f6df0ea25e984e66 (patch) | |
tree | 05e99fdffa696434960d7c77966c0bc36d6339e8 /modules-available/sysconfig/templates | |
parent | Second half of merge.... (diff) | |
download | slx-admin-50404f3b23b7fd6aeae4c9d2f6df0ea25e984e66.tar.gz slx-admin-50404f3b23b7fd6aeae4c9d2f6df0ea25e984e66.tar.xz slx-admin-50404f3b23b7fd6aeae4c9d2f6df0ea25e984e66.zip |
WIP
Diffstat (limited to 'modules-available/sysconfig/templates')
18 files changed, 1000 insertions, 0 deletions
diff --git a/modules-available/sysconfig/templates/_page.html b/modules-available/sysconfig/templates/_page.html new file mode 100644 index 00000000..1a2f64d6 --- /dev/null +++ b/modules-available/sysconfig/templates/_page.html @@ -0,0 +1,227 @@ +<div class="row"> + <div class="col-md-6"> + <div class="panel panel-default"> + <div class="panel-heading"> + {{lang_availableSystem}} + <a class="btn btn-default" data-toggle="modal" data-target="#help-config"><span class="glyphicon glyphicon-question-sign"></span></a> + </div> + <div class="panel-body"> + <form method="post" action="?do=SysConfig"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="action" value="config"> + <table id="conftable" class="slx-table" style="max-width:100px !important"> + {{#configs}} + <tr> + <td data-modlist="{{modlist}}" class="slx-pointer slx-width-ignore slx-nowrap"onclick="showmod(this, 'bold')" onmouseover="showmod(this, 'fade')" onmouseout="showmod(this, 'reset')"> + <div class="slx-dyn-ellipsis">{{config}}</div> + </td> + <td> + {{^current}} + <button class="btn btn-primary btn-xs" name="activate" value="{{configid}}"> + <span class="glyphicon glyphicon-flag"></span> + {{lang_activate}} + </button> + {{/current}} + {{#current}} + <span class="btn btn-success btn-xs slx-nopointer"> + <span class="glyphicon glyphicon-ok"></span> + {{lang_active}} + </span> + {{/current}} + </td> + <td class="slx-nowrap"> + <button + {{#needrebuild}} + class="refconf btn btn-primary btn-xs" + {{/needrebuild}} + {{^needrebuild}} + class="refconf btn btn-default btn-xs" + {{/needrebuild}} + name="rebuild" value="{{configid}}" title="{{lang_rebuild}}"><span class="glyphicon glyphicon-refresh"></span></button> + </td> + <td class="slx-nowrap"> + <a class="btn btn-success btn-xs" href="?do=SysConfig&action=addconfig&edit={{configid}}" title="{{lang_edit}}"><span class="glyphicon glyphicon-edit"></span></a> + <button class="btn btn-danger btn-xs" name="del" value="{{configid}}" title="{{lang_delete}}"><span class="glyphicon glyphicon-trash"></span></button> + </td> + </tr> + {{/configs}} + </table> + {{^configs}} + <div class="alert alert-warning"> + {{lang_systemConfigurationNotFound}} + </div> + {{^modules}} + <div class="alert alert-danger"> + {{lang_systemConfigurationAlert}} + </div> + {{/modules}} + {{/configs}} + </form> + </div> + {{#havemodules}} + <div class="panel-footer"> + <a class="btn btn-primary" href="?do=SysConfig&action=addconfig">{{lang_newConfiguration}}</a> + </div> + {{/havemodules}} + </div> + </div> + + <div class="col-md-6"> + <div class="panel panel-default"> + <div class="panel-heading"> + {{lang_availableModules}} + <a class="btn btn-default" data-toggle="modal" data-target="#help-module"><span class="glyphicon glyphicon-question-sign"></span></a> + </div> + <div class="panel-body"> + <form method="post" action="?do=SysConfig"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="action" value="module"> + <table id="modtable" class="slx-table" style="max-width:100px !important"> + {{#modules}} + <tr> + <td class="badge slx-nowrap">{{moduletype}}</td> + <td data-id="{{moduleid}}" class="modrow slx-width-ignore slx-nowrap"><div class="slx-dyn-ellipsis">{{module}}</div></td> + <td class="slx-nowrap"> + {{#iscustom}} + <button class="btn btn-default btn-xs" name="list" value="{{moduleid}}" title="{{lang_show}}"><span class="glyphicon glyphicon-eye-open"></span></button> + <!-- a class="btn btn-default btn-xs"><span class="glyphicon glyphicon-edit"></span> Bearbeiten</a --> + <button class="btn btn-default btn-xs" name="download" value="{{moduleid}}" title="{{lang_download}}"><span class="glyphicon glyphicon-download-alt"></span></button> + {{/iscustom}} + </td> + <td class="slx-nowrap"> + <button + {{#needrebuild}} + class="refmod btn btn-primary btn-xs" + {{/needrebuild}} + {{^needrebuild}} + class="refmod btn btn-default btn-xs" + {{/needrebuild}} + name="rebuild" value="{{moduleid}}" title="{{lang_rebuild}}"><span class="glyphicon glyphicon-refresh"></span></button> + <a class="btn btn-success btn-xs" href="?do=SysConfig&action=addmodule&step={{moduletype}}_Start&edit={{moduleid}}" title="{{lang_edit}}"><span class="glyphicon glyphicon-edit"></span></a> + <button class="btn btn-danger btn-xs" name="del" value="{{moduleid}}" title="{{lang_delete}}"><span class="glyphicon glyphicon-trash"></span></button> + </td> + </tr> + {{/modules}} + </table> + {{^modules}} + <div class="alert alert-warning">{{lang_configurationModuleNotFound}}</div> + {{/modules}} + </form> + </div> + <div class="panel-footer"> + <a class="btn btn-primary" href="?do=SysConfig&action=addmodule">{{lang_newModule}}</a> + </div> + </div> + </div> +</div> + +<div class="panel panel-default"> + <div class="panel-heading">{{lang_legend}}</div> + <div class="panel-body"> + <p> + <span class="btn btn-default btn-xs" title="{{lang_show}}"><span class="glyphicon glyphicon-eye-open"></span></span> + {{lang_showLong}} + </p> + <p> + <span class="btn btn-default btn-xs" title="{{lang_download}}"><span class="glyphicon glyphicon-download-alt"></span></span> + {{lang_downloadLong}} + </p> + <p> + <span class="btn btn-default btn-xs" title="{{lang_rebuild}}"><span class="glyphicon glyphicon-refresh"></span></span> + {{lang_rebuildLong}} + </p> + <p> + <span class="btn btn-primary btn-xs" title="{{lang_rebuild}}"><span class="glyphicon glyphicon-refresh"></span></span> + {{lang_rebuildOutdatedLong}} + </p> + <p> + <span class="btn btn-success btn-xs" title="{{lang_edit}}"><span class="glyphicon glyphicon-edit"></span></span> + {{lang_editLong}} + </p> + <div> + <span class="btn btn-danger btn-xs" title="{{lang_delete}}"><span class="glyphicon glyphicon-trash"></span></span> + {{lang_deleteLong}} + </div> + </div> +</div> + +<div class="modal fade" id="help-config" tabindex="-1" role="dialog"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header">{{lang_systemConfiguration}}</div> + <div class="modal-body"> + {{lang_helpSystemConfiguration}} + </div> + <div class="modal-footer"><a class="btn btn-primary" data-dismiss="modal">{{lang_close}}</a></div> + </div> + </div> +</div> + +<div class="modal fade" id="help-module" tabindex="-1" role="dialog"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header">{{lang_moduleConfiguration}}</div> + <div class="modal-body"> + {{lang_helpModuleConfiguration}} + </div> + <div class="modal-footer"><a class="btn btn-primary" data-dismiss="modal">{{lang_close}}</a></div> + </div> + </div> +</div> + +<script type="text/javascript"><!-- + var boldItem = false; + function showmod(e, action) { + var list = $(e).attr('data-modlist'); + list = list.split(','); + if (action === 'bold') { + $(boldItem).removeClass("slx-bold"); + if (boldItem === e) { + action = 'fade'; + boldItem = false; + } + } else if (boldItem !== false) { + return; + } + $('.modrow').each(function () { + var elem = $(this); + elem.removeClass("slx-fade slx-bold"); + if (action === 'reset') + return; + if (action === 'bold' && list.indexOf(elem.attr('data-id')) !== -1) + elem.addClass("slx-bold"); + if (list.indexOf(elem.attr('data-id')) === -1) + elem.addClass("slx-fade"); + }); + if (action === 'bold') { + boldItem = e; + $(e).addClass("slx-bold"); + } + } + + var statusChecks = 0; + function checkBuildStatus() { + var mods = []; + var confs = []; + $(".refmod.btn-primary").each(function (index) { + mods.push($(this).val()); + }); + $(".refconf.btn-primary").each(function (index) { + confs.push($(this).val()); + }); + if (mods.length === 0 && confs.length === 0) return; + if (++statusChecks < 10) setTimeout(checkBuildStatus, 200 + 50 * statusChecks); + console.log("POSTING"); + $.post('?do=SysConfig', { mods: mods.join(), confs: confs.join(), token: TOKEN, action: 'status' }, function (data) { + if (typeof data === 'undefined') return; + if (typeof data.mods === 'object') updateButtonColor($(".refmod.btn-primary"), data.mods); + if (typeof data.confs === 'object') updateButtonColor($(".refconf.btn-primary"), data.confs); + }, 'json'); + } + function updateButtonColor(list,ids) { + list.each(function() { + if (ids.indexOf($(this).val()) >= 0) $(this).removeClass('btn-primary').addClass('btn-default'); + }); + } + document.addEventListener("DOMContentLoaded", checkBuildStatus, false); +// --></script>
\ No newline at end of file diff --git a/modules-available/sysconfig/templates/ad-finish.html b/modules-available/sysconfig/templates/ad-finish.html new file mode 100644 index 00000000..f73cad9d --- /dev/null +++ b/modules-available/sysconfig/templates/ad-finish.html @@ -0,0 +1,29 @@ +<p> + {{lang_adStarted}} +</p> + +<div id="zeug"> + <div data-tm-id="{{tm-config}}" data-tm-log="error" data-tm-callback="ldapCb">{{lang_generateModule}}</div> +</div> +<br> +<div id="back" class="pull-left" style="display:none"> + <a href="?do=SysConfig&action=addmodule&step=AdAuth_Start" class="btn btn-primary">{{lang_restartWizard}}</a> +</div> +<div id="finish" class="pull-right" style="display:none"> + <a href="?do=SysConfig" class="btn btn-primary">{{lang_to}} {{lang_systemConfiguration}}</a> +</div> +<script type="text/javascript"> +function ldapCb(task) +{ + if (!task || !task.statusCode) + return; + if (task.statusCode === 'TASK_FINISHED') { + $('#finish').attr('style', ''); + } + if (task.statusCode === 'TASK_ERROR' || task.statusCode === 'PARENT_FAILED') { + $('#back').attr('style', ''); + } +} +if ('{{tm-config}}' == '') + $('#finish').attr('style', ''); +</script> diff --git a/modules-available/sysconfig/templates/ad-selfsearch.html b/modules-available/sysconfig/templates/ad-selfsearch.html new file mode 100644 index 00000000..76952dc3 --- /dev/null +++ b/modules-available/sysconfig/templates/ad-selfsearch.html @@ -0,0 +1,112 @@ +<p> + {{lang_dnLookup}} +</p> + +<div id="zeug"> + <div data-tm-id="{{self-search}}" data-tm-log="messages" data-tm-callback="selfCb">LDAP Self-Query</div> + <pre style="display:none" id="result"></pre> + <div style="display:none" id="haselect"> + <div class="slx-bold">{{lang_selectHomeAttribute}}</div> + {{lang_homeAttributeExplanation}} + </div> +</div> +<i>{{lang_onProblemSearchBase}}</i> +<br><br> +<div class="pull-left"> + <form role="form" method="post" action="?do=SysConfig&action=addmodule&step={{prev}}"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="edit" value="{{edit}}"> + <input name="title" value="{{title}}" type="hidden"> + <input name="server" value="{{server}}" type="hidden"> + <input name="searchbase" value="{{searchbase}}" type="hidden"> + <input name="binddn" value="{{binddn}}" type="hidden"> + <input name="bindpw" value="{{bindpw}}" type="hidden"> + <input name="home" value="{{home}}" type="hidden"> + <input name="homeattr" value="{{homeattr}}" type="hidden"> + {{#ssl}} + <input name="ssl" value="on" type="hidden"> + <input type="hidden" name="certificate" value="{{certificate}}"> + {{/ssl}} + <button type="submit" class="btn btn-primary">« {{lang_back}}</button> + </form> +</div> +<div class="pull-right"> + <form id="nextform" role="form" method="post" action="?do=SysConfig&action=addmodule&step={{next}}"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="edit" value="{{edit}}"> + <input name="title" value="{{title}}" type="hidden"> + <input name="server" value="{{server}}" type="hidden"> + <input name="port" value="{{port}}" type="hidden"> + <input id="searchbase" name="searchbase" value="{{searchbase}}" type="hidden"> + <input id="fulldn" name="binddn" value="" type="hidden"> + <input id="givendn" name="originalbinddn" value="{{binddn}}" type="hidden"> + <input name="bindpw" value="{{bindpw}}" type="hidden"> + <input id="home" name="home" value="{{home}}" type="hidden"> + <input id="homeattr" name="homeattr" value="{{homeattr}}" type="hidden"> + {{#ssl}} + <input name="ssl" value="on" type="hidden"> + <input type="hidden" name="certificate" value="{{certificate}}"> + {{/ssl}} + <input name="fingerprint" value="{{fingerprint}}" type="hidden"> + <button id="nextbutton" type="submit" class="btn btn-primary" style="display:none">{{lang_skip}} »</button> + </form> +</div> +<script type="text/javascript"> + function selfCb(task) + { + if (!task || !task.statusCode || task.statusCode === 'TASK_WAITING' || task.statusCode === 'TASK_PROCESSING') + return; + if (task.statusCode === 'TASK_FINISHED' && task.data && task.data.dn) { + var fulldn = task.data.dn; + var domain = "-"; + var search = $('#searchbase').val(); + if ($('#searchbase').val().length < 2) { + domain = $('#givendn').val().replace(/[\/\\]\S+$/i, ''); + var idx = fulldn.search(new RegExp('\\w+=' + domain + ',', "i")); + console.log(idx); + if (idx !== -1) { + search = fulldn.substring(idx); + } + $('#searchbase').val(search); + } + $('#fulldn').val(fulldn); + $('#result').text("BindDN: " + fulldn + "\nWinDomain: " + domain + "\nSearchBase: " + search).show(); + var attrlist = []; + var tryHomeAttr = false; + {{#tryHomeAttr}} + tryHomeAttr = true; + if (task.data.home && task.data.home.length) attrlist = task.data.home; + {{/tryHomeAttr}} + if (typeof search !== 'string' || search.length === 0 || search.length + 2 >= fulldn.length + || (tryHomeAttr && $('#home').val().length === 0 && $('#homeattr').val().length === 0 && attrlist.length === 0)) { + $('#nextbutton').html('{{lang_continueAnyway}}'); + } else if (attrlist.length > 1 && $('#homeattr').val().length === 0) { + var sel = $('<select>').attr('onchange', 'slxSetHomeAttr(this)').addClass('form-control'); + var best = 0; + for (var i = 1; i < attrlist.length; ++i) { + if (attrlist[i].score > attrlist[best].score) best = i; + } + for (var i = 0; i < attrlist.length; ++i) { + var opt = $('<option>').attr('value', attrlist[i].attr).text(attrlist[i].attr + ' (' + attrlist[i].value + ')'); + if (i === best) opt.attr('selected', 'selected'); + sel.append(opt); + } + $('#haselect').append(sel).append('<br>').show(); + slxSetHomeAttr(sel[0]); + $('#nextbutton').html('{{lang_next}}'); + } else { + if (attrlist.length === 1 && $('#homeattr').val().length === 0) { + $('#homeattr').val(attrlist[0].attr); + } + $('#nextform').submit(); + } + } else { + $('#nextbutton').html('{{lang_continueAnyway}}'); + } + $('#nextbutton').show(); + } + + function slxSetHomeAttr(sel) { + $('#homeattr').val(sel.options[sel.selectedIndex].value); + } +</script> diff --git a/modules-available/sysconfig/templates/ad-start.html b/modules-available/sysconfig/templates/ad-start.html new file mode 100644 index 00000000..98546140 --- /dev/null +++ b/modules-available/sysconfig/templates/ad-start.html @@ -0,0 +1,121 @@ +<p> + {{lang_adText1}} + <br> + {{lang_adText2}} + <br> + {{lang_adText3}} +</p> +<pre>dsquery user -name "Username"</pre> +<p> + {{lang_adText4}} +</p> + +<i>{{lang_asteriskMandatory}}</i> + +<form role="form" method="post" action="?do=SysConfig&action=addmodule&step={{step}}"> + <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}}"> + <input type="hidden" name="edit" value="{{edit}}"> + <div class="input-group"> + <span class="input-group-addon slx-ga">{{lang_moduleTitle}}</span> + <input tabindex="1" name="title" value="{{title}}" type="text" class="form-control"> + </div> + <div class="input-group"> + <span class="input-group-addon slx-ga">Server *</span> + <input tabindex="2" name="server" value="{{server}}" type="text" class="form-control" placeholder="dc0.institution.example.com"> + </div> + <div class="input-group"> + <span class="input-group-addon slx-ga">{{lang_bindDN}} *</span> + <input tabindex="3" name="binddn" value="{{binddn}}" type="text" class="form-control" placeholder="domain\bwlp *ODER* CN=bwlp,OU=Benutzer,DC=domain,DC=hs-beispiel,DC=de"> + </div> + <div class="input-group"> + <span class="input-group-addon slx-ga">{{lang_password}} *</span> + <input tabindex="4" name="bindpw" value="{{bindpw}}" type="{{password_type}}" class="form-control" placeholder="{{lang_password}}"> + </div> + <div class="input-group"> + <span class="input-group-addon slx-ga">{{lang_searchBase}}</span> + <input tabindex="5" name="searchbase" value="{{searchbase}}" type="text" class="form-control" placeholder="dc=windows,dc=hs-beispiel,dc=de"> + </div> + <br> + <div class="input-group"> + <span class="input-group-addon slx-ga">Home</span> + <input tabindex="6" name="home" value="{{home}}" type="text" class="form-control" placeholder="\\server.example.com\%s"> + <span class="input-group-btn"> + <a class="btn btn-default" data-toggle="modal" data-target="#help-home"><span class="glyphicon glyphicon-question-sign"></span></a> + </span> + </div> + <div class="input-group"> + <span class="input-group-addon slx-ga">{{lang_homeAttr}}</span> + <input tabindex="6" name="homeattr" value="{{homeattr}}" type="text" class="form-control" placeholder="homeDirectory"> + <span class="input-group-btn"> + <a class="btn btn-default" data-toggle="modal" data-target="#help-homeattr"><span class="glyphicon glyphicon-question-sign"></span></a> + </span> + </div> + <br> + <div> + <label> + <input type="checkbox" name="ssl" onchange="$('#cert-box').css('display', this.checked ? '' : 'none')" {{#ssl}}checked{{/ssl}}> {{lang_ssl}} + </label> + </div> + <i>{{lang_sslDescription}}</i> + <br> + <div class="pull-right"> + <button type="submit" class="btn btn-primary">{{lang_next}} »</button> + </div> + <div class="clearfix"></div> + <hr> + <div {{^ssl}}style="display:none"{{/ssl}} id="cert-box"> + <div class="well well-sm" id="wcustom"> + {{lang_customCertificate}} + <pre class="small"> +-----BEGIN CERTIFICATE----- +MIIFfTCCA... +..... +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +..... +-----END CERTIFICATE-----</pre> + <textarea name="certificate" class="form-control small" cols="101" rows="10">{{certificate}}</textarea> + </div> + <div class="pull-right"> + <button type="submit" class="btn btn-primary">{{lang_next}} »</button> + </div> + <div class="clearfix"></div> + </div> +</form> + +<div class="modal fade" id="help-home" tabindex="-1" role="dialog"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header">{{lang_userDirectory}}</div> + <div class="modal-body"> + <p> + {{lang_userDirectoryInfo1}} + </p> + <pre>\\fileserv.uni.example.com\users\%s</pre> + <p> + {{lang_userDirectoryInfo2}} + </p> + <p> + {{lang_userDirectoryInfo3}} + </p> + </div> + <div class="modal-footer"><a class="btn btn-primary" data-dismiss="modal">{{lang_close}}</a></div> + </div> + </div> +</div> + +<div class="modal fade" id="help-homeattr" tabindex="-1" role="dialog"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header">{{lang_helpHomeAttrHead}}</div> + <div class="modal-body"> + <p> + {{lang_helpHomeAttrText}} + </p> + </div> + <div class="modal-footer"><a class="btn btn-primary" data-dismiss="modal">{{lang_close}}</a></div> + </div> + </div> +</div> diff --git a/modules-available/sysconfig/templates/ad_ldap-checkconnection.html b/modules-available/sysconfig/templates/ad_ldap-checkconnection.html new file mode 100644 index 00000000..5925829a --- /dev/null +++ b/modules-available/sysconfig/templates/ad_ldap-checkconnection.html @@ -0,0 +1,91 @@ +<p> + {{lang_connectionWait}} +</p> + +<div id="zeug"> + <div data-tm-id="{{taskid}}" data-tm-log="messages" data-tm-callback="portScan">Port Check</div> +</div> +<div id="self-signed" style="display:none" class="alert alert-info">{{lang_selfSignedNote}}</div> +<div id="no-valid-cert" style="display:none" class="alert alert-danger">{{lang_noValidCert}}</div> +<div id="no-open-port" style="display:none" class="alert alert-danger">{{lang_noOpenPort}}</div> +<br> +<div class="pull-left"> + <form role="form" method="post" action="?do=SysConfig&action=addmodule&step={{prev}}"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="edit" value="{{edit}}"> + <input name="title" value="{{title}}" type="hidden"> + <input name="server" value="{{server}}" type="hidden"> + <input name="searchbase" value="{{searchbase}}" type="hidden"> + <input name="binddn" value="{{binddn}}" type="hidden"> + <input name="bindpw" value="{{bindpw}}" type="hidden"> + <input name="home" value="{{home}}" type="hidden"> + <input name="homeattr" value="{{homeattr}}" type="hidden"> + {{#ssl}} + <input name="ssl" value="on" type="hidden"> + <input type="hidden" name="certificate" value="{{certificate}}"> + {{/ssl}} + <button type="submit" class="btn btn-primary">« {{lang_back}}</button> + </form> +</div> +<div class="pull-right"> + <form id="nextform" role="form" method="post" action="?do=SysConfig&action=addmodule&step={{next}}"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="edit" value="{{edit}}"> + <input name="title" value="{{title}}" type="hidden"> + <input name="server" value="{{server}}" type="hidden"> + <input id="port" name="port" value="" type="hidden"> + <input name="searchbase" value="{{searchbase}}" type="hidden"> + <input name="binddn" value="{{binddn}}" type="hidden"> + <input name="bindpw" value="{{bindpw}}" type="hidden"> + <input name="home" value="{{home}}" type="hidden"> + <input name="homeattr" value="{{homeattr}}" type="hidden"> + {{#ssl}} + <input id="ssl" name="ssl" value="on" type="hidden"> + <input id="fingerprint" name="fingerprint" value="" type="hidden"> + <input id="certificate" type="hidden" name="certificate" value="{{certificate}}"> + {{/ssl}} + <input name="originalbinddn" value="{{binddn}}" type="hidden"> + <button id="nextbutton" type="submit" class="btn btn-primary" style="display:none">{{lang_next}} »</button> + </form> +</div> +<div id="bla"></div> +<script type="text/javascript"> + function isSelfSigned(code) + { + return code == 18 || code == 19 || code == 20 || code == 21; + } + function portScan(task) + { + if (!task || !task.statusCode) + return; + if (task.statusCode === 'TASK_FINISHED' && task.data && task.data.ports) { + var ssl = $('#ssl').length > 0; + var ports = task.data.ports; + var verRes = -1; + var cert = ssl && $('#certificate').val().length > 10; + for (var i = 0; i < ports.length; ++i) { + if (!ports[i].open || !ports[i].port) continue; + if ($.isNumeric($('#port').val()) && $('#port').val() < ports[i].port) continue; // Prefer the global LDAP ports over the specific AD ports + if (ssl) { + if (verRes === -1) verRes = ports[i].verifyResult; + if (ports[i].certFingerprint.length < 10 || ports[i].certificateChain.length < 10) continue; + if (ports[i].verifyResult != 0 && (cert || !isSelfSigned(ports[i].verifyResult))) continue; + verRes = ports[i].verifyResult; + $('#fingerprint').val(ports[i].certFingerprint); + if (!cert && verRes != 0) $('#certificate').val(ports[i].certificateChain); + else if (!cert && verRes == 0) $('#certificate').val('default'); + } + $('#port').val(ports[i].port); + } + if (ssl && verRes != 0 && (cert || !isSelfSigned(verRes))) { + $('#no-valid-cert').css('display', ''); + } else if ($('#port').val() > 0) { + $('#nextbutton').show(); + if (ssl && isSelfSigned(verRes)) $('#self-signed').css('display', ''); + else $('#nextform').submit(); + } else { + $('#no-open-port').css('display', ''); + } + } + } +</script> diff --git a/modules-available/sysconfig/templates/ad_ldap-checkcredentials.html b/modules-available/sysconfig/templates/ad_ldap-checkcredentials.html new file mode 100644 index 00000000..0586209b --- /dev/null +++ b/modules-available/sysconfig/templates/ad_ldap-checkcredentials.html @@ -0,0 +1,67 @@ +<p> + {{lang_connectionWait}} +</p> + +<div id="zeug"> + <div data-tm-id="{{tm-search}}" data-tm-log="messages" data-tm-callback="ldapCb">LDAP Test-Query</div> +</div> +<i>{{lang_onProblemSearchBase}}</i> +<br><br> +<div class="pull-left"> + <form role="form" method="post" action="?do=SysConfig&action=addmodule&step={{prev}}"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="edit" value="{{edit}}"> + <input name="title" value="{{title}}" type="hidden"> + <input name="server" value="{{server}}" type="hidden"> + <input name="searchbase" value="{{searchbase}}" type="hidden"> + <input name="binddn" value="{{binddn}}" type="hidden"> + <input name="bindpw" value="{{bindpw}}" type="hidden"> + <input name="home" value="{{home}}" type="hidden"> + <input name="homeattr" value="{{homeattr}}" type="hidden"> + {{#ssl}} + <input name="ssl" value="on" type="hidden"> + <input type="hidden" name="certificate" value="{{certificate}}"> + {{/ssl}} + <button type="submit" class="btn btn-primary">« {{lang_back}}</button> + </form> +</div> +<div class="pull-right"> + <form role="form" method="post" action="?do=SysConfig&action=addmodule&step={{next}}"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="edit" value="{{edit}}"> + <input name="title" value="{{title}}" type="hidden"> + <input name="server" value="{{server}}" type="hidden"> + <input name="searchbase" value="{{searchbase}}" type="hidden"> + <input id="setbase" name="somedn" value="" type="hidden"> + <input name="binddn" value="{{binddn}}" type="hidden"> + <input name="bindpw" value="{{bindpw}}" type="hidden"> + <input name="home" value="{{home}}" type="hidden"> + <input name="homeattr" value="{{homeattr}}" type="hidden"> + {{#ssl}} + <input name="ssl" value="on" type="hidden"> + <input type="hidden" name="certificate" value="{{certificate}}"> + {{/ssl}} + <input name="fingerprint" value="{{fingerprint}}" type="hidden"> + <input name="originalbinddn" value="{{binddn}}" type="hidden"> + <button id="nextbutton" type="submit" class="btn btn-primary" style="display:none">{{lang_skip}} »</button> + </form> +</div> +<script type="text/javascript"> + function ldapCb(task) + { + if (!task || !task.statusCode) + return; + if (task.statusCode === 'TASK_FINISHED') { + if (task.data && task.data.dn) { + $('#setbase').val(task.data.dn); + } + $('#nextbutton').html('Weiter »').show(); + } + if (task.statusCode === 'TASK_ERROR' || task.statusCode === 'PARENT_FAILED') { + $('#nextbutton').html('Trotzdem weiter »'); + } + if (task.statusCode === 'TASK_ERROR') { + $('#nextbutton').show(); + } + } +</script> diff --git a/modules-available/sysconfig/templates/branding-check.html b/modules-available/sysconfig/templates/branding-check.html new file mode 100644 index 00000000..8f6ef055 --- /dev/null +++ b/modules-available/sysconfig/templates/branding-check.html @@ -0,0 +1,26 @@ +<p> + {{lang_brandingInfo}} +</p> +<div class="pull-left"> + {{#svg}} + <img src="data:image/svg+xml;base64,{{svg}}" width="192" height="192"> + {{/svg}} +</div> +<div class="pull-right"> + {{#png}} + <img src="data:image/png;base64,{{png}}"> + {{/png}} +</div> +<div class="clearfix"></div> +<div>{{error}}</div> +<div> + <form role="form" enctype="multipart/form-data" method="post" action="?do=SysConfig&action=addmodule&step={{step}}"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="edit" value="{{edit}}"> + <div class="form-group"> + <label for="title-id">{{lang_title}}</label> + <input type="text" name="title" value="{{title}}" id ="title-id" class="form-control" placeholder="Name des Moduls"> + </div> + <button type="submit" class="btn btn-primary">{{lang_save}}</button> + </form> +</div> diff --git a/modules-available/sysconfig/templates/branding-start.html b/modules-available/sysconfig/templates/branding-start.html new file mode 100644 index 00000000..09b9ca27 --- /dev/null +++ b/modules-available/sysconfig/templates/branding-start.html @@ -0,0 +1,25 @@ +<p> + {{lang_branding}} +</p> +<form role="form" enctype="multipart/form-data" method="post" action="?do=SysConfig&action=addmodule&step={{step}}"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="edit" value="{{edit}}"> + <div class="form-group"> + <label for="input-url">{{lang_urlLoad}}</label> + <input class="form-control" type="text" name="url" id="input-url"> + </div> + {{lang_or}} + <div class="form-group"> + <label for="input-file">{{lang_computerLoad}}</label> + <div class="input-group upload-ex"> + <input type="text" class="form-control" readonly placeholder="{{lang_selectFile}}"> + <span class="input-group-btn"> + <span class="btn btn-default btn-file"> + {{lang_browseForFile}}… <input type="file" name="file" id="input-file"> + </span> + </span> + </div> + </div> + <button type="submit" class="btn btn-primary">{{lang_upload}}</button> +</form> + diff --git a/modules-available/sysconfig/templates/cfg-finish.html b/modules-available/sysconfig/templates/cfg-finish.html new file mode 100644 index 00000000..a6e51996 --- /dev/null +++ b/modules-available/sysconfig/templates/cfg-finish.html @@ -0,0 +1,12 @@ +<p> + {{lang_configurationSuccess}} +</p> + +<form role="form" method="post" action="?do=SysConfig"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="action" value="config"> + <input type="hidden" name="activate" value="{{configid}}"> + <div class="pull-left"> + <button type="submit" class="btn btn-primary">{{lang_configurationActive}}</button> + </div> +</form> diff --git a/modules-available/sysconfig/templates/cfg-start.html b/modules-available/sysconfig/templates/cfg-start.html new file mode 100644 index 00000000..50f366ea --- /dev/null +++ b/modules-available/sysconfig/templates/cfg-start.html @@ -0,0 +1,39 @@ +<form role="form" method="post" action="?do=SysConfig&action=addconfig&step={{step}}"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="edit" value="{{edit}}"> + <div class="input-group"> + <span class="input-group-addon">{{lang_name}} *</span> + <input type="text" name="title" value="{{title}}" class="form-control" placeholder="{{lang_configuration}}" autofocus="autofocus"> + </div> + <hr> + <p>{{lang_configurationChoose}}</p> + {{#groups}} + <div class="panel panel-default"> + <div class="slx-litehead">{{group}}</div> + <div class="panel-body"> + {{#modules}} + <div class="input-group"> + <span class="input-group-addon"> + {{#unique}} + <input type="radio" name="module[{{groupid}}]" value="{{moduleid}}" id="module{{moduleid}}" {{#active}}checked{{/active}}> + {{/unique}} + {{^unique}} + <input type="checkbox" name="module[{{moduleid}}]" value="{{moduleid}}" id="module{{moduleid}}" {{#active}}checked{{/active}}> + {{/unique}} + </span> + <label class="form-control" for="module{{moduleid}}">{{title}}</label> + {{#missing}} + <span class="input-group-addon" title="Modul beschÃĪdigt! Bitte neu generieren."><span class="red glyphicon glyphicon-exclamation-sign"></span></span> + {{/missing}} + </div> + {{/modules}} + {{^modules}} + <div class="alert alert-info">{{lang_noModuleOfType}}</div> + {{/modules}} + </div> + </div> + {{/groups}} + <div class="pull-right"> + <button type="submit" class="btn btn-primary">{{lang_next}} »</button> + </div> +</form> diff --git a/modules-available/sysconfig/templates/config-module-list.html b/modules-available/sysconfig/templates/config-module-list.html new file mode 100644 index 00000000..6cd77f9e --- /dev/null +++ b/modules-available/sysconfig/templates/config-module-list.html @@ -0,0 +1,17 @@ +<form method="post" action="?do=SysConfig"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="action" value="module"> + <table class="slx-table"> + {{#modules}} + <tr> + <td>{{module}}</td> + <td> + <button class="btn btn-default btn-xs" name="list" value="{{moduleid}}"><span class="glyphicon glyphicon-eye-open"></span> {{lang_show}}</button> + </td> + </tr> + {{/modules}} + </table> + {{^modules}} + <div class="alert alert-warning">{{lang_noContent}}</div> + {{/modules}} +</form>
\ No newline at end of file diff --git a/modules-available/sysconfig/templates/custom-filelist.html b/modules-available/sysconfig/templates/custom-filelist.html new file mode 100644 index 00000000..3ad241dd --- /dev/null +++ b/modules-available/sysconfig/templates/custom-filelist.html @@ -0,0 +1,16 @@ +<input type="hidden" name="modid" value="{{modid}}"> +<input type="hidden" name="token" value="{{token}}"> +<table class="table table-bordered table-condensed"> +{{#files}} + <tr> + {{#isdir}} + <td class="fileEntry isdir" colspan="2">{{name}}</td> + {{/isdir}} + {{^isdir}} + <td class="fileEntry">{{name}}</td> + <td>{{size}}</td> + {{/isdir}} + </tr> + {{/files}} +</table> +<a class="btn btn-primary btn-sm" href="?do=SysConfig">{{lang_back}} «</a> diff --git a/modules-available/sysconfig/templates/custom-fileselect.html b/modules-available/sysconfig/templates/custom-fileselect.html new file mode 100644 index 00000000..000c8d10 --- /dev/null +++ b/modules-available/sysconfig/templates/custom-fileselect.html @@ -0,0 +1,31 @@ +<form role="form" method="post" action="?do=SysConfig&action=addmodule&step={{step}}"> + <input type="hidden" name="modid" value="{{modid}}"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="edit" value="{{edit}}"> + <div class="input-group"> + <span class="input-group-addon">{{lang_moduleName}}</span> + <input type="text" name="title" value="{{title}}" class="form-control" placeholder="Mein Konfigurationsmodul" autofocus="autofocus"> + </div> + <div class="pull-right"> + <button type="submit" class="btn btn-primary">{{lang_next}} »</button> + </div> + <div class="clearfix"></div> + <hr> + <p>{{lang_checkFileContent}}</p> + <table class="table table-bordered table-condensed"> + {{#files}} + <tr> + {{#isdir}} + <td class="fileEntry isdir" colspan="2">{{name}}</td> + {{/isdir}} + {{^isdir}} + <td class="fileEntry">{{name}}</td> + <td>{{size}}</td> + {{/isdir}} + </tr> + {{/files}} + </table> + <div class="pull-right"> + <button type="submit" class="btn btn-primary">{{lang_next}} »</button> + </div> +</form> diff --git a/modules-available/sysconfig/templates/custom-upload.html b/modules-available/sysconfig/templates/custom-upload.html new file mode 100644 index 00000000..c453a97d --- /dev/null +++ b/modules-available/sysconfig/templates/custom-upload.html @@ -0,0 +1,18 @@ +<p>{{lang_customModuleInfo1}}</p> + +<p>{{lang_customModuleInfo2}}</p> + +<form role="form" enctype="multipart/form-data" method="post" action="?do=SysConfig&action=addmodule&step={{step}}"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="edit" value="{{edit}}"> + <div class="input-group upload-ex"> + <input type="text" class="form-control" readonly placeholder="{{lang_selectFile}}"> + <span class="input-group-btn"> + <span class="btn btn-default btn-file"> + {{lang_browseForFile}}… <input type="file" name="modulefile"> + </span> + </span> + </div> + <p class="help-block">{{lang_supportedFiles}}: .tar.gz, .tar.bz2, .zip</p> + <button type="submit" class="btn btn-primary">{{lang_upload}}</button> +</form> diff --git a/modules-available/sysconfig/templates/ldap-finish.html b/modules-available/sysconfig/templates/ldap-finish.html new file mode 100644 index 00000000..a735e792 --- /dev/null +++ b/modules-available/sysconfig/templates/ldap-finish.html @@ -0,0 +1,29 @@ +<p> + {{lang_ldapStarted}} +</p> + +<div id="zeug"> + <div data-tm-id="{{tm-config}}" data-tm-log="error" data-tm-callback="ldapCb">{{lang_generateModule}}</div> +</div> +<br> +<div id="back" class="pull-left" style="display:none"> + <a href="?do=SysConfig&action=addmodule&step=LdapAuth_Start" class="btn btn-primary">{{lang_restartWizard}}</a> +</div> +<div id="finish" class="pull-right" style="display:none"> + <a href="?do=SysConfig" class="btn btn-primary">{{lang_toSystemConfiguration}}</a> +</div> +<script type="text/javascript"> +function ldapCb(task) +{ + if (!task || !task.statusCode) + return; + if (task.statusCode === 'TASK_FINISHED') { + $('#finish').attr('style', ''); + } + if (task.statusCode === 'TASK_ERROR' || task.statusCode === 'PARENT_FAILED') { + $('#back').attr('style', ''); + } +} +if ('{{tm-config}}' == '') + $('#finish').attr('style', ''); +</script> diff --git a/modules-available/sysconfig/templates/ldap-start.html b/modules-available/sysconfig/templates/ldap-start.html new file mode 100644 index 00000000..7892b63f --- /dev/null +++ b/modules-available/sysconfig/templates/ldap-start.html @@ -0,0 +1,101 @@ +<p> + {{lang_ldapText1}} + <br> + {{lang_ldapText2}} +</p> + +<form role="form" method="post" action="?do=SysConfig&action=addmodule&step={{step}}"> + <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}}"> + <input type="hidden" name="edit" value="{{edit}}"> + <div class="input-group"> + <span class="input-group-addon slx-ga">{{lang_moduleTitle}}</span> + <input tabindex="1" name="title" value="{{title}}" type="text" class="form-control"> + </div> + <div class="input-group"> + <span class="input-group-addon slx-ga">Server *</span> + <input tabindex="2" name="server" value="{{server}}" type="text" class="form-control" placeholder="dc0.institution.example.com"> + <!--span class="input-group-btn"> + <a class="btn btn-default"><span class="glyphicon glyphicon-question-sign"></span></a> + </span--> + </div> + <div class="input-group"> + <span class="input-group-addon slx-ga">{{lang_bindDN}}</span> + <input tabindex="3" name="binddn" value="{{binddn}}" type="text" class="form-control" placeholder="CN=bwlp,OU=Benutzer,DC=domain,DC=hs-beispiel,DC=de"> + <!--span class="input-group-btn"> + <a class="btn btn-default"><span class="glyphicon glyphicon-question-sign"></span></a> + </span--> + </div> + <div class="input-group"> + <span class="input-group-addon slx-ga">{{lang_password}}</span> + <input tabindex="4" name="bindpw" value="{{bindpw}}" type="{{password_type}}" class="form-control" placeholder="{{lang_password}}"> + <!--span class="input-group-btn"> + <a class="btn btn-default"><span class="glyphicon glyphicon-question-sign"></span></a> + </span--> + </div> + <div class="input-group"> + <span class="input-group-addon slx-ga">{{lang_searchBase}} *</span> + <input tabindex="5" name="searchbase" value="{{searchbase}}" type="text" class="form-control" placeholder="ou=users,dc=hochschule,dc=de"> + <!--span class="input-group-btn"> + <a class="btn btn-default"><span class="glyphicon glyphicon-question-sign"></span></a> + </span--> + </div> + <br> + <div class="input-group"> + <span class="input-group-addon slx-ga">Home</span> + <input tabindex="6" name="home" value="{{home}}" type="text" class="form-control" placeholder="\\server.example.com\%s"> + <span class="input-group-btn"> + <a class="btn btn-default" data-toggle="modal" data-target="#help-home"><span class="glyphicon glyphicon-question-sign"></span></a> + </span> + </div> + <br> + <div> + <label> + <input type="checkbox" name="ssl" onchange="$('#cert-box').css('display', this.checked ? '' : 'none')" {{#ssl}}checked{{/ssl}}> {{lang_ssl}} + </label> + </div> + <i>{{lang_sslDescription}}</i> + <br> + <div class="pull-right"> + <button type="submit" class="btn btn-primary">{{lang_next}} »</button> + </div> + <div class="clearfix"></div> + <hr> + <div {{^ssl}}style="display:none"{{/ssl}} id="cert-box"> + <div class="well well-sm" id="wcustom"> + {{lang_customCertificate}} + <pre class="small"> +-----BEGIN CERTIFICATE----- +MIIFfTCCA... +..... +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +..... +-----END CERTIFICATE-----</pre> + <textarea name="certificate" class="form-control small" cols="101" rows="10">{{certificate}}</textarea> + </div> + <div class="pull-right"> + <button type="submit" class="btn btn-primary">{{lang_next}} »</button> + </div> + <div class="clearfix"></div> + </div> +</form> + +<div class="modal fade" id="help-home" tabindex="-1" role="dialog"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header">{{lang_userDirectory}}</div> + <div class="modal-body"> + <p> + {{lang_userDirectoryInfo1}} + </p> + <pre>\\fileserv.uni.example.com\users\%s</pre> + <p> + {{lang_userDirectoryInfo2}} + </p> + </div> + <div class="modal-footer"><a class="btn btn-primary" data-dismiss="modal">{{lang_close}}</a></div> + </div> + </div> +</div> diff --git a/modules-available/sysconfig/templates/sshconfig-start.html b/modules-available/sysconfig/templates/sshconfig-start.html new file mode 100644 index 00000000..2aa409d3 --- /dev/null +++ b/modules-available/sysconfig/templates/sshconfig-start.html @@ -0,0 +1,27 @@ +<form role="form" enctype="multipart/form-data" method="post" action="?do=SysConfig&action=addmodule&step={{step}}"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="edit" value="{{edit}}"> + <div class="input-group"> + <span class="input-group-addon">{{lang_moduleName}}</span> + <input type="text" name="title" value="{{title}}" class="form-control" autofocus="autofocus"> + </div> + <div class="form-group"> + <label> + <input type="checkbox" name="allowPasswordLogin" value="yes" {{#apl}}checked{{/apl}}> + {{lang_allowPass}} + </label> + <p><i>{{lang_allowPassInfo}}</i></p> + </div> + <div class="form-group"> + <label for="root-key">{{lang_rootKey}}</label> + <input class="form-control" type="text" name="publicKey" value="{{publicKey}}" id="root-key" pattern="[a-z0-9\-]+ +[a-zA-Z0-9=/\+]+ +.*"> + <i>{{lang_rootKeyInfo}}</i> + </div> + <div class="form-group"> + <label for="port">{{lang_listenPort}}</label> + <input class="form-control" type="text" name="listenPort" value="{{listenPort}}" id="port" pattern="\d+"> + <i>{{lang_listenPortInfo}}</i> + </div> + <button type="submit" class="btn btn-primary">{{lang_save}}</button> +</form> + diff --git a/modules-available/sysconfig/templates/start.html b/modules-available/sysconfig/templates/start.html new file mode 100644 index 00000000..f55a5501 --- /dev/null +++ b/modules-available/sysconfig/templates/start.html @@ -0,0 +1,12 @@ +<p>{{lang_moduleChoose}}</p> + +{{#modules}} +<div class="panel panel-default"> + <div class="panel-heading"> + {{title}} <a href="?do=SysConfig&action=addmodule&step={{wizardClass}}" class="pull-right btn btn-primary btn-xs"><span class="glyphicon glyphicon-plus"></span> {{lang_add}}</a> + </div> + <div class="panel-body"> + {{description}} + </div> +</div> +{{/modules}} |