function namecheap_TransferSync($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']; $oIDNA = new NamecheapRegistrarIDNA($sld, $tld); $sld = $oIDNA->getEncodedSld(); try { $request_params = array('ListType' => "ALL", 'Page' => 1, 'PageSize' => 10, 'SortBy' => "DOMAINNAME", 'SearchTerm' => "{$sld}.{$tld}"); if (!empty($params['PromotionCode'])) { $request_params['PromotionCode'] = $params['PromotionCode']; } $api = new NamecheapRegistrarApi($username, $password, $testmode); $response = $api->request("namecheap.domains.transfer.getList", $request_params); $result = $api->parseResponse($response); $domains = $api->parseResultSyncHelper($result['TransferGetListResult']['Transfer'], "DomainName"); } catch (Exception $e) { $values['error'] = $e->getMessage(); return $values; } if (empty($domains["{$sld}.{$tld}"])) { $values['error'] = 'Domain not found'; return $values; } if ('completed' === strtolower($domains["{$sld}.{$tld}"]['Status'])) { $values['completed'] = true; } else { $values['error'] = $domains["{$sld}.{$tld}"]['StatusDescription']; } return $values; }
$report .= "\nProcessing domains expirydate and nextduedate:\n"; $dbresult = select_query("tbldomains", "id, LOWER(domain) AS domain, expirydate", array('registrar' => $registrar, 'status' => "Active")); if (!$dbresult || !mysql_num_rows($dbresult)) { $report .= "No domains with status 'Active' found\n"; } else { $domains = array(); try { $page = 1; $pageSize = 100; do { $request_params = array('ListType' => "ALL", 'Page' => $page, 'PageSize' => $pageSize, 'SortBy' => "NAME"); if (!empty($params['PromotionCode'])) { $request_params['PromotionCode'] = $params['PromotionCode']; } $api = new NamecheapRegistrarApi($username, $password, $testmode); $response = $api->request("namecheap.domains.getList", $request_params); $result = $api->parseResponse($response); $domains += namecheap_parseResult($result['DomainGetListResult']['Domain'], "Name"); $totalItems = $result['Paging']['TotalItems']; $pageSize = $result['Paging']['PageSize']; } while ($pageSize * $page++ <= $totalItems); } catch (Exception $e) { $report .= $e->getMessage() . "\n"; } if (!$domains) { $report .= "No registrar active domains found\n"; } else { $count = 0; while (($row = mysql_fetch_assoc($dbresult)) !== false) { $row['domain'] = $idna2->encode($row['domain']); if (isset($domains[$row['domain']]) && "false" == $domains[$row['domain']]['IsExpired']) {
function namecheap_DeleteNameserver($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('SLD' => $sld, 'TLD' => $tld, 'Nameserver' => $params['nameserver']); $api = new NamecheapRegistrarApi($username, $password, $testmode, $debugmode); $response = $api->request("namecheap.domains.ns.delete", $request_params); $result = $api->parseResponse($response); } catch (Exception $e) { $values['error'] = "An error occurred: " . $e->getMessage(); if (!$debugmode) { logModuleCall('namecheap', 'DeleteNameserver', array('command' => "namecheap.domains.ns.delete") + $request_params, $response, $result, array()); } } return $values; }