Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Check if there is still pending registration for specific username
- * @param $username
- */
- function dg_check_pending_registration($username) {
- global $wpdb;
- $table = $wpdb->prefix . 'signups';
- $query = $wpdb->prepare("SELECT COUNT(*) as count FROM {$table} WPS WHERE WPS.user_login='%s'", $username);
- $total = $wpdb->get_var($query);
- return $total > 0;
- }
- /**
- * Generate username
- *
- * @param $form
- * @param $feed
- * @param $entry
- *
- * @return string
- */
- function dg_gf_generate_username($form, $feed, $entry) {
- $username = "";
- // This is taking the field ids directly from User Registration feed (first name and last name)
- $firstname = rgar($entry, $feed['meta']['first_name']);
- $lastname = rgar($entry, $feed['meta']['last_name']);
- if (!empty($firstname) || !empty($lastname)) {
- $username = '';
- if (!empty($firstname)) {
- $username.= $firstname;
- }
- if (!empty($lastname)) {
- $username.= $lastname;
- }
- $username = strtolower($username);
- }
- // Generate random username, append numbers to joe if needed.
- if (username_exists($username) || dg_check_pending_registration($username)) {
- $i = 2;
- while (username_exists($username . $i) || dg_check_pending_registration($username . $i)) {
- $i++;
- }
- $username = $username . $i;
- };
- return $username;
- }
- /**
- * Generate WordPress username
- * @param $username
- * @param $feed
- * @param $form
- * @param $entry
- *
- * @return string
- */
- function dg_gform_username($username, $feed, $form, $entry) {
- if (!function_exists('username_exists')) {
- require_once (ABSPATH . WPINC . '/registration.php');
- }
- $_username = dg_gf_generate_username($form, $feed, $entry);
- if (!empty($_username)) {
- $username = $_username;
- }
- return $username;
- }
- add_filter('gform_username', 'dg_gform_username', 0, 4);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement