Advertisement
Ribang

auto create sudomain

Jan 31st, 2018
724
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.01 KB | None | 0 0
  1. <?php
  2.  
  3. ###############################################################
  4. # cPanel Subdomains Creator 1.1
  5. ###############################################################
  6. # Visit http://www.zubrag.com/scripts/ for updates
  7. ###############################################################
  8. #
  9. # Can be used in 3 ways:
  10. # 1. just open script in browser and fill the form
  11. # 2. pass all info via url and form will not appear
  12. # Sample: cpanel_subdomains.php?cpaneluser=USER&cpanelpass=PASSWORD&domain=DOMAIN&subdomain=SUBDOMAIN
  13. # 3. list subdomains in file. In this case you must provide all the defaults below
  14. #
  15. # Note: you can omit any parameter, except "subdomain".
  16. # When omitted, default value specified below will be taken
  17. ###############################################################
  18.  
  19. // cpanel user
  20. define('CPANELUSER','user');
  21.  
  22. // cpanel password
  23. define('CPANELPASS','pass');
  24.  
  25. // name of the subdomains list file.
  26. // file format may be 1 column or 2 columns divided with semicilon (;)
  27. // Example for two columns:
  28. // rootdomain1;subdomain1
  29. // rootdomain1;subdomain2
  30. // Example for one columns:
  31. // subdomain1
  32. // subdomain2
  33. define('INPUT_FILE','domains.txt');
  34.  
  35. // cPanel skin (mainly "x")
  36. // Check http://www.zubrag.com/articles/determine-cpanel-skin.php
  37. // to know it for sure
  38. define('CPANEL_SKIN','x');
  39.  
  40. // Default domain (subdomains will be created for this domain)
  41. // Will be used if not passed via parameter and not set in subdomains file
  42. define('DOMAIN','');
  43.  
  44.  
  45. /////////////// END OF INITIAL SETTINGS ////////////////////////
  46. ////////////////////////////////////////////////////////////////
  47.  
  48. function getVar($name, $def = '') {
  49. if (isset($_REQUEST[$name]) && ($_REQUEST[$name] != ''))
  50. return $_REQUEST[$name];
  51. else
  52. return $def;
  53. }
  54.  
  55. $cpaneluser=getVar('cpaneluser', CPANELUSER);
  56. $cpanelpass=getVar('cpanelpass', CPANELPASS);
  57. $cpanel_skin = getVar('cpanelskin', CPANEL_SKIN);
  58.  
  59. if (isset($_REQUEST["subdomain"])) {
  60. // get parameters passed via URL or form, emulate string from file
  61. $doms = array( getVar('domain', DOMAIN) . ";" . $_REQUEST["subdomain"]);
  62. if (getVar('domain', DOMAIN) == '') die("You must specify domain name");
  63. }
  64. else {
  65. // open file with domains list
  66. $doms = @file(INPUT_FILE);
  67. if (!$doms) {
  68. // file does not exist, show input form
  69. echo "
  70. Cannot find input file with subdomains information. It is ok if you are not creating subdomains from file.<br>
  71. Tip: leave field empty to use default value you have specified in the script's code.<br>
  72. <form method='post'>
  73. Subdomain:<input name='subdomain'><br>
  74. Domain:<input name='domain'><br>
  75. cPanel User:<input name='cpaneluser'><br>
  76. cPanel Password:<input name='cpanelpass'><br>
  77. cPanel Skin:<input name='cpanelskin'><br>
  78. <input type='submit' value='Create Subdomain' style='border:1px solid black'>
  79. </form>";
  80. die();
  81. }
  82. }
  83.  
  84. // create subdomain
  85. function subd($host,$port,$ownername,$passw,$request) {
  86.  
  87. $sock = fsockopen('localhost',2082);
  88. if(!$sock) {
  89. print('Socket error');
  90. exit();
  91. }
  92.  
  93. $authstr = "$ownername:$passw";
  94. $pass = base64_encode($authstr);
  95. $in = "GET $request\r\n";
  96. $in .= "HTTP/1.0\r\n";
  97. $in .= "Host:$host\r\n";
  98. $in .= "Authorization: Basic $pass\r\n";
  99. $in .= "\r\n";
  100.  
  101. fputs($sock, $in);
  102. while (!feof($sock)) {
  103. $result .= fgets ($sock,128);
  104. }
  105. fclose( $sock );
  106.  
  107. return $result;
  108. }
  109.  
  110. foreach($doms as $dom) {
  111. $lines = explode(';',$dom);
  112. if (count($lines) == 2) {
  113. // domain and subdomain passed
  114. $domain = trim($lines[0]);
  115. $subd = trim($lines[1]);
  116. }
  117. else {
  118. // only subdomain passed
  119. $domain = getVar('domain', DOMAIN);
  120. $subd = trim($lines[0]);
  121. }
  122. // http://[domainhere]:2082/frontend/x/subdomain/doadddomain.html?domain=[subdomain here]&rootdomain=[domain here]
  123. $request = "/frontend/$cpanel_skin/subdomain/doadddomain.html?rootdomain=$domain&domain=$subd";
  124. $result = subd('localhost',2082,$cpaneluser,$cpanelpass,$request);
  125. $show = strip_tags($result);
  126. echo $show;
  127. }
  128.  
  129. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement