_user=new SoapParam($user, 'user'); $this->_pass=new SoapParam($password, 'password'); $this->_client=new SoapClient(null, array('uri'=>$uri, 'location'=>$location)); } function listDomains(){ $domainList=$this->getArrTable($this->call('listDomains', array())); return $domainList; } function addRR($domainid, $data, $type, $hostname, $ttl=null, $aux=null){ $prm=array('domainid'=>$domainid, 'data'=>$data, 'type'=>$type, 'hostname'=>$hostname); if ($ttl != null) $prm['ttl']=$ttl; if ($aux != null) $prm['aux']=$aux; $rr_id=$this->call('addRR', $prm); return $rr_id; } function getDomainByName($name){ $domain=$this->call('getDomainByName', array('name'=>$name)); return $this->getObjArr($domain); } function getDomainByID($domainid){ $domain=$this->call('getDomainByID', array('domainid'=>$domainid)); return $this->getObjArr($domain); } function listRRsByDomain ($domainid){ $domainList=$this->getArrTable($this->call('listRRsByDomain', array('domainid'=>$domainid))); return $domainList; return $rrList; } function getRRByID($rrid){ $rr=$this->call('getRRByID', array('rrid'=>$rrid)); return $this->getObjArr($rr); } function updateDomain ($domainid, $alertexpire=null, $autorenew=null, $mbox=null, $expire=null, $minimum=null, $ns=null, $serial=null, $retry=null, $refresh=null, $ttl=null){ $prm['domainid']=$domainid; if ($alertexpire != null) $prm['alertexpire']=($alertexpire==true) ? 1:0; if ($autorenew != null) $prm['autorenew']=($autorenew==true) ? 1:0; if ($mbox != null) $prm['mbox']=$mbox; if ($expire != null) $prm['expire']=$expire; if ($minimum != null) $prm['minimum']=$minimum; if ($ns != null) $prm['ns']=$ns; if ($serial != null) $prm['serial']=$serial; if ($retry != null) $prm['retry']=$retry; if ($refresh != null) $prm['refresh']=$refresh; if ($ttl != null) $prm['ttl']=$ttl; $this->call('updateDomain',$prm); return true; } function addDomain ($name, $alertexpire=null, $autorenew=null, $mbox=null, $expire=null, $minimum=null, $ns=null, $serial=null, $retry=null, $refresh=null, $ttl=null, $no_default_ns=null){ $prm['name']=$name; if ($alertexpire != null) $prm['alertexpire']=($alertexpire==true) ? 1:0; if ($autorenew != null) $prm['autorenew']=($autorenew==true) ? 1:0; if ($mbox != null) $prm['mbox']=$mbox; if ($expire != null) $prm['expire']=$expire; if ($minimum != null) $prm['minimum']=$minimum; if ($ns != null) $prm['ns']=$ns; if ($serial != null) $prm['serial']=$serial; if ($retry != null) $prm['retry']=$retry; if ($refresh != null) $prm['refresh']=$refresh; if ($ttl != null) $prm['ttl']=$ttl; $domainid=$this->call('addDomain', $prm); return $domainid; } function deleteRR($rrid){ $this->call('deleteRR', array('rrid'=>$rrid)); return true; } function deleteDomain($domainid, $confirmation){ $prm=array('domainid'=>$domainid); if ($confirmation) $prm['i_know_all_RRs_for_this_domain_will_be_deleted'] = 1; $this->call('deleteDomain', $prm); return true; } function updateRR($rrid, $ttl=null, $data=null, $aux=null){ $prm['rrid']=$rrid; if ($ttl != null) $prm['ttl']=$ttl; if ($aux != null) $prm['aux']=$aux; if ($data != null) $prm['data']=$data; $this->call('updateRR', $prm); return true; } private function call($function, $parameters){ $client=$this->_client; $prm=array($this->_user, $this->_pass); foreach($parameters AS $name=>$value){ $prm[]=new SoapParam($value, $name); } $r = $client->__soapCall($function, $prm); return $r; } private function getArrTable($objects){ foreach ($objects AS $me){ $x[]=(array) $me; } return $x; } private function getObjArr($object){ return (array)$object; } } ?>