+ # We don't want to check the PostfixAdmin database against itself.
+ return if plugin.class == PostfixadminPrune
+
+ cfg = Configuration.new()
+ pfa = PostfixadminPrune.new(cfg)
+
+ db_users = pfa.list_users()
+ db_domains = pfa.list_domains()
+
+ leftover_users = plugin.get_leftover_users(db_users)
+ leftover_domains = plugin.get_leftover_domains(db_domains)
+
+ leftover_users.each do |user|
+ user_description = plugin.describe_user(user)
+ plugin.delete_user(user)
+ report(plugin, "Removed user: #{user} (#{user_description})")
+ end
+
+ leftover_domains.each do |domain|
+ domain_description = plugin.describe_domain(domain)
+ plugin.delete_domain(domain)
+ report(plugin, "Removed domain: #{domain} (#{domain_description})")
+ end
+