public static function check() { if (!empty($_COOKIE['remembered'])) { $query = new SelectQuery('PersistUser'); $persist = $query->filter('MD5(CONCAT(`id`, `user_id`, `random`)) = :hash')->fetchAssoc(array(':hash' => $_COOKIE['remembered'])); if ($persist) { //Get User $User = self::getObject('BackendUser'); if (!$User instanceof DBObject) { return false; } $query = BackendUser::getQuery(); $query->filter('`backend_users`.`id` = :id'); $params = array(':id' => $persist['user_id']); $User->read(array('query' => $query, 'parameters' => $params, 'mode' => 'object')); if ($User->object) { $_SESSION['BackendUser'] = $User->object; //Remove, and reremember if (self::remember($User->object)) { $query = new DeleteQuery('PersistUser'); $query->filter('`id` = :id')->limit(1); $query->execute(array(':id' => $persist['id'])); } else { Backend::addError('Could not reremember'); } return $User->object; } else { //Backend::addError('Invalid remembered user'); } } } return false; }