Example #1
0
//if (
//	(! empty ($cgi->username) && ! empty ($cgi->password)) ||
//	! empty ($cookie->{$_sconf['Handler']['cookiename']})
//	) {
$sources = array();
foreach ($_sconf as $k => $v) {
    if (strpos($k, 'Source ') === 0) {
        $sources[$v['driver']] = $v;
    }
}
list($user, $pass, $id) = @Session::gatherParameters($_sconf['Handler']['driver'], $_sconf['Handler']['cookiename']);
$session = new Session($_sconf['Handler']['driver'], array_keys($sources), $_sconf['Store']['driver'], $user, $pass, $id);
$session->init($_sconf['Session']['path']);
$session->setTimeout($_sconf['Session']['timeout']);
foreach ($sources as $k => $v) {
    $session->setSourceProperties($k, $v);
}
$session->setHandlerProperties($_sconf['Handler']);
$session->setStoreProperties($_sconf['Store']);
if ($_sconf['Handler']['driver'] == 'Cookie' && $conf['Site']['secure']) {
    $session->handler->cookiesecure = true;
    $session->store->cookiesecure = 1;
}
if (!empty($cgi->username) || !empty($cookie->{$_sconf['Handler']['cookiename']})) {
    if ($cookie->sitemember_remember > 0) {
        $session->handler->cookieexpires = $cookie->sitemember_remember;
        $session->setTimeout($cookie->sitemember_remember);
        $cookie->set('sitemember_remember', $cookie->sitemember_remember, $cookie->sitemember_remember, '/', site_domain(), site_secure());
    }
    $session->start();
}