|
如何创建模块以及开发代码注意事项请参考该贴:
http://www.kanglesoft.com/thread-15814-1-1.html
- <?php
- function aiming_getConfigArray()
- {
- $configarray = array(
- "Userid" => array( "Type" => "text", "Size" => "40", "Description" => "UserID", ),
- "UserPWD" => array( "Type" => "password", "Size" => "40", "Description" => "API Password", )
- );
- return $configarray;
- }
- function aiming_GetNameservers($params)
- {
- $uid = $params["Userid"];
- $pwd = $params["UserPWD"];
- //$testmode = $params["TestMode"];
- $tld = $params["tld"];
- $sld = $params["sld"];
- $mode = "getinfo";
- $domainname = strtolower($params["sld"].".".$params["tld"]);
- $sign = md5(md5($uid).md5($pwd).md5($domainname));
- $url = 'mode='.$mode.'&domainname='.$domainname.'&userid='.$uid.'&sign='.$sign;
- $urlResult = PostData($url);
- $reStr = explode(" ",$urlResult);
- if ($reStr[0]!="320") {
- # If error, return the error message in the value below
- $values["error"] = $urlResult;
- } else {
- # Put your code to get the nameservers here and return the values below
- $len = strlen($urlResult);
- $urlResult2 = substr($urlResult,4,$len-4);
- $infolist = explode(",",$urlResult2);
- $dns1info = explode(":",$infolist[5]);
- $dns2info = explode(":",$infolist[6]);
- $dns3info = explode(":",$infolist[7]);
- $dns4info = explode(":",$infolist[8]);
- $dns5info = explode(":",$infolist[9]);
- $nameserver1 = $dns1info[1];
- $nameserver2 = $dns2info[1];
- $nameserver3 = $dns3info[1];
- $nameserver4 = $dns4info[1];
- $nameserver5 = $dns5info[1];
- $values["ns1"] = $nameserver1;
- $values["ns2"] = $nameserver2;
- $values["ns3"] = $nameserver3;
- $values["ns4"] = $nameserver4;
- $values["ns5"] = $nameserver5;
- }
- //$values["error"] = $error;
- return $values;
- }
- function aiming_SaveNameservers($params)
- {
- $uid = $params["Userid"];
- $pwd = $params["UserPWD"];
- $tld = $params["tld"];
- $sld = $params["sld"];
- $domainname = strtolower($params["sld"].".".$params["tld"]);
- $nameserver1 = $params["ns1"];
- $nameserver2 = $params["ns2"];
- $nameserver3 = $params["ns3"];
- $nameserver4 = $params["ns4"];
- $nameserver5 = $params["ns5"];
- $mode = "modifydns";
- $domainname = strtolower($params["sld"].".".$params["tld"]);
- $sign = md5(md5($uid).md5($pwd).md5($domainname));
- $url = 'mode='.$mode.'&domainname='.$domainname.'&userid='.$uid.'&sign='.$sign."&dns1=".$nameserver1."&dns2=".$nameserver2."&dns3=".$nameserver3."&dns4=".$nameserver4."&dns5=".$nameserver5;
- # Put your code to save the nameservers here
- # If error, return the error message in the value below
- $rePostStr = PostData($url);
- $reStr = explode(" ",$rePostStr);
- if ($reStr[0] != "600") {
- $values["error"] = $rePostStr;
- }
- return $values;
- }
- /**
- 域名注册
- */
- function aiming_RegisterDomain($params)
- {
- $mode = "reg";
- $uid = strtolower($params["Userid"]);
- $pwd = strtolower($params["UserPWD"]);
- $domain = strtolower($params["sld"].".".$params["tld"]);
- $sign = md5(md5($uid).md5($pwd).md5($domain));
- $city = urlencode(strtolower($params["city"]));
- $email = strtolower($params["email"]);
- $fax = strtolower($params["phonenumber"]);
- $fname = urlencode(strtolower($params["firstname"]));
- $lname = urlencode(strtolower($params["lastname"]));
- $fnameE = strtolower($params["firstname"]);
- $lnameE = strtolower($params["lastname"]);
- $phone = strtolower($params["phonenumber"]);
- $province = urlencode(strtolower($params["state"]));
- $zipcode = strtolower($params["postcode"]);
- $street = urlencode(strtolower($params["address1"]." ".$params["address2"]));
- $streetE = strtolower($params["address1"]." ".$params["address2"]);
- $org = urlencode(strtolower($params["companyname"]));
- $orgE = strtolower($params["companyname"]);
- $ns1 = strtolower($params["ns1"]);
- $ns2 = strtolower($params["ns2"]);
- $year = strtolower($params["regperiod"]);
- $url = 'mode='.$mode.'&domainname='.$domain.'&userid='.$uid.'&sign='.$sign."&city=".$city."&email=".$email."&fax=".$fax."&lname=".$lname."&fname=".$fname."&fnameE=".$fnameE."&lnameE=".$lnameE."&phone=".$phone."&province=".$province."&zipcode=".$zipcode."&street=".$street."&streetE=".$streetE."&org=".$org."&orgE=".$orgE."&ns1=".$ns1."&ns2=".$ns2."&year=".$year;
- $UrlReStr = PostData($url);
- $reStr = explode(" ",$UrlReStr);
- if ($reStr[0] != "300") {
- $values["error"] =$UrlReStr;
- }
- return $values;
- }
- /**
- * 未实现
- * @param unknown_type $params
- * @return string
- */
- function aiming_TransferDomain($params)
- {
- $mode="transferin";
- $uid=strtolower($params["Userid"]);
- $pwd=strtolower($params["UserPWD"]);
- $domain=strtolower($params["sld"].".".$params["tld"]);
- $sign=md5(md5($uid).md5($pwd).md5($domain));
- $domainpwd = $params["transfersecret"];
- # Registrant Details
- $fname = urlencode($params["firstname"]);
- $lname = urlencode($params["lastname"]);
- $street = urlencode($params["address1"]." ".$params["address2"]);
- $city = urlencode($params["city"]);
- $province = urlencode($params["state"]);
- $zipcode = $params["postcode"];
- $email = $params["email"];
- $phone = $params["phonenumber"];
- $fax = $phone;
- $org = $fname." ".$lname;
- $year = $params["regperiod"];
- $url='mode='.$mode.'&domainname='.$domain."&domainpwd=".$domainpwd.'&userid='.$uid.'&sign='.$sign."&city=".$city
- ."&email=".$email."&fax=".$fax."&lname=".$lname."&fname=".$fname."&phone=".$phone
- ."&province=".$province."&zipcode=".$zipcode."&street=".$street."&org=".$org."&orgE=".$org
- ."&year=".$year;
- $UrlReStr=PostData($url);
- $reStr=explode(" ",$UrlReStr);
- if($reStr[0]!="700")
- {
- $values["error"] = $UrlReStr;
- }
- return $values;
- }
- /**
- 域名续费
- */
- function aiming_RenewDomain($params)
- {
- $mode = "renew";
- $uid = strtolower($params["Userid"]);
- $pwd = strtolower($params["UserPWD"]);
- $domain = strtolower($params["sld"].".".$params["tld"]);
- $sign = md5(md5($uid).md5($pwd).md5($domain));
- $year = strtolower($params["regperiod"]);
- $url = 'mode='.$mode.'&domainname='.$domain.'&userid='.$uid.'&sign='.$sign."&year=".$year;
- $UrlReStr = PostData($url);
- $reStr = explode(" ",$UrlReStr);
- if ($reStr[0]!="500") {
- $values["error"] = $UrlReStr;
- }
- return $values;
- }
- /**
- * 域名联系人详细信息
- * @param array $params
- * @return multitype:string
- */
- function aiming_GetContactDetails($params)
- {
- $values["Registrant"]=array(
- "fname" => "",
- "lname" => "",
- "street" => ""." "."",
- "city" => "",
- "province" => "",
- "zipcode" => "",
- "email" => "",
- "phone"=> "",
- "fax" => "",
- "org" => ""." "."",
- );
- return $values;
- }
- /**
- * 保存域名注册人资料
- * @param unknown_type $params
- * @return boolean|string
- */
- function aiming_SaveContactDetails($params)
- {
- $mode = "modify";
- $uid = strtolower($params["Userid"]);
- $pwd = strtolower($params["UserPWD"]);
- $domain = strtolower($params["sld"].".".$params["tld"]);
- $sign = md5(md5($uid).md5($pwd).md5($domain));
- # Registrant Details
- $fname = urlencode($params["contactdetails"]["Registrant"]["fname"]);
- $lname = urlencode($params["contactdetails"]["Registrant"]["lname"]);
- $street = urlencode($params["contactdetails"]["Registrant"]["street"]);
- $city = urlencode($params["contactdetails"]["Registrant"]["city"]);
- $province = urlencode($params["contactdetails"]["Registrant"]["province"]);
- $zipcode = $params["contactdetails"]["Registrant"]["zipcode"];
- $email = $params["contactdetails"]["Registrant"]["email"];
- $phone = $params["contactdetails"]["Registrant"]["phone"];
- $fax = $params["contactdetails"]["Registrant"]["fax"];
- $org = urlencode($params["contactdetails"]["Registrant"]["org"]);
- $url = 'mode='.$mode.'&domainname='.$domain.'&userid='.$uid.'&sign='.$sign."&city=".$city
- ."&email=".$email."&fax=".$fax."&lname=".$lname."&fname=".$fname."&phone=".$phone
- ."&lnameE=".$lname."&fnameE=".$fname
- ."&province=".$province."&zipcode=".$zipcode."&street=".$street."&streetE=".$street."&org=".$org
- ."&orgE=".$org;
- $urlResult = PostData($url);
- $reStr = explode(" ",$urlResult);
- if ($reStr[0]!="800") {
- $values["error"] = $urlResult;
- }
- return $values;
- }
- function aiming_GetDns($params)
- {
- $uid = $params["Userid"];
- $pwd = $params["UserPWD"];
- //$testmode = $params["TestMode"];
- $tld = $params["tld"];
- $sld = $params["sld"];
- $mode = "getpwd";
- $domainname = strtolower($params["sld"].".".$params["tld"]);
- $sign = md5(md5($uid).md5($pwd).md5($domainname));
- $url = 'mode='.$mode.'&domainname='.$domainname.'&userid='.$uid.'&sign='.$sign;
- $urlResult = PostData($url);
- $reStr = explode(" ",$urlResult);
- if ($reStr[0]!="325") {
- echo $urlResult;
- exit;
- }
- $domainandpw = explode(":",$reStr[1]);
- $domainpwd = $domainandpw[1];
- $everdnsurl = "http://www.everdns.com?domain=".$domainname."&pwd=".$domainpwd;
- if (isset($everdnsurl)) {
- Header("HTTP/1.1 303 See Other");
- Header("Location: $everdnsurl");
- exit;
- }
- }
- /**
- * 未实现
- * @param unknown_type $params
- * @return multitype:boolean unknown string
- */
- function aiming_TransferSync($params)
- {
- $uid=strtolower($params["Userid"]);
- $pwd=strtolower($params["UserPWD"]);
- $domainid = $params['domainid'];
- $domain = $params['domain'];
- $sld = $params['sld'];
- $tld = $params['tld'];
- $registrar = $params['registrar'];
- $regperiod = $params['regperiod'];
- $status = $params['status'];
- $dnsmanagement = $params['dnsmanagement'];
- $emailforwarding = $params['emailforwarding'];
- $idprotection = $params['idprotection'];
- $mode = "chktransfer";
- $domainname=strtolower($params["sld"].".".$params["tld"]);
- $sign=md5(md5($uid).md5($pwd).md5($domainname));
- $url='mode='.$mode.'&domainname='.$domainname.'&userid='.$uid.'&sign='.$sign;
- $urlResult=PostData($url);
- $reStr=explode(" ",$urlResult);
- $values = array();
- if($reStr[0]=="1000")
- {
- $values['completed'] = true;
- $mode = "getinfo";
- $sign=md5(md5($uid).md5($pwd).md5($domainname));
- $url='mode='.$mode.'&domainname='.$domainname.'&userid='.$uid.'&sign='.$sign;
- $urlResult=PostData($url);
- $reStr=explode(" ",$urlResult);
- if($reStr[0]=="320")
- {
- $len=strlen($urlResult);
- $urlResult2=substr($urlResult,4,$len-4);
- $infolist=explode(",",$urlResult2);
- $regtimeinfo=explode(" ",$infolist[1]);
- $reginfo =explode(":",$regtimeinfo[0]);
- $regdate = $reginfo[1];
- $Newregdate = date('Y-m-d', strtotime($regdate));
- $values['registrationdate'] = $Newregdate;
- $exptimeinfo=explode(" ",$infolist[2]);
- $expinfo =explode(":",$exptimeinfo[0]);
- $expirydate = $expinfo[1];
- $Newexpirydate = date('Y-m-d', strtotime($expirydate));
- $values['expirydate'] = $Newexpirydate;
- $values['nextduedate'] = $Newexpirydate;
- }else{
- $values['error'] = $urlResult;
- }
- }
- else if($reStr[0]=="1003")
- {
- $values['failed'] = true;
- $values['reason'] = $urlResult;
- }
- else
- {
- $values['error'] = $urlResult;
- }
- return $values;
- }
- /**
- * 未实现
- * @param unknown_type $params
- * @return Ambigous <string, unknown>
- */
- function aiming_Sync($params)
- {
- $uid = strtolower($params["Userid"]);
- $pwd =strtolower($params["UserPWD"]);
- $domainid = $params['domainid'];
- $domain = $params['domain'];
- $sld = $params['sld'];
- $tld = $params['tld'];
- $registrar = $params['registrar'];
- $regperiod = $params['regperiod'];
- $status = $params['status'];
- $dnsmanagement = $params['dnsmanagement'];
- $emailforwarding = $params['emailforwarding'];
- $idprotection = $params['idprotection'];
- $mode = "getinfo";
- $domainname = strtolower($params["sld"].".".$params["tld"]);
- $sign = md5(md5($uid).md5($pwd).md5($domainname));
- $url = 'mode='.$mode.'&domainname='.$domainname.'&userid='.$uid.'&sign='.$sign;
- $urlResult = PostData($url);
- $reStr = explode(" ",$urlResult);
- if ($reStr[0] == "320") {
- $len = strlen($urlResult);
- $values['active'] = true;
- $urlResult2 = substr($urlResult,4,$len-4);
- $infolist = explode(",",$urlResult2);
- $regtimeinfo = explode(" ",$infolist[1]);
- $reginfo =explode(":",$regtimeinfo[0]);
- $regdate = $reginfo[1];
- $Newregdate = date('Y-m-d', strtotime($regdate));
- $values['registrationdate'] = $Newregdate;
- $exptimeinfo = explode(" ",$infolist[2]);
- $expinfo = explode(":",$exptimeinfo[0]);
- $expirydate = $expinfo[1];
- $Newexpirydate = date('Y-m-d', strtotime($expirydate));
- $values['expirydate'] = $Newexpirydate;
- $values['nextduedate'] = $Newexpirydate;
- }else{
- $values['error'] = $urlResult;
- }
- return $values;
- }
- function PostData($params)
- {
- //构造要post的字符串
- $length = strlen($params);
- //以下参数请按最终 API 发布地址进行修改
- $apiHost = "api.22.cn";
- $apiPort = 80;
- $apiUrl = "/OpenAPI.aspx";
- $fp = fsockopen($apiHost,$apiPort,$errno,$errstr,10) or exit($errstr."--->".$errno);
- //构造post请求的头
- $header = "POST ". $apiUrl . " HTTP/1.1\r\n";
- $header .= "Host:" . $apiHost . "\r\n";
- $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
- $header .= "Content-Length: ".$length."\r\n";
- $header .= "Connection: Close\r\n\r\n";
- //添加post的字符串
- $header .= $params."\r\n";
- //发送post的数据
- fputs($fp,$header);
- $inheader = 1;
- $ret="";
- while (!feof($fp)) {
- //去除请求包的头只显示页面的返回数据
- $line = fgets($fp,1024);
- if ($inheader && ($line == "\n" || $line == "\r\n")) {
- $inheader = 0;
- }
- if ($inheader == 0) {
- $ret.=$line;
- }
- }
-
- fclose($fp);
- //$ret = iconv("GB2312","UTF-8",$ret);
- //$ret = iconv("UTF-8","GB2312",$ret);
- return $ret;
- }
- ?>
复制代码 |
|