Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require_once('./includes/core.php');
- $data = new register_sql;
- $lang->addLocale("landing.register");
- if(session_is_registered(username))
- {
- header("Location: ".PATH."/");
- exit;
- }
- define('WEBBUILD', '63_1dc60c6d6ea6e089c6893ab4e0541ee0/631');
- $error = array();
- $failure = false;
- $error_box = '<div id="error-placeholder"></div>';
- function RewriteError()
- {
- global $error_box, $error;
- $error_box = '<div id="error-messages-container" class="cbb">
- <div class="rounded" style="background-color: #cb2121;">
- <div id="error-title" class="error">';
- foreach ($error as $value)
- {
- $error_box .= $value."<br/>\r\n";
- }
- $error_box .= '</div>
- </div>
- </div>';
- }
- $step = 'age_gate';
- if (isset($_GET['step']))
- {
- $step = $_GET['step'];
- }
- switch ($step)
- {
- case 'age_gate_submit':
- $day = $input->FilterText($_POST['bean_day']);
- $month = $input->FilterText($_POST['bean_month']);
- $year = $input->FilterText($_POST['bean_year']);
- $gender = $input->FilterText($_POST['bean_gender']);
- $_year = date('Y');
- $_days = cal_days_in_month(CAL_GREGORIAN, date('m'), date('Y'));
- if ($day < 1 || $day > $_days || $month > 12 || $month < 1 || $year < ($_year -100) || $year > $_year)
- {
- $error[] = 'Type alsjeblieft een geldige datum';
- $failure = true;
- }
- if ($year > ($_year -8))
- {
- header("Location: ".PATH."/register.php?step=age_limit");
- exit;
- }
- /*if ($gender != 'male' && $gender != 'female')
- {
- $error[] = 'Ben je shemale?!';
- $failure = true;
- }*/
- if (!$failure)
- {
- $_SESSION['register']['day'] = $day;
- $_SESSION['register']['month'] = $month;
- $_SESSION['register']['year'] = $year;
- $_SESSION['register']['gender'] = ($gender == 'male') ? 'M' : 'F';
- header("Location: ".PATH."/register.php?step=email_password");
- exit;
- }
- RewriteError();
- require './templates/register_age_gate.php';
- break;
- case 'age_limit':
- require './templates/register_age_limit.php';
- break;
- case 'email_password':
- $class_u = '';
- $class_e = '';
- $class_p = '';
- $class_p2 = '';
- $class_tos = '';
- $field_username = (isset($_SESSION['register']['username'])) ? $_SESSION['register']['username'] : '';
- $field_email = (isset($_SESSION['register']['email'])) ? $_SESSION['register']['email'] : '';
- $field_password = (isset($_SESSION['register']['password'])) ? $_SESSION['register']['password'] : '';
- $field_password_retyped = (isset($_SESSION['register']['password'])) ? $_SESSION['register']['password'] : '';
- $field_tos = (isset($_SESSION['register']['tos'])) ? 'checked' : '';
- $gender = $_SESSION['register']['bean_gender'];
- require './templates/register_email_password.php';
- break;
- case 'email_password_submit':
- $field_username = $username = $input->FilterText($_POST['bean_username']);
- $field_email = $email = $input->FilterText($_POST['bean_email']);
- $field_password = $password = $input->FilterText($_POST['bean_password']);
- $field_password_retyped = $password_retyped = $input->FilterText($_POST['bean_retypedPassword']);
- $accept_tos = filter_var($_POST['bean_termsOfServiceSelection'], FILTER_VALIDATE_BOOLEAN);
- $field_tos = ($accept_tos) ? 'checked' : '';
- $newsletter = ($_POST['bean.marketing'] == 'true') ? '1' : '0';
- $filter = preg_replace("/[^a-z\d\-=\?!@:\.]/i", "", $username);
- $email_check = preg_match("/^[a-z0-9_\.-]+@([a-z0-9]+([\-]+[a-z0-9]+)*\.)+[a-z]{2,7}$/i", $email);
- $class_u = '';
- $class_e = '';
- $class_p = '';
- $class_p2 =& $class_p;
- $class_tos = '';
- // Name validation
- if($serverdb->num_rows($serverdb->query("SELECT id,name,email FROM ".PREFIX."users WHERE name = '".$username."' LIMIT 1")) > 0)
- {
- $_SESSION['register']['username'] = $username;
- header('Location: '.PATH.'/register?step=dubplicateEmail');
- exit;
- }
- elseif($filter != $username)
- {
- $class_u = 'error';
- $error[] = 'Deze Doxnaam is niet toegestaan.';
- $failure = true;
- }
- elseif(strlen($username) > 24)
- {
- $class_u = 'error';
- $error[] = 'Deze Doxnaam is te lang';
- $failure = true;
- }
- elseif(strlen($username) < 1)
- {
- $class_u = 'error';
- $error[] = 'Deze Doxnaam is te kort';
- $failure = true;
- }
- // MOD- Names validation
- $first = substr($username, 0, 4);
- if (strnatcasecmp($first,"MOD-") == false) {
- $class_u = 'error';
- $error[] = 'Deze Doxnaam is niet toegestaan.';
- $failure = true;
- }
- // Password validation
- if($password !== $password_retyped)
- {
- $class_p = 'error';
- $error[] = 'Wachtwoord is niet hetzelfde. Probeer het nog eens.';
- $failure = true;
- }
- elseif(strlen($password) < 6)
- {
- $class_p = 'error';
- $error[] = 'Het opgegeven wachtwoord is tekort';
- $failure = true;
- }
- // E-Mail validation
- if(strlen($email) < 6)
- {
- $class_e = 'error';
- $error[] = 'Het opgegeven mailadres is tekort';
- $failure = true;
- }
- elseif($email_check !== 1)
- {
- $class_e = 'error';
- $error[] = 'Vul alsjeblieft een geldig mailadres in. ';
- $failure = true;
- }
- // Terms of Service validation
- if(!$accept_tos)
- {
- $class_tos = 'error';
- $error[] = 'De Algemene Voorwaarden moeten worden geaccepteerd om verder te kunnen.';
- $failure = true;
- }
- if (!$failure)
- {
- $_SESSION['register']['username'] = $username;
- $_SESSION['register']['email'] = $email;
- $_SESSION['register']['password'] = $password;
- $_SESSION['register']['newsletter'] = $newsletter;
- $_SESSION['register']['tos'] = $accept_tos;
- header('Location: '.PATH.'/register?step=captcha');
- exit;
- }
- RewriteError();
- $gender = $_SESSION['register']['bean_gender'];
- require './templates/register_email_password.php';
- break;
- case 'dubplicateEmail':
- $username = $_SESSION['register']['username'];
- require './templates/register_dubplicateEmail.php';
- break;
- case 'captcha':
- require './templates/register_captcha.php';
- break;
- case 'captcha_submit':
- if(($_SESSION['register-captcha-bubble'] == strtolower($_POST['bean_captchaResponse']) && !empty($_SESSION['register-captcha-bubble'])) || $settings->find("site_capcha") == "0") {
- unset($_SESSION['register-captcha-bubble']);
- } else {
- $error[] = 'De code die je in hebt getypt is ongeldig. Probeer het nog eens.';
- $failure = true;
- }
- if (!$failure)
- {
- $day = $_SESSION['register']['day'];
- $month = $_SESSION['register']['month'];
- $year = $_SESSION['register']['year'];
- $name = $_SESSION['register']['username'];
- $password = $_SESSION['register']['password'];
- $email = $_SESSION['register']['email'];
- $newsletter = $_SESSION['register']['newsletter'];
- $gender = $_SESSION['register']['gender'];
- $generator = new HoloFigureCheck();
- $figure = current($generator->generateFigure(false, $gender));
- unset($_SESSION['register']);
- $scredits = $settings->find("register_start_credits");
- $dob = $day . "-" . $month . "-" . $year;
- $password = $input->HoloHash($password, $name);
- $data->insert1($name,$password,$dob,$figure,$gender,2500);
- $row = $serverdb->fetch_row($data->select3($name));
- $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')");
- if($settings->find("email_verify_enabled") == "1"){
- $hash = "";
- $length = 8;
- $possible = "0123456789qwertyuiopasdfghjkzxcvbnm";
- $i = 0;
- while ($i < $length) {
- $char = substr($possible, mt_rand(0, strlen($possible)-1), 1);
- if (!strstr($hash, $char)) {
- $hash .= $char;
- $i++;
- }
- }
- $hash = sha1($hash);
- $num = $key;
- $db->query("INSERT INTO ".PREFIX."verify (id,email,key_hash) VALUES ('".$row[0]."','".$email."','".$hash."')");
- $lang->addLocale("email.confirmationemail");
- if($settings->find("email_verify_reward") != "0"){ $reward_text = $lang->loc['email.reward']." ".$settings->find("email_verify_reward")." ".$lang->loc['credits']; }else{ $reward_text = ""; }
- $subject = $lang->loc['email.subject']." ".SHORTNAME;
- $to = $email;
- $html =
- '<h1 style="font-size: 16px">'.$lang->loc['email.verify.1'].'</h1>
- <p>
- '.$reward_text.'
- '.$lang->loc['email.verify.2'].' <a href="'.PATH.'/email?key='.$hash.'">'.$lang->loc['email.verify.2.b'].'</a>
- </p>
- <p>
- '.$lang->loc['email.verify.3'].'
- </p>
- <blockquote>
- <p>
- <b>'.$lang->loc['email.verify.4'].'</b> '.$name.'<br>
- <b>'.$lang->loc['email.verify.5'].'</b> '.$dob.'
- </p>
- </blockquote>
- <p>
- '.$lang->loc['email.verify.6'].'
- </p>
- <p>'.$lang->loc['email.verify.7'] .'<br><br>
- '.$lang->loc['email.verify.8'].'<p>
- '.PATH.'/</p>
- <p>
- '.$lang->loc['email.verify.9'].' <a href="'.PATH.'/email?remove='.$hash.'">'.$lang->loc['email.verify.9.b'].'</a>.
- </p>
- <p>
- '.$lang->loc['email.verify.11'].'<a href="'.PATH.'/help">'.$lang->loc['email.verify.12'].'</a>.
- </p>';
- $mailer = new HoloMail;
- $mailer->sendSimpleMessage($to,$subject,$html);
- }else{
- $serverdb->query("UPDATE ".PREFIX."users SET email_verified = '1' WHERE id = '".$row[0]."' LIMIT 1");
- }
- // Referral
- if($refer == true){
- $data->update1($referrow[0],$settings->find("register_referral_rewards"));
- $db->query("INSERT INTO ".PREFIX."transactions (userid,time,amount,descr) VALUES ('".$referrow[0]."','".time()."','".$settings->find("register_referral_rewards")."','Referring a user.')");
- $data->insert2($row[0],$referrow[0]);
- $_SESSION['referral'] = $referrow[0];
- }
- $user = new HoloUser($name,$password,true);
- $_SESSION['user'] = $user;
- header("Location: ".PATH."/security_check?page=./me");
- exit; // cut off the script
- // And we're done!
- }
- RewriteError();
- require './templates/register_captcha.php';
- break;
- case 'age_gate':
- default:
- require './templates/register_age_gate.php';
- break;
- }
- ?>
Add Comment
Please, Sign In to add comment