Пользовательский модуль регистрации домена WHMCS - PullRequest
0 голосов
/ 16 февраля 2019

Я пытаюсь создать пользовательский модуль регистратора домена для моей платформы whmcs.На странице регистраторов мой новый регистратор активен, функция getConfigArray работает правильно, но когда я принимаю пользователя из моего списка заказов для регистрации нового домена, whmcs не читает мою функцию registerdomain, написанную в моем модуле.Ничто не печатает в логах модулей ни ошибок, ни чего-либо еще.Кто-нибудь может помочь?

function moduleName_RegisterDomain($params)
{
    $fields = array(
      'action'   => 'domain_create',
      'domain'   => $params["sld"] . '.' . $params["tld"],
      'username' => $params["Username"],
      'password' => $params["Password"],
    'owner'    => $params["firstname"] . ' ' . $params["lastname"],
    'period'   => $params["regperiod"],
    'street'   => $params["address1"],
    'city'     => $params["city"],
    'postcode' => str_replace(' ', '', $params["postcode"]),
    'country'  => $params["countrycode"],

    'adminname' => $params["adminfirstname"] . ' ' . $params["adminlastname"],

    'adminstreet'   => $params["adminaddress1"],
    'admincity'     => $params["admincity"],
    'adminpostcode' => str_replace(' ', '', $params["adminpostcode"]),
    'admincountry'  => $params["admincountry"],
    'adminemail'    => $params["adminemail"],
    'admintel'      => normalisePhone($params["adminphonenumber"]),
    'techname'      => $params["adminfirstname"] . ' ' . $params["adminlastname"],

    'techstreet'   => $params["adminaddress1"],
    'techcity'     => $params["admincity"],
    'techpostcode' => str_replace(' ', '', $params["adminpostcode"]),
    'techcountry'  => $params["admincountry"],
    'techemail'    => $params["adminemail"],
    'techtel'      => normalisePhone($params["adminphonenumber"]),

    'billname' => $params["adminfirstname"] . ' ' . $params["adminlastname"],

    'billstreet'   => $params["adminaddress1"],
    'billcity'     => $params["admincity"],
    'billpostcode' => str_replace(' ', '', $params["adminpostcode"]),
    'billcountry'  => $params["admincountry"],
    'billemail'    => $params["adminemail"],
    'billtel'      => normalisePhone($params["adminphonenumber"]),

    'ns1name' => $params["ns1"],

    'ns2name' => $params["ns2"],

    'ns3name' => $params["ns3"],

    'ns4name' => $params["ns4"],
);
$request = sendToclouds($fields, $params);
if (!$request['status']) {
    $values["error"] = $request['massage'];
} else {
    $values["massage"] = true;
}
return $values;

}

function sendToclouds($fields, $params)
{
  if ($params['TestMode']) {
    $fields['mode'] = 'test';
}

$curl = curl_init(); // we are using cURL library here
curl_setopt($curl, CURLOPT_URL, $params["cloudsURL"]);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $fields);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 90);
$out = curl_exec($curl);
curl_close($curl);

if ($out) {
    $str = strtolower($out);
    if (strpos($str, 'error') !== false) {
        return array('status' => false, 'massage' => $out);
    } else {
        return array('status' => true, 'massage' => $out);
    }

} else {
    return array('status' => false, 'massage' => 'Service unavailable');
}

}

1 Ответ

0 голосов
/ 18 февраля 2019

Функция регистратора выглядит нормально.

  • Вы присвоили расширение модулю регистратора, Настройка> Продукты и услуги> Ценообразование домена при автоматической регистрации.
  • После принятия заказапроверьте страницу сведений о домене и убедитесь, что регистратор настроен для вашего модуля.
  • Если он установлен правильно или вы задали его вручную, нажмите «Регистрация» под командами регистратора, он попытается выполнить функцию регистрации.
  • Убедитесь, что ваша функция регистрации вызывается, поместив error_log('registering domain...', 3, __DIR__.'/file.log'); в первой строке функции.если он вызывается, он записывает строку в file.log в том же каталоге.

Надеюсь, это поможет.

...