# And the necessary classes.
require 'src/errors.rb'
require 'src/exit_codes.rb'
-require 'src/dovecot_mailstore'
require 'src/postfixadmin_db'
+Configuration::PLUGINS.each do |plugin_file|
+ require "src/plugins/#{plugin_file}"
+end
+
pgadb = PostfixadminDb.new(Configuration::DBHOST,
Configuration::DBPORT,
Configuration::DBOPTS,
end
-Configuration::PLUGINS.each do |plugin_name|
- # Convert a string into a class.
- plugin_class = Kernel.const_get(plugin_name)
+Plugin.includers.each do |plugin_class|
plugin = plugin_class.new()
begin
header += current_time.to_s + "\n"
end
- header += 'Plugin: ' + plugin_name + "\n"
+ header += 'Plugin: ' + plugin_class.to_s + "\n"
puts header
puts '-' * header.size # Underline the header.
if Configuration::I_MEAN_BUSINESS
leftover_domains.each do |domain|
+ # Get the description before we delete the domain.
+ domain_description = plugin.describe_domain(domain)
plugin.delete_domain(domain)
- puts "Removed: #{domain} (#{plugin.describe_domain(domain)})"
+ puts "Removed: #{domain} (#{domain_description})"
end
leftover_accounts.each do |account|
+ # Get the description before we delete the domain.
+ # This can still fail if the account's domain is gone.
+ account_description = plugin.describe_account(account)
plugin.delete_account(account)
- puts "Removed: #{account} (#{plugin.describe_account(account)})"
+ puts "Removed: #{account} (#{account_description})"
end
end