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 .= '  ';
$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 = '
+
+
+ 
+
+ Lorem, ipsum dolor sit amet consectetur adipisicing elit.
+ Lorem, ipsum dolor sit amet consectetur
+
+
+ Lorem, ipsum dolor sit amet consectetur adipisicing elit. Aperiam non blanditiis delectus accusamus reprehenderit voluptates repellat. Excepturi illo delectus nisi labore, iste voluptatibus dignissimos explicabo, corrupti voluptatum et facere cum?
+
+
+ Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+
+
+ Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+
+
+ 
+
+ ';
+ 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
+ 
+
+
+
+
+ 
+
+
+
+
+
+ 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
+ 
+
+
+
+
+ 
+
+ ';
+ 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
+
+
+
+
+
+ 
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit Lorem ipsum dolor sit amet, consectetur adipiscing elit...
+
+
+
+
+
+
+ 
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit Lorem ipsum dolor sit amet, consectetur adipiscing elit...
+
+
+
+
+
+
+ 
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit Lorem ipsum dolor sit amet, consectetur adipiscing elit...
+
+
+
+
+
+
+ 
+
+
+ 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;
+}
|