['model' => 'User'] ]; protected $_created_column = [ 'column' => 'created', 'format' => TRUE ]; /** * Handles garbage collection and deleting of expired objects. * * @return void */ public function __construct($id = NULL) { parent::__construct($id); if (random_int(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', ['token' => $token])->loaded()); return $token; } } // End Auth User Token Model