/** * This returns the default messengers to generate templates for on activation of EE. * It considers: * - whether a messenger is already active in the db. * - whether a messenger has been made active at any time in the past. * * @static * @param EE_Message_Resource_Manager $message_resource_manager * @return EE_messenger[] */ protected static function _get_default_messengers_to_generate_on_activation(EE_Message_Resource_Manager $message_resource_manager) { $active_messengers = $message_resource_manager->active_messengers(); $installed_messengers = $message_resource_manager->installed_messengers(); $has_activated = $message_resource_manager->get_has_activated_messengers_option(); $messengers_to_generate = array(); foreach ($installed_messengers as $installed_messenger) { //if installed messenger is a messenger that should be activated on install //and is not already active //and has never been activated if (!$installed_messenger->activate_on_install || isset($active_messengers[$installed_messenger->name]) || isset($has_activated[$installed_messenger->name])) { continue; } $messengers_to_generate[$installed_messenger->name] = $installed_messenger; } return $messengers_to_generate; }