/** * Set logged_user value * * @access public * @param User $value * @param boolean $remember Remember this user for 2 weeks (configurable) * @param DateTimeValue $set_last_activity_time Set last activity time. This property is turned off in case of feed * login for instance * @return null * @throws DBQueryError */ function setLoggedUser(User $user, $remember = false, $set_last_activity_time = true) { if ($set_last_activity_time) { $user->setLastActivity(DateTimeValueLib::now()); $user->save(); } // if $expiration = $remember ? REMEMBER_LOGIN_LIFETIME : SESSION_LIFETIME; Cookie::setValue('id' . TOKEN_COOKIE_NAME, $user->getId(), $expiration); Cookie::setValue(TOKEN_COOKIE_NAME, $user->getTwistedToken(), $expiration); if ($remember) { Cookie::setValue('remember' . TOKEN_COOKIE_NAME, 1, $expiration); } else { Cookie::unsetValue('remember' . TOKEN_COOKIE_NAME); } // if $this->logged_user = $user; }
/** * Set logged_user value * * @access public * @param Contact $value * @param boolean $remember Remember this user for 2 weeks (configurable) * @param DateTimeValue $set_last_activity_time Set last activity time. This property is turned off in case of feed * login for instance * @return null * @throws DBQueryError */ function setLoggedUser(Contact $user, $remember = false, $set_last_activity_time = true, $set_cookies = true) { if ($set_last_activity_time) { $last_activity_mod_timestamp = array_var($_SESSION, 'last_activity_mod_timestamp', null); if (!$last_activity_mod_timestamp || $last_activity_mod_timestamp < time() - 60 * 10) { $sql = "UPDATE " . TABLE_PREFIX . "contacts SET last_activity = '" . DateTimeValueLib::now()->toMySQL() . "' WHERE object_id = " . $user->getId(); DB::execute($sql); $_SESSION['last_activity_mod_timestamp'] = time(); } } if ($set_cookies) { $expiration = $remember ? REMEMBER_LOGIN_LIFETIME : SESSION_LIFETIME; Cookie::setValue('id', $user->getId(), $expiration); Cookie::setValue('token', $user->getTwistedToken(), $expiration); if ($remember) { Cookie::setValue('remember', 1, $expiration); } else { Cookie::unsetValue('remember'); } // if } $this->logged_user = $user; }
/** * Set logged_user value * * @access public * @param User $value * @param boolean $remember Remember this user * @param boolean $set_last_activity_time Turned off in case of feed login * @return null * @throws DBQueryError */ function setLoggedUser(User $user, $remember = false, $set_last_activity_time = true, $set_cookies = true) { trace(__FILE__, 'setLoggedUser():begin'); if ($set_last_activity_time) { $user->setLastActivity(DateTimeValueLib::now()); trace(__FILE__, 'setLoggedUser():user->save()'); $user->save(); } // if if ($set_cookies) { $expiration = $remember ? config_option('remember_login_lifetime', 3600) : 3600; Cookie::setValue('id' . TOKEN_COOKIE_NAME, $user->getId(), $expiration); Cookie::setValue(TOKEN_COOKIE_NAME, $user->getTwistedToken(), $expiration); if ($remember) { Cookie::setValue('remember' . TOKEN_COOKIE_NAME, 1, $expiration); } else { Cookie::unsetValue('remember' . TOKEN_COOKIE_NAME); } // if } // if trace(__FILE__, 'setLoggedUser():end'); $this->logged_user = $user; }
/** * Set logged_user value * * @access public * @param Contact $value * @param boolean $remember Remember this user for 2 weeks (configurable) * @param DateTimeValue $set_last_activity_time Set last activity time. This property is turned off in case of feed * login for instance * @return null * @throws DBQueryError */ function setLoggedUser(Contact $user, $remember = false, $set_last_activity_time = true, $set_cookies = true) { if ($set_last_activity_time) { $last_activity_mod_timestamp = array_var($_SESSION, 'last_activity_mod_timestamp', null); if (!isset($_SESSION['last_activity_updating']) && (!$last_activity_mod_timestamp || $last_activity_mod_timestamp < time() - 60 * 10)) { $_SESSION['last_activity_updating'] = true; $now = DateTimeValueLib::now(); if (is_null($user->getLastActivity())) { $last_visit = $now; } else { $last_visit = $user->getLastActivity(); } $sql = "UPDATE " . TABLE_PREFIX . "contacts SET last_activity = '" . $now->toMySQL() . "',\r\n\t\t\t\t \t\tlast_visit = '" . ($last_visit instanceof DateTimeValue ? $last_visit->toMySQL() : EMPTY_DATETIME) . "', last_login='******'\r\n\t\t\t\t \t\tWHERE object_id = " . $user->getId(); DB::execute($sql); $_SESSION['last_activity_mod_timestamp'] = time(); unset($_SESSION['last_activity_updating']); } } if ($set_cookies) { $expiration = $remember ? REMEMBER_LOGIN_LIFETIME : SESSION_LIFETIME; Cookie::setValue('id', $user->getId(), $expiration); Cookie::setValue('token', $user->getTwistedToken(), $expiration); if ($remember) { Cookie::setValue('remember', 1, $expiration); } else { Cookie::unsetValue('remember'); } // if } $this->logged_user = $user; }
/** * Set logged_user value * * @access public * @param User $value * @param boolean $remember Remember this user for 2 weeks (configurable) * @param DateTimeValue $set_last_activity_time Set last activity time. This property is turned off in case of feed * login for instance * @return null * @throws DBQueryError */ function setLoggedUser(User $user, $remember = false, $set_last_activity_time = true, $set_cookies = true) { if ($set_last_activity_time) { $last_activity_mod_timestamp = array_var($_SESSION, 'last_activity_mod_timestamp', null); if (!$last_activity_mod_timestamp || $last_activity_mod_timestamp < time() - 60 * 10) { $user->setLastActivity(DateTimeValueLib::now()); // Disable updating user info $old_updated_on = $user->getUpdatedOn(); $user->setUpdatedOn(DateTimeValueLib::now()); $user->setUpdatedOn($old_updated_on); $user->save(); $_SESSION['last_activity_mod_timestamp'] = time(); } } // if if ($set_cookies) { $expiration = $remember ? REMEMBER_LOGIN_LIFETIME : SESSION_LIFETIME; Cookie::setValue('id', $user->getId(), $expiration); Cookie::setValue('token', $user->getTwistedToken(), $expiration); Cookie::setValue('cn', md5(array_var($_SERVER, 'REMOTE_ADDR', ""))); if ($remember) { Cookie::setValue('remember', 1, $expiration); } else { Cookie::unsetValue('remember'); } // if } $this->logged_user = $user; }