public function signIn($user, $remember = false, $con = null) { // signin $this->setAttribute('user_id', $user->getId(), 'sfGuardSecurityUser'); $this->setAuthenticated(true); $this->clearCredentials(); $this->addCredentials($user->getAllPermissionNames()); // save last login $user->setLastLogin(date('Y-m-d h:i:s')); $user->save($con); // remember? if ($remember) { $expiration_age = sfConfig::get('app_sf_guard_plugin_remember_key_expiration_age', 15 * 24 * 3600); // remove old keys Doctrine_Query::create()->delete()->from('sfGuardRememberKey k')->where('created_at < ?', date('Y-m-d H:i:s', time() - $expiration_age))->execute(); // remove other keys from this user Doctrine_Query::create()->delete()->from('sfGuardRememberKey k')->where('k.user_id = ?', $user->getId())->execute(); // generate new keys $key = $this->generateRandomKey(); // save key $rk = new sfGuardRememberKey(); $rk->setRememberKey($key); $rk->setsfGuardUser($user); $rk->setIpAddress($_SERVER['REMOTE_ADDR']); $rk->save($con); // make key as a cookie $remember_cookie = sfConfig::get('app_sf_guard_plugin_remember_cookie_name', 'sfRemember'); sfContext::getInstance()->getResponse()->setCookie($remember_cookie, $key, time() + $expiration_age); } }
public function signIn($user, $remember = false, $con = null) { // signin $this->setAttribute('user_id', $user->getId(), 'sfGuardSecurityUser'); $this->setAuthenticated(true); $this->clearCredentials(); $this->addCredentials($user->getAllPermissionNames()); // save last login $user->setLastLogin(time()); $user->save($con); // remember? if ($remember) { // remove old keys $c = new Criteria(); $expiration_age = sfConfig::get('app_sf_guard_plugin_remember_key_expiration_age', 15 * 24 * 3600); $c->add(sfGuardRememberKeyPeer::CREATED_AT, time() - $expiration_age, Criteria::LESS_THAN); sfGuardRememberKeyPeer::doDelete($c); // remove other keys from this user $c = new Criteria(); $c->add(sfGuardRememberKeyPeer::USER_ID, $user->getId()); sfGuardRememberKeyPeer::doDelete($c); // generate new keys $key = $this->generateRandomKey(); // save key $rk = new sfGuardRememberKey(); $rk->setRememberKey($key); $rk->setSfGuardUser($user); $rk->setIpAddress($_SERVER['REMOTE_ADDR']); $rk->save($con); // make key as a cookie $remember_cookie = sfConfig::get('app_sf_guard_plugin_remember_cookie_name', 'sfRemember'); sfContext::getInstance()->getResponse()->setCookie($remember_cookie, $key, time() + $expiration_age); } }
/** * Filter the query by a related sfGuardRememberKey object * * @param sfGuardRememberKey $sfGuardRememberKey the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return sfGuardUserQuery The current query, for fluid interface */ public function filterBysfGuardRememberKey($sfGuardRememberKey, $comparison = null) { if ($sfGuardRememberKey instanceof sfGuardRememberKey) { return $this->addUsingAlias(sfGuardUserPeer::ID, $sfGuardRememberKey->getUserId(), $comparison); } elseif ($sfGuardRememberKey instanceof PropelCollection) { return $this->usesfGuardRememberKeyQuery()->filterByPrimaryKeys($sfGuardRememberKey->getPrimaryKeys())->endUse(); } else { throw new PropelException('filterBysfGuardRememberKey() only accepts arguments of type sfGuardRememberKey or PropelCollection'); } }
/** * Exclude object from result * * @param sfGuardRememberKey $sfGuardRememberKey Object to remove from the list of results * * @return sfGuardRememberKeyQuery The current query, for fluid interface */ public function prune($sfGuardRememberKey = null) { if ($sfGuardRememberKey) { $this->addCond('pruneCond0', $this->getAliasedColName(sfGuardRememberKeyPeer::USER_ID), $sfGuardRememberKey->getUserId(), Criteria::NOT_EQUAL); $this->addCond('pruneCond1', $this->getAliasedColName(sfGuardRememberKeyPeer::IP_ADDRESS), $sfGuardRememberKey->getIpAddress(), Criteria::NOT_EQUAL); $this->combine(array('pruneCond0', 'pruneCond1'), Criteria::LOGICAL_OR); } return $this; }
/** * Adds an object to the instance pool. * * Propel keeps cached copies of objects in an instance pool when they are retrieved * from the database. In some cases -- especially when you override doSelect*() * methods in your stub classes -- you may need to explicitly add objects * to the cache in order to ensure that the same objects are always returned by doSelect*() * and retrieveByPK*() calls. * * @param sfGuardRememberKey $value A sfGuardRememberKey object. * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). */ public static function addInstanceToPool(sfGuardRememberKey $obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if ($key === null) { $key = serialize(array((string) $obj->getUserId(), (string) $obj->getIpAddress())); } // if key === null self::$instances[$key] = $obj; } }
/** * @param sfGuardRememberKey $sfGuardRememberKey The sfGuardRememberKey object to add. */ protected function doAddsfGuardRememberKey($sfGuardRememberKey) { $this->collsfGuardRememberKeys[] = $sfGuardRememberKey; $sfGuardRememberKey->setsfGuardUser($this); }
public function addsfGuardRememberKey(sfGuardRememberKey $l) { $this->collsfGuardRememberKeys[] = $l; $l->setsfGuardUser($this); }
/** * Signs in the user on the application. * * @param sfGuardUser $user The sfGuardUser id * @param boolean $remember Whether or not to remember the user * @param Doctrine_Connection $con A Doctrine_Connection object */ public function signIn($user, $remember = false, $con = null) { // signin $this->setAttribute('user_id', $user->getId(), 'sfGuardSecurityUser'); $this->setAuthenticated(true); $this->clearCredentials(); $this->addCredentials($user->getAllPermissionNames()); // save last login $user->setLastLogin(date('Y-m-d H:i:s')); $user->save($con); // remember? if ($remember) { $expiration_age = sfConfig::get('app_sf_guard_plugin_remember_key_expiration_age', 15 * 24 * 3600); // remove old keys Doctrine_Core::getTable('sfGuardRememberKey')->createQuery()->delete()->where('created_at < ?', date('Y-m-d H:i:s', time() - $expiration_age))->execute(); // remove other keys from this user Doctrine_Core::getTable('sfGuardRememberKey')->createQuery()->delete()->where('user_id = ?', $user->getId())->execute(); // generate new keys $key = $this->generateRandomKey(); // save key $rk = new sfGuardRememberKey(); $rk->setRememberKey($key); $rk->setUser($user); $rk->setIpAddress($_SERVER['REMOTE_ADDR']); $rk->save($con); // make key as a cookie $remember_cookie = sfConfig::get('app_sf_guard_plugin_remember_cookie_name', 'sfRemember'); //My remember cookie MUST depend on the path and in the future it will on the domain as well. //FIXME: WHEN HAVING A DOMAIN TO ADD IT HERE AS WELL!!!! // AND THE CONFIGURATION PARAMETER ON /config/app.yml!!!! $path = sfConfig::get('app_sf_guard_plugin_remember_cookie_path', '/'); sfContext::getInstance()->getResponse()->setCookie($remember_cookie, $key, time() + $expiration_age, $path); } }
/** * Filter the query by a related sfGuardRememberKey object * * @param sfGuardRememberKey $sfGuardRememberKey the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return sfGuardUserQuery The current query, for fluid interface */ public function filterBysfGuardRememberKey($sfGuardRememberKey, $comparison = null) { return $this->addUsingAlias(sfGuardUserPeer::ID, $sfGuardRememberKey->getUserId(), $comparison); }