Way too many changes to mention. The 'rm' mode works now.
[mailshears.git] / lib / rm / plugins / roundcube_db.rb
index 3e18e8e4b8a5c2bbb8db7555ba8745773ed8f5b5..252ce32688cbb82faa81f42b5522ac8abf73cc7b 100644 (file)
@@ -51,46 +51,14 @@ class RoundcubeDbRm
   end
 
 
-  def get_leftover_domains(db_domains)
-    # Roundcube doesn't have a concept of domains.
-    return []
-  end
-
-
-  def get_leftover_accounts(db_accounts)
-    # Get a list of all users who have logged in to Roundcube.
-    rc_accounts = self.get_roundcube_usernames()
-    return rc_accounts - db_accounts
-  end
-
 
-  protected;
-
-  def get_roundcube_usernames()
-    usernames = []
-
-    # Just assume PostgreSQL for now.
-    begin
-      connection = PGconn.connect(@db_host,
-                                  @db_port,
-                                  @db_opts,
-                                  @db_tty,
-                                  @db_name,
-                                  @db_user,
-                                  @db_pass)
-
-      sql_query = "SELECT username FROM users;"
-      connection.query(sql_query) do |result|
-        usernames = result.field_values('username')
-      end
-
-      connection.close()
-    rescue PGError => e
-      # Pretend like we're database-agnostic in case we ever are.
-      raise DatabaseError.new(e)
+  def get_domain_usernames(domain)
+    usernames = get_roundcube_usernames();
+    matches = usernames.select do |username|
+      username =~ /@#{domain}$/
     end
 
-    return usernames
+    return matches
   end
 
 end