示例#1
0
 /**
  *  Auto-login users on confirmation page, using a login token, or as a result of a social media login
  */
 public function doAutoLogin($userId = "", $redirectUrl = "")
 {
     if (!is_user_logged_in()) {
         if (empty($userId) || empty($redirectUrl)) {
             $userId = 0;
             $crntUrl = MM_Utils::constructPageUrl();
             $isConfirmationPage = MM_CorePageEngine::isConfirmationPageByUrl($crntUrl);
             if ($isConfirmationPage) {
                 // validate transaction key
                 $userId = 0;
                 if (isset($_REQUEST[MM_Session::$KEY_TRANSACTION_KEY])) {
                     $transRef = MM_TransactionKey::getTransactionByKey($_REQUEST[MM_Session::$KEY_TRANSACTION_KEY]);
                     $userId = $transRef->isValid() ? $transRef->getUserId() : 0;
                     $redirectUrl = MM_Utils::constructPageUrl();
                 }
                 // invalid transaction key
                 if ($userId == 0) {
                     $url = MM_CorePageEngine::getUrl(MM_CorePageType::$ERROR, MM_Error::$ACCESS_DENIED);
                     wp_redirect($url);
                     exit;
                 }
             } else {
                 if (isset($_REQUEST[MM_Session::$PARAM_LOGIN_TOKEN])) {
                     $loginToken = MM_LoginToken::getLoginTokenByToken($_REQUEST[MM_Session::$PARAM_LOGIN_TOKEN]);
                     $userId = $loginToken->isValid() ? $loginToken->getUserId() : 0;
                     $redirectUrl = preg_replace("/" . MM_Session::$PARAM_LOGIN_TOKEN . "=[^&]*/", "", MM_Utils::constructPageUrl());
                 }
             }
         }
         if ($userId > 0) {
             $user = new MM_User($userId);
             if ($user->isValid() && ($user->getStatus() == MM_Status::$ACTIVE || $user->getStatus() == MM_Status::$PENDING_CANCELLATION || $user->getStatus() == MM_Status::$PAUSED || $user->getStatus() == MM_Status::$OVERDUE)) {
                 MM_ActivityLog::log($user, MM_ActivityLog::$EVENT_TYPE_LOGIN);
                 wp_set_auth_cookie($userId, true, MM_Utils::isSSL());
                 wp_set_current_user($userId);
                 wp_redirect($redirectUrl);
                 exit;
             }
         }
     }
 }
示例#2
0
文件: view.php 项目: huynp/Critical
/**
 * 
 * MemberMouse(TM) (http://www.membermouse.com)
 * (c) MemberMouse, LLC. All rights reserved.
 */
MM_MemberMouseService::validateLicense(new MM_License());
$crntPage = MM_ModuleUtils::getPage();
$primaryTab = MM_ModuleUtils::getPrimaryTab();
$module = MM_ModuleUtils::getModule();
if (isset($_REQUEST[MM_Session::$PARAM_USER_ID])) {
    $user = new MM_User($_REQUEST[MM_Session::$PARAM_USER_ID]);
} else {
    $user = new MM_User();
}
$resourceUrl = MM_RESOURCES_URL;
if (MM_Utils::isSSL()) {
    $resourceUrl = preg_replace("/(http\\:)/", "https:", MM_RESOURCES_URL);
}
if (version_compare(get_bloginfo('version'), "3.8", ">=")) {
    ?>
<!-- override WordPress 3.8 styles -->
<style>
#wpwrap
{
	background-color: #fff;
}
.ui-widget 
{
	font-size:1em;
}
textarea, input, select
示例#3
0
 public static function constructPageUrl()
 {
     $pageURL = "http://";
     if (MM_Utils::isSSL() == true || isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on" || isset($_SERVER["SERVER_PORT"]) && $_SERVER["SERVER_PORT"] == "443" || stripos(get_option('siteurl'), 'https://') === 0) {
         $pageURL = "https://";
     }
     if ($_SERVER["SERVER_PORT"] != "80" && $_SERVER["SERVER_PORT"] != "443") {
         $pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"];
     } else {
         $pageURL .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
     }
     return $pageURL;
 }