include Plugin
def initialize()
- @db_host = Configuration::ROUNDCUBE_DBHOST
- @db_port = Configuration::ROUNDCUBE_DBPORT
- @db_opts = Configuration::ROUNDCUBE_DBOPTS
- @db_tty = Configuration::ROUNDCUBE_DBTTY
- @db_name = Configuration::ROUNDCUBE_DBNAME
- @db_user = Configuration::ROUNDCUBE_DBUSER
- @db_pass = Configuration::ROUNDCUBE_DBPASS
+ cfg = Configuration.new()
+ @db_host = cfg.roundcube_dbhost
+ @db_port = cfg.roundcube_dbport
+ @db_opts = cfg.roundcube_dbopts
+ @db_tty = cfg.roundcube_dbtty
+ @db_name = cfg.roundcube_dbname
+ @db_user = cfg.roundcube_dbuser
+ @db_pass = cfg.roundcube_dbpass
end
# belonging to it.
user_id = self.get_user_id(account)
- # This is mostly unnecessary when using Postgres. The Roundcube
- # developers were nice enough to include DBMS-specific install and
- # upgrade scripts, so Postgres can take advantage of ON DELETE
- # triggers. Here's an example:
+ # The Roundcube developers were nice enough to include
+ # DBMS-specific install and upgrade scripts, so Postgres can take
+ # advantage of ON DELETE triggers. Here's an example:
#
# ...
# user_id integer NOT NULL
# REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE
#
- sql_queries = ['DELETE FROM cache WHERE user_id = $1::int;']
- sql_queries << 'DELETE FROM cache_index WHERE user_id = $1::int;'
- sql_queries << 'DELETE FROM cache_messages WHERE user_id = $1::int;'
- sql_queries << 'DELETE FROM cache_thread WHERE user_id = $1::int;'
- sql_queries << 'DELETE FROM contactgroupmembers WHERE contactgroup_id IN (SELECT contactgroup_id FROM contactgroups WHERE user_id = $1::int);'
- sql_queries << 'DELETE FROM contactgroups WHERE user_id = $1::int;'
- sql_queries << 'DELETE FROM contacts WHERE user_id = $1::int;'
- sql_queries << 'DELETE FROM identities WHERE user_id = $1::int;'
- sql_queries << 'DELETE FROM dictionary WHERE user_id = $1::int;'
- sql_queries << 'DELETE FROM searches WHERE user_id = $1::int;'
-
- # This one is of course necessary with any DBMS.
- sql_queries << 'DELETE FROM users WHERE user_id = $1::int;'
+ # This query is of course necessary with any DBMS:
+ sql_queries = ['DELETE FROM users WHERE user_id = $1::int;']
begin
connection = PGconn.connect(@db_host,
def get_leftover_accounts(db_accounts)
- # Given a list of all users who have logged in to Roundcube.
+ # Get a list of all users who have logged in to Roundcube.
rc_accounts = self.get_roundcube_usernames()
return rc_accounts - db_accounts
end