/** * @param \EE_messenger $messenger * @param \EE_message_type $message_type * @param $GRP_ID * @param $global * @return array|mixed */ protected static function _create_new_templates(EE_messenger $messenger, EE_message_type $message_type, $GRP_ID, $global) { //if we're creating a custom template then we don't need to use the defaults class if (!$global) { return EEH_MSG_Template::_create_custom_template_group($messenger, $message_type, $GRP_ID); } /** @type EE_Messages_Template_Defaults $Message_Template_Defaults */ $Message_Template_Defaults = EE_Registry::factory('EE_Messages_Template_Defaults', array($messenger, $message_type, $GRP_ID)); //generate templates $success = $Message_Template_Defaults->create_new_templates(); //if creating the template failed. Then we should deactivate the related message_type for the messenger because //its not active if it doesn't have a template. Note this is only happening for GLOBAL template creation //attempts. if (!$success) { /** @var EE_Message_Resource_Manager $message_resource_manager */ $message_resource_manager = EE_Registry::instance()->load_lib('Message_Resource_Manager'); $message_resource_manager->deactivate_message_type_for_messenger($message_type->name, $messenger->name); } /** * $success is in an array in the following format * array( * 'GRP_ID' => $new_grp_id, * 'MTP_context' => $first_context_in_new_templates, * ) */ return $success; }