WHMCS import: domains arrive without expiry, auto-renew or registrar order id

Sheernox

New Member
Env: ClientExec 7.2.2 (ionCube), PHP 8.5.10, MariaDB 11.8.9. Source WHMCS 9. Registrar NetEarthOne (LogicBoxes).

Where: plugins/import/whmcs/whmcs2ce.php line 729, exportDomains(). The query selects registrationdate, domain, recurringamount, registrationperiod, status, nextduedate, registrar and paymentmethod, but not expirydate or donotrenew. WHMCS keeps no registrar order id, and the importer does not look one up.

Bug: Imported domains have no Expiration Date, keep auto-renew on where WHMCS had "do not renew", and have no Registrar Order Id. ClientExec's registrar plugins set that field only when they register or transfer a domain themselves (plugins/registrars/netearthone/PluginNetearthone.php lines 117 and 159).

Repro: Import a WHMCS install with an active domain marked "do not renew", then open the domain in the admin. Expiration Date and Registrar Order Id are empty and auto-renew is on.

Fix: Export expirydate (stored as a Unix timestamp, as the domain updater writes it) and donotrenew, and after import look up each active domain's order id at its registrar by name (LogicBoxes domains/orderid.json), storing it as <registrar>-<orderid>.
 
Back
Top