Qual: La génération des petits formulaires d'envoi de mail unitaire fonctionne sur un modèle objet (class html.formmail.class.php).
Cela permettra de les remplacer plus facillement par une interface plus sophistiquée à terme.
This commit is contained in:
parent
2290ff6380
commit
8ec40b3320
@ -23,9 +23,9 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/** \file htdocs/comm/mailing.php
|
||||||
\file htdocs/comm/mailing.php
|
|
||||||
\brief Page pour faire des mailing
|
\brief Page pour faire des mailing
|
||||||
|
\todo A virer quand remplacer completement par ecrans en /comm/mailing
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require("./pre.inc.php");
|
require("./pre.inc.php");
|
||||||
@ -45,6 +45,7 @@ require("./propal_model_pdf.class.php");
|
|||||||
require("../propal.class.php");
|
require("../propal.class.php");
|
||||||
require("../actioncomm.class.php");
|
require("../actioncomm.class.php");
|
||||||
require("../lib/CMailFile.class.php");
|
require("../lib/CMailFile.class.php");
|
||||||
|
require("../html.formmail.class.php");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Sécurité accés client
|
* Sécurité accés client
|
||||||
@ -71,7 +72,7 @@ if ($_GET["action"] != 'mailing')
|
|||||||
{
|
{
|
||||||
print $langs->trans("MailingDesc")."<br><br>";
|
print $langs->trans("MailingDesc")."<br><br>";
|
||||||
|
|
||||||
$form = new Form($db);
|
$formmail = new FormMail($db);
|
||||||
|
|
||||||
print "<form method=\"post\" action=\"mailing.php?action=mailing\" name=\"mailing\">";
|
print "<form method=\"post\" action=\"mailing.php?action=mailing\" name=\"mailing\">";
|
||||||
|
|
||||||
@ -88,7 +89,7 @@ if ($_GET["action"] != 'mailing')
|
|||||||
print "</table>";
|
print "</table>";
|
||||||
|
|
||||||
// Affiche la partie mail topic + message + file
|
// Affiche la partie mail topic + message + file
|
||||||
$form->mail_topicmessagefile(1,1,1,$defaultmessage);
|
$formmail->mail_topicmessagefile(1,1,1,$defaultmessage);
|
||||||
|
|
||||||
print "<br><center><input class=\"flat\" type=\"submit\" value=\"".$langs->trans("Send")."\"></center>\n";
|
print "<br><center><input class=\"flat\" type=\"submit\" value=\"".$langs->trans("Send")."\"></center>\n";
|
||||||
|
|
||||||
|
|||||||
@ -153,7 +153,7 @@ if ($_GET["action"] == 'modif' && $user->rights->propale->creer)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_POST["addligne"] == 'Ajouter' && $user->rights->propale->creer)
|
if ($_POST["addligne"] == $langs->trans("Add") && $user->rights->propale->creer)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Ajout d'une ligne produit dans la propale
|
* Ajout d'une ligne produit dans la propale
|
||||||
@ -167,7 +167,7 @@ if ($_POST["addligne"] == 'Ajouter' && $user->rights->propale->creer)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_POST["addproduct"] == 'Ajouter' && $user->rights->propale->creer)
|
if ($_POST["addproduct"] == $langs->trans("Add") && $user->rights->propale->creer)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Ajout d'une ligne produit dans la propale
|
* Ajout d'une ligne produit dans la propale
|
||||||
@ -619,9 +619,10 @@ if ($_GET["propalid"])
|
|||||||
$filepath[1] = $_FILES['addedfile']['tmp_name'];
|
$filepath[1] = $_FILES['addedfile']['tmp_name'];
|
||||||
$filename[1] = $_FILES['addedfile']['name'];
|
$filename[1] = $_FILES['addedfile']['name'];
|
||||||
$mimetype[1] = $_FILES['addedfile']['type'];
|
$mimetype[1] = $_FILES['addedfile']['type'];
|
||||||
|
$from = $_POST["fromname"] . " <".$_POST["frommail"] .">";
|
||||||
$replyto = $_POST["replytoname"]. " <".$_POST["replytomail"].">";
|
$replyto = $_POST["replytoname"]. " <".$_POST["replytomail"].">";
|
||||||
|
|
||||||
$mailfile = new CMailFile($subject,$_POST["sendto"],$replyto,$_POST["message"],$filepath,$mimetype,$filename,$sendtocc);
|
$mailfile = new CMailFile($subject,$_POST["sendto"],$from,$_POST["message"],$filepath,$mimetype,$filename,$sendtocc);
|
||||||
|
|
||||||
if (! $mailfile->sendfile() )
|
if (! $mailfile->sendfile() )
|
||||||
{
|
{
|
||||||
@ -797,32 +798,28 @@ if ($_GET["propalid"])
|
|||||||
print '<input type="hidden" name="max_file_size" value="2000000">';
|
print '<input type="hidden" name="max_file_size" value="2000000">';
|
||||||
|
|
||||||
print_titre("Envoyer la propale par mail");
|
print_titre("Envoyer la propale par mail");
|
||||||
$form=new Form($db);
|
|
||||||
|
|
||||||
// Formulaire envoi mail
|
// Créé l'objet formulaire mail
|
||||||
print '<table class="border" width="100%">';
|
include_once("../html.formmail.class.php");
|
||||||
// Destinataire
|
$formmail = new FormMail($db);
|
||||||
print "<tr><td width=\"180\">Destinataire</td>";
|
$formmail->fromname = $user->fullname;
|
||||||
print "<td colspan=\"6\" align=\"left\"><input size=\"50\" name=\"sendto\" value=\"" . ucfirst(strtolower($obj->firstname)) . " " . ucfirst(strtolower($obj->name)) . " <$obj->email>\"></td></tr>";
|
$formmail->frommail = $user->email;
|
||||||
|
$formmail->withfrom=1;
|
||||||
|
// $formmail->withto=array_merge(array(" "),$soc->contact_email_array());
|
||||||
|
$formmail->withto=ucfirst(strtolower($obj->firstname)) . " " . ucfirst(strtolower($obj->name)) . " <$obj->email>";
|
||||||
|
$formmail->withcc=1;
|
||||||
|
$formmail->withtopic=1;
|
||||||
|
$formmail->withfile=1;
|
||||||
|
$formmail->withbody=1;
|
||||||
|
// Tableau des substitutions
|
||||||
|
$formmail->substit["__PROPREF__"]=$propal->ref;
|
||||||
|
// Tableau des paramètres complémentaires
|
||||||
|
$formmail->param["action"]="send";
|
||||||
|
$formmail->param["models"]="propal_send";
|
||||||
|
$formmail->param["propalid"]=$propal->id;
|
||||||
|
$formmail->param["returnurl"]=DOL_URL_ROOT."/comm/propal.php?propalid=$propal->id";
|
||||||
|
|
||||||
// CC
|
$formmail->show_form();
|
||||||
print '<tr><td>Copie à</td>';
|
|
||||||
print '<td colspan="6" align="left"><input size="50" name="sendtocc"></td></tr>';
|
|
||||||
|
|
||||||
// Sender
|
|
||||||
/*
|
|
||||||
print "<tr><td>Expediteur</td><td colspan=\"5\">$from_name</td><td>$from_mail</td></tr>";
|
|
||||||
print "<tr><td>Reply-to</td><td colspan=\"5\">$replytoname</td>";
|
|
||||||
print "<td>$replytomail</td></tr>";
|
|
||||||
print "<tr><td valign=\"top\">Joindre un fichier en plus de la propale<br>(conditions générales de ventes ...)</td><td colspan=\"6\"><input type=\"file\" name=\"addedfile\" size=\"40\" maxlength=\"80\"></td></tr>";
|
|
||||||
|
|
||||||
print "<tr><td valign=\"top\">Message</td><td colspan=\"6\"><textarea rows=\"5\" cols=\"40\" name=\"message\">$message</textarea></td></tr>";
|
|
||||||
print "</table>";
|
|
||||||
*/
|
|
||||||
$form->mail_topicmessagefile(0,1,1,$message);
|
|
||||||
|
|
||||||
print "<input type=\"submit\" value=\"".$langs->trans("Send")."\">";
|
|
||||||
print "</form>";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,8 +22,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/** \file htdocs/compta/facture.php
|
||||||
\file htdocs/compta/facture.php
|
|
||||||
\ingroup facture
|
\ingroup facture
|
||||||
\brief Page de création d'une facture
|
\brief Page de création d'une facture
|
||||||
\version $Revision$
|
\version $Revision$
|
||||||
@ -348,7 +347,6 @@ if ($_POST["action"] == 'send' || $_POST["action"] == 'relance')
|
|||||||
|
|
||||||
if (is_readable($file))
|
if (is_readable($file))
|
||||||
{
|
{
|
||||||
|
|
||||||
if ($_POST["sendto"]) {
|
if ($_POST["sendto"]) {
|
||||||
// Le destinataire a été fourni via le champ libre
|
// Le destinataire a été fourni via le champ libre
|
||||||
$sendto = $_POST["sendto"];
|
$sendto = $_POST["sendto"];
|
||||||
@ -376,7 +374,8 @@ if ($_POST["action"] == 'send' || $_POST["action"] == 'relance')
|
|||||||
$actionmsg2="Relance Facture par mail";
|
$actionmsg2="Relance Facture par mail";
|
||||||
}
|
}
|
||||||
$message = $_POST["message"];
|
$message = $_POST["message"];
|
||||||
$replyto = $_POST["replytoname"] . " <".$_POST["replytomail"] .">";
|
$from = $_POST["fromname"] . " <".$_POST["frommail"] .">";
|
||||||
|
$replyto = $_POST["replytoname"]. " <".$_POST["replytomail"].">";
|
||||||
|
|
||||||
$filepath[0] = $file;
|
$filepath[0] = $file;
|
||||||
$filename[0] = $fac->ref.".pdf";
|
$filename[0] = $fac->ref.".pdf";
|
||||||
@ -384,10 +383,9 @@ if ($_POST["action"] == 'send' || $_POST["action"] == 'relance')
|
|||||||
$filepath[1] = $_FILES['addedfile']['tmp_name'];
|
$filepath[1] = $_FILES['addedfile']['tmp_name'];
|
||||||
$filename[1] = $_FILES['addedfile']['name'];
|
$filename[1] = $_FILES['addedfile']['name'];
|
||||||
$mimetype[1] = $_FILES['addedfile']['type'];
|
$mimetype[1] = $_FILES['addedfile']['type'];
|
||||||
$replyto = $_POST["replytoname"]. " <".$_POST["replytomail"].">";
|
|
||||||
|
|
||||||
// Envoi de la facture
|
// Envoi de la facture
|
||||||
$mailfile = new CMailFile($subject,$sendto,$replyto,$message,$filepath, $mimetype,$filename,$sendtocc);
|
$mailfile = new CMailFile($subject,$sendto,$from,$message,$filepath, $mimetype,$filename,$sendtocc);
|
||||||
|
|
||||||
if ( $mailfile->sendfile() )
|
if ( $mailfile->sendfile() )
|
||||||
{
|
{
|
||||||
@ -397,7 +395,7 @@ if ($_POST["action"] == 'send' || $_POST["action"] == 'relance')
|
|||||||
|
|
||||||
if (! $db->query($sql) )
|
if (! $db->query($sql) )
|
||||||
{
|
{
|
||||||
dolibarr_print_error($db->error());
|
dolibarr_print_error($db);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1331,108 +1329,67 @@ else
|
|||||||
print '<tr><td colspan="2" align="center"><input type="submit" value="'.$langs->trans("Save").'"></td></tr></table></form></p>';
|
print '<tr><td colspan="2" align="center"><input type="submit" value="'.$langs->trans("Save").'"></td></tr></table></form></p>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
* Affiche formulaire mail
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if ($_GET["action"] == 'presend')
|
if ($_GET["action"] == 'presend')
|
||||||
{
|
{
|
||||||
|
print '<br>';
|
||||||
print_titre("Envoyer la facture par mail");
|
print_titre("Envoyer la facture par mail");
|
||||||
|
|
||||||
$langs->load("other");
|
// Créé l'objet formulaire mail
|
||||||
|
include_once("../html.formmail.class.php");
|
||||||
|
$formmail = new FormMail($db);
|
||||||
|
$formmail->fromname = $user->fullname;
|
||||||
|
$formmail->frommail = $user->email;
|
||||||
|
$formmail->withfrom=1;
|
||||||
|
$formmail->withto=array_merge(array(" "),$soc->contact_email_array());
|
||||||
|
$formmail->withcc=1;
|
||||||
|
$formmail->withtopic=1;
|
||||||
|
$formmail->withfile=1;
|
||||||
|
$formmail->withbody=1;
|
||||||
|
// Tableau des substitutions
|
||||||
|
$formmail->substit["__FACREF__"]=$fac->ref;
|
||||||
|
// Tableau des paramètres complémentaires du post
|
||||||
|
$formmail->param["action"]="send";
|
||||||
|
$formmail->param["models"]="facture_send";
|
||||||
|
$formmail->param["facid"]=$fac->id;
|
||||||
|
$formmail->param["returnurl"]=DOL_URL_ROOT."/compta/facture.php?facid=$fac->id";
|
||||||
|
|
||||||
$replytoname = $user->fullname;
|
$formmail->show_form();
|
||||||
$from_name = $replytoname;
|
|
||||||
|
|
||||||
$replytomail = $user->email;
|
print '<br>';
|
||||||
$from_mail = $replytomail;
|
|
||||||
|
|
||||||
$form = new Form($db);
|
|
||||||
|
|
||||||
print "<form method=\"post\" ENCTYPE=\"multipart/form-data\" action=\"".$_SERVER["PHP_SELF"]."\">\n";
|
|
||||||
print '<input type="hidden" name="facid" value="'.$fac->id.'">';
|
|
||||||
print '<input type="hidden" name="action" value="send">';
|
|
||||||
print '<input type="hidden" name="replytoname" value="'.$replytoname.'">';
|
|
||||||
print '<input type="hidden" name="replytomail" value="'.$replytomail.'">';
|
|
||||||
print "<br>\n";
|
|
||||||
|
|
||||||
// From
|
|
||||||
print "<table class=\"border\" width=\"100%\">\n";
|
|
||||||
print " <tr><td width=\"180\">".$langs->trans("MailFrom")."</td><td>$from_name".($from_mail?" <$from_mail>":"")."</td></tr>\n";
|
|
||||||
print " <tr><td>".$langs->trans("MailReply")."</td><td>$replytoname".($replytomail?" <$replytomail>":"");
|
|
||||||
print "</td></tr>\n";
|
|
||||||
|
|
||||||
// To
|
|
||||||
print ' <tr><td width=\"180\">'.$langs->trans("MailTo").'</td><td>';
|
|
||||||
$form->select_array("receiver",$soc->contact_email_array());
|
|
||||||
print " ".$langs->trans("or")." <input size=\"30\" name=\"sendto\" value=\"$fac->email\"></td></tr>\n";
|
|
||||||
|
|
||||||
// CC
|
|
||||||
print ' <tr><td width=\"180\">'.$langs->trans("MailCC").'</td><td>';
|
|
||||||
print "<input size=\"30\" name=\"sendtocc\"></td></tr>\n";
|
|
||||||
|
|
||||||
// File
|
|
||||||
print " <tr><td valign=\"top\">" . $langs->trans("MailFile"). "</td><td><input type=\"file\" name=\"addedfile\" size=\"40\" maxlength=\"80\"></td></tr>\n";
|
|
||||||
|
|
||||||
print "</table>";
|
|
||||||
|
|
||||||
// Topic + Message
|
|
||||||
$defaultmessage="Veuillez trouver ci-joint la facture $fac->ref\n\nCordialement\n\n";
|
|
||||||
$form->mail_topicmessagefile(0,1,0,$defaultmessage);
|
|
||||||
|
|
||||||
print "<br><center><input class=\"flat\" type=\"submit\" value=\"".$langs->trans("Send")."\"></center>\n";
|
|
||||||
|
|
||||||
print "</form>\n";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_GET["action"] == 'prerelance')
|
if ($_GET["action"] == 'prerelance')
|
||||||
{
|
{
|
||||||
|
print '<br>';
|
||||||
print_titre("Envoyer une relance par mail");
|
print_titre("Envoyer une relance par mail");
|
||||||
|
|
||||||
$langs->load("other");
|
// Créé l'objet formulaire mail
|
||||||
|
include_once("../html.formmail.class.php");
|
||||||
|
$formmail = new FormMail($db);
|
||||||
|
$formmail->fromname = $user->fullname;
|
||||||
|
$formmail->frommail = $user->email;
|
||||||
|
$formmail->withfrom=1;
|
||||||
|
$formmail->withto=array_merge(array(" "),$soc->contact_email_array());
|
||||||
|
$formmail->withcc=1;
|
||||||
|
$formmail->withtopic=1;
|
||||||
|
$formmail->withfile=1;
|
||||||
|
$formmail->withbody=1;
|
||||||
|
// Tableau des substitutions
|
||||||
|
$formmail->substit["__FACREF__"]=$fac->ref;
|
||||||
|
// Tableau des paramètres complémentaires
|
||||||
|
$formmail->param["action"]="relance";
|
||||||
|
$formmail->param["models"]="facture_relance";
|
||||||
|
$formmail->param["facid"]=$fac->id;
|
||||||
|
$formmail->param["returnurl"]=DOL_URL_ROOT."/compta/facture.php?facid=$fac->id";
|
||||||
|
|
||||||
$replytoname = $user->fullname;
|
$formmail->show_form();
|
||||||
$from_name = $replytoname;
|
|
||||||
|
|
||||||
$replytomail = $user->email;
|
|
||||||
$from_mail = $replytomail;
|
|
||||||
|
|
||||||
$form = new Form($db);
|
|
||||||
|
|
||||||
print "<form method=\"post\" ENCTYPE=\"multipart/form-data\" action=\"".$_SERVER["PHP_SELF"]."\">\n";
|
|
||||||
print '<input type="hidden" name="facid" value="'.$fac->id.'">';
|
|
||||||
print '<input type="hidden" name="action" value="relance">';
|
|
||||||
print '<input type="hidden" name="replytoname" value="'.$replytoname.'">';
|
|
||||||
print '<input type="hidden" name="replytomail" value="'.$replytomail.'">';
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
// From
|
|
||||||
print "<table class=\"border\" width=\"100%\">\n";
|
|
||||||
print " <tr><td width=\"180\">".$langs->trans("MailFrom")."</td><td>$from_name".($from_mail?" <$from_mail>":"")."</td></tr>\n";
|
|
||||||
print " <tr><td>".$langs->trans("MailReply")."</td><td>$replytoname".($replytomail?" <$replytomail>":"");
|
|
||||||
print "</td></tr>\n";
|
|
||||||
|
|
||||||
// To
|
|
||||||
print ' <tr><td width=\"180\">'.$langs->trans("MailTo").'</td><td>';
|
|
||||||
$form->select_array("receiver",$soc->contact_email_array());
|
|
||||||
print " ".$langs->trans("or")." <input size=\"30\" name=\"sendto\" value=\"$fac->email\"></td></tr>\n";
|
|
||||||
|
|
||||||
// CC
|
|
||||||
print ' <tr><td width=\"180\">'.$langs->trans("MailCC").'</td><td>';
|
|
||||||
print "<input size=\"30\" name=\"sendtocc\"></td></tr>\n";
|
|
||||||
|
|
||||||
// File
|
|
||||||
print " <tr><td valign=\"top\">" . $langs->trans("MailFile"). "</td><td><input type=\"file\" name=\"addedfile\" size=\"40\" maxlength=\"80\"></td></tr>\n";
|
|
||||||
|
|
||||||
print "</table>";
|
|
||||||
|
|
||||||
// Topic + Message
|
|
||||||
$defaultmessage="Nous apportons à votre connaissance que la facture ".$fac->ref." ne semble toujours pas avoir été réglée. La voici donc, pour rappel, en pièce jointe.\n\nCordialement\n\n";
|
|
||||||
$form->mail_topicmessagefile(0,1,0,$defaultmessage);
|
|
||||||
|
|
||||||
print "<br><center><input class=\"flat\" type=\"submit\" value=\"".$langs->trans("Send")."\"></center>\n";
|
|
||||||
|
|
||||||
print "</form\n";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -872,53 +872,6 @@ class Form
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* \brief Affiche la partie de formulaire pour saisie d'un mail
|
|
||||||
* \param withtopic 1 pour proposer à la saisie le sujet
|
|
||||||
* \param withbody 1 pour proposer à la saisie le corps du message
|
|
||||||
* \param withfile 1 pour proposer à la saisie l'ajout d'un fichier joint
|
|
||||||
*/
|
|
||||||
function mail_topicmessagefile($withtopic=1,$withbody=1,$withfile=1,$defaultbody) {
|
|
||||||
global $langs;
|
|
||||||
|
|
||||||
$langs->load("other");
|
|
||||||
|
|
||||||
print "<table class=\"border\" width=\"100%\">";
|
|
||||||
|
|
||||||
// Topic
|
|
||||||
if ($withtopic)
|
|
||||||
{
|
|
||||||
print "<tr>";
|
|
||||||
print "<td width=\"180\">".$langs->trans("MailTopic")."</td>";
|
|
||||||
print "<td>";
|
|
||||||
print "<input type=\"text\" size=\"60\" name=\"subject\" value=\"\">";
|
|
||||||
print "</td></tr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
// Message
|
|
||||||
if ($withbody)
|
|
||||||
{
|
|
||||||
print "<tr>";
|
|
||||||
print "<td width=\"180\" valign=\"top\">".$langs->trans("MailText")."</td>";
|
|
||||||
print "<td>";
|
|
||||||
print "<textarea rows=\"8\" cols=\"72\" name=\"message\">";
|
|
||||||
print $defaultbody;
|
|
||||||
print "</textarea>";
|
|
||||||
print "</td></tr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
// Si fichier joint
|
|
||||||
if ($withfile)
|
|
||||||
{
|
|
||||||
print "<tr>";
|
|
||||||
print "<td width=\"180\">".$langs->trans("MailFile")."</td>";
|
|
||||||
print "<td>";
|
|
||||||
print "<input type=\"file\" name=\"addedfile\" value=\"".$langs->trans("Upload")."\"/>";
|
|
||||||
print "</td></tr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
print "</table>";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
262
htdocs/html.formmail.class.php
Normal file
262
htdocs/html.formmail.class.php
Normal file
@ -0,0 +1,262 @@
|
|||||||
|
<?PHP
|
||||||
|
/* Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
|
*
|
||||||
|
* 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 2 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, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*
|
||||||
|
* $Id$
|
||||||
|
* $Source$
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** \file htdocs/html.formmail.class.php
|
||||||
|
\brief Fichier de la classe permettant la génération du formulaire html d'envoi de mail unitaire
|
||||||
|
\version $Revision$
|
||||||
|
*/
|
||||||
|
|
||||||
|
include_once ("html.form.class.php");
|
||||||
|
|
||||||
|
|
||||||
|
/** \class FormMail
|
||||||
|
\brief Classe permettant la génération du formulaire html d'envoi de mail unitaire
|
||||||
|
\remarks Utilisation: $formail = new FormMail($db)
|
||||||
|
\remarks $formmail->proprietes=1 ou chaine ou tableau de valeurs
|
||||||
|
\remarks $formmail->show_form() affiche le formulaire
|
||||||
|
*/
|
||||||
|
|
||||||
|
class FormMail
|
||||||
|
{
|
||||||
|
var $db;
|
||||||
|
|
||||||
|
var $fromname;
|
||||||
|
var $frommail;
|
||||||
|
var $replytoname;
|
||||||
|
var $replytomail;
|
||||||
|
var $toname;
|
||||||
|
var $tomail;
|
||||||
|
|
||||||
|
var $withfrom;
|
||||||
|
var $withto;
|
||||||
|
var $withtocc;
|
||||||
|
var $withtopic;
|
||||||
|
var $withfile;
|
||||||
|
var $withbody;
|
||||||
|
|
||||||
|
var $withfromreadonly;
|
||||||
|
var $withreplytoreadonly;
|
||||||
|
var $withtoreadonly;
|
||||||
|
var $withtoccreadonly;
|
||||||
|
var $withtopicreadonly;
|
||||||
|
|
||||||
|
var $substit=array();
|
||||||
|
var $param=array();
|
||||||
|
|
||||||
|
var $errorstr;
|
||||||
|
|
||||||
|
/** \brief Constructeur
|
||||||
|
\param DB handler d'accès base de donnée
|
||||||
|
*/
|
||||||
|
|
||||||
|
function FormMail($DB)
|
||||||
|
{
|
||||||
|
$this->db = $DB;
|
||||||
|
|
||||||
|
$this->withfrom=1;
|
||||||
|
$this->withto=1;
|
||||||
|
$this->withtocc=1;
|
||||||
|
$this->withtopic=1;
|
||||||
|
$this->withfile=0;
|
||||||
|
$this->withbody=1;
|
||||||
|
|
||||||
|
$this->withfromreadonly=1;
|
||||||
|
$this->withreplytoreadonly=1;
|
||||||
|
$this->withtoreadonly=0;
|
||||||
|
$this->withtoccreadonly=0;
|
||||||
|
$this->withtopicreadonly=0;
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* \brief Affiche la partie de formulaire pour saisie d'un mail en fonction des propriétés
|
||||||
|
*/
|
||||||
|
function show_form() {
|
||||||
|
global $langs;
|
||||||
|
$langs->load("other");
|
||||||
|
|
||||||
|
$form=new Form($DB);
|
||||||
|
|
||||||
|
print "\n<!-- Debut form mail -->\n";
|
||||||
|
print "<form method=\"post\" ENCTYPE=\"multipart/form-data\" action=\"".$this->param["returnurl"]."\">\n";
|
||||||
|
foreach ($this->param as $key=>$value) {
|
||||||
|
print "<input type=\"hidden\" name=\"$key\" value=\"$value\">\n";
|
||||||
|
}
|
||||||
|
print "<table class=\"border\" width=\"100%\">\n";
|
||||||
|
|
||||||
|
// From
|
||||||
|
if ($this->withfrom)
|
||||||
|
{
|
||||||
|
if ($this->withfromreadonly) {
|
||||||
|
print '<input type="hidden" name="fromname" value="'.$this->fromname.'">';
|
||||||
|
print '<input type="hidden" name="frommail" value="'.$this->frommail.'">';
|
||||||
|
print "<tr><td width=\"180\">".$langs->trans("MailFrom")."</td><td>".$this->fromname.($this->frommail?(" <".$this->frommail.">"):"")."</td></tr>\n";
|
||||||
|
print "</td></tr>\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Replyto
|
||||||
|
if ($this->withreplyto)
|
||||||
|
{
|
||||||
|
if ($this->withreplytoreadonly) {
|
||||||
|
print '<input type="hidden" name="replyname" value="'.$this->replytoname.'">';
|
||||||
|
print '<input type="hidden" name="replymail" value="'.$this->replytomail.'">';
|
||||||
|
print "<tr><td>".$langs->trans("MailReply")."</td><td>".$this->replytoname.($this->replytomail?(" <".$this->replytomail.">"):"");
|
||||||
|
print "</td></tr>\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// To
|
||||||
|
if ($this->withto || is_array($this->withto)) {
|
||||||
|
print '<tr><td width="180">'.$langs->trans("MailTo").'</td><td>';
|
||||||
|
if ($this->withtoreadonly) {
|
||||||
|
print (! is_array($this->withto) && ! is_numeric($this->withto))?$this->withto:"";
|
||||||
|
} else {
|
||||||
|
print "<input size=\"30\" name=\"sendto\" value=\"".(! is_array($this->withto)?$this->withto:"")."\">";
|
||||||
|
if (is_array($this->withto))
|
||||||
|
{
|
||||||
|
print " ".$langs->trans("or")." ";
|
||||||
|
$form->select_array("receiver",$this->withto);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
print "</td></tr>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
// CC
|
||||||
|
if ($this->withcc)
|
||||||
|
{
|
||||||
|
print '<tr><td width="180">'.$langs->trans("MailCC").'</td><td>';
|
||||||
|
if ($this->withtoccreadonly) {
|
||||||
|
print (! is_array($this->withtocc) && ! is_numeric($this->withtocc))?$this->withtocc:"";
|
||||||
|
} else {
|
||||||
|
print "<input size=\"30\" name=\"sendtocc\" value=\"".((! is_array($this->withtocc) && ! is_numeric($this->withtocc))?$this->withtocc:"")."\">";
|
||||||
|
if (is_array($this->withtocc))
|
||||||
|
{
|
||||||
|
print " ".$langs->trans("or")." ";
|
||||||
|
$form->select_array("receivercc",$this->withtocc);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
print "</td></tr>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Topic
|
||||||
|
if ($this->withtopic)
|
||||||
|
{
|
||||||
|
print "<tr>";
|
||||||
|
print "<td width=\"180\">".$langs->trans("MailTopic")."</td>";
|
||||||
|
print "<td>";
|
||||||
|
print "<input type=\"text\" size=\"60\" name=\"subject\" value=\"\">";
|
||||||
|
print "</td></tr>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Si fichier joint
|
||||||
|
if ($this->withfile)
|
||||||
|
{
|
||||||
|
print "<tr>";
|
||||||
|
print "<td width=\"180\">".$langs->trans("MailFile")."</td>";
|
||||||
|
print "<td>";
|
||||||
|
print "<input type=\"file\" name=\"addedfile\" value=\"".$langs->trans("Upload")."\"/>";
|
||||||
|
print "</td></tr>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Message
|
||||||
|
if ($this->withbody)
|
||||||
|
{
|
||||||
|
$defaultmessage="";
|
||||||
|
|
||||||
|
// \todo A partir du type, proposer liste de messages dans table llx_models
|
||||||
|
if ($this->param["models"]=='facture_send') { $defaultmessage="Veuillez trouver ci-joint la facture __FACREF__\n\nCordialement\n\n"; }
|
||||||
|
if ($this->param["models"]=='facture_relance') { $defaultmessage="Nous apportons à votre connaissance que la facture __FACREF__ ne semble toujours pas avoir été réglée. La voici donc, pour rappel, en pièce jointe.\n\nCordialement\n\n"; }
|
||||||
|
|
||||||
|
foreach ($this->substit as $key=>$value) {
|
||||||
|
$defaultmessage=ereg_replace($key,$value,$defaultmessage);
|
||||||
|
}
|
||||||
|
print "<tr>";
|
||||||
|
print "<td width=\"180\" valign=\"top\">".$langs->trans("MailText")."</td>";
|
||||||
|
print "<td>";
|
||||||
|
print "<textarea rows=\"8\" cols=\"72\" name=\"message\">";
|
||||||
|
print $defaultmessage;
|
||||||
|
print "</textarea>";
|
||||||
|
print "</td></tr>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
print "<tr><td align=center colspan=2><center><input class=\"flat\" type=\"submit\" value=\"".$langs->trans("Send")."\"></center></td></tr>\n";
|
||||||
|
print "</table>\n";
|
||||||
|
|
||||||
|
print "</form>\n";
|
||||||
|
print "<!-- Fin form mail -->\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* \brief Affiche la partie de formulaire pour saisie d'un mail
|
||||||
|
* \param withtopic 1 pour proposer à la saisie le sujet
|
||||||
|
* \param withbody 1 pour proposer à la saisie le corps du message
|
||||||
|
* \param withfile 1 pour proposer à la saisie l'ajout d'un fichier joint
|
||||||
|
* \todo Fonction a virer quand fichier /comm/mailing.php viré (= quand ecran dans /comm/mailing prets)
|
||||||
|
*/
|
||||||
|
function mail_topicmessagefile($withtopic=1,$withbody=1,$withfile=1,$defaultbody) {
|
||||||
|
global $langs;
|
||||||
|
|
||||||
|
$langs->load("other");
|
||||||
|
|
||||||
|
print "<table class=\"border\" width=\"100%\">";
|
||||||
|
|
||||||
|
// Topic
|
||||||
|
if ($withtopic)
|
||||||
|
{
|
||||||
|
print "<tr>";
|
||||||
|
print "<td width=\"180\">".$langs->trans("MailTopic")."</td>";
|
||||||
|
print "<td>";
|
||||||
|
print "<input type=\"text\" size=\"60\" name=\"subject\" value=\"\">";
|
||||||
|
print "</td></tr>";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Message
|
||||||
|
if ($withbody)
|
||||||
|
{
|
||||||
|
print "<tr>";
|
||||||
|
print "<td width=\"180\" valign=\"top\">".$langs->trans("MailText")."</td>";
|
||||||
|
print "<td>";
|
||||||
|
print "<textarea rows=\"8\" cols=\"72\" name=\"message\">";
|
||||||
|
print $defaultbody;
|
||||||
|
print "</textarea>";
|
||||||
|
print "</td></tr>";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Si fichier joint
|
||||||
|
if ($withfile)
|
||||||
|
{
|
||||||
|
print "<tr>";
|
||||||
|
print "<td width=\"180\">".$langs->trans("MailFile")."</td>";
|
||||||
|
print "<td>";
|
||||||
|
print "<input type=\"file\" name=\"addedfile\" value=\"".$langs->trans("Upload")."\"/>";
|
||||||
|
print "</td></tr>";
|
||||||
|
}
|
||||||
|
|
||||||
|
print "</table>";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
Loading…
Reference in New Issue
Block a user