andre 3 лет назад
Родитель
Сommit
8b58b45503
1 измененных файлов с 28 добавлено и 2 удалено
  1. 28 2
      cwp7.php

+ 28 - 2
cwp7.php

@@ -17,6 +17,9 @@ if (!defined('WHMCS')) {
 	die('This file cannot be accessed directly');
 }
 
+const NS1 = '185.163.51.142';
+const NS2 = '185.178.193.125';
+
 function cwp7_MetaData() {
     return array(
         'DisplayName' => 'CentOS Web Panel Provisioning',
@@ -197,6 +200,9 @@ function cwp7_ClientArea($params){
 				$domain['ssl'] = 1;
 				$domain['sslexpire'] = $sslSites[$domain['domain']]['expire'];
 				$domain['autossl'] = $sslSites[$domain['domain']]['auotssl'];
+				if(cwp7CheckDNS($domain['domain'])) {
+					$domain['DNS'] = 1;
+				}
 			}
 			$domain['subdomains'] = array();
 			foreach($subDomains as $subDomain) {
@@ -206,10 +212,14 @@ function cwp7_ClientArea($params){
 						$subDomain['ssl'] = 1;
 						$subDomain['sslexpire'] = $sslSites[$subFQDN]['expire'];
 						$subDomain['autossl'] = $sslSites[$subFQDN]['auotssl'];
+						if(cwp7CheckDNS($domain['domain'])) {
+							$subDomain['DNS'] = 1;
+						}
 					} else {
 						unset($subDomain['ssl']);
 						unset($subDomain['sslexpire']);
 						unset($subDomain['autossl']);
+						unset($subDomain['DNS']);
 					}
 					array_push($domain['subdomains'], $subDomain);
 				}
@@ -311,6 +321,22 @@ function cwp7_UsageUpdate($params) {
 	}
 }
 
-function cwp7CheckDNS($params) {
-	
+function cwp7CheckDNS($domain) {
+	$nameserver = array( NS1, NS2);
+	$resolver = new Net_DNS2_Resolver(array('nameservers' => $nameserver));
+    try {
+            $result = $resolver->query($params['domain'], 'A');
+            
+    } catch(Net_DNS2_Exception $e) {
+            
+            echo "::query() failed: ", $e->getMessage(), "\n";
+    }
+	$domainA = $result->answer;
+	logModuleCall(
+		'cwp7',
+		__FUNCTION__,
+		$domain,
+		'debug',
+		$domainA
+	);
 }