示例#1
0
 function demo()
 {
     if (isset($_GET['demo']) && $_GET['demo'] == 'true') {
         if (userpro_is_logged_in()) {
             wp_logout();
         }
         userpro_auto_login('test', true);
     }
 }
示例#2
0
 function twitter_authorize()
 {
     if (userpro_get_option('twitter_connect') == 1 && userpro_get_option('twitter_consumer_key') && userpro_get_option('twitter_consumer_secret')) {
         //when user is going to logged in in twitter and verified successfully session will create
         if (isset($_REQUEST['oauth_verifier']) && isset($_REQUEST['oauth_token'])) {
             //load twitter class
             $this->load_twitter();
             $oauth_token = $_SESSION['twt_oauth_token'];
             $oauth_token_secret = $_SESSION['twt_oauth_token_secret'];
             if (isset($oauth_token) && $oauth_token == $_REQUEST['oauth_token']) {
                 $this->twitter = new TwitterOAuth(userpro_get_option('twitter_consumer_key'), userpro_get_option('twitter_consumer_secret'), $oauth_token, $oauth_token_secret);
                 // Request access tokens from twitter
                 $tw_access_token = $this->twitter->getAccessToken($_REQUEST['oauth_verifier']);
                 //session create for access token & secrets
                 $_SESSION['twt_oauth_token'] = $tw_access_token['oauth_token'];
                 $_SESSION['twt_oauth_token_secret'] = $tw_access_token['oauth_token_secret'];
                 $verifier['oauth_verifier'] = $_REQUEST['oauth_verifier'];
                 $_SESSION['twt_user_cache'] = $verifier;
                 //getting user data from twitter
                 $user_info = $this->twitter->get('account/verify_credentials');
                 $user_info = (array) $user_info;
                 //if user data get successfully
                 if (isset($user_info['id'])) {
                     $data['user'] = $user_info;
                     //all data will assign to a session
                     $_SESSION['twt_user_cache'] = $data;
                     $users = get_users(array('meta_key' => 'twitter_oauth_id', 'meta_value' => $user_info['id'], 'meta_compare' => '='));
                     if (isset($users[0]->ID) && is_numeric($users[0]->ID)) {
                         $returning = $users[0]->ID;
                         $returning_user_login = $users[0]->user_login;
                     } else {
                         $returning = '';
                     }
                     // Authorize user
                     if (userpro_is_logged_in()) {
                         $this->update_twitter_id(get_current_user_id(), $user_info['id']);
                         if (userpro_get_option('twitter_signin_redirect')) {
                             wp_redirect(userpro_get_option('twitter_signin_redirect'));
                         } else {
                             wp_redirect($this->permalink());
                         }
                     } else {
                         if ($returning != '') {
                             userpro_auto_login($returning_user_login, true);
                             if (userpro_get_option('twitter_signin_redirect')) {
                                 wp_redirect(userpro_get_option('twitter_signin_redirect'));
                             } else {
                                 wp_redirect($this->permalink());
                             }
                         } else {
                             if ($user_info['screen_name'] != '' && username_exists($user_info['screen_name'])) {
                                 $user_id = username_exists($user_info['screen_name']);
                                 $user = get_userdata($user_id);
                                 userpro_auto_login($user->user_login, true);
                                 $this->update_twitter_id($user_id, $user_info['id']);
                                 if (userpro_get_option('twitter_signin_redirect')) {
                                     wp_redirect(userpro_get_option('twitter_signin_redirect'));
                                 } else {
                                     wp_redirect($this->permalink());
                                 }
                             } else {
                                 $user_pass = wp_generate_password($length = 12, $include_standard_special_chars = false);
                                 $unique_user = $this->unique_user('twitter', $user_info);
                                 $user_id = $this->new_user($unique_user, $user_pass, '', $user_info, $type = 'twitter');
                                 if (userpro_get_option('twitter_autopost') && userpro_get_option('twitter_autopost_msg')) {
                                     $this->twitter->post('statuses/update', array('status' => userpro_get_option('twitter_autopost_msg')));
                                 }
                                 userpro_auto_login($unique_user, true);
                                 if (userpro_get_option('twitter_signup_redirect')) {
                                     wp_redirect(userpro_get_option('twitter_signup_redirect'));
                                 } else {
                                     wp_redirect($this->permalink());
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
 }
示例#3
0
function userpro_fbconnect()
{
    global $userpro;
    $output = '';
    if (!isset($_POST)) {
        die;
    }
    if ($_POST['action'] != 'userpro_fbconnect') {
        die;
    }
    if (!isset($_POST['id'])) {
        die;
    }
    extract($_POST);
    if (!isset($username) || $username == '' || $username == 'undefined') {
        $username = $email;
    }
    /* Check if facebook uid exists */
    if (isset($id) && $id != '' && $id != 'undefined') {
        $users = get_users(array('meta_key' => 'userpro_facebook_id', 'meta_value' => $id, 'meta_compare' => '='));
        if (isset($users[0]->ID) && is_numeric($users[0]->ID)) {
            $returning = $users[0]->ID;
            $returning_user_login = $users[0]->user_login;
        } else {
            $returning = '';
        }
    } else {
        $returning = '';
    }
    /* If facebook uid exists */
    if ($returning != '') {
        userpro_auto_login($returning_user_login, true);
        if ($redirect == '') {
            $output['redirect_uri'] = 'refresh';
        } elseif ($redirect != 'profile') {
            $output['redirect_uri'] = $redirect;
        } else {
            $output['redirect_uri'] = $userpro->permalink();
        }
        $output['redirect_uri'] = apply_filters('userpro_login_redirect', $output['redirect_uri']);
        /* Email is same, connect them together */
    } else {
        if ($email != '' && email_exists($email)) {
            $user_id = email_exists($email);
            $user = get_userdata($user_id);
            userpro_auto_login($user->user_login, true);
            $userpro->update_fb_id($user_id, $id);
            if ($redirect == '') {
                $output['redirect_uri'] = 'refresh';
            } elseif ($redirect != 'profile') {
                $output['redirect_uri'] = $redirect;
            } else {
                $output['redirect_uri'] = $userpro->permalink();
            }
            $output['redirect_uri'] = apply_filters('userpro_login_redirect', $output['redirect_uri']);
            /* This user already exists! connect them together */
        } else {
            if ($username != '' && username_exists($username)) {
                $user_id = username_exists($username);
                $user = get_userdata($user_id);
                userpro_auto_login($user->user_login, true);
                $userpro->update_fb_id($user_id, $id);
                if ($redirect == '') {
                    $output['redirect_uri'] = 'refresh';
                } elseif ($redirect != 'profile') {
                    $output['redirect_uri'] = $redirect;
                } else {
                    $output['redirect_uri'] = $userpro->permalink();
                }
                $output['redirect_uri'] = apply_filters('userpro_login_redirect', $output['redirect_uri']);
                /* FBID not found, email/user not found - fresh user */
            } else {
                $user_pass = wp_generate_password($length = 12, $include_standard_special_chars = false);
                $user_id = $userpro->new_user($username, $user_pass, $email, $_POST, $type = 'facebook');
                userpro_auto_login($username, true);
                if ($redirect == '') {
                    $output['redirect_uri'] = 'refresh';
                } elseif ($redirect != 'profile') {
                    $output['redirect_uri'] = $redirect;
                } else {
                    $output['redirect_uri'] = $userpro->permalink();
                }
                $output['redirect_uri'] = apply_filters('userpro_register_redirect', $output['redirect_uri']);
            }
        }
    }
    $output = json_encode($output);
    if (is_array($output)) {
        print_r($output);
    } else {
        echo $output;
    }
    die;
}
示例#4
0
文件: ajax.php 项目: Darciro/PPM
function userpro_fbconnect()
{
    global $userpro;
    $output = '';
    if (!isset($_POST)) {
        die;
    }
    if ($_POST['action'] != 'userpro_fbconnect') {
        die;
    }
    if (!isset($_POST['id'])) {
        die;
    }
    if (!isset($_POST['name']) || $_POST['name'] == '' || $_POST['name'] == 'undefined') {
        $username = $_POST['email'];
    } else {
        $username = $_POST['name'];
    }
    /* Check if facebook uid exists */
    if (isset($_POST['id']) && $_POST['id'] != '' && $_POST['id'] != 'undefined') {
        $users = get_users(array('meta_key' => 'userpro_facebook_id', 'meta_value' => $_POST['id'], 'meta_compare' => '='));
        if (isset($users[0]->ID) && is_numeric($users[0]->ID)) {
            $returning = $users[0]->ID;
            $returning_user_login = $users[0]->user_login;
        } else {
            $returning = '';
        }
    } else {
        $returning = '';
    }
    $result = get_user_meta($returning, "userpayment");
    $paymentoption = get_option('userpro_payment');
    /* Check if user is logged in */
    if (userpro_is_logged_in()) {
        $userpro->update_fb_id(get_current_user_id(), $_POST['id']);
        if ($_POST['redirect'] == '') {
            $output['redirect_uri'] = 'refresh';
        } elseif ($_POST['redirect'] != 'profile') {
            $output['redirect_uri'] = wp_validate_redirect($_POST['redirect']);
        } else {
            $output['redirect_uri'] = $userpro->permalink();
        }
        $output['redirect_uri'] = apply_filters('userpro_login_redirect', $output['redirect_uri']);
    } else {
        if ($returning != '') {
            if ($paymentoption['userpro_payment_option'] == 'y') {
                if ($result[0] == "recive" || $result[0] == "") {
                    userpro_auto_login($returning_user_login, true);
                    $userpro->update_fb_id($returning, $_POST['id']);
                    if ($_POST['redirect'] == '') {
                        $output['redirect_uri'] = 'refresh';
                    } elseif ($_POST['redirect'] != 'profile') {
                        $output['redirect_uri'] = wp_validate_redirect($_POST['redirect']);
                    } else {
                        $output['redirect_uri'] = $userpro->permalink();
                    }
                    $output['redirect_uri'] = apply_filters('userpro_login_redirect', $output['redirect_uri']);
                } else {
                    !empty($output['paypal_form']) ? $out = $output['paypal_form'] : ($out = '');
                    $output['paypal_form'] = apply_filters('paymentredirect', $out, $returning);
                }
            } else {
                userpro_auto_login($returning_user_login, true);
                if ($_POST['redirect'] == '') {
                    $output['redirect_uri'] = 'refresh';
                } elseif ($_POST['redirect'] != 'profile') {
                    $output['redirect_uri'] = wp_validate_redirect($_POST['redirect']);
                } else {
                    $output['redirect_uri'] = $userpro->permalink();
                }
                $output['redirect_uri'] = apply_filters('userpro_login_redirect', $output['redirect_uri']);
            }
            /* Email is same, connect them together */
        } else {
            if ($_POST['email'] != '' && email_exists($_POST['email'])) {
                $user_id = email_exists($_POST['email']);
                $user = get_userdata($user_id);
                $result = get_user_meta($user_id, "userpayment");
                $paymentoption = get_option('userpro_payment');
                if ($paymentoption['userpro_payment_option'] == 'y') {
                    if (isset($result[0]) && $result[0] == "recive" || $result[0] == "") {
                        userpro_auto_login($user->user_login, true);
                        $userpro->update_fb_id($user_id, $_POST['id']);
                        if ($_POST['redirect'] == '') {
                            $output['redirect_uri'] = 'refresh';
                        } elseif ($_POST['redirect'] != 'profile') {
                            $output['redirect_uri'] = wp_validate_redirect($_POST['redirect']);
                        } else {
                            $output['redirect_uri'] = $userpro->permalink();
                        }
                        $output['redirect_uri'] = apply_filters('userpro_login_redirect', $output['redirect_uri']);
                    } else {
                        !empty($output['paypal_form']) ? $out = $output['paypal_form'] : ($out = '');
                        $output['paypal_form'] = apply_filters('paymentredirect', $out, $user_id);
                    }
                } else {
                    userpro_auto_login($user->user_login, true);
                    $userpro->update_fb_id($user_id, $_POST['id']);
                    if ($_POST['redirect'] == '') {
                        $output['redirect_uri'] = 'refresh';
                    } elseif ($_POST['redirect'] != 'profile') {
                        $output['redirect_uri'] = wp_validate_redirect($_POST['redirect']);
                    } else {
                        $output['redirect_uri'] = $userpro->permalink();
                    }
                    $output['redirect_uri'] = apply_filters('userpro_login_redirect', $output['redirect_uri']);
                }
                /* This user already exists! connect them together */
            } else {
                if ($username != '' && username_exists($username)) {
                    $user_id = username_exists($username);
                    $user = get_userdata($user_id);
                    if ($paymentoption['userpro_payment_option'] == 'y') {
                        if ($result[0] == "recive" || $result[0] == "") {
                            userpro_auto_login($user->user_login, true);
                            $userpro->update_fb_id($user_id, $_POST['id']);
                            if ($_POST['redirect'] == '') {
                                $output['redirect_uri'] = 'refresh';
                            } elseif ($_POST['redirect'] != 'profile') {
                                $output['redirect_uri'] = wp_validate_redirect($_POST['redirect']);
                            } else {
                                $output['redirect_uri'] = $userpro->permalink();
                            }
                            $output['redirect_uri'] = apply_filters('userpro_login_redirect', $output['redirect_uri']);
                        } else {
                            !empty($output['paypal_form']) ? $out = $output['paypal_form'] : ($out = '');
                            $output['paypal_form'] = apply_filters('paymentredirect', $out, $user_id);
                        }
                    } else {
                        userpro_auto_login($user->user_login, true);
                        $userpro->update_fb_id($user_id, $_POST['id']);
                        if ($_POST['redirect'] == '') {
                            $output['redirect_uri'] = 'refresh';
                        } elseif ($_POST['redirect'] != 'profile') {
                            $output['redirect_uri'] = wp_validate_redirect($_POST['redirect']);
                        } else {
                            $output['redirect_uri'] = $userpro->permalink();
                        }
                        $output['redirect_uri'] = apply_filters('userpro_login_redirect', $output['redirect_uri']);
                    }
                    /* FBID not found, email/user not found - fresh user */
                } else {
                    if ($_POST['email'] !== 'undefined') {
                        $result = get_option('userpro_payment');
                        if ($result['userpro_payment_option'] == 'y') {
                            $user_pass = wp_generate_password($length = 12, $include_standard_special_chars = false);
                            $user_id = $userpro->new_user($username, $user_pass, $_POST['email'], $_POST, $type = 'facebook');
                            update_user_meta($user_id, "userpayment", "notrecive");
                            $userpro->pending_admin_approve($user_id, $user_pass, $form = "");
                            !empty($output['paypal_form']) ? $out = $output['paypal_form'] : ($out = '');
                            $output['paypal_form'] = apply_filters('paymentredirect', $out, $user_id);
                        } else {
                            $user_pass = wp_generate_password($length = 12, $include_standard_special_chars = false);
                            $user_id = $userpro->new_user($username, $user_pass, $_POST['email'], $_POST, $type = 'facebook');
                            userpro_auto_login($username, true);
                            if ($_POST['redirect'] == '') {
                                $output['redirect_uri'] = 'refresh';
                            } elseif ($_POST['redirect'] != 'profile') {
                                $output['redirect_uri'] = wp_validate_redirect($_POST['redirect']);
                            } else {
                                $output['redirect_uri'] = $userpro->permalink();
                            }
                            $output['redirect_uri'] = apply_filters('userpro_register_redirect', $output['redirect_uri']);
                        }
                    }
                }
            }
        }
    }
    $output = json_encode($output);
    if (is_array($output)) {
        print_r($output);
    } else {
        echo $output;
    }
    die;
}