CMS  Version 3.9
api_token.inc
Go to the documentation of this file.
1 <?php
8 class APIToken extends DataItem
9 {
10  var $table = "api_token";
11  var $primary_key = "token_id";
12  var $pretty_class_name = "API Token";
13 
14  var $fields = array("token_id" => 'Number',
15  "token" => 'String',
16  "user_id" => 'Number',
17  "created_date" => 'DateTime',
18  "expiry_date" => 'DateTime',
19  "last_access" => 'DateTime',
20  "active" => 'Boolean');
21 
22  var $related = array("User" => '');
23 
24  function User()
25  {
26  $mgr = new UserManager();
27  return $mgr->getUser($this->user_id);
28  }
29 
30  function __construct()
31  {
32  // Patch in the user class, since this can be overridden by the application
33  $mgr = new UserManager();
34  $this->relations["User"] = $mgr->getUserClass();
35 
36  $this->DataItem(func_get_args());
37  }
38 
39  static function getUserToken($user_id)
40  {
41  $tokens = Query::create('APIToken', "WHERE user_id=:u AND active=1 AND (expiry_date IS NULL OR expiry_date > NOW()) ORDER BY created_date DESC LIMIT 1")
42  ->bind(":u", $user_id)
43  ->execute();
44 
45  if (count($tokens)) return $tokens[0];
46  return null;
47  }
48 
49  static function getToken($token)
50  {
51  $tokens = Query::create('APIToken', "WHERE token=:t AND active=1 AND (expiry_date IS NULL OR expiry_date > NOW()) ORDER BY created_date DESC LIMIT 1")
52  ->bind(":t", $token)
53  ->execute();
54 
55  if (count($tokens)) return $tokens[0];
56  return null;
57  }
58 }
59 ?>
$user_id
__construct()
Definition: api_token.inc:30
$pretty_class_name
Definition: api_token.inc:12
static getToken($token)
Definition: api_token.inc:49
static getUserToken($user_id)
Definition: api_token.inc:39
Provides the interface to the user model for the application.
$feedback user_id
Definition: save.inc:14