示例#1
0
                    $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;
}
示例#2
0
        $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);
示例#3
0
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;
}
示例#4
0
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;
}