Skip to content

Commit b3a7a34

Browse files
author
Florian Schaal
committed
dkim: fixed issue with the domain-module
1 parent 871298f commit b3a7a34

File tree

4 files changed

+63
-44
lines changed

4 files changed

+63
-44
lines changed

interface/web/js/mail_domain_dkim.js

Lines changed: 53 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -31,49 +31,61 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3131
This Javascript is invoked by
3232
* mail/templates/mail_domain_edit.htm to show and/or create the key-pair
3333
*/
34+
var request = false;
3435

36+
function setRequest(action) {
37+
if (window.XMLHttpRequest) {
38+
request = new XMLHttpRequest();
39+
} else if (window.ActiveXObject) {
40+
try {
41+
request = new ActiveXObject('Msxml2.XMLHTTP');
42+
}
43+
catch (e) {
44+
try {
45+
request = new ActiveXObject('Microsoft.XMLHTTP');
46+
}
47+
catch (e) {}
48+
}
49+
}
3550

36-
$('.subsectiontoggle').on('click', function(){
37-
$(this).children().toggleClass('showing').end().next().slideToggle();
38-
});
51+
if (!request) {
52+
alert("Error creating XMLHTTP-instance");
53+
return false;
54+
} else {
55+
// jQuery depends on domain-module active / inactive
56+
var check = jQuery('#domain_module').val();
57+
if ( check == "1" ) {
58+
var skillsSelect = document.getElementById("domain");
59+
var domain = skillsSelect.options[skillsSelect.selectedIndex].text;
60+
} else {
61+
var domain = jQuery('#domain').val();
62+
}
63+
var selector=jQuery('#dkim_selector').val();
64+
var publickey=jQuery('#dkim_public').val();
65+
var privatekey=jQuery('#dkim_private').val();
66+
request.open('POST', 'mail/mail_domain_dkim_create.php', true);
67+
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
68+
request.send('domain='+domain+'&action='+action+'&dkim_selector='+selector+'&dkim_public='+publickey+'&dkim_private='+privatekey);
69+
request.onreadystatechange = interpretRequest;
70+
}
71+
}
3972

73+
function interpretRequest() {
74+
switch (request.readyState) {
75+
case 4:
76+
if ( request.status != 200 ) {
77+
alert("Request done but NOK\nError:"+request.status);
78+
} else {
79+
document.getElementsByName('dkim_selector')[0].value = request.responseXML.getElementsByTagName('selector')[0].firstChild.nodeValue;
80+
document.getElementsByName('dkim_private')[0].value = request.responseXML.getElementsByTagName('privatekey')[0].firstChild.nodeValue;
81+
document.getElementsByName('dkim_public')[0].value = request.responseXML.getElementsByTagName('publickey')[0].firstChild.nodeValue;
82+
document.getElementsByName('dns_record')[0].value = request.responseXML.getElementsByTagName('dns_record')[0].firstChild.nodeValue;
83+
}
84+
break;
4085

41-
var request = false;
86+
default:
87+
break;
88+
}
89+
}
4290

43-
function setRequest(action,value,privatekey) {
44-
if (window.XMLHttpRequest) {request = new XMLHttpRequest();}
45-
else if (window.ActiveXObject) {
46-
try {request = new ActiveXObject('Msxml2.XMLHTTP');}
47-
catch (e) {
48-
try {request = new ActiveXObject('Microsoft.XMLHTTP');}
49-
catch (e) {}
50-
}
51-
}
52-
if (!request) {
53-
alert("Error creating XMLHTTP-instance");
54-
return false;
55-
} else {
56-
request.open('POST', 'mail/mail_domain_dkim_create.php', true);
57-
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
58-
request.send('domain='+value+'&action='+action+'&pkey='+privatekey);
59-
request.onreadystatechange = interpretRequest;
60-
}
61-
}
62-
63-
function interpretRequest() {
64-
switch (request.readyState) {
65-
case 4:
66-
if (request.status != 200) {alert("Request done but NOK\nError:"+request.status);}
67-
else {
68-
document.getElementsByName('dkim_private')[0].value = request.responseXML.getElementsByTagName('privatekey')[0].firstChild.nodeValue;
69-
document.getElementsByName('dkim_public')[0].value = request.responseXML.getElementsByTagName('publickey')[0].firstChild.nodeValue;
70-
document.getElementsByName('dns_record')[0].value = request.responseXML.getElementsByTagName('dns_record')[0].firstChild.nodeValue;
71-
}
72-
break;
73-
default:
74-
break;
75-
}
76-
}
77-
78-
var serverType = jQuery('#dkim_private').val();
79-
setRequest('show','{tmpl_var name="domain"}',serverType);
91+
setRequest('show');

interface/web/mail/mail_domain_dkim_create.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,6 @@ function new_selector ($old_selector, $domain) {
147147
break;
148148

149149
case 'show': /* show the DNS-Record onLoad */
150-
$_POST=getRealPOST();
151150
$private_key=$_POST['dkim_private'];
152151
break;
153152
}

interface/web/mail/mail_domain_edit.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,9 @@ function onShowEnd() {
176176
$domain_select .= "<option value=''></option>\r\n";
177177
}
178178
$app->tpl->setVar("domain_option", $domain_select);
179+
$app->tpl->setVar("domain_module", 1);
180+
} else {
181+
$app->tpl->setVar("domain_module", 0);
179182
}
180183

181184

interface/web/mail/templates/mail_domain_edit.htm

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,11 @@ <h2><tmpl_var name="list_head_txt"></h2>
8383
</div>
8484
</div>
8585
<div class="subsectiontoggle"><span></span>{tmpl_var name='dkim_settings_txt'}<em></em></div>
86+
<tmpl_if name="domain_module">
87+
<input type="hidden" name="domain_module" value="1" id="domain_module" />
88+
<tmpl_else>
89+
<input type="hidden" name="domain_module" value="0" id="domain_module" />
90+
</tmpl_if>
8691
<div style="display:none;">
8792
<div class="ctrlHolder">
8893
<p class="label">{tmpl_var name='dkim_txt'}</p>
@@ -97,11 +102,12 @@ <h2><tmpl_var name="list_head_txt"></h2>
97102
<div class="ctrlHolder">
98103
<label for="dkim_private">{tmpl_var name='dkim_private_txt'}</label>
99104
<textarea name="dkim_private" id="dkim_private" rows='10' cols='30'>{tmpl_var name='dkim_private'}</textarea>
100-
<a href="javascript:setRequest('create','{tmpl_var name='domain'}','{tmpl_var name='dkim_selector'}')">{tmpl_var name='dkim_generate_txt'}</a>
105+
<a href="javascript:setRequest('create')">{tmpl_var name='dkim_generate_txt'}</a>
101106
</div>
102107
<div class="ctrlHolder">
103108
<textarea name="dkim_public" style="display:none;" id="dkim_public" rows='5' cols='30' readonly>{tmpl_var name='dkim_public'}</textarea>
104109
</div>
110+
105111
<div class="ctrlHolder">
106112
<label for="dns_record">{tmpl_var name='dkim_dns_txt'}</label>
107113
<textarea name="dns_record" id="dns_record" rows='10' cols='30' readonly>{tmpl_var name='dns_record'}</textarea>
@@ -113,7 +119,6 @@ <h2><tmpl_var name="list_head_txt"></h2>
113119

114120
<input type="hidden" name="id" value="{tmpl_var name='id'}">
115121
<input type="hidden" name="type" value="local">
116-
117122
<div class="buttonHolder buttons">
118123
<button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','mail/mail_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
119124
<button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('mail/mail_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>

0 commit comments

Comments
 (0)