Advertisement
Guest User

Untitled

a guest
Aug 2nd, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.78 KB | None | 0 0
  1. <?php
  2.  
  3. /**
  4. ***************************************
  5. ** FreeTSP Version: 2.0 Multilingual **
  6. ***************************************
  7. ** http://www.freetsp.com
  8. ** Licence Info: GPL
  9. ** Copyright (C) 2017 FreeTSP v2.0 Multilingual
  10. ** A bittorrent tracker source based on TBDev.net/tbsource/bytemonsoon.
  11. ** Full Respects & Credits To Mindless & All The Team @ U232
  12. ** Project Leaders. Fireknight & Rushed.
  13. ** Project Founder: Krypto.
  14. **/
  15.  
  16. require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'functions' . DIRECTORY_SEPARATOR . 'function_main.php');
  17. require_once(FUNC_DIR . 'function_user.php');
  18. require_once(FUNC_DIR . 'function_vfunctions.php');
  19.  
  20. db_connect(true);
  21.  
  22. $lang = array_merge(load_language('take_invite_signup'),
  23. load_language('global'));
  24.  
  25. if (!mkglobal("wantusername:wantpassword:passagain:email:pin:pinhint:pinhintanswer"))
  26. {
  27. die();
  28. }
  29.  
  30. function validusername($username)
  31. {
  32. if ($username == "")
  33. {
  34. return false;
  35. }
  36.  
  37. //----- The Following Characters Are Allowed In User Names -----//
  38. $allowedchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
  39.  
  40. for ($i = 0;
  41. $i < strlen($username);
  42. ++$i)
  43. {
  44. if (strpos($allowedchars, $username[$i]) === false)
  45. {
  46. return false;
  47. }
  48. }
  49. return true;
  50. }
  51.  
  52. /*
  53. function isportopen($port)
  54. {
  55. global $HTTP_SERVER_VARS;
  56.  
  57. $sd = @fsockopen($HTTP_SERVER_VARS['REMOTE_ADDR'], $port, $errno, $errstr, 1);
  58.  
  59. if ($sd)
  60. {
  61. fclose($sd);
  62. return true;
  63. }
  64.  
  65. else
  66. {
  67. return false;
  68. }
  69. }
  70.  
  71. function isproxy()
  72. {
  73. $ports = array(80, 88, 1075, 1080, 1180, 1182, 2282, 3128, 3332, 5490, 6588, 7033, 7441, 8000, 8080, 8085, 8090, 8095, 8100, 8105, 8110, 8888, 22788);
  74.  
  75. for ($i = 0;
  76. $i < count($ports);
  77. ++$i)
  78.  
  79. if (isportopen($ports[$i]))
  80. {
  81. return true;
  82. }
  83. return false;
  84. }
  85. */
  86.  
  87. $wantusername = (isset($_GET['wantusername']) ? $_GET['wantusername'] : (isset($_POST['wantusername']) ? $_POST['wantusername'] : ''));
  88. $wantpassword = (isset($_GET['wantpassword']) ? $_GET['wantpassword'] : (isset($_POST['wantpassword']) ? $_POST['wantpassword'] : ''));
  89. $email = (isset($_GET['email']) ? $_GET['email'] : (isset($_POST['email']) ? $_POST['email'] : ''));
  90. $pin = (isset($_GET['pin']) ? $_GET['pin'] : (isset($_POST['pin']) ? $_POST['pin'] : ''));
  91. $invite = (isset($_GET['invite']) ? $_GET['invite'] : (isset($_POST['invite']) ? $_POST['invite'] : ''));
  92.  
  93. if (empty($wantusername) || empty($wantpassword) || empty($email) || empty($pin) || empty($pinhint) || empty($pinhintanswer) || empty($invite))
  94. {
  95. error_message_center("error",
  96. "{$lang['err_signup_fail']}",
  97. "{$lang['err_blank_fields']}");
  98. }
  99.  
  100. if (strlen($wantusername) > 12)
  101. {
  102. error_message_center("error",
  103. "{$lang['err_signup_fail']}",
  104. "{$lang['err_name_long']}");
  105. }
  106.  
  107. if ($wantpassword != $passagain)
  108. {
  109. error_message_center("error",
  110. "{$lang['err_signup_fail']}",
  111. "{$lang['err_pass_mismatch']}");
  112. }
  113.  
  114. if (strlen($wantpassword) < 6)
  115. {
  116. error_message_center("error",
  117. "{$lang['err_signup_fail']}",
  118. "{$lang['err_pass_short']}");
  119. }
  120.  
  121. if (strlen($wantpassword) > 40)
  122. {
  123. error_message_center("error",
  124. "{$lang['err_signup_fail']}",
  125. "{$lang['err_pass_long']}");
  126. }
  127.  
  128. if ($wantpassword == $wantusername)
  129. {
  130. error_message_center("error",
  131. "{$lang['err_signup_fail']}",
  132. "{$lang['err_pass_user']}");
  133. }
  134.  
  135. if (!validemail($email))
  136. {
  137. error_message_center("error",
  138. "{$lang['err_signup_fail']}",
  139. "{$lang['err_inv_email']}");
  140. }
  141.  
  142. if (strlen($pin) < 4)
  143. {
  144. error_message_center("error",
  145. "{$lang['err_signup_fail']}",
  146. "{$lang['err_pin_short']}");
  147. }
  148. if (!validusername($wantusername))
  149. {
  150. error_message_center("error",
  151. "{$lang['err_signup_fail']}",
  152. "{$lang['err_inv_user']}");
  153. }
  154.  
  155. //----- Make Sure User Agrees To Everything... -----//
  156.  
  157. if ($_POST['rulesverify'] != "yes" || $_POST['faqverify'] != "yes" || $_POST['ageverify'] != "yes")
  158. {
  159. error_message_center("error",
  160. "{$lang['err_signup_fail']}",
  161. "{$lang['err_unqualified']}");
  162. }
  163.  
  164. //----- Check If Email Addy Is Already In Use -----//
  165.  
  166. $a = (mysqli_fetch_row(sql_query("SELECT COUNT(*)
  167. FROM users
  168. WHERE email = " . sqlesc($email)))) or die(mysqli_error());
  169. if ($a[0] != 0)
  170. {
  171. error_message_center("error",
  172. "{$lang['err_signup_fail']}",
  173. "{$lang['err_email_addy']}<b>" . htmlspecialchars($email) . "</b>{$lang['err_email_used']}");
  174. }
  175.  
  176. $select_inv = sql_query("SELECT sender, receiver, status
  177. FROM invite_codes
  178. WHERE code = " . sqlesc($invite)) or die(mysqli_error());
  179.  
  180. $rows = mysqli_num_rows($select_inv);
  181. $assoc = mysqli_fetch_assoc($select_inv);
  182.  
  183. if ($rows == 0)
  184. {
  185. error_message_center("error",
  186. "{$lang['err_signup_fail']}",
  187. "{$lang['err_inv_not_found']}\n{$lang['err_req_invite']}");
  188. }
  189.  
  190. if ($assoc['receiver'] != 0)
  191. {
  192. error_message_center("error",
  193. "{$lang['err_signup_fail']}",
  194. "{$lang['err_inv_taken']}\n{$lang['err_inv_req_new']}");
  195. }
  196.  
  197.  
  198. //----- Do Simple Proxy Check -----//
  199. /*
  200. if (isproxy())
  201. {
  202. error_message_center("error",
  203. "{$lang['err_signup_fail']}",
  204. "{$lang['text_proxy']}<a href=" . $FTSP_V2['$site_url'] . :81"/login.php>{$lang['text_port']}</a>{$lang['text_bypass']}<p><b>{$lang['text_note']}</b>{$lang['text_accessible']}");
  205. }
  206. */
  207.  
  208. $secret = mksecret();
  209. $wantpasshash = md5($secret . $wantpassword . $secret);
  210. $editsecret = (!$arr[0] ? "" : mksecret());
  211. $pinset ='yes';
  212. $wantpinhintanswer = md5($pinhintanswer);
  213. $new_user = sql_query("INSERT INTO users (username, passhash, secret, editsecret, invitedby, email, codesecret, pinset, pinhint, pinhintanswer, " . (!$arr[0]?"class, " : "") . "added)
  214. VALUES (" . implode(",", array_map("sqlesc", array($wantusername, $wantpasshash, $secret, $editsecret, (int)$assoc['sender'], $email, $pin, $pinset, $pinhint, $wantpinhintanswer,))) . ", " . (!$arr[0] ? UC_USER . ", " : "") . "'" . get_date_time() . "')");
  215.  
  216. if (!$new_user)
  217. {
  218. if (mysqli_errno() == 1062)
  219. {
  220. error_message_center("error",
  221. "{$lang['err_signup_fail']}",
  222. "{$lang['err_user_taken']}");
  223. }
  224. }
  225.  
  226. $id = ((is_null($___mysqli_res = mysqli_insert_id($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res);;
  227.  
  228. sql_query("UPDATE invite_codes
  229. SET receiver = " . sqlesc($id) . ", status = 'Confirmed'
  230. WHERE sender = " . sqlesc((int)$assoc['sender']) . "
  231. AND code = " . sqlesc($invite)) or sqlerr(__FILE__, __LINE__);
  232.  
  233. write_log("{$lang['writelog_user_acc']}" . htmlspecialchars($wantusername) . "{$lang['writelog_created']}");
  234.  
  235. error_message_center("success",
  236. "{$lang['text_success']}",
  237. "{$lang['text_confirm']}");
  238.  
  239. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement