piterskiy

Массовое добавление доменов ISPManager 5

Apr 19th, 2016
24,377
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.86 KB | None | 0 0
  1. <?php
  2.   // http://geograph.us/massovoe-dobavlenie-domenov-ispmanager-5.html#comment-58889
  3.   // Адрес панели ISP Manager
  4.   $isp_url = "https://192.168.0.1:1500/ispmgr";
  5.   // Пользователь ISP
  6.   $isp_login = "root";
  7.   // Его пароль
  8.   $isp_pass = "";
  9.   // Это пятая версия ISP?
  10.   $isp5 = true;
  11.   // Пользователь-владелец домена
  12.   $domain_owner = "user";
  13.   // IP домена, можно оставить пустым
  14.   $domain_ip = "192.168.0.2";
  15.   // Файл с доменами для добавления
  16.   $domains = "domains.txt";
  17.  
  18.   if($isp_pass == "")
  19.   {
  20.     print "Please enter the ISP password for $isp_login: ";
  21.     $isp_pass = trim(fgets(STDIN));
  22.     if($isp_pass == "") die("Password is empty\r\n");
  23.   }
  24.  
  25.   $domain_array = file($domains);
  26.  
  27.   $ch = curl_init();
  28.   curl_setopt_array($ch, array(CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_SSL_VERIFYPEER => false));
  29.  
  30.   foreach($domain_array as $domain)
  31.   {
  32.     $domain = trim($domain);
  33.  
  34.     if ($isp5)
  35.     {
  36.       $params['out'] = 'json';
  37.       $params['func'] = 'webdomain.edit';
  38.       $params['sok'] = 'yes';
  39.       $params['name'] = $domain;
  40.       $params['aliases'] = (strpos($domain, 'www.') === 0 ? substr($domain, 4) : 'www.' . $domain);
  41.       $params['owner'] = $domain_owner;
  42.       $params['php'] = 'on';
  43.       $params['php_enable'] = 'on';
  44.       $params['php_mode'] = 'php_mode_mod';
  45.       $params['cgi'] = (strpos($php, 'cgi') !== null ? 'on' : 'off');
  46.       $params['ipaddrs'] = $domain_ip;
  47.       $params['ipsrc'] = ($domain_ip == '') ? 'auto' : 'manual';
  48.       $params['email'] = 'webmaster@' . $domain;
  49.     }
  50.     else
  51.     {
  52.       $params['out'] = 'json';
  53.       $params['func'] = 'wwwdomain.edit';
  54.       $params['sok'] = 'yes';
  55.       $params['domain'] = $domain;
  56.       $params['alias'] = (strpos($domain, 'www.') === 0 ? substr($domain, 4) : 'www.' . $domain);
  57.       $params['owner'] = $domain_owner;
  58.       $params['docroot'] = 'auto';
  59.       $params['php'] = 'phpmod'; // phpmod (php как модуль Apache); phpcgi (php как CGI); phpfcgi (php как fastCGI)
  60.       $params['cgi'] = (strpos($php, 'cgi') !== null ? 'on' : 'off');
  61.       $params['ip'] = $domain_ip;
  62.       $params['admin'] = 'webmaster@' . $domain;
  63.     }
  64.     $url = $isp_url . '?authinfo=' . urlencode($isp_login) . ':' . urlencode($isp_pass) . '&' . http_build_query($params);
  65.     curl_setopt($ch, CURLOPT_URL, $url);
  66.  
  67.     $response = (array)json_decode(curl_exec($ch), true);
  68.  
  69.     $result = "ERROR";
  70.  
  71.     if(isset($response['error']))
  72.     {
  73.       $result = $response['error']['msg'];
  74.     }
  75.     else if((isset($response['result']) && $response['result'] == 'OK') || isset($response['ok']))
  76.     {
  77.       $result = "OK";
  78.     }
  79.    
  80.     echo "$domain\t$result\r\n";
  81.   }
  82.  
  83.   curl_close($ch);
  84.  
  85. ?>
Advertisement
Add Comment
Please, Sign In to add comment