コード例 #1
0
// changed cookie and session variable name by a name made with browsertitle
$cookie_site = preg_replace("/[^a-zA-Z0-9]/", "", $prefs['cookie_name']);
$user_cookie_site = 'tiki-user-' . $cookie_site;
// if remember me is enabled, check for cookie where auth hash is stored
// user gets logged in as the first user in the db with a matching hash
if (($prefs['rememberme'] != 'disabled') and (isset($_COOKIE["$user_cookie_site"])) and (!isset($user) and !isset($_SESSION["$user_cookie_site"]))) {
	if ($prefs['feature_intertiki'] == 'y' and !empty($prefs['feature_intertiki_mymaster']) and $prefs['feature_intertiki_sharedcookie'] == 'y') {
		$rpcauth = $userlib->get_remote_user_by_cookie($_COOKIE["$user_cookie_site"]);
		if (is_object($rpcauth)) {
			$response_value = $rpcauth->value();
			if (is_object($response_value)) {
				$user = $response_value->scalarval();
			}
		}
	} else {
		if ($userId = $userlib->get_user_by_cookie($_COOKIE["$user_cookie_site"])) {
			$userInfo = $userlib->get_userid_info($userId);
			$user = $userInfo['login'];
		}
	}
	if (isset($user) && $user) {
		$_SESSION["$user_cookie_site"] = $user;
	}
}
// if the auth method is 'web site', look for the username in $_SERVER
if (($prefs['auth_method'] == 'ws') and (isset($_SERVER['REMOTE_USER']))) {
	if ($userlib->user_exists($_SERVER['REMOTE_USER'])) {
		$user = $_SERVER['REMOTE_USER'];
		$_SESSION["$user_cookie_site"] = $user;
	} elseif ($userlib->user_exists(str_replace("\\\\", "\\", $_SERVER['REMOTE_USER']))) {
		// Check for the domain\username with just one backslash
コード例 #2
0
// changed cookie and session variable name by a name made with siteTitle
$cookie_site = ereg_replace("[^a-zA-Z0-9]", "", $prefs['cookie_name']);
$user_cookie_site = 'tiki-user-' . $cookie_site;
// if remember me is enabled, check for cookie where auth hash is stored
// user gets logged in as the first user in the db with a matching hash
if ($prefs['rememberme'] != 'disabled' and isset($_COOKIE["{$user_cookie_site}"]) and (!isset($user) and !isset($_SESSION["{$user_cookie_site}"]))) {
    if ($prefs['feature_intertiki'] == 'y' and !empty($prefs['feature_intertiki_mymaster']) and $prefs['feature_intertiki_sharedcookie'] == 'y') {
        $rpcauth = $userlib->get_remote_user_by_cookie($_COOKIE["{$user_cookie_site}"]);
        if (is_object($rpcauth)) {
            $response_value = $rpcauth->value();
            if (is_object($response_value)) {
                $user = $response_value->scalarval();
            }
        }
    } else {
        $user = $userlib->get_user_by_cookie($_COOKIE["{$user_cookie_site}"]);
    }
    if ($user) {
        $_SESSION["{$user_cookie_site}"] = $user;
    }
}
// if the auth method is 'web site', look for the username in $_SERVER
if ($prefs['auth_method'] == 'ws' and isset($_SERVER['REMOTE_USER'])) {
    if ($userlib->user_exists($_SERVER['REMOTE_USER'])) {
        $_SESSION["{$user_cookie_site}"] = $_SERVER['REMOTE_USER'];
    } elseif ($userlib->user_exists(str_replace("\\\\", "\\", $_SERVER['REMOTE_USER']))) {
        // Check for the domain\username with just one backslash
        $_SESSION["{$user_cookie_site}"] = str_replace("\\\\", "\\", $_SERVER['REMOTE_USER']);
    } elseif ($userlib->user_exists(substr($_SERVER['REMOTE_USER'], strpos($_SERVER['REMOTE_USER'], "\\") + 2))) {
        // Check for the username without the domain name
        $_SESSION["{$user_cookie_site}"] = substr($_SERVER['REMOTE_USER'], strpos($_SERVER['REMOTE_USER'], "\\") + 2);