コード例 #1
0
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()];
    }
}