function coza_GetContactDetails($params) { // get current domain registrant $epp_client = \COZA\Factory::build($params); try { $epp_client->connect(); // create domain $frame = new \AfriCC\EPP\Frame\Command\Info\Domain(); $frame->setDomain(\COZA\Factory::getDomain($params), 'none'); $response = $epp_client->request($frame); unset($frame); if (!$response instanceof \AfriCC\EPP\Frame\Response) { unset($epp_client); return ['error' => 'COZA/GetContactDetails: unable to get response']; } if (!$response->success()) { unset($epp_client); return ['error' => sprintf('COZA/GetContactDetails: %s (%d)', $response->message(), $response->code())]; } $data = $response->data(); if (empty($data['infData']['registrant'])) { unset($epp_client); return ['error' => 'COZA/GetContactDetails: unable to parse response']; } unset($epp_client); $contact = \COZA\Factory::resolveContactHandle($params, $data['infData']['registrant']); if ($contact === false) { // legacy contacts return ['Registrant' => ['user_id' => 0, 'contact_id' => 0]]; } return ['Registrant' => ['user_id' => $contact['user_id'], 'contact_id' => $contact['contact_id']]]; } catch (Exception $e) { unset($epp_client); return ['error' => 'COZA/GetContactDetails: ' . $e->getMessage()]; } }