Guest User

Untitled

a guest
Feb 22nd, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.81 KB | None | 0 0
  1. <?php
  2.  
  3. require_once('./includes/core.php');
  4. $data = new register_sql;
  5. $lang->addLocale("landing.register");
  6.  
  7. if(session_is_registered(username))
  8. {
  9. header("Location: ".PATH."/");
  10. exit;
  11. }
  12.  
  13. define('WEBBUILD', '63_1dc60c6d6ea6e089c6893ab4e0541ee0/631');
  14.  
  15. $error = array();
  16. $failure = false;
  17. $error_box = '<div id="error-placeholder"></div>';
  18.  
  19. function RewriteError()
  20. {
  21. global $error_box, $error;
  22.  
  23. $error_box = '<div id="error-messages-container" class="cbb">
  24. <div class="rounded" style="background-color: #cb2121;">
  25. <div id="error-title" class="error">';
  26.  
  27. foreach ($error as $value)
  28. {
  29. $error_box .= $value."<br/>\r\n";
  30. }
  31.  
  32. $error_box .= '</div>
  33. </div>
  34. </div>';
  35. }
  36.  
  37. $step = 'age_gate';
  38. if (isset($_GET['step']))
  39. {
  40. $step = $_GET['step'];
  41. }
  42.  
  43. switch ($step)
  44. {
  45. case 'age_gate_submit':
  46.  
  47. $day = $input->FilterText($_POST['bean_day']);
  48. $month = $input->FilterText($_POST['bean_month']);
  49. $year = $input->FilterText($_POST['bean_year']);
  50.  
  51. $gender = $input->FilterText($_POST['bean_gender']);
  52.  
  53. $_year = date('Y');
  54. $_days = cal_days_in_month(CAL_GREGORIAN, date('m'), date('Y'));
  55. if ($day < 1 || $day > $_days || $month > 12 || $month < 1 || $year < ($_year -100) || $year > $_year)
  56. {
  57. $error[] = 'Type alsjeblieft een geldige datum';
  58. $failure = true;
  59. }
  60.  
  61. if ($year > ($_year -8))
  62. {
  63. header("Location: ".PATH."/register.php?step=age_limit");
  64. exit;
  65. }
  66.  
  67. /*if ($gender != 'male' && $gender != 'female')
  68. {
  69. $error[] = 'Ben je shemale?!';
  70. $failure = true;
  71. }*/
  72.  
  73. if (!$failure)
  74. {
  75. $_SESSION['register']['day'] = $day;
  76. $_SESSION['register']['month'] = $month;
  77. $_SESSION['register']['year'] = $year;
  78. $_SESSION['register']['gender'] = ($gender == 'male') ? 'M' : 'F';
  79.  
  80. header("Location: ".PATH."/register.php?step=email_password");
  81. exit;
  82. }
  83.  
  84. RewriteError();
  85.  
  86. require './templates/register_age_gate.php';
  87. break;
  88.  
  89. case 'age_limit':
  90. require './templates/register_age_limit.php';
  91. break;
  92.  
  93. case 'email_password':
  94.  
  95. $class_u = '';
  96. $class_e = '';
  97. $class_p = '';
  98. $class_p2 = '';
  99. $class_tos = '';
  100.  
  101. $field_username = (isset($_SESSION['register']['username'])) ? $_SESSION['register']['username'] : '';
  102. $field_email = (isset($_SESSION['register']['email'])) ? $_SESSION['register']['email'] : '';
  103. $field_password = (isset($_SESSION['register']['password'])) ? $_SESSION['register']['password'] : '';
  104. $field_password_retyped = (isset($_SESSION['register']['password'])) ? $_SESSION['register']['password'] : '';
  105. $field_tos = (isset($_SESSION['register']['tos'])) ? 'checked' : '';
  106.  
  107. $gender = $_SESSION['register']['bean_gender'];
  108.  
  109. require './templates/register_email_password.php';
  110. break;
  111.  
  112. case 'email_password_submit':
  113.  
  114. $field_username = $username = $input->FilterText($_POST['bean_username']);
  115. $field_email = $email = $input->FilterText($_POST['bean_email']);
  116. $field_password = $password = $input->FilterText($_POST['bean_password']);
  117. $field_password_retyped = $password_retyped = $input->FilterText($_POST['bean_retypedPassword']);
  118. $accept_tos = filter_var($_POST['bean_termsOfServiceSelection'], FILTER_VALIDATE_BOOLEAN);
  119. $field_tos = ($accept_tos) ? 'checked' : '';
  120.  
  121. $newsletter = ($_POST['bean.marketing'] == 'true') ? '1' : '0';
  122.  
  123. $filter = preg_replace("/[^a-z\d\-=\?!@:\.]/i", "", $username);
  124. $email_check = preg_match("/^[a-z0-9_\.-]+@([a-z0-9]+([\-]+[a-z0-9]+)*\.)+[a-z]{2,7}$/i", $email);
  125.  
  126. $class_u = '';
  127. $class_e = '';
  128. $class_p = '';
  129. $class_p2 =& $class_p;
  130. $class_tos = '';
  131.  
  132. // Name validation
  133. if($serverdb->num_rows($serverdb->query("SELECT id,name,email FROM ".PREFIX."users WHERE name = '".$username."' LIMIT 1")) > 0)
  134. {
  135. $_SESSION['register']['username'] = $username;
  136. header('Location: '.PATH.'/register?step=dubplicateEmail');
  137. exit;
  138. }
  139. elseif($filter != $username)
  140. {
  141. $class_u = 'error';
  142. $error[] = 'Deze Doxnaam is niet toegestaan.';
  143. $failure = true;
  144. }
  145. elseif(strlen($username) > 24)
  146. {
  147. $class_u = 'error';
  148. $error[] = 'Deze Doxnaam is te lang.';
  149. $failure = true;
  150. }
  151. elseif(strlen($username) < 1)
  152. {
  153. $class_u = 'error';
  154. $error[] = 'Deze Doxnaam is te kort.';
  155. $failure = true;
  156. }
  157.  
  158. // MOD- Names validation
  159. $first = substr($username, 0, 4);
  160. if (strnatcasecmp($first,"MOD-") == false) {
  161. $class_u = 'error';
  162. $error[] = 'Deze Doxnaam is niet toegestaan.';
  163. $failure = true;
  164. }
  165.  
  166. // Password validation
  167. if($password !== $password_retyped)
  168. {
  169. $class_p = 'error';
  170. $error[] = 'Wachtwoord is niet hetzelfde. Probeer het nog eens.';
  171. $failure = true;
  172. }
  173. elseif(strlen($password) < 6)
  174. {
  175. $class_p = 'error';
  176. $error[] = 'Het opgegeven wachtwoord is tekort.';
  177. $failure = true;
  178. }
  179.  
  180. // E-Mail validation
  181. if(if($serverdb->num_rows($serverdb->query("SELECT id,name,email FROM ".PREFIX."users WHERE name = '".$username."' LIMIT 1")) > 0)
  182. {
  183. $class_e = 'error';
  184. $error[] = 'Het opgegeven mailadres is al ingebruik.';
  185. $failure = true;
  186. }
  187. elseif(strlen($email) < 6)
  188. {
  189. $class_e = 'error';
  190. $error[] = 'Het opgegeven mailadres is tekort.';
  191. $failure = true;
  192. }
  193. elseif($email_check !== 1)
  194. {
  195. $class_e = 'error';
  196. $error[] = 'Vul alsjeblieft een geldig mailadres in.';
  197. $failure = true;
  198. }
  199.  
  200. // Terms of Service validation
  201. if(!$accept_tos)
  202. {
  203. $class_tos = 'error';
  204. $error[] = 'De Algemene Voorwaarden moeten worden geaccepteerd om verder te kunnen.';
  205. $failure = true;
  206. }
  207.  
  208. if (!$failure)
  209. {
  210. $_SESSION['register']['username'] = $username;
  211. $_SESSION['register']['email'] = $email;
  212. $_SESSION['register']['password'] = $password;
  213. $_SESSION['register']['newsletter'] = $newsletter;
  214. $_SESSION['register']['tos'] = $accept_tos;
  215.  
  216. header('Location: '.PATH.'/register?step=captcha');
  217. exit;
  218. }
  219.  
  220. RewriteError();
  221.  
  222. $gender = $_SESSION['register']['bean_gender'];
  223.  
  224. require './templates/register_email_password.php';
  225. break;
  226.  
  227. case 'dubplicateEmail':
  228.  
  229. $username = $_SESSION['register']['username'];
  230.  
  231. require './templates/register_dubplicateEmail.php';
  232. break;
  233.  
  234. case 'captcha':
  235. require './templates/register_captcha.php';
  236. break;
  237.  
  238. case 'captcha_submit':
  239. if(($_SESSION['register-captcha-bubble'] == strtolower($_POST['bean_captchaResponse']) && !empty($_SESSION['register-captcha-bubble'])) || $settings->find("site_capcha") == "0") {
  240. unset($_SESSION['register-captcha-bubble']);
  241. } else {
  242. $error[] = 'De code die je in hebt getypt is ongeldig. Probeer het nog eens.';
  243. $failure = true;
  244. }
  245.  
  246. if (!$failure)
  247. {
  248. $day = $_SESSION['register']['day'];
  249. $month = $_SESSION['register']['month'];
  250. $year = $_SESSION['register']['year'];
  251.  
  252. $name = $_SESSION['register']['username'];
  253. $password = $_SESSION['register']['password'];
  254. $email = $_SESSION['register']['email'];
  255. $newsletter = $_SESSION['register']['newsletter'];
  256.  
  257. $gender = $_SESSION['register']['gender'];
  258. $generator = new HoloFigureCheck();
  259. $figure = current($generator->generateFigure(false, $gender));
  260.  
  261. unset($_SESSION['register']);
  262.  
  263. $scredits = $settings->find("register_start_credits");
  264.  
  265. $dob = $day . "-" . $month . "-" . $year;
  266.  
  267. $password = $input->HoloHash($password, $name);
  268.  
  269. $data->insert1($name,$password,$dob,$figure,$gender,2500);
  270. $row = $serverdb->fetch_row($data->select3($name));
  271. $serverdb->query("INSERT INTO cms_users (id,name,lastvisit,online,newsletter,email_verified,show_home,email_friendrequest,email_minimail,email,show_online) VALUES ('".$row[0]."','".$row[1]."','".time()."','".time()."','".$newsletter."','0','1','1','1','".$email."','1')");
  272.  
  273. if($settings->find("email_verify_enabled") == "1"){
  274. $hash = "";
  275. $length = 8;
  276. $possible = "0123456789qwertyuiopasdfghjkzxcvbnm";
  277. $i = 0;
  278. while ($i < $length) {
  279. $char = substr($possible, mt_rand(0, strlen($possible)-1), 1);
  280. if (!strstr($hash, $char)) {
  281. $hash .= $char;
  282. $i++;
  283. }
  284. }
  285. $hash = sha1($hash);
  286. $num = $key;
  287. $db->query("INSERT INTO ".PREFIX."verify (id,email,key_hash) VALUES ('".$row[0]."','".$email."','".$hash."')");
  288. $lang->addLocale("email.confirmationemail");
  289. if($settings->find("email_verify_reward") != "0"){ $reward_text = $lang->loc['email.reward']." ".$settings->find("email_verify_reward")." ".$lang->loc['credits']; }else{ $reward_text = ""; }
  290. $subject = $lang->loc['email.subject']." ".SHORTNAME;
  291. $to = $email;
  292. $html =
  293. '<h1 style="font-size: 16px">'.$lang->loc['email.verify.1'].'</h1>
  294.  
  295. <p>
  296. '.$reward_text.'
  297. '.$lang->loc['email.verify.2'].' <a href="'.PATH.'/email?key='.$hash.'">'.$lang->loc['email.verify.2.b'].'</a>
  298. </p>
  299.  
  300. <p>
  301. '.$lang->loc['email.verify.3'].'
  302. </p>
  303.  
  304. <blockquote>
  305. <p>
  306. <b>'.$lang->loc['email.verify.4'].'</b> '.$name.'<br>
  307. <b>'.$lang->loc['email.verify.5'].'</b> '.$dob.'
  308. </p>
  309. </blockquote>
  310.  
  311. <p>
  312. '.$lang->loc['email.verify.6'].'
  313. </p>
  314.  
  315. <p>'.$lang->loc['email.verify.7'] .'<br><br>
  316. '.$lang->loc['email.verify.8'].'<p>
  317. '.PATH.'/</p>
  318.  
  319. <p>
  320. '.$lang->loc['email.verify.9'].' <a href="'.PATH.'/email?remove='.$hash.'">'.$lang->loc['email.verify.9.b'].'</a>.
  321. </p>
  322.  
  323. <p>
  324. '.$lang->loc['email.verify.11'].'<a href="'.PATH.'/help">'.$lang->loc['email.verify.12'].'</a>.
  325. </p>';
  326. $mailer = new HoloMail;
  327. $mailer->sendSimpleMessage($to,$subject,$html);
  328. }else{
  329. $serverdb->query("UPDATE ".PREFIX."users SET email_verified = '1' WHERE id = '".$row[0]."' LIMIT 1");
  330. }
  331.  
  332. // Referral
  333. if($refer == true){
  334. $data->update1($referrow[0],$settings->find("register_referral_rewards"));
  335. $db->query("INSERT INTO ".PREFIX."transactions (userid,time,amount,descr) VALUES ('".$referrow[0]."','".time()."','".$settings->find("register_referral_rewards")."','Referring a user.')");
  336. $data->insert2($row[0],$referrow[0]);
  337. $_SESSION['referral'] = $referrow[0];
  338. }
  339.  
  340. $user = new HoloUser($name,$password,true);
  341. $_SESSION['user'] = $user;
  342.  
  343. header("Location: ".PATH."/security_check?page=./me");
  344.  
  345. exit; // cut off the script
  346.  
  347. // And we're done!
  348. }
  349.  
  350. RewriteError();
  351.  
  352. require './templates/register_captcha.php';
  353. break;
  354.  
  355. case 'age_gate':
  356. default:
  357. require './templates/register_age_gate.php';
  358. break;
  359. }
  360.  
  361. ?>
Add Comment
Please, Sign In to add comment