function qum_log_in_user()
 {
     if (is_user_logged_in()) {
         return;
     }
     $qum_general_settings = get_option('qum_general_settings');
     if (isset($qum_general_settings['emailConfirmation']) && $qum_general_settings['emailConfirmation'] == 'yes') {
         return;
     }
     if (isset($qum_general_settings['adminApproval']) && $qum_general_settings['adminApproval'] == 'yes') {
         return;
     }
     if (!empty($_POST['username'])) {
         $username = trim($_POST['username']);
     }
     $password = trim($_POST['passw1']);
     /* get user id */
     $user = get_user_by('email', trim($_POST['email']));
     $nonce = wp_create_nonce('autologin-' . $user->ID . '-' . (int) (time() / 60));
     /* define redirect location */
     if ($this->args['redirect_activated'] == 'No') {
         $location = home_url();
     } else {
         if ($this->args['redirect_activated'] == '-') {
             if (!empty($this->args['custom_redirect_after_register_url'])) {
                 $location = $this->args['custom_redirect_after_register_url'];
             } else {
                 $location = home_url();
             }
         } else {
             $location = qum_check_missing_http($this->args['redirect_url']) ? 'http://' . $this->args['redirect_url'] : $this->args['redirect_url'];
         }
     }
     $location .= "/?autologin=true&uid={$user->ID}&_wpnonce={$nonce}";
     return "<script> window.location.replace('{$location}'); </script>";
 }
예제 #2
0
function qum_front_end_login($atts)
{
    extract(shortcode_atts(array('display' => true, 'redirect' => '', 'redirect_url' => '', 'register_url' => '', 'lostpassword_url' => ''), $atts));
    $qum_generalSettings = get_option('qum_general_settings');
    if (!is_user_logged_in()) {
        // set up the form arguments
        $form_args = array('echo' => false, 'id_submit' => 'qum-submit');
        //Add support for "redirect_url" parameter for Login shortcode (will do the same thing as "redirect" - for consistency with Register, Edit Profile shortcodes)
        if (!empty($redirect_url)) {
            $redirect = $redirect_url;
        }
        // maybe set up the redirect argument
        if (empty($redirect)) {
            if (QUICK_USER_MANAGER == 'Quick User Manager Pro') {
                $qum_module_settings = get_option('qum_module_settings');
                if ($qum_module_settings['qum_customRedirect'] == 'show') {
                    //check to see if the redirect location is not an empty string and is activated
                    $login_redirect_settings = get_option('customRedirectSettings');
                    // set up the redirect argument to our redirect page
                    if (trim($login_redirect_settings['afterLoginTarget']) != '' && $login_redirect_settings['afterLogin'] == 'yes') {
                        $redirect_to = trim($login_redirect_settings['afterLoginTarget']);
                        if (qum_check_missing_http($redirect_to)) {
                            $redirect_to = 'http://' . $redirect_to;
                        }
                        $form_args['redirect'] = $redirect_to;
                    }
                }
            }
        } else {
            $form_args['redirect'] = trim($redirect);
        }
        // change the label argument for username is login with email is enabled
        if (isset($qum_generalSettings['loginWith']) && $qum_generalSettings['loginWith'] == 'email') {
            $form_args['label_username'] = __('Email', 'quickusermanager');
        }
        // change the label argument for username on login with username or email when Username and Email is enabled
        if (isset($qum_generalSettings['loginWith']) && $qum_generalSettings['loginWith'] == 'usernameemail') {
            $form_args['label_username'] = __('Username or Email', 'quickusermanager');
        }
        // initialize our form variable
        $login_form = '';
        // display our login errors
        if (isset($_GET['loginerror']) || isset($_POST['loginerror'])) {
            $loginerror = isset($_GET['loginerror']) ? $_GET['loginerror'] : $_POST['loginerror'];
            $loginerror = '<p class="qum-error">' . urldecode(base64_decode($loginerror)) . '</p><!-- .error -->';
            if (isset($_GET['request_form_location'])) {
                if ($_GET['request_form_location'] == 'widget' && !in_the_loop()) {
                    $login_form .= $loginerror;
                } elseif ($_GET['request_form_location'] == 'page' && in_the_loop()) {
                    $login_form .= $loginerror;
                }
            }
        }
        // build our form
        $login_form .= '<div id="qum-login-wrap" class="qum-user-forms">';
        $form_args['lostpassword_url'] = $lostpassword_url;
        $login_form .= wp_login_form(apply_filters('qum_login_form_args', $form_args));
        if (!empty($register_url) || !empty($lostpassword_url)) {
            $login_form .= '<p class="login-register-lost-password">';
            $i = 0;
            if (!empty($register_url)) {
                if (qum_check_missing_http($register_url)) {
                    $register_url = "http://" . $register_url;
                }
                $login_form .= '<a href="' . esc_url($register_url) . '">' . apply_filters('qum_login_register_text', __('Register', 'quickusermanager')) . '</a>';
                $i++;
            }
            if (!empty($lostpassword_url)) {
                if ($i != 0) {
                    $login_form .= ' | ';
                }
                if (qum_check_missing_http($lostpassword_url)) {
                    $lostpassword_url = "http://" . $lostpassword_url;
                }
                $login_form .= '<a href="' . esc_url($lostpassword_url) . '">' . apply_filters('qum_login_lostpass_text', __('Lost your password?', 'quickusermanager')) . '</a>';
            }
            $login_form .= '</p>';
        }
        $login_form .= '</div>';
        return $login_form;
    } else {
        $user_ID = get_current_user_id();
        $qum_user = get_userdata($user_ID);
        if (isset($qum_generalSettings['loginWith']) && $qum_generalSettings['loginWith'] == 'email') {
            $display_name = $qum_user->user_email;
        } elseif ($qum_user->display_name !== '') {
            $display_name = $qum_user->user_login;
        } else {
            $display_name = $qum_user->display_name;
        }
        if (isset($qum_generalSettings['loginWith']) && $qum_generalSettings['loginWith'] == 'usernameemail') {
            if ($qum_user->user_login == Wordpress_Creation_Kit_QUM::wck_generate_slug(trim($qum_user->user_email))) {
                $display_name = $qum_user->user_email;
            } elseif ($qum_user->display_name !== '') {
                $display_name = $qum_user->user_login;
            } else {
                $display_name = $qum_user->display_name;
            }
        }
        $logged_in_message = '<p class="qum-alert">';
        $user_url = '<a href="' . ($authorPostsUrl = get_author_posts_url($qum_user->ID) . '" class="qum-author-url" title="' . $display_name . '">' . $display_name . '</a>');
        $logout_url = '<a href="' . wp_logout_url($redirectTo = qum_curpageurl()) . '" class="qum-logout-url" title="' . __('Log out of this account', 'quickusermanager') . '">' . __('Log out', 'quickusermanager') . ' &raquo;</a>';
        $logged_in_message .= sprintf(__('%1$s', 'quickusermanager'), $logout_url);
        $logged_in_message .= '</p><!-- .qum-alert-->';
        return apply_filters('qum_login_message', $logged_in_message, $qum_user->ID, $display_name);
    }
}