Parcourir la source

new settings section

andre il y a 5 mois
Parent
commit
bed720b95e
1 fichiers modifiés avec 63 ajouts et 83 suppressions
  1. 63 83
      core/Helper/DnsHelper.php

+ 63 - 83
core/Helper/DnsHelper.php

@@ -114,15 +114,15 @@ class DnsHelper
         }
         }
         $domainTXT = $result->answer;
         $domainTXT = $result->answer;
 
 
-        if(count($domainMX) > 1) {
-            $vars['multiMX'] = TRUE;
-        } else {
-            $vars['multiMX'] = FALSE;
-        }
-        if(empty($domainMX)){
+        if(empty($domainMX['rdata'])){
             $vars['mx'] = 'unset';
             $vars['mx'] = 'unset';
             $vars['mxtarget'] = $this->params['serverhostname'];
             $vars['mxtarget'] = $this->params['serverhostname'];
         } else {
         } else {
+            if(count($domainMX) > 1) {
+                $vars['multiMX'] = TRUE;
+            } else {
+                $vars['multiMX'] = FALSE;
+            }
             $vars['domainMX'] = $domainMX;
             $vars['domainMX'] = $domainMX;
             $domainMXrecord = array_shift($domainMX);
             $domainMXrecord = array_shift($domainMX);
             $vars['mxtarget'] = $domainMXrecord->exchange;
             $vars['mxtarget'] = $domainMXrecord->exchange;
@@ -134,91 +134,71 @@ class DnsHelper
         }
         }
 
 
         $domainSPF = array();
         $domainSPF = array();
-        $domainDKIM = array();
         $domainDMARC = array();
         $domainDMARC = array();
-        foreach($domainTXT as $txtRecord) {
-            foreach($txtRecord->text as $txtData) {
-                if(strstr($txtData,'v=spf')) {
-                    array_push($domainSPF,$txtData);
-                }
-                if(strstr($txtData,'v=DKIM')) {
-                    array_push($domainDKIM,$txtData);
-                }
-                if(strstr($txtData,'v=DMARC')) {
-                    array_push($domainDMARC,$txtData);
-                }
-            }
-        }
-        # SPF, multi verboten
-        if (count($domainSPF) > 1) {
-            $vars['multiSPF'] = TRUE;
-            $vars['spf'] = 'wrong';
+        $domainDKIM = array();
+        if(empty($domainMX['rdata'])){
+            $vars['spf'] = 'unset';
+            $vars['dmarc'] = 'unset';
+            $vars['dkim'] = 'unset';
         } else {
         } else {
-            $vars['multiSPF'] = FALSE;
-            if (empty($domainSPF)) {
-                $vars['spf'] = 'unset';
-            } else {        
-                if($domainSPF[0] === $spfConfig) {
-                    $vars['spf'] = 'set';
-                } else {
-                    $vars['spf'] = 'wrong';
+            foreach($domainTXT as $txtRecord) {
+                foreach($txtRecord->text as $txtData) {
+                    if(strstr($txtData,'v=spf')) {
+                        array_push($domainSPF,$txtData);
+                    }
+                    if(strstr($txtData,'v=DKIM')) {
+                        array_push($domainDKIM,$txtData);
+                    }
+                    if(strstr($txtData,'v=DMARC')) {
+                        array_push($domainDMARC,$txtData);
+                    }
                 }
                 }
             }
             }
-        }
-        # DKIM
-        if (count($domainDKIM) > 1) {
-            $vars['multiDKIM'] = TRUE;
-        } else {
-            $vars['multiDKIM'] = FALSE;
-        }
-        if (empty($domainDKIM)) {
-            $vars['dkim'] = 'unset';
-        } else {        
-            $vars['dkim'] = 'set';
-        }
-        $vars['domainDKIM'] = $domainDKIM;
-        # DMARC
-        if (count($domainDMARC) > 1) {
-            $vars['multiDMARC'] = TRUE;
-        } else {
-            $vars['multiDMARC'] = FALSE;
-        }
-        $vars['dmarc'] = 'wrong';
-        if (empty($domainDMARC)) {
-            $vars['dmarc'] = 'unset';
-        } else {        
-            foreach($domainDMARC as $dmarc) {
-                if($dmarc === $dmarcConfig) {
-                    $vars['dmarc'] = 'set';
+            # SPF, multi verboten
+            if (count($domainSPF) > 1) {
+                $vars['multiSPF'] = TRUE;
+                $vars['spf'] = 'wrong';
+            } else {
+                $vars['multiSPF'] = FALSE;
+                if (empty($domainSPF)) {
+                    $vars['spf'] = 'unset';
+                } else {        
+                    if($domainSPF[0] === $spfConfig) {
+                        $vars['spf'] = 'set';
+                    } else {
+                        $vars['spf'] = 'wrong';
+                    }
                 }
                 }
             }
             }
-        }
-        $vars['domainDMARC'] = $domainDMARC;
-        # MX
-        if(count($domainMX) > 1) {
-            $vars['multiMX'] = TRUE;
-        } else {
-            $vars['multiMX'] = FALSE;
-        }
-        if(empty($domainMX)){
-            $vars['mx'] = 'unset';
-            $vars['mxtarget'] = $this->params['serverhostname'];
-        } else {
-            $vars['domainMX'] = $domainMX;
-            $domainMXrecord = array_shift($domainMX);
-            $vars['mxtarget'] = $domainMXrecord->exchange;
-            if($domainMXrecord->exchange == $this->params['serverhostname']) {
-                $vars['mx'] = 'set';
+            # DKIM
+            if (count($domainDKIM) > 1) {
+                $vars['multiDKIM'] = TRUE;
             } else {
             } else {
-                $var['mx'] = 'wrong';
+                $vars['multiDKIM'] = FALSE;
             }
             }
-        }
-        // summary
-        if($vars['mx'] == 'set' && $vars['dmarc'] == 'set' && $vars['dkim'] == 'set' && $vars['spf'] == 'set') {
-            $vars['dnscheck'] = TRUE;
-        } else {
-            $vars['dnscheck'] = FALSE; 
-            $vars['correctable'] = TRUE;
+            if (empty($domainDKIM)) {
+                $vars['dkim'] = 'unset';
+            } else {        
+                $vars['dkim'] = 'set';
+            }
+            $vars['domainDKIM'] = $domainDKIM;
+            # DMARC
+            if (count($domainDMARC) > 1) {
+                $vars['multiDMARC'] = TRUE;
+            } else {
+                $vars['multiDMARC'] = FALSE;
+            }
+            $vars['dmarc'] = 'wrong';
+            if (empty($domainDMARC)) {
+                $vars['dmarc'] = 'unset';
+            } else {        
+                foreach($domainDMARC as $dmarc) {
+                    if($dmarc === $dmarcConfig) {
+                        $vars['dmarc'] = 'set';
+                    }
+                }
+            }
+            $vars['domainDMARC'] = $domainDMARC;
         }
         }
         return $vars;
         return $vars;
     }
     }