Advertisement
Guest User

Untitled

a guest
Jun 14th, 2017
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.45 KB | None | 0 0
  1. <?php
  2. require_once(dirname(__FILE__).DIRECTORY_SEPARATOR.'include'.DIRECTORY_SEPARATOR.'bittorrent.php');
  3. require_once(INCL_DIR.'user_functions.php');
  4. require_once(INCL_DIR.'password_functions.php');
  5. require_once(INCL_DIR.'page_verify.php');
  6. dbconn();
  7. get_template();
  8.  
  9. $lang = load_language('global');
  10. $newpage = new page_verify();
  11. $newpage->check('tkIs');
  12. $res = mysql_query("SELECT COUNT(*) FROM users") or sqlerr(__FILE__, __LINE__);
  13. $arr = mysql_fetch_row($res);
  14. if ($arr[0] >= $TBDEV['maxusers'])  
  15. stderr($lang['stderr_errorhead'], sprintf($lang['stderr_ulimit'], $TBDEV['maxusers']));
  16.  
  17. if (!mkglobal("wantusername:wantpassword:passagain:email:invite"))
  18. die();
  19.  
  20. function validusername($username) {
  21. if ($username == "")
  22. return false;
  23. // The following characters are allowed in user names
  24. $allowedchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
  25. for ($i = 0; $i < strlen($username); ++$i)
  26. if (strpos($allowedchars, $username[$i]) === false)
  27. return false;
  28. return true;
  29. }
  30.  
  31. if (empty($wantusername) || empty($wantpassword) || empty($email) || empty($invite))
  32. stderr("Error","Don't leave any fields blank.");
  33.  
  34. if(!blacklist($wantusername))
  35.  stderr($lang['takesignup_user_error'],sprintf($lang['takesignup_badusername'],htmlspecialchars($wantusername)));
  36.  
  37. if (strlen($wantusername) > 12)
  38. stderr("Error","Sorry, username is too long (max is 12 chars)");
  39.  
  40. if ($wantpassword != $passagain)
  41. stderr("Error","The passwords didn't match! Must've typoed. Try again.");
  42.  
  43. if (strlen($wantpassword) < 6)
  44. stderr("Error","Sorry, password is too short (min is 6 chars)");
  45.  
  46. if (strlen($wantpassword) > 40)
  47. stderr("Error","Sorry, password is too long (max is 40 chars)");
  48.  
  49. if ($wantpassword == $wantusername)
  50. stderr("Error","Sorry, password cannot be same as user name.");
  51.  
  52. if (!validemail($email))
  53. stderr("Error","That doesn't look like a valid email address.");
  54.  
  55. if (!validusername($wantusername))
  56. stderr("Error","Invalid username.");
  57.  
  58. // make sure user agrees to everything...
  59. if ($_POST["rulesverify"] != "yes" || $_POST["faqverify"] != "yes" || $_POST["ageverify"] != "yes")
  60. stderr("Error","Sorry, you're not qualified to become a member of this site.");
  61.  
  62. // check if email addy is already in use
  63. $a = (@mysql_fetch_row(@mysql_query('SELECT COUNT(*) FROM users WHERE email = ' . sqlesc($email)))) or die(mysql_error());
  64. if ($a[0] != 0)
  65. stderr('Error', 'The e-mail address <b>' . htmlspecialchars($email) . '</b> is already in use.');
  66.  
  67. //=== check if ip addy is already in use
  68. $c = (@mysql_fetch_row(@sql_query("select count(*) from users where ip='" . $_SERVER['REMOTE_ADDR'] . "'"))) or die(mysql_error());
  69. if ($c[0] != 0)
  70. stderr("Error", "The ip " . $_SERVER['REMOTE_ADDR'] . " is already in use. We only allow one account per ip address.");
  71.  
  72. $select_inv = mysql_query('SELECT sender, receiver, status FROM invite_codes WHERE code = ' . sqlesc($invite)) or die(mysql_error());
  73. $rows = mysql_num_rows($select_inv);
  74. $assoc = mysql_fetch_assoc($select_inv);
  75.  
  76. if ($rows == 0)
  77. stderr("Error","Invite not found.\nPlease request a invite from one of our members.");
  78.  
  79. if ($assoc["receiver"]!=0)
  80. stderr("Error","Invite already taken.\nPlease request a new one from your inviter.");
  81.  
  82. $secret = mksecret();
  83.     $wantpasshash = make_passhash( $secret, md5($wantpassword) );
  84.     $editsecret = ( !$arr[0] ? "" : make_passhash_login_key() );
  85.  
  86. $new_user = mysql_query("INSERT INTO users (username, passhash, secret, editsecret, invitedby, email, ". (!$arr[0]?"class, ":"") ."added) VALUES (" .
  87. implode(",", array_map("sqlesc", array($wantusername, $wantpasshash, $secret, $editsecret, (int)$assoc['sender'], $email))).
  88. ", ". (!$arr[0]?UC_SYSOP.", ":""). "'".  time() ."')");
  89. if (!$new_user) {
  90. if (mysql_errno() == 1062)
  91. stderr("Error","Username already exists!");
  92. stderr("Error","borked");
  93. }
  94. //===send PM to inviter
  95. $sender = $assoc["sender"];
  96. $added = sqlesc(time());
  97. $msg = sqlesc("Hey there [you] ! :wave:\nIt seems that someone you invited to {$TBDEV['site_name']} has arrived ! :clap2: \n\n Please go to your [url={$TBDEV['baseurl']}/invite.php]Invite page[/url] to confirm them so they can log in.\n\ncheers\n");
  98. $subject = sqlesc("Someone you invited has arrived!");
  99. mysql_query("INSERT INTO messages (sender, subject, receiver, msg, added) VALUES (0, $subject, $sender, $msg, $added)") or sqlerr(__FILE__, __LINE__);
  100. //////////////end/////////////////////
  101.  //==New member pm
  102.     $msg = sqlesc("Hey there {$wantusername} ! Welcome to {$TBDEV['site_name']} ! :clap2: \n\n Please ensure your connectable before downloading or uploading any torrents\n - If your unsure then please use the forum and Faq or pm admin onsite.\n\ncheers {$TBDEV['site_name']} staff.\n");
  103.     $subject = sqlesc("Welcome");
  104.     sql_query("INSERT INTO messages (sender, subject, receiver, msg, added) VALUES (0, $subject, $sender, $msg, $added)") or sqlerr(__FILE__, __LINE__);
  105.     //==End new member pm
  106. $id = mysql_insert_id();
  107. $latestuser_cache['id']       =  (int)$id;
  108. $latestuser_cache['username'] = $wantusername;
  109. /** OOP **/
  110. $mc->set('latestuser', $latestuser_cache, 0, $TBDEV['expires']['latestuser']);
  111. mysql_query('UPDATE invite_codes SET receiver = ' . sqlesc($id) . ', status = "Confirmed" WHERE sender = ' . sqlesc((int)$assoc['sender']). ' AND code = ' . sqlesc($invite)) or sqlerr(__FILE__, __LINE__);
  112. write_log('User account '.htmlspecialchars($wantusername).' was created!');
  113. stderr('Error','Signup successfull', 'Your inviter needs to confirm your account now!');
  114. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement