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 | 69 | var $bAuthenticationDetailsBool1 = null; |
| 70 | 70 | var $bAuthenticationDetailsBool2 = null; |
| 71 | 71 | var $dLastLogin = null; |
| 72 | + var $bDisabled = false; | |
| 72 | 73 | |
| 73 | 74 | var $_aFieldToSelect = array( |
| 74 | 75 | 'iId' => 'id', |
| ... | ... | @@ -93,6 +94,7 @@ class User extends KTEntity { |
| 93 | 94 | 'bAuthenticationDetailsBool1' => 'authentication_details_b1', |
| 94 | 95 | 'bAuthenticationDetailsBool2' => 'authentication_details_b2', |
| 95 | 96 | 'dLastLogin' => 'last_login', |
| 97 | + 'bDisabled' => 'disabled', | |
| 96 | 98 | ); |
| 97 | 99 | |
| 98 | 100 | var $_bUsePearError = true; |
| ... | ... | @@ -148,6 +150,9 @@ class User extends KTEntity { |
| 148 | 150 | function getLastLogin() { return $this->dLastLogin; } |
| 149 | 151 | function setLastLogin($mValue) { $this->dLastLogin = $mValue; } |
| 150 | 152 | |
| 153 | + function getDisabled() { return $this->bDisabled; } | |
| 154 | + function setDisabled($mValue) { $this->bDisabled = $mValue; } | |
| 155 | + | |
| 151 | 156 | function &get($iId) { |
| 152 | 157 | return KTEntityUtil::get('User', $iId); |
| 153 | 158 | } |
| ... | ... | @@ -294,6 +299,33 @@ class User extends KTEntity { |
| 294 | 299 | 'last_login' => array('type' => 'after', 'value' => $dDateTime), |
| 295 | 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 | 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