public
nobgit
read
NobMail
Based on mailcow: dockerized
Languages
Repository composition by tracked source files.
PHP
49%
JavaScript
35%
HTML
9%
CSS
4%
Shell
2%
Python
1%
Lua
0%
Perl
0%
Ruby
0%
SCSS
0%
Create file
Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git
Commit
[Web] Show JID example when editing a domain
9c4cb21d
data/web/css/site/edit.css | 4 ++++
data/web/edit.php | 5 +++--
data/web/js/site/edit.js | 54 ++++++++++++++++++++++++++--------------------
data/web/lang/lang.de.json | 1 +
data/web/lang/lang.en.json | 1 +
5 files changed, 40 insertions(+), 25 deletions(-)
Diff
diff --git a/data/web/css/site/edit.css b/data/web/css/site/edit.css
index ac3a430c..8a594ee1 100644
--- a/data/web/css/site/edit.css
+++ b/data/web/css/site/edit.css
@@ -40,4 +40,8 @@ table.footable>tbody>tr.footable-empty>td {
-moz-transform:rotateX(180deg);
-webkit-transform:rotateX(180deg);
transform:rotateX(180deg);
+}
+.input-group-addon-xmpp {
+ background-color: #fff;
+ border: 0px solid #fff;
}
\ No newline at end of file
diff --git a/data/web/edit.php b/data/web/edit.php
index 6087a7c6..c6bf50c7 100644
--- a/data/web/edit.php
+++ b/data/web/edit.php
@@ -362,12 +362,13 @@ if (isset($_SESSION['mailcow_cc_role'])) {
</div>
<div class="form-group" data-acl="<?=$_SESSION['acl']['xmpp_prefix'];?>">
<label class="control-label col-sm-2" for="xmpp_prefix"><?=$lang['edit']['xmpp_prefix'];?></label>
- <div class="col-md-3">
+ <div class="col-md-10">
<div class="input-group">
- <input type="text" class="form-control" name="xmpp_prefix" value="<?=htmlspecialchars($result['xmpp_prefix'], ENT_QUOTES, 'UTF-8');?>" required>
+ <input type="text" class="form-control" id="xmpp-prefix" name="xmpp_prefix" value="<?=htmlspecialchars($result['xmpp_prefix'], ENT_QUOTES, 'UTF-8');?>" required>
<span class="input-group-addon">.<?=htmlspecialchars($domain, ENT_QUOTES, 'UTF-8');?></span>
</div>
<small class="help-block"><?=sprintf($lang['edit']['xmpp_prefix_info'], getenv('MAILCOW_HOSTNAME'));?></small>
+ <p><?=$lang['edit']['xmpp_example_jid'];?>: <code>username@<span class="xmpp-prefix-preview"></span>.<?=htmlspecialchars($domain, ENT_QUOTES, 'UTF-8');?></code></p>
</div>
</div>
<hr>
diff --git a/data/web/js/site/edit.js b/data/web/js/site/edit.js
index 1626d4b0..5a27da10 100644
--- a/data/web/js/site/edit.js
+++ b/data/web/js/site/edit.js
@@ -28,34 +28,42 @@ $(document).ready(function() {
$('#mailbox-passwd-hidden-info').addClass('hidden');
$('#mailbox-passwd-form-groups').removeClass('hidden');
});
-});
-if ($("#editSelectMultipleBookings").val() == "custom") {
- $("#multiple_bookings_custom_div").show();
- $('input[name=multiple_bookings]').val($("#multiple_bookings_custom").val());
-}
-$("#editSelectMultipleBookings").change(function() {
- $('input[name=multiple_bookings]').val($("#editSelectMultipleBookings").val());
- if ($('input[name=multiple_bookings]').val() == "custom") {
- $("#multiple_bookings_custom_div").show();
- }
- else {
- $("#multiple_bookings_custom_div").hide();
- }
-});
-if ($("#editSelectSenderACL option[value='\*']:selected").length > 0){
- $("#sender_acl_disabled").show();
-}
-$('#editSelectSenderACL').change(function() {
+ // Preview XMPP JID
+ $('.xmpp-prefix-preview').text($("#xmpp-prefix").val());
+ $("#xmpp-prefix").bind("change keypress keyup blur", function() {
+ $('.xmpp-prefix-preview').text($(this).val());
+ });
+ // Sender ACL
if ($("#editSelectSenderACL option[value='\*']:selected").length > 0){
$("#sender_acl_disabled").show();
}
- else {
- $("#sender_acl_disabled").hide();
+ $('#editSelectSenderACL').change(function() {
+ if ($("#editSelectSenderACL option[value='\*']:selected").length > 0){
+ $("#sender_acl_disabled").show();
+ }
+ else {
+ $("#sender_acl_disabled").hide();
+ }
+ });
+ // Resources
+ if ($("#editSelectMultipleBookings").val() == "custom") {
+ $("#multiple_bookings_custom_div").show();
+ $('input[name=multiple_bookings]').val($("#multiple_bookings_custom").val());
}
+ $("#editSelectMultipleBookings").change(function() {
+ $('input[name=multiple_bookings]').val($("#editSelectMultipleBookings").val());
+ if ($('input[name=multiple_bookings]').val() == "custom") {
+ $("#multiple_bookings_custom_div").show();
+ }
+ else {
+ $("#multiple_bookings_custom_div").hide();
+ }
+ });
+ $("#multiple_bookings_custom").bind("change keypress keyup blur", function() {
+ $('input[name=multiple_bookings]').val($("#multiple_bookings_custom").val());
+ });
});
-$("#multiple_bookings_custom").bind("change keypress keyup blur", function() {
- $('input[name=multiple_bookings]').val($("#multiple_bookings_custom").val());
-});
+
jQuery(function($){
// http://stackoverflow.com/questions/46155/validate-email-address-in-javascript
function validateEmail(email) {
diff --git a/data/web/lang/lang.de.json b/data/web/lang/lang.de.json
index 2f99e9b0..8df6ddd7 100644
--- a/data/web/lang/lang.de.json
+++ b/data/web/lang/lang.de.json
@@ -531,6 +531,7 @@
"xmpp_access_info": "XMPP muss für diese Domain aktiviert sein.",
"xmpp_admin": "XMPP Administrator",
"xmpp_admin_info": "<b>Vorsicht:</b> Ernennt den Benutzer zum Administrator der jeweiligen XMPP Domain.",
+ "xmpp_example_jid": "<b>Beispiel JID</b> (Passwort entspricht Mailbox-Passwort)",
"generate": "generieren",
"grant_types": "Grant types",
"hostname": "Servername",
diff --git a/data/web/lang/lang.en.json b/data/web/lang/lang.en.json
index 92559969..195b0867 100644
--- a/data/web/lang/lang.en.json
+++ b/data/web/lang/lang.en.json
@@ -532,6 +532,7 @@
"xmpp_access_info": "XMPP must be enabled for this domain.",
"xmpp_admin": "XMPP administrator",
"xmpp_admin_info": "<b>Danger:</b> Promotes a user to an XMPP administrator of this domain.",
+ "xmpp_example_jid": "<b>Example JID</b> (login with mailbox password)",
"generate": "generate",
"grant_types": "Grant types",
"hostname": "Hostname",