array('model' => 'User'), ); protected $_created_column = array( 'column' => 'created', 'format' => TRUE, ); /** * Handles garbage collection and deleting of expired objects. * * @return void */ public function __construct($id = NULL) { parent::__construct($id); if (mt_rand(1, 100) === 1) { // Do garbage collection $this->delete_expired(); } if ($this->expires < time() AND $this->_loaded) { // This object has expired $this->delete(); } } /** * Deletes all expired tokens. * * @return ORM */ public function delete_expired() { // Delete all expired tokens DB::delete($this->_table_name) ->where('expires', '<', time()) ->execute($this->_db); return $this; } public function create(Validation $validation = NULL) { $this->token = $this->create_token(); return parent::create($validation); } protected function create_token() { do { $token = sha1(uniqid(Text::random('alnum', 32), TRUE)); } while (ORM::factory('User_Token', array('token' => $token))->loaded()); return $token; } } // End Auth User Token Model