diff --git a/SQL/pgsql.initial.sql b/SQL/pgsql.initial.sql index 9f49803..ab2eb38 100644 --- a/SQL/pgsql.initial.sql +++ b/SQL/pgsql.initial.sql @@ -24,18 +24,15 @@ CREATE TABLE ident_switch integer NOT NULL CHECK(port > 0 AND port <= 65535), - secure - boolean - NOT NULL, delimiter char(1), - enabled - boolean - NOT NULL - DEFAULT false, label varchar(32) NOT NULL, + flags + integer + NOT NULL + DEFAULT(0), UNIQUE (user_id, label) ); diff --git a/ident_switch.php b/ident_switch.php index ac0adf3..ba982cb 100644 --- a/ident_switch.php +++ b/ident_switch.php @@ -14,6 +14,10 @@ class ident_switch extends rcube_plugin private $table = 'ident_switch'; + // Flags user in database + private $db_enabled = 1; + private $db_secure = 2; + function init() { $this->add_hook('startup', array($this, 'on_startup')); @@ -51,8 +55,8 @@ class ident_switch extends rcube_plugin // Get list of alternative accounts $sOpt = ''; - $sql = 'SELECT id, label FROM ' . $rc->db->table_name($this->table) . ' WHERE user_id = ? AND enabled = true'; - $q = $rc->db->query($sql, $rc->user->data['user_id']); + $sql = 'SELECT id, label FROM ' . $rc->db->table_name($this->table) . ' WHERE user_id = ? AND flags & ? > 0'; + $q = $rc->db->query($sql, $rc->user->data['user_id'], $this->db_enabled); while ($r = $rc->db->fetch_assoc($q)) { $sOpt .= html::tag(