Guest User

Untitled

a guest
Oct 30th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.57 KB | None | 0 0
  1. $user = array();
  2. $error = array();
  3. $conditions = '';
  4. $errorscounter = 0;
  5.  
  6. if (
  7. !isset($email)
  8. || $email == ""
  9. || !preg_match(REGEXP_EMAIL, $email))
  10. {
  11. $error[$errorscounter]['error'] = 'Error! Your email address has an error, please make sure you type it correctly.';
  12. $errorscounter++;
  13. }
  14.  
  15. $sql = 'SELECT COUNT(email) AS total FROM '.DB_PREFIX.'users WHERE email = "'.$email.'"';
  16. $result = $db->query($sql);
  17. $row = $result->fetch_assoc();
  18.  
  19. /* Check Cloned email addresses */
  20. if ( $row['total'] > 0)
  21. {
  22. $error[$errorscounter]['error'] = 'Error! Sorry, that email address is already registered.';
  23. $errorscounter++;
  24. }
  25.  
  26. /* Check username */
  27. if (
  28. !isset($username)
  29. || $username == "" ||
  30. !preg_match(REGEXP_USERNAME, $username)
  31. || strlen($username) < USERS_USERNAME_MIN_LEN
  32. || strlen($username) > USERS_USERNAME_MAX_LEN)
  33. {
  34. $error[$errorscounter]['error'] = 'Error! Your username was not formatted correctly. Username must be between '.USERS_USERNAME_MIN_LEN.' and '.USERS_USERNAME_MAX_LEN.' characters long. A-Z, a-z, 0-9, dash and underscore are allowed.';
  35. $errorscounter++;
  36. }
  37.  
  38. $sql = 'SELECT COUNT(username) AS total FROM '.DB_PREFIX.'users WHERE LCASE(`username`)="'.strtolower($username).'"';
  39. $result = $db->query($sql);
  40. $row = $result->fetch_assoc();
  41.  
  42. /* Check username being in use */
  43. if ($row['total'] > 0)
  44. {
  45. $error[$errorscounter]['error'] = 'Error! The username you entered is already in use, please choose another.';
  46. $errorscounter++;
  47. }
  48.  
  49.  
  50. if ($errorscounter>0)
  51. {
  52. return $error;
  53. }
  54. else
  55. {
  56. $params = array('username' => $username,
  57. 'email' => $email);
  58.  
  59. $api_key = rand(1, 10000) . rand(1, 10) . time() . rand(300, 500) . rand(1, 100) . rand(1, 10);
  60.  
  61. $args = array(
  62. 'length' => USERS_PASSWORD_MAX_LEN,
  63. 'alpha_upper_include' => false,
  64. 'alpha_lower_include' => true,
  65. 'number_include' => true,
  66. 'symbol_include' => false
  67. );
  68. $object = new chip_password_generator( $args );
  69. $password = $object->get_password();
  70.  
  71. $sql = 'INSERT INTO '.DB_PREFIX.'users (username, password, email, api_key, created_on)
  72. VALUES ("' . $params['username'] . '",
  73. "' . $password . '",
  74. "' . $params['email'] . '",
  75. "' . $api_key . '",
  76. NOW() )';
  77. $result = $db->query($sql);
  78.  
  79. $current_user = new User($db->insert_id);
  80. $user[] = $current_user->CreateUserApiKey();
  81.  
  82. return $user;
  83. }
Add Comment
Please, Sign In to add comment