Advertisement
Guest User

Untitled

a guest
Mar 26th, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. <?php
  2. /**
  3. * Check if there is still pending registration for specific username
  4. * @param $username
  5. */
  6.  
  7. function dg_check_pending_registration($username) {
  8. global $wpdb;
  9. $table = $wpdb->prefix . 'signups';
  10. $query = $wpdb->prepare("SELECT COUNT(*) as count FROM {$table} WPS WHERE WPS.user_login='%s'", $username);
  11. $total = $wpdb->get_var($query);
  12. return $total > 0;
  13. }
  14.  
  15. /**
  16. * Generate username
  17. *
  18. * @param $form
  19. * @param $feed
  20. * @param $entry
  21. *
  22. * @return string
  23. */
  24.  
  25. function dg_gf_generate_username($form, $feed, $entry) {
  26. $username = "";
  27. // This is taking the field ids directly from User Registration feed (first name and last name)
  28. $firstname = rgar($entry, $feed['meta']['first_name']);
  29. $lastname = rgar($entry, $feed['meta']['last_name']);
  30. if (!empty($firstname) || !empty($lastname)) {
  31. $username = '';
  32. if (!empty($firstname)) {
  33. $username.= $firstname;
  34. }
  35. if (!empty($lastname)) {
  36. $username.= $lastname;
  37. }
  38. $username = strtolower($username);
  39. }
  40. // Generate random username, append numbers to joe if needed.
  41. if (username_exists($username) || dg_check_pending_registration($username)) {
  42. $i = 2;
  43. while (username_exists($username . $i) || dg_check_pending_registration($username . $i)) {
  44. $i++;
  45. }
  46. $username = $username . $i;
  47. };
  48. return $username;
  49. }
  50.  
  51. /**
  52. * Generate WordPress username
  53. * @param $username
  54. * @param $feed
  55. * @param $form
  56. * @param $entry
  57. *
  58. * @return string
  59. */
  60.  
  61. function dg_gform_username($username, $feed, $form, $entry) {
  62. if (!function_exists('username_exists')) {
  63. require_once (ABSPATH . WPINC . '/registration.php');
  64. }
  65. $_username = dg_gf_generate_username($form, $feed, $entry);
  66. if (!empty($_username)) {
  67. $username = $_username;
  68. }
  69. return $username;
  70. }
  71. add_filter('gform_username', 'dg_gform_username', 0, 4);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement