From 414a128904ad00e7a26b5ca0a15274dc0cb0d421 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Fri, 19 Apr 2013 05:09:39 -0400
Subject: [PATCH] Add dkim support (patch developed by Florian)

---
 interface/web/mail/templates/mail_domain_edit.htm |   61 ++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 1 deletions(-)

diff --git a/interface/web/mail/templates/mail_domain_edit.htm b/interface/web/mail/templates/mail_domain_edit.htm
index 5a1b613..81cdb73 100644
--- a/interface/web/mail/templates/mail_domain_edit.htm
+++ b/interface/web/mail/templates/mail_domain_edit.htm
@@ -59,6 +59,24 @@
                     {tmpl_var name='active'}
                 </div>
             </div>
+            <div class="subsectiontoggle"><span></span>{tmpl_var name='dkim_settings_txt'}<em></em></div>
+            <div style="display:none;">
+              <div class="ctrlHolder">
+                <p class="label">{tmpl_var name='dkim_txt'}</p>
+                <div class="multiField">
+                  {tmpl_var name='dkim'}
+                </div>
+              </div>
+              <div class="ctrlHolder">
+                <label for="dkim_private">{tmpl_var name='dkim_private_txt'}</label>
+                <textarea name="dkim_private" id="dkim_private" rows='10' cols='30'>{tmpl_var name='dkim_private'}</textarea>
+<a href="javascript:setRequest('create','{tmpl_var name='domain'}')">{tmpl_var name='dkim_generate_txt'}</a>
+              </div>
+              <div class="ctrlHolder">
+                <label for="dkim_dns">{tmpl_var name='dkim_dns_txt'}</label>
+                <textarea name="dkim_dns" id="dkim_dns" rows='10' cols='30'>{tmpl_var name='dkim_dns'}</textarea>
+              </div>
+            </div>
         </fieldset>
 
         <input type="hidden" name="id" value="{tmpl_var name='id'}">
@@ -70,4 +88,45 @@
         </div>
     </div>
 
-</div>
\ No newline at end of file
+</div>
+<script language="JavaScript" type="text/javascript">
+        var request = false;
+
+        function setRequest(action,value,privatekey) {
+                if (window.XMLHttpRequest) {request = new XMLHttpRequest();}
+                else if (window.ActiveXObject) {
+                        try {request = new ActiveXObject('Msxml2.XMLHTTP');}
+                        catch (e) {
+                                try {request = new ActiveXObject('Microsoft.XMLHTTP');}
+                                catch (e) {}
+                        }
+                }
+                if (!request) {
+                        alert("Error creating XMLHTTP-instance");
+                        return false;
+                } else {
+                        request.open('POST', '/mail/mail_domain_dkim_create.php', true);
+                        request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+                        request.send('domain='+value+'&action='+action+'&pkey='+privatekey);
+                        request.onreadystatechange = interpretRequest;
+                }
+        }
+
+        function interpretRequest() {
+                switch (request.readyState) {
+                        case 4:
+                                if (request.status != 200) {alert("Request done but NOK\nError:"+request.status);}
+                                else {
+                                        document.getElementsByName('dkim_private')[0].value = request.responseXML.getElementsByTagName('privatekey')[0].firstChild.nodeValue;
+                                        document.getElementsByName('dkim_dns')[0].value = request.responseXML.getElementsByTagName('dnsrecord')[0].firstChild.nodeValue;
+                                }
+                                break;
+                        default:
+                                break;
+                }
+        }
+
+var serverType = jQuery('#dkim_private').val();
+setRequest('show','{tmpl_var name="domain"}',serverType);
+</script>
+

--
Gitblit v1.9.1