HCE Project DC service web UI  0.2
Hierarchical Cluster Engine DC service web UI
 All Classes Namespaces Files Functions Variables Pages
WebUser.php
Go to the documentation of this file.
1 <?php
2 
3 class WebUser extends CWebUser
4 {
5  public function getRole()
6  {
7  return $this->getState('__role');
8  }
9 
10  public function getId()
11  {
12  return $this->getState('__id') ? $this->getState('__id') : 0;
13  }
14 
15 // protected function beforeLogin($id, $states, $fromCookie)
16 // {
17 // parent::beforeLogin($id, $states, $fromCookie);
18 //
19 // $model = new UserLoginStats();
20 // $model->attributes = array(
21 // 'user_id' => $id,
22 // 'ip' => ip2long(Yii::app()->request->getUserHostAddress())
23 // );
24 // $model->save();
25 //
26 // return true;
27 // }
28 
29  protected function afterLogin($fromCookie)
30  {
31  parent::afterLogin($fromCookie);
32  $this->updateSession();
33  }
34 
35  public function updateSession()
36  {
37  $user = Yii::app()->getModule('user')->user($this->id);
38  $userAttributes = CMap::mergeArray(array(
39  'email' => $user->email,
40  'username' => $user->username,
41  'create_at' => $user->create_at,
42  'lastvisit_at' => $user->lastvisit_at,
43  ), $user->profile->getAttributes());
44  foreach ($userAttributes as $attrName => $attrValue) {
45  $this->setState($attrName, $attrValue);
46  }
47  }
48 
49  public function model($id = 0)
50  {
51  return Yii::app()->getModule('user')->user($id);
52  }
53 
54  public function user($id = 0)
55  {
56  return $this->model($id);
57  }
58 
59  public function getUserByName($username)
60  {
61  return Yii::app()->getModule('user')->getUserByName($username);
62  }
63 
64  public function getAdmins()
65  {
66  return Yii::app()->getModule('user')->getAdmins();
67  }
68 
69  public function isAdmin()
70  {
71  return Yii::app()->getModule('user')->isAdmin();
72  }
73 }