コード例 #1
0
ファイル: class.Registry.php プロジェクト: rchicoria/epp-drs
 private function RemovePendingOperationForResp($resp)
 {
     // This situation occurs when registry module implements server poll
     // We have response from server and don't know about operation.
     // So try to find it and remove
     $opinfo = self::$RespOperationMap[get_class($resp)];
     if (!$opinfo) {
         return;
     }
     list($object_type, $op_type) = $opinfo;
     // Try to find operation in database
     if ($object_type == self::OBJ_DOMAIN) {
         $parsed_host = FQDN::Parse($resp->HostName);
         $object_id = $this->DBDomain->FindByName($parsed_host[0], $parsed_host[1]);
         if (!$object_id) {
             return;
         }
     } else {
         if ($object_type == self::OBJ_CONTACT) {
             $object_id = $this->DBContact->FindByCLID($resp->CLID);
             if (!$object_id) {
                 return;
             }
         } else {
             return;
         }
     }
     $this->DB->Execute('DELETE FROM pending_operations WHERE objectid = ? AND operation = ? AND objecttype = ?', array($object_id, $op_type, $object_type));
 }