Advertisement
Guest User

Untitled

a guest
Oct 21st, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.94 KB | None | 0 0
  1. <?php
  2. User::logged_in_redirect();
  3.  
  4. /* Initiate captcha */
  5. include_once 'core/classes/Captcha.php';
  6. $captcha = new Captcha($settings->recaptcha, $settings->public_key, $settings->private_key);
  7.  
  8. if(!empty($_POST)) {
  9. /* Clean some posted variables */
  10. $_POST['username'] = filter_var($_POST['username'], FILTER_SANITIZE_STRING);
  11. $_POST['name'] = filter_var($_POST['name'], FILTER_SANITIZE_STRING);
  12. $_POST['email'] = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
  13.  
  14. /* Define some variables */
  15. $fields = ['username', 'name', 'email' ,'password'];
  16.  
  17. /* Check for any errors */
  18. foreach($_POST as $key=>$value) {
  19. if(empty($value) && in_array($key, $fields) == true) {
  20. $_SESSION['error'][] = $language->global->error_message->empty_fields;
  21. break 1;
  22. }
  23. }
  24. if(!$captcha->is_valid()) {
  25. $_SESSION['error'][] = $language->global->error_message->invalid_captcha;
  26. }
  27. if(strlen($_POST['username']) < 3 || strlen($_POST['username']) > 32) {
  28. $_SESSION['error'][] = $language->register->error_message->username_length;
  29. }
  30. if(strlen($_POST['name']) < 3 || strlen($_POST['name']) > 32) {
  31. $_SESSION['error'][] = $language->register->error_message->name_length;
  32. }
  33. if(Database::exists('user_id', 'users', ['username' => $_POST['username']])) {
  34. $_SESSION['error'][] = sprintf($language->register->error_message->user_exists, $_POST['username']);
  35. }
  36. if(Database::exists('user_id', 'users', ['email' => $_POST['email']])) {
  37. $_SESSION['error'][] = $language->register->error_message->email_exists;
  38. }
  39. if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) == false) {
  40. $_SESSION['error'][] = $language->register->error_message->invalid_email;
  41. }
  42. if(strlen(trim($_POST['password'])) < 6) {
  43. $_SESSION['error'][] = $language->register->error_message->short_password;
  44. }
  45. $regex = '/^[A-Za-z0-9]+[A-Za-z0-9_.]*[A-Za-z0-9]+$/';
  46. if(!preg_match($regex, $_POST['username'])) {
  47. $_SESSION['error'][] = $language->register->error_message->username_characters;
  48. }
  49.  
  50.  
  51.  
  52.  
  53. /* If there are no errors continue the registering process */
  54. if(empty($_SESSION['error'])) {
  55. /* Define some needed variables */
  56. $password = User::encrypt_password($_POST['username'], $_POST['password']);
  57. $active = ($settings->email_confirmation == 0) ? '1' : '0';
  58. @$email_code = md5($_POST['email'] + microtime());
  59. $date = new DateTime();
  60. $date = $date->format('Y-m-d H:i:s');
  61.  
  62. /* Add the user to the database */
  63. $stmt = $database->prepare("INSERT INTO `users` (`username`, `password`, `email`, `email_activation_code`, `name`, `active`, `ip`, `date`) VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
  64. $stmt->bind_param('ssssssss', $_POST['username'], $password, $_POST['email'], $email_code, $_POST['name'], $active, $_SERVER['REMOTE_ADDR'], $date);
  65. $stmt->execute();
  66. $stmt->close();
  67.  
  68. /* If active = 1 then login the user, else send the user an activation email */
  69. if($active == '1') {
  70. $_SESSION['user_id'] = User::login($_POST['username'], $password);
  71. $_SESSION['success'] = $language->register->success_message->login;
  72. redirect();
  73. } else {
  74. $_SESSION['success'][] = $language->register->success_message->registration;
  75. sendmail($_POST['email'], $settings->contact_email, $language->register->email->title, sprintf($language->register->email->content, $settings->url, $_POST['email'], $email_code));
  76. //printf($language->register->email->content, $settings->url, $_POST['email'], $email_code);
  77. }
  78. }
  79.  
  80. display_notifications();
  81.  
  82. }
  83.  
  84. ?>
  85.  
  86.  
  87. <div class="d-flex justify-content-center">
  88. <div class="card animated fadeIn col-md-5">
  89. <div class="card-body">
  90.  
  91. <h4 class="card-title"><?php echo $language->register->header; ?></h4>
  92.  
  93. <form action="register" method="post" role="form">
  94. <div class="form-group">
  95. <label><?php echo $language->register->input->username; ?></label>
  96. <input type="text" name="username" class="form-control" placeholder="<?php echo $language->register->input->username; ?>" />
  97. </div>
  98.  
  99. <div class="form-group">
  100. <label><?php echo $language->register->input->name; ?></label>
  101. <input type="text" name="name" class="form-control" placeholder="<?php echo $language->register->input->name; ?>" />
  102. </div>
  103.  
  104. <div class="form-group">
  105. <label><?php echo $language->register->input->email; ?></label>
  106. <input type="text" name="email" class="form-control" placeholder="<?php echo $language->register->input->email; ?>" />
  107. </div>
  108.  
  109. <div class="form-group">
  110. <label><?php echo $language->register->input->password; ?></label>
  111. <input type="password" name="password" class="form-control" placeholder="<?php echo $language->register->input->password; ?>" />
  112. </div>
  113.  
  114. <div class="form-group">
  115. <?php $captcha->display(); ?>
  116. </div>
  117.  
  118. <div class="form-group">
  119. <button type="submit" name="submit" class="btn btn-primary"><?php echo $language->global->submit_button; ?></button>
  120. <br />
  121. </div>
  122. </form>
  123. </div>
  124. </div>
  125. </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement