Advertisement
khalequzzaman17

Default DNS as per Registrar

Oct 8th, 2022 (edited)
1,130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.65 KB | None | 0 0
  1. <?php
  2.  
  3. use WHMCS\Database\Capsule;
  4.  
  5. if (!defined('WHMCS')) {
  6.     die('You cannot access this file directly.');
  7. }
  8.  
  9.  
  10. function pre_register_nameservers($vars) {
  11.    
  12.     $registrars = [
  13.  
  14.         'resellerclub' => [
  15.             'ns1' => 'ns1.test.com',
  16.             'ns2' => 'ns2.test.com',
  17.             'ns3' => '',
  18.             'ns4' => '',
  19.         ],
  20.  
  21.         'connectreseller' => [
  22.             'ns1' => 'ns3.test.com',
  23.             'ns2' => 'ns4.test.com',
  24.         ],
  25.  
  26.         'epik' => [
  27.             'ns1' => 'ns5.test.com',
  28.             'ns2' => 'ns6.test.com',
  29.             'ns3' => 'ns7.test.com',
  30.         ],
  31.  
  32.     ];
  33.  
  34.     /* ------------------------------------------------- */
  35.     /*        ONLY EDIT VARIABLES ABOVE THIS LINE        */
  36.     /* ------------------------------------------------- */
  37.  
  38.     $domain = $vars['params']['domain'];
  39.    
  40.     $domainDetails = Capsule::table('tbldomains')->where('domain', $domain)->first();
  41.  
  42.     foreach ($registrars as $registrar => $nameservers) {
  43.        
  44.         if ($domainDetails->registrar != $registrar) {
  45.             continue;
  46.         }
  47.  
  48.         if (empty($nameservers)) {
  49.             continue;
  50.         }
  51.  
  52.         $nameservers = array_reverse($nameservers);
  53.  
  54.         $nameservers['domainid'] = $domainDetails->id;
  55.  
  56.         $command = localAPI('DomainUpdateNameservers', array_reverse($nameservers));
  57.  
  58.         if ($command['result'] == 'error') {
  59.             logActivity("Automatic nameserver assignment failed for {$domain} with error: {$command['error']}", $domainDetails->userid);
  60.         }
  61.  
  62.     }
  63.  
  64. }
  65.  
  66. add_hook('AfterRegistrarRegistration', 1, 'pre_register_nameservers');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement