public
Last active

WP User Frontend Login with Email

  • Download Gist
wppb.login.php
PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
<?php
/* wp_signon can only be executed before anything is outputed in the page because of that we're adding it to the init hook */
global $wppb_login;
$wppb_login = false;
 
function wppb_signon(){
global $error;
global $wppb_login;
 
if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'log-in' && wp_verify_nonce($_POST['login_nonce_field'],'verify_true_login') && ($_POST['formName'] == 'login') ){
if (isset($_POST['remember-me']))
$remember = $_POST['remember-me'];
else $remember = false;
$wppb_login = wp_signon( array( 'user_login' => get_user_by('email', $_POST['user-name']) -> user_login, 'user_password' => $_POST['password'], 'remember' => $_POST['remember-me'] ), false );
}elseif (isset($_GET['userName']) && isset($_GET['passWord'])){
$remember = true;
$username = $_GET['userName'];
$password = base64_decode($_GET['passWord']);
$wppb_login = wp_signon( array( 'user_login' => get_user_by('email', $username) -> user_login, 'user_password' => $password, 'remember' => $remember ), false );
}
}
add_action('init', 'wppb_signon');
 
function wppb_front_end_login( $atts ){
$loginFilterArray = array();
ob_start();
global $wppb_login;
 
extract(shortcode_atts(array('display' => true, 'redirect' => '', 'submit' => 'page'), $atts));
echo '<div class="wppb_holder" id="wppb_login">';
if ( is_user_logged_in() ){ // Already logged in
global $user_ID;
$wppb_user = get_userdata( $user_ID );
if($wppb_user->display_name == ''){
$wppb_user->display_name = $wppb_user->user_login;
}
$loginFilterArray['loginMessage1'] = '<p class="alert">'. sprintf(__('You are currently logged in as %1$s. %2$s', 'profilebuilder'), '<a href="'.$authorPostsUrl = get_author_posts_url( $wppb_user->ID ).'" title="'.$wppb_user->display_name.'">'.$wppb_user->display_name.'</a>', '<a href="'.wp_logout_url( $redirectTo = wppb_curpageurl() ).'" title="'. __('Log out of this account', 'profilebuilder').'">'. __('Log out', 'profilebuilder').' &raquo;</a>') . '</p><!-- .alert-->';
echo $loginFilterArray['loginMessage1'] = apply_filters('wppb_login_login_message1', $loginFilterArray['loginMessage1'], $wppb_user->ID, $wppb_user->display_name);
}elseif ( isset($wppb_login->ID) ){ // Successful login
if($wppb_login->display_name == ''){
$wppb_login->display_name = $wppb_login->user_login;
}
 
$loginFilterArray['loginMessage2'] = '<p class="success">'. sprintf(__('You have successfully logged in as %1$s', 'profilebuilder'), '<a href="'.$authorPostsUrl = get_author_posts_url( $wppb_login->ID ).'" title="'.$wppb_login->display_name.'">'.$wppb_login->display_name.'</a>') . '</p><!-- .success-->';
echo $loginFilterArray['loginMessage2'] = apply_filters('wppb_login_login_message2', $loginFilterArray['loginMessage2'], $wppb_login->ID, $wppb_login->display_name);
if (isset($_POST['button']) && isset($_POST['formName']) ){
if ($_POST['formName'] == 'login'){
if ($_POST['button'] == 'page'){
$permaLnk2 = '/upload-a-passport-photo/';//wppb_curpageurl();
$wppb_addon_settings = get_option('wppb_addon_settings'); //fetch the descriptions array
if ($wppb_addon_settings['wppb_customRedirect'] == 'show'){
//check to see if the redirect location is not an empty string and is activated
$customRedirectSettings = '/upload-a-passport-photo/';
if ((trim($customRedirectSettings['afterLoginTarget']) != '') && ($customRedirectSettings['afterLogin'] == 'yes')){
$permaLnk2 = trim($customRedirectSettings['afterLoginTarget']);
if (wppb_check_missing_http($permaLnk2))
$permaLnk2 = 'http://'. $permaLnk2;
}
}
$loginFilterArray['redirectMessage'] = '<font id="messageTextColor">' . sprintf(__('You will soon be redirected automatically. If you see this page for more than 1 second, please click %1$s', 'profilebuilder'), '<a href="'.$permaLnk2.'">'. __('here', 'profilebuilder').'</a>.<meta http-equiv="Refresh" content="1;url='.$permaLnk2.'" />') . '</font><br/><br/>';
echo $loginFilterArray['redirectMessage'] = apply_filters('wppb_login_redirect_message', $loginFilterArray['redirectMessage'], $permaLnk2);
 
}elseif($_POST['button'] == 'widget'){
$permaLnk2 = wppb_curpageurl();
if ($redirect != '')
$permaLnk2 = trim($redirect);
 
$loginFilterArray['widgetRedirectMessage'] = '<font id="messageTextColor">' . sprintf(__('You will soon be redirected automatically. If you see this page for more than 1 second, please click %1$s', 'profilebuilder'), '<a href="'.$permaLnk2.'">'. __('here', 'profilebuilder').'</a>.<meta http-equiv="Refresh" content="1;url='.$permaLnk2.'" />') . '</font><br/><br/>';
echo $loginFilterArray['widgetRedirectMessage'] = apply_filters('wppb_login_widget_redirect_message', $loginFilterArray['widgetRedirectMessage'], $permaLnk2);
}
}
}
}else{ // Not logged in
 
if (!empty( $_POST['action'] ) && isset($_POST['formName']) ){
if ($_POST['formName'] == 'login'){
?>
<p class="error">
<?php
if ( trim($_POST['user-name']) == ''){
$loginFilterArray['emptyUsernameError'] = '<strong>'. __('ERROR:','profilebuilder').'</strong> '. __('The username field is empty', 'profilebuilder').'.';
$loginFilterArray['emptyUsernameError'] = apply_filters('wppb_login_empty_username_error_message', $loginFilterArray['emptyUsernameError']);
echo $loginFilterArray['emptyUsernameError'];
}
if ( is_wp_error($wppb_login) ){
print_r(get_user_by('email', $_POST['user-name']) -> user_login);
$loginFilterArray['wpError'] = $wppb_login->get_error_message();
$loginFilterArray['wpError'] = apply_filters('wppb_login_wp_error_message', $loginFilterArray['wpError'],$wppb_login);
echo $loginFilterArray['wpError'];
}
?>
</p><!-- .error -->
<?php
}
}
/* use this action hook to add extra content before the login form. */
do_action( 'wppb_before_login' );?>
<form action="<?php wppb_curpageurl(); ?>" method="post" class="sign-in" name="loginForm">
<?php
if (isset($_POST['user-name']))
$userName = esc_html( $_POST['user-name'] );
else $userName = '';
$loginFilterArray['loginUsername'] = '
<p class="login-form-username">
<label for="user-name">'. __('Email', 'profilebuilder') .'</label>
<input type="text" name="user-name" id="user-name" class="text-input" value="'.$userName.'" />
</p><!-- .form-username -->';
$loginFilterArray['loginUsername'] = apply_filters('wppb_login_username', $loginFilterArray['loginUsername'], $userName);
echo $loginFilterArray['loginUsername'];
 
$loginFilterArray['loginPassword'] = '
<p class="login-form-password">
<label for="password">'. __('Password', 'profilebuilder') .'</label>
<input type="password" name="password" id="password" class="text-input" />
</p><!-- .form-password -->';
$loginFilterArray['loginPassword'] = apply_filters('wppb_login_password', $loginFilterArray['loginPassword']);
echo $loginFilterArray['loginPassword'];
?>
<p class="login-form-submit">
<input type="submit" name="submit" class="submit button" value="<?php _e('Log in', 'profilebuilder'); ?>" />
<?php
$loginFilterArray['rememberMe'] = '
<input class="remember-me checkbox" name="remember-me" id="remember-me" type="checkbox" checked="checked" value="forever" />
<label for="remember-me">'. __('Remember me', 'profilebuilder').'</label>';
$loginFilterArray['rememberMe'] = apply_filters('wppb_login_remember_me', $loginFilterArray['rememberMe']);
echo $loginFilterArray['rememberMe'];
?>
 
<input type="hidden" name="action" value="log-in" />
<input type="hidden" name="button" value="<?php echo $submit;?>" />
<input type="hidden" name="formName" value="login" />
</p><!-- .form-submit -->
<?php
if ($display === true){
$siteURL=get_option('siteurl').'/wp-login.php?action=lostpassword';
$siteURL = apply_filters('wppb_pre_login_url_filter', $siteURL);
$loginFilterArray['loginURL'] = '
<p>
<a href="'.$siteURL.'">'. __('Lost password?', 'profilebuilder').'</a>
<a href="'.home_url('/registration').'">'. __('Register', 'profilebuilder').'</a>
</p>';
$loginFilterArray['loginURL'] = apply_filters('wppb_login_url', $loginFilterArray['loginURL'], $siteURL);
echo $loginFilterArray['loginURL'];
}
wp_nonce_field('verify_true_login','login_nonce_field'); ?>
</form><!-- .sign-in -->
 
<?php
}
/* use this action hook to add extra content after the login form. */
do_action( 'wppb_after_login' );?>
</div>
<?php
$output = ob_get_contents();
ob_end_clean();
$loginFilterArray = apply_filters('wppb_login', $loginFilterArray);
 
return $output;
}

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.