From 053f12ded143181482bde761d4e08994feeee8fa Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 6 Aug 2006 13:35:19 +0000 Subject: [PATCH] New: Ajout bouton annuler sur formulaire envoi mail --- htdocs/html.formmail.class.php | 426 +++++++++++++++++---------------- 1 file changed, 224 insertions(+), 202 deletions(-) diff --git a/htdocs/html.formmail.class.php b/htdocs/html.formmail.class.php index c310600b20d..690dbc94c92 100644 --- a/htdocs/html.formmail.class.php +++ b/htdocs/html.formmail.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2005-2006 Laurent Destailleur * * 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 @@ -37,67 +37,69 @@ require_once(DOL_DOCUMENT_ROOT ."/html.form.class.php"); 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 $withdeliveryreceipt; - - var $substit=array(); - var $param=array(); - - var $errorstr; - - /** \brief Constructeur - \param DB handler d'accès base de donnée - */ + var $db; - function FormMail($DB) - { - $this->db = $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 $withdeliveryreceipt; + var $withcancel; + + var $substit=array(); + var $param=array(); + + var $errorstr; - $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; - $this->withbodyreadonly=0; - $this->withdeliveryreceiptreadonly=0; - - return 1; - } + + /** + \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; + $this->withbodyreadonly=0; + $this->withdeliveryreceiptreadonly=0; + + return 1; + } - /* - * \brief Effectue les substitutions des mots clés par les données en fonction du tableau $this->substit - * \param chaine chaine dans laquelle faire les substitutions - * \return string chaine avec les substitutions effectuées - */ - function make_substitutions($chaine) + /* + * \brief Effectue les substitutions des mots clés par les données en fonction du tableau $this->substit + * \param chaine chaine dans laquelle faire les substitutions + * \return string chaine avec les substitutions effectuées + */ + function make_substitutions($chaine) { foreach ($this->substit as $key=>$value) { $chaine=ereg_replace($key,$value,$chaine); @@ -106,161 +108,181 @@ class FormMail } - /* - * \brief Affiche la partie de formulaire pour saisie d'un mail en fonction des propriétés - */ - function show_form() { - global $conf, $langs, $user; + /* + * \brief Affiche la partie de formulaire pour saisie d'un mail en fonction des propriétés + */ + function show_form() + { + global $conf, $langs, $user; + + $langs->load("other"); + $langs->load("mails"); + + $form=new Form($DB); + + print "\n\n"; + print "
param["returnurl"]."\">\n"; + foreach ($this->param as $key=>$value) + { + print "\n"; + } + print "\n"; + + // From + if ($this->withfrom) + { + if ($this->withfromreadonly) + { + print ''; + print ''; + print "\n"; + print "\n"; + } + } + + // Replyto + if ($this->withreplyto) + { + if ($this->withreplytoreadonly) + { + print ''; + print ''; + print "\n"; + } + } + + // To + if ($this->withto || is_array($this->withto)) + { + print '\n"; + } + + // CC + if ($this->withcc) + { + print '\n"; + } - $langs->load("other"); - $langs->load("mails"); - - $form=new Form($DB); + // Accusé réception + if ($this->withdeliveryreceipt) + { + print '"; + print ""; + print "\n"; + } - print "\n"; - print "\n"; - } + print "\n"; + print "
".$langs->trans("MailFrom")."".$this->fromname.($this->frommail?(" <".$this->frommail.">"):"")."
".$langs->trans("MailReply")."".$this->replytoname.($this->replytomail?(" <".$this->replytomail.">"):""); + print "
'.$langs->trans("MailTo").''; + if ($this->withtoreadonly) + { + print (! is_array($this->withto) && ! is_numeric($this->withto))?$this->withto:""; + } + else + { + print "withto) && ! is_numeric($this->withto)?$this->withto:"")."\">"; + if (is_array($this->withto)) + { + print " ".$langs->trans("or")." "; + $form->select_array("receiver",$this->withto); + } + } + print "
'.$langs->trans("MailCC").''; + if ($this->withtoccreadonly) + { + print (! is_array($this->withtocc) && ! is_numeric($this->withtocc))?$this->withtocc:""; + } + else + { + print "withtocc) && ! is_numeric($this->withtocc))?$this->withtocc:"")."\">"; + if (is_array($this->withtocc)) + { + print " ".$langs->trans("or")." "; + $form->select_array("receivercc",$this->withtocc); + } + } + print "
'.$langs->trans("DeliveryReceipt").''; - print "\n\n"; - print "param["returnurl"]."\">\n"; - foreach ($this->param as $key=>$value) { - print "\n"; - } - print "\n"; + if ($this->withdeliveryreceiptreadonly) + { + print yn($this->withdeliveryreceipt); + } + else + { + print $form->select_YesNo(0,'deliveryreceipt'); + } - // From - if ($this->withfrom) - { - if ($this->withfromreadonly) { - print ''; - print ''; - print "\n"; - print "\n"; - } - } + print "\n"; + } - // Replyto - if ($this->withreplyto) - { - if ($this->withreplytoreadonly) { - print ''; - print ''; - print "\n"; - } - } - - // To - if ($this->withto || is_array($this->withto)) { - print '\n"; - } - - // CC - if ($this->withcc) - { - print '\n"; - } - - // Accusé réception - if ($this->withdeliveryreceipt) - { - print '\n"; - } + // Topic + if ($this->withtopic) + { + $this->withtopic=$this->make_substitutions($this->withtopic); - // Topic - if ($this->withtopic) - { - $this->withtopic=$this->make_substitutions($this->withtopic); + print ""; + print ""; + print "\n"; + } - print ""; - print ""; - print "\n"; - } + // Si fichier joint + if ($this->withfile) + { + print ""; + print ""; + print "\n"; + } - // Si fichier joint - if ($this->withfile) - { - print ""; - print ""; - print "\n"; - } + // Message + if ($this->withbody) + { + $defaultmessage=""; - // Message - if ($this->withbody) - { - $defaultmessage=""; + // \todo A partir du type, proposer liste de messages dans table llx_models + if ($this->param["models"]=='body') { $defaultmessage=$this->withbody; } + 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 pas avoir été réglée. La voici donc, pour rappel, en pièce jointe.\n\nCordialement\n\n"; } + if ($this->param["models"]=='propal_send') { $defaultmessage="Veuillez trouver ci-joint la proposition commerciale __PROPREF__\n\nCordialement\n\n"; } + if ($this->param["models"]=='order_send') { $defaultmessage="Veuillez trouver ci-joint la commande __ORDERREF__\n\nCordialement\n\n"; } - // \todo A partir du type, proposer liste de messages dans table llx_models - if ($this->param["models"]=='body') { $defaultmessage=$this->withbody; } - 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 pas avoir été réglée. La voici donc, pour rappel, en pièce jointe.\n\nCordialement\n\n"; } - if ($this->param["models"]=='propal_send') { $defaultmessage="Veuillez trouver ci-joint la proposition commerciale __PROPREF__\n\nCordialement\n\n"; } - if ($this->param["models"]=='order_send') { $defaultmessage="Veuillez trouver ci-joint la commande __ORDERREF__\n\nCordialement\n\n"; } + $defaultmessage=$this->make_substitutions($defaultmessage); - $defaultmessage=$this->make_substitutions($defaultmessage); - - print ""; - print ""; - print "\n"; - } - - print "\n"; - print "
".$langs->trans("MailFrom")."".$this->fromname.($this->frommail?(" <".$this->frommail.">"):"")."
".$langs->trans("MailReply")."".$this->replytoname.($this->replytomail?(" <".$this->replytomail.">"):""); - print "
'.$langs->trans("MailTo").''; - if ($this->withtoreadonly) { - print (! is_array($this->withto) && ! is_numeric($this->withto))?$this->withto:""; - } else { - print "withto) && ! is_numeric($this->withto)?$this->withto:"")."\">"; - if (is_array($this->withto)) - { - print " ".$langs->trans("or")." "; - $form->select_array("receiver",$this->withto); - } - } - print "
'.$langs->trans("MailCC").''; - if ($this->withtoccreadonly) { - print (! is_array($this->withtocc) && ! is_numeric($this->withtocc))?$this->withtocc:""; - } else { - print "withtocc) && ! is_numeric($this->withtocc))?$this->withtocc:"")."\">"; - if (is_array($this->withtocc)) - { - print " ".$langs->trans("or")." "; - $form->select_array("receivercc",$this->withtocc); - } - } - print "
'.$langs->trans("DeliveryReceipt").''; - - if ($this->withdeliveryreceiptreadonly) { - print yn($this->withdeliveryreceipt); - } - else - { - print $form->select_YesNo(0,'deliveryreceipt'); - } - - print "
".$langs->trans("MailTopic").""; + if ($this->withtopicreadonly) + { + print $this->withtopic; + print "withtopic."\">"; + } + else + { + print "withtopic."\">"; + } + print "
".$langs->trans("MailTopic").""; - if ($this->withtopicreadonly) { - print $this->withtopic; - print "withtopic."\">"; - } - else - { - print "withtopic."\">"; - } - print "
".$langs->trans("MailFile").""; + print "trans("Upload")."\"/>"; + print "
".$langs->trans("MailFile").""; - print "trans("Upload")."\"/>"; - print "
".$langs->trans("MailText").""; - if ($this->withbodyreadonly) - { - print nl2br($defaultmessage); - print ''; - } - else - { - print ''; - } - print "
trans("SendMail")."\">
\n"; + print "
".$langs->trans("MailText").""; + if ($this->withbodyreadonly) + { + print nl2br($defaultmessage); + print ''; + } + else + { + print ''; + } + print "
"; + print "trans("SendMail")."\">"; + if ($this->withcancel) + { + print "     "; + print "trans("Cancel")."\">"; + } + print "
\n"; + + print "\n"; + print "\n"; + } /*