Squiz Matrix  4.12.2
 All Data Structures Namespaces Functions Variables Pages
root_user.inc
1 <?php
18 require_once SQ_CORE_PACKAGE_PATH.'/system/system_user/system_user.inc';
19 
20 
32 class Root_User extends System_User
33 {
34 
35 
42  function Root_User($assetid=0)
43  {
44  $this->System_User($assetid);
45 
46  }//end constructor
47 
48 
59  function create(Array &$link)
60  {
61  require_once SQ_CORE_PACKAGE_PATH.'/system/system_asset_fns.inc';
62  if (!system_asset_fns_create_pre_check($this)) {
63  return FALSE;
64  }
65 
66  $GLOBALS['SQ_SYSTEM']->changeDatabaseConnection('db2');
67  $GLOBALS['SQ_SYSTEM']->doTransaction('BEGIN');
68 
69  parent::setAttrValue('username', 'root');
70  if ($linkid = parent::create($link)) {
71  if (!system_asset_fns_create_cleanup($this)) {
72  $linkid = FALSE;
73  }
74  }
75 
76  if ($linkid) {
77  $GLOBALS['SQ_SYSTEM']->doTransaction('COMMIT');
78  } else {
79  $GLOBALS['SQ_SYSTEM']->doTransaction('ROLLBACK');
80  }
81 
82  $GLOBALS['SQ_SYSTEM']->restoreDatabaseConnection();
83  return $linkid;
84 
85  }//end create()
86 
87 
97  function morph($new_type_code)
98  {
99  // you cant morph a root user... GEZZZ get serious
100  trigger_localised_error('CORE0091', E_USER_WARNING, $GLOBALS['SQ_SYSTEM']->am->getTypeInfo($this->type(), 'name'));
101  return FALSE;
102 
103  }//end morph()
104 
105 
112  function canDelete()
113  {
114  return FALSE;
115 
116  }//end canDelete()
117 
118 
125  function canClone()
126  {
127  return FALSE;
128 
129  }//end canClone()
130 
131 
139  function canLogin()
140  {
141  return TRUE;
142 
143  }//end canLogin()
144 
145 
155  function setAttrValue($name, $value)
156  {
157  if ($name == 'username') {
158  trigger_localised_error('CORE0113', E_USER_WARNING, $GLOBALS['SQ_SYSTEM']->am->getTypeInfo($this->type(), 'name'));
159  return FALSE;
160  }
161 
162  return parent::setAttrValue($name, $value);
163 
164  }//end setAttrValue()
165 
166 
167 }//end class
168 ?>