Commit 2d5607d0ec1af922bfeaec1e1061c41363baa3b0
1 parent
1d5df73b
Allow for users to be disabled.
git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@5935 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
2 changed files
with
34 additions
and
0 deletions
lib/users/User.inc
| @@ -69,6 +69,7 @@ class User extends KTEntity { | @@ -69,6 +69,7 @@ class User extends KTEntity { | ||
| 69 | var $bAuthenticationDetailsBool1 = null; | 69 | var $bAuthenticationDetailsBool1 = null; |
| 70 | var $bAuthenticationDetailsBool2 = null; | 70 | var $bAuthenticationDetailsBool2 = null; |
| 71 | var $dLastLogin = null; | 71 | var $dLastLogin = null; |
| 72 | + var $bDisabled = false; | ||
| 72 | 73 | ||
| 73 | var $_aFieldToSelect = array( | 74 | var $_aFieldToSelect = array( |
| 74 | 'iId' => 'id', | 75 | 'iId' => 'id', |
| @@ -93,6 +94,7 @@ class User extends KTEntity { | @@ -93,6 +94,7 @@ class User extends KTEntity { | ||
| 93 | 'bAuthenticationDetailsBool1' => 'authentication_details_b1', | 94 | 'bAuthenticationDetailsBool1' => 'authentication_details_b1', |
| 94 | 'bAuthenticationDetailsBool2' => 'authentication_details_b2', | 95 | 'bAuthenticationDetailsBool2' => 'authentication_details_b2', |
| 95 | 'dLastLogin' => 'last_login', | 96 | 'dLastLogin' => 'last_login', |
| 97 | + 'bDisabled' => 'disabled', | ||
| 96 | ); | 98 | ); |
| 97 | 99 | ||
| 98 | var $_bUsePearError = true; | 100 | var $_bUsePearError = true; |
| @@ -148,6 +150,9 @@ class User extends KTEntity { | @@ -148,6 +150,9 @@ class User extends KTEntity { | ||
| 148 | function getLastLogin() { return $this->dLastLogin; } | 150 | function getLastLogin() { return $this->dLastLogin; } |
| 149 | function setLastLogin($mValue) { $this->dLastLogin = $mValue; } | 151 | function setLastLogin($mValue) { $this->dLastLogin = $mValue; } |
| 150 | 152 | ||
| 153 | + function getDisabled() { return $this->bDisabled; } | ||
| 154 | + function setDisabled($mValue) { $this->bDisabled = $mValue; } | ||
| 155 | + | ||
| 151 | function &get($iId) { | 156 | function &get($iId) { |
| 152 | return KTEntityUtil::get('User', $iId); | 157 | return KTEntityUtil::get('User', $iId); |
| 153 | } | 158 | } |
| @@ -294,6 +299,33 @@ class User extends KTEntity { | @@ -294,6 +299,33 @@ class User extends KTEntity { | ||
| 294 | 'last_login' => array('type' => 'after', 'value' => $dDateTime), | 299 | 'last_login' => array('type' => 'after', 'value' => $dDateTime), |
| 295 | ), array('multi' => true)); | 300 | ), array('multi' => true)); |
| 296 | } | 301 | } |
| 302 | + | ||
| 303 | + function getNumberEnabledUsers() { | ||
| 304 | + $sQuery = sprintf('SELECT COUNT(id) AS number FROM %s WHERE disabled = ?', KTUtil::getTableName('users')); | ||
| 305 | + $aParams = array(true); | ||
| 306 | + return DBUtil::getOneResultKey(array($sQuery, $aParams), 'number'); | ||
| 307 | + } | ||
| 297 | 308 | ||
| 298 | function isAnonymous() { return $this->iId == -2; } | 309 | function isAnonymous() { return $this->iId == -2; } |
| 310 | + | ||
| 311 | + function disable() { | ||
| 312 | + $this->setDisabled(true); | ||
| 313 | + $this->update(); | ||
| 314 | + if (KTPluginUtil::pluginIsActive('ktdms.wintools')) { | ||
| 315 | + require_once(KT_DIR . '/plugins/wintools/baobabkeyutil.inc.php'); | ||
| 316 | + BaobabKeyUtil::deallocate($this); | ||
| 317 | + } | ||
| 318 | + return; | ||
| 319 | + } | ||
| 320 | + | ||
| 321 | + function create() { | ||
| 322 | + if (KTPluginUtil::pluginIsActive('ktdms.wintools')) { | ||
| 323 | + require_once(KT_DIR . '/plugins/wintools/baobabkeyutil.inc.php'); | ||
| 324 | + $res = BaobabKeyUtil::canAddUser(); | ||
| 325 | + if (PEAR::isError($res)) { | ||
| 326 | + return $res; | ||
| 327 | + } | ||
| 328 | + } | ||
| 329 | + return parent::create(); | ||
| 330 | + } | ||
| 299 | } | 331 | } |
sql/mysql/upgrade/3.1.2/user-disable.sql
0 → 100644