Advertisement
Guest User

Untitled

a guest
Feb 2nd, 2016
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. add_action('template_redirect', 'register_a_user');
  2. function register_a_user(){
  3. if(isset($_GET['do']) && $_GET['do'] == 'register'):
  4. $errors = array();
  5. if(empty($_POST['user']) || empty($_POST['email'])) $errors[] = 'provide a user and email';
  6. if(!empty($_POST['spam'])) $errors[] = 'gtfo spammer';
  7.  
  8. $user_login = esc_attr($_POST['user']);
  9. $user_email = esc_attr($_POST['email']);
  10. require_once(ABSPATH.WPINC.'/registration.php');
  11.  
  12. $sanitized_user_login = sanitize_user($user_login);
  13. $user_email = apply_filters('user_registration_email', $user_email);
  14.  
  15. if(!is_email($user_email)) $errors[] = 'invalid e-mail';
  16. elseif(email_exists($user_email)) $errors[] = 'this email is already registered, bla bla...';
  17.  
  18. if(empty($sanitized_user_login) || !validate_username($user_login)) $errors[] = 'invalid user name';
  19. elseif(username_exists($sanitized_user_login)) $errors[] = 'user name already exists';
  20.  
  21. if(empty($errors)):
  22. $user_pass = wp_generate_password();
  23. $user_id = wp_create_user($sanitized_user_login, $user_pass, $user_email);
  24.  
  25. if(!$user_id):
  26. $errors[] = 'registration failed...';
  27. else:
  28. update_user_option($user_id, 'default_password_nag', true, true);
  29. wp_new_user_notification($user_id, $user_pass);
  30. endif;
  31. endif;
  32.  
  33. if(!empty($errors)) define('REGISTRATION_ERROR', serialize($errors));
  34. else define('REGISTERED_A_USER', $user_email);
  35. endif;
  36. }
  37.  
  38. <?php
  39. if(defined('REGISTRATION_ERROR'))
  40. foreach(unserialize(REGISTRATION_ERROR) as $error)
  41. echo "<div class="error">{$error}</div>";
  42. // errors here, if any
  43.  
  44. elseif(defined('REGISTERED_A_USER'))
  45. echo 'a email has been sent to '.REGISTERED_A_USER;
  46. ?>
  47. <form method="post" action="<?php echo add_query_arg('do', 'register', home_url('/')); ?>">
  48. <label>
  49. User:
  50. <input type="text" name="user" value=""/>
  51. </label>
  52.  
  53. <label>
  54. Email:
  55. <input type="text" name="email" value="" />
  56. </label>
  57.  
  58. <label>
  59. Delete this text:
  60. <input type="text" name="spam" value="some_crappy_spam_protection" />
  61. </label>
  62.  
  63. <input type="submit" value="register" />
  64. </form>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement