summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Andrews <candrews@integralblue.com>2009-12-10 13:08:24 -0500
committerCraig Andrews <candrews@integralblue.com>2009-12-10 13:08:24 -0500
commitb07e1143cc8f07bf0613835debe08be227970c73 (patch)
treeda5ba771a6d27ccefc99e59f00e12a03f8449037
parentc0aad854f7f17cf817f488e0f2ee57303ff75305 (diff)
Override login_token's sequenceKey() so that it behaves correctly
-rw-r--r--classes/Login_token.php13
-rw-r--r--lib/command.php2
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;
}