$expirydate = date("Y-m-d", strtotime($domains[$row['domain']]['Expires'])); if (!$expirydate) { $report .= "Getting expirydate for domain " . $row['domain'] . " failed\n"; } else { if ($expirydate != $row['expirydate']) { $update = array('expirydate' => $expirydate, 'nextduedate' => $expirydate); update_query("tbldomains", $update, array('id' => $row['id'])); $report .= "Domain " . $row['domain'] . " expirydate and nextduedate updated\n"; } } $count++; } } if (0 == $count) { $report .= "There were no domains to process\n"; } } } } $report .= "\n-----------------------------------------------------------------------------------------------------\n" . "End of report\n"; logactivity("Namecheap Domain Sync Run"); sendadminnotification("system", "WHMCS Namecheap Domain Synchronization Report", nl2br($report)); function namecheap_parseResult($transfers, $domainNameKey = "DomainName") { $result = array(); foreach ($transfers as $t) { $attr = $t['@attributes']; $result[strtolower($attr[$domainNameKey])] = $attr; } return $result; }
$cronreport .= "Error connecting to API:<br>" . nl2br($data) . "<br>"; } else { $queryresult = select_query("tbldomains", "domain", "registrar='internetbs' AND (status='Pending Transfer' OR status='Active')"); while ($data = mysql_fetch_array($queryresult)) { $domainname = trim(strtolower($data['domain'])); if (isset($result[$domainname])) { if (!is_null($result[$domainname]["expiry"])) { $expirydate = date("Y-m-d", $result[$domainname]["expiry"]); } else { $expirydate = false; } $status = $result[$domainname]["status"]; if ($status == 'ok') { update_query("tbldomains", array("status" => "Active"), array("domain" => $domainname)); } if ($expirydate) { update_query("tbldomains", array("expirydate" => $expirydate), array("domain" => $domainname)); if ($SyncNextDueDate) { update_query("tbldomains", array("nextduedate" => $expirydate), array("domain" => $domainname)); } $cronreport .= '' . 'Updated ' . $domainname . ' expiry to ' . frommysqldate($expirydate) . '<br>'; } } else { $cronreport .= '' . 'ERROR: ' . $domainname . ' - Domain does not appear in the account at Internet.bs.<br>'; } } } } logactivity('Internet.bs Domain Sync Run'); sendadminnotification('system', 'WHMCS Internet.bs Domain Syncronisation Report', $cronreport);
function namecheap_SaveContactDetails($params) { require_once dirname(__FILE__) . "/namecheapapi.php"; $testmode = (bool) $params['TestMode']; $username = $testmode ? $params['SandboxUsername'] : $params['Username']; $password = $testmode ? $params['SandboxPassword'] : $params['Password']; $tld = $params['tld']; $sld = $params['sld']; try { $request_params = array('DomainName' => $sld . '.' . $tld); // see namecheap_GetContactDetails for data format foreach ($params['contactdetails'] as $k => $v) { if (in_array($k, array('Registrant', 'Admin', 'Tech', 'AuxBilling'))) { foreach ($v as $k1 => $v1) { if (!empty($v1)) { $request_params[$k . $k1] = $v1; } elseif ("Fax" == $k1) { $request_params[$k . $k1] = $request_params[$k . "Phone"]; } } } elseif ('CurrentAttributes' == $k) { foreach ($v as $k1 => $v1) { $request_params[$k1] = $v1; } } } $api = new NamecheapApi($username, $password, $testmode); $response = $api->request("namecheap.domains.setContacts", $request_params); $result = $api->parseResponse($response); if (isset($result['DomainSetContactResult']['Warnings']['Warning'])) { $message = "Saving Contact Details warning<br />" . "-----------------------------------------------------------------------------------------<br />" . $result['DomainSetContactResult']['Warnings']['Warning']['@value'] . "<br /" . "-----------------------------------------------------------------------------------------<br />" . "Domain: " . $sld . "." . $tld; sendadminnotification("system", "WHMCS Namecheap Domain Registrar Module", $message); } } catch (Exception $e) { $values['error'] = "An error occurred: " . $e->getMessage(); } return $values; }
function namecheap_SaveContactDetails($params) { require_once dirname(__FILE__) . "/namecheapapi.php"; $testmode = (bool) $params['TestMode']; $debugmode = (bool) $params['DebugMode']; $username = $testmode ? $params['SandboxUsername'] : $params['Username']; $password = $testmode ? $params['SandboxPassword'] : $params['Password']; $tld = $params['tld']; $sld = $params['sld']; $oIDNA = new NamecheapRegistrarIDNA($sld, $tld); $sld = $oIDNA->getEncodedSld(); try { $request_params = array('DomainName' => $sld . '.' . $tld); // see namecheap_GetContactDetails for data format foreach ($params['contactdetails'] as $k => $v) { if (in_array($k, array('Registrant', 'Admin', 'Tech', 'AuxBilling'))) { $request_params[$k . 'FirstName'] = $v['First Name']; $request_params[$k . 'LastName'] = $v['Last Name']; $request_params[$k . 'OrganizationName'] = $v['Organization Name']; $request_params[$k . 'Address1'] = $v['Address']; $request_params[$k . 'Address2'] = $v['Address1']; $request_params[$k . 'City'] = $v['City']; $request_params[$k . 'StateProvince'] = $v['State']; $request_params[$k . 'PostalCode'] = $v['Postcode']; $request_params[$k . 'Country'] = $v['Country']; $request_params[$k . 'Phone'] = $v['Phone']; $request_params[$k . 'Fax'] = !empty($v['Fax']) ? $v['Fax'] : $v['Phone']; $request_params[$k . 'EmailAddress'] = $v['Email']; } } $api = new NamecheapRegistrarApi($username, $password, $testmode, $debugmode); $response = $api->request("namecheap.domains.setContacts", $request_params); $result = $api->parseResponse($response); if (isset($result['DomainSetContactResult']['Warnings']['Warning'])) { $message = "Saving Contact Details warning<br />" . "-----------------------------------------------------------------------------------------<br />" . $result['DomainSetContactResult']['Warnings']['Warning']['@value'] . "<br /" . "-----------------------------------------------------------------------------------------<br />" . "Domain: " . $sld . "." . $tld; sendadminnotification("system", "WHMCS Namecheap Domain Registrar Module", $message); } } catch (Exception $e) { $values['error'] = "An error occurred: " . $e->getMessage(); if (!$debugmode) { logModuleCall('namecheap', 'SaveContactDetails', array('command' => "namecheap.domains.setContacts") + $request_params, $response, $result, array()); } } return $values; }