diff options
author | Craig Andrews <candrews@integralblue.com> | 2009-12-10 13:08:24 -0500 |
---|---|---|
committer | Craig Andrews <candrews@integralblue.com> | 2009-12-10 13:08:24 -0500 |
commit | b07e1143cc8f07bf0613835debe08be227970c73 (patch) | |
tree | da5ba771a6d27ccefc99e59f00e12a03f8449037 | |
parent | c0aad854f7f17cf817f488e0f2ee57303ff75305 (diff) |
Override login_token's sequenceKey() so that it behaves correctly
-rw-r--r-- | classes/Login_token.php | 13 | ||||
-rw-r--r-- | lib/command.php | 2 |
2 files changed, 14 insertions, 1 deletions
diff --git a/classes/Login_token.php b/classes/Login_token.php index c172b30ab..746cd7f22 100644 --- a/classes/Login_token.php +++ b/classes/Login_token.php @@ -39,4 +39,17 @@ class Login_token extends Memcached_DataObject /* the code above is auto generated do not remove the tag below */ ###END_AUTOCODE + + /* + DB_DataObject calculates the sequence key(s) by taking the first key returned by the keys() function. + In this case, the keys() function returns user_id as the first key. user_id is not a sequence, but + DB_DataObject's sequenceKey() will incorrectly think it is. Then, since the sequenceKey() is a numeric + type, but is not set to autoincrement in the database, DB_DataObject will create a _seq table and + manage the sequence itself. This is not the correct behavior for the user_id in this class. + So we override that incorrect behavior, and simply say there is no sequence key. + */ + function sequenceKey() + { + return array(false,false); + } } diff --git a/lib/command.php b/lib/command.php index e2a665511..af8855a7f 100644 --- a/lib/command.php +++ b/lib/command.php @@ -584,7 +584,7 @@ class LoginCommand extends Command function execute($channel) { $disabled = common_config('logincommand','disabled'); - if(isset($disabled)) { + if(isset($disabled) && $disabled) { $channel->error($this->user, _('Login command is disabled')); return; } |