diff --git a/htdocs/core/class/html.formmail.class.php b/htdocs/core/class/html.formmail.class.php index 54f69f0e5fa..7ad760bccf5 100644 --- a/htdocs/core/class/html.formmail.class.php +++ b/htdocs/core/class/html.formmail.class.php @@ -29,6 +29,8 @@ * \brief Fichier de la class permettant la generation du formulaire html d'envoi de mail unitaire */ require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/modelemail.lib.php'; + /** @@ -1460,9 +1462,19 @@ class FormMail extends Form $out .= ''; $out .= ''; $out .= '
'; - $templates = array('empty', 'basic', 'news', 'commerce', 'text'); - foreach ($templates as $template) { - $out .= '
'; + $templates = array( + 'empty' => 'empty_template', + 'basic' => 'basic_template', + 'news' => 'news_template', + 'commerce' => 'commerce_template', + 'text' => 'text_template' + ); + + foreach ($templates as $template => $templateFunction) { + if (function_exists($templateFunction)) { + $contentHtml = $templateFunction(); + } + $out .= '
'; $out .= ''.$template.''; $out .= ''.ucfirst($template).''; $out .= '
'; @@ -1483,6 +1495,13 @@ class FormMail extends Form $(this).addClass('selected'); var template = $(this).data('template'); + var contentHtml = $(this).data('content'); + + var editorInstance = CKEDITOR.instances.message; + if (editorInstance) { + editorInstance.setData(contentHtml); + } + // display input for gnerate with IA if(template === 'ai') { $('#ai_input').show(); } else { @@ -1496,6 +1515,7 @@ class FormMail extends Form } + /** * Return templates of email with type = $type_template or type = 'all'. * This search into table c_email_templates. Used by the get_form function. diff --git a/htdocs/core/lib/modelemail.lib.php b/htdocs/core/lib/modelemail.lib.php new file mode 100644 index 00000000000..a03c8e4c58e --- /dev/null +++ b/htdocs/core/lib/modelemail.lib.php @@ -0,0 +1,185 @@ + + * Copyright (C) 2004-2018 Laurent Destailleur + * Copyright (C) 2024 Alexandre Janniaux + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/core/lib/emailmodel.lib.php + * + * \brief File for getting email html models + */ + +/** + * get empty html + * @return string $out html content + */ +function empty_template() +{ + $out = ''; + return $out; +} + +/** + * get basic html + * @return string $out html content + */ +function basic_template() +{ + $out = ' +
+
+ Gray rectangle +
+

Lorem, ipsum dolor sit amet consectetur adipisicing elit.

+

Lorem, ipsum dolor sit amet consectetur

+ + + + + + Gray rectangle + +
'; + return $out; +} + +/** + * get news html + * @return string $out html content + */ +function news_template() +{ + $out = ' +

Lorem, ipsum dolor sit amet consectetur adipisicing elit sit amet consectetur

+

Lorem, ipsum dolor sit amet consectetur adipisicing elitsit amet consectetur adipisicing

+ +
+
+

Lorem ipsum dolor sit amet, consectetur Lorem ipsum dolor sit amet, consectetur

+ + Lorem ipsum dolor sit amet, consectetur + adipiscing elit. Sed do eiusmod temxwshslkdsdsslpor incididunt ut labore et dolore magna
aliqua. Lorem, ipsum dolor sit amet consectetur adipisicing elit. Totam sit
autem nihil omnis! Odit ipsum repellat, voluptas accusantium dolores adipisci ut voluptates eius cumque dicta obcaecati + Gray rectangle + +
+
+ + Gray rectangle +
+
+ +
+
+

Lorem ipsum dolor sit amet, consectetur Lorem ipsum dolor sit amet, consectetur

+ + Lorem ipsum dolor sit amet, consectetur + adipiscing elit. Sed do eiusmod temxwshslkdsdsslpor incididunt ut labore et dolore magna
aliqua. Lorem, ipsum dolor sit amet consectetur adipisicing elit. Totam sit
autem nihil omnis! Odit ipsum repellat, voluptas accusantium dolores adipisci ut voluptates eius cumque dicta obcaecati + Gray rectangle + +
+
+ + Gray rectangle +
+
'; + return $out; +} + +/** + * get commerce html + * @return string $out html content + */ +function commerce_template() +{ + $out = ' +

Lorem, ipsum dolor sit amet consectetur adipisicing elit sit amet consectetur

+

Lorem, ipsum dolor sit amet consectetur adipisicing elitsit amet consectetur adipisicing

+ +
+
+
+
+ Gray rectangle +
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit
Lorem ipsum dolor sit amet, consectetur adipiscing elit... +
+
+ +

+
+
+ Gray rectangle +
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit
Lorem ipsum dolor sit amet, consectetur adipiscing elit... +
+
+
+
+
+
+ Gray rectangle +
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit
Lorem ipsum dolor sit amet, consectetur adipiscing elit... +
+
+ +

+
+
+ Gray rectangle +
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit
Lorem ipsum dolor sit amet, consectetur adipiscing elit... +
+
+
+
+ + '; + return $out; +} + +/** + * get basic html + * @return string $out html content + */ +function text_template() +{ + $out = ' +

Lorem ipsum dolor sit amet consectetur adipisicing elit sit amet consectetur adipisicing elit.

+

Lorem ipsum dolor sit amet consectetur adipisicing elit sit amet consectetur adipisicing elit.

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Commodi impedit molestias voluptatibus. Natus nulla sint totam illo? Hic nam consequuntur id harum pariatur, quo illo quaerat minima tempore. + Lorem ipsum dolor sit amet consectetur adipisicing elit. Commodi impedit molestias voluptatibus. Natus nulla sint totam illo? Hic nam consequuntur id harum pariatur, quo illo quaerat minima tempore. + Lorem ipsum dolor sit amet consectetur adipisicing elit. Commodi impedit molestias voluptatibus. Natus nulla sint totam illo? Hic nam consequuntur id harum pariatur, quo illo quaerat minima tempore. + Lorem ipsum dolor sit amet consectetur adipisicing elit. Commodi impedit molestias voluptatibus. Natus nulla sint totam illo? Hic nam consequuntur id harum pariatur, quo illo quaerat minima tempore. + Lorem ipsum dolor sit amet consectetur adipisicing elit. Commodi impedit molestias voluptatibus. Natus nulla sint totam illo? Hic nam consequuntur id harum pariatur, quo illo quaerat minima tempore. + Lorem ipsum dolor sit amet consectetur adipisicing elit. Commodi impedit molestias voluptatibus. Natus nulla sint totam illo? Hic nam consequuntur id harum pariatur, quo illo quaerat minima tempore. + Lorem ipsum dolor sit amet consectetur adipisicing elit. Commodi impedit molestias voluptatibus. Natus nulla sint totam illo? Hic nam consequuntur id harum pariatur, quo illo quaerat minima tempore. +

'; + + return $out; +}