* Copyright (C) 2010 Juanjo Menent * * 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. */ /** * \file htdocs/core/class/html.formmail.class.php * \ingroup core * \brief Fichier de la classe permettant la generation du formulaire html d'envoi de mail unitaire * \version $Id$ */ require_once(DOL_DOCUMENT_ROOT ."/core/class/html.form.class.php"); /** \class FormSms * \brief Classe permettant la generation du formulaire d'envoi de Sms * \remarks Utilisation: $formsms = new FormSms($db) * \remarks $formsms->proprietes=1 ou chaine ou tableau de valeurs * \remarks $formsms->show_form() affiche le formulaire */ class FormSms { var $db; var $fromname; var $fromsms; var $replytoname; var $replytomail; var $toname; var $tomail; var $withsubstit; // Show substitution array var $withfrom; var $withto; var $withtopic; var $withbody; var $withfromreadonly; var $withreplytoreadonly; var $withtoreadonly; var $withtopicreadonly; var $withcancel; var $substit=array(); var $param=array(); var $error; /** * \brief Constructeur * \param DB handler d'acces base de donnee */ function FormSms($DB) { $this->db = $DB; $this->withfrom=1; $this->withto=1; $this->withtopic=1; $this->withbody=1; $this->withfromreadonly=1; $this->withreplytoreadonly=1; $this->withtoreadonly=0; $this->withtopicreadonly=0; $this->withbodyreadonly=0; return 1; } /** * Show the form to input an sms */ function show_form() { global $conf, $langs, $user; $langs->load("other"); $langs->load("mails"); $langs->load("sms"); $form=new Form($DB); $soc=new Societe($this->db); if ($this->withtosocid > 0) { $soc->fetch($this->withtosocid); } print "\n\n"; print ' '; print "
param["returnurl"]."\">\n"; print ''; foreach ($this->param as $key=>$value) { print "\n"; } print "\n"; // Substitution array if ($this->withsubstit) { print "\n"; } // From if ($this->withfrom) { if ($this->withfromreadonly) { print ''; print "\n"; print "\n"; } else { print "'; print "\n"; } } // To if ($this->withto || is_array($this->withto)) { print '\n"; } // Topic /* if ($this->withtopic) { $this->withtopic=make_substitutions($this->withtopic,$this->substit,$langs); print ""; print ""; print "\n"; }*/ // Message if ($this->withbody) { $defaultmessage=''; if ($this->param["models"]=='body') { $defaultmessage=$this->withbody; } /*if ($this->param["models"]=='facture_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendInvoice"); } if ($this->param["models"]=='facture_relance') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendInvoiceReminder"); } if ($this->param["models"]=='propal_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendProposal"); } if ($this->param["models"]=='order_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendOrder"); } if ($this->param["models"]=='order_supplier_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendSupplierOrder"); } if ($this->param["models"]=='invoice_supplier_send') { $defaultmessage=$langs->transnoentities("PredefinedMailContentSendSupplierInvoice"); } */ $defaultmessage=make_substitutions($defaultmessage,$this->substit,$langs); if (isset($_POST["message"])) $defaultmessage=$_POST["message"]; $defaultmessage=str_replace('\n',"\n",$defaultmessage); print ""; print ""; print "'; } print "\n"; } print ' '; print '\n"; print "
"; $help=""; foreach($this->substit as $key => $val) { $help.=$key.' -> '.$langs->trans($val).'
'; } print $form->textwithpicto($langs->trans("EMailTestSubstitutionReplacedByGenericValues"),$help); print "
".$langs->trans("SmsFrom").""; if ($this->fromtype == 'user') { $langs->load("users"); $fuser=new User($this->db); $fuser->fetch($this->fromid); print $fuser->getNomUrl(1); print '   '; } if ($this->fromsms) { print $this->fromsms; } else { if ($this->fromtype) { $langs->load("errors"); print ' <'.$langs->trans("ErrorNoPhoneDefinedForThisUser").'> '; } } print "
".$langs->trans("SmsFrom").""; //print ''; print ''; print '
'; //$moretext=$langs->trans("YouCanUseCommaSeparatorForSeveralRecipients"); $moretext=''; print $form->textwithpicto($langs->trans("SmsTo"),$moretext); print ''; if ($this->withtoreadonly) { print (! is_array($this->withto) && ! is_numeric($this->withto))?$this->withto:""; } else { print "withto) && ! is_numeric($this->withto)? (isset($_REQUEST["sendto"])?$_REQUEST["sendto"]:$this->withto):"+")."\">"; if ($this->withtosocid > 0) { $liste=array(); $liste[0]=' '; foreach ($soc->thirdparty_and_contact_phone_array() as $key=>$value) { $liste[$key]=$value; } print " ".$langs->trans("or")." "; //var_dump($_REQUEST);exit; print $form->selectarray("receiver", $liste, isset($_REQUEST["receiver"])?$_REQUEST["receiver"]:0); } print ' '.$langs->trans("SmsInfoNumero"); } print "
".$langs->trans("MailTopic").""; if ($this->withtopicreadonly) { print $this->withtopic; print "withtopic."\">"; } else { print "withtopic) ."\">"; } print "
".$langs->trans("SmsText").""; if ($this->withbodyreadonly) { print nl2br($defaultmessage); print ''; } else { print ''; print '
'.$langs->trans("SmsInfoCharRemain").': '.(160-dol_strlen($defaultmessage)).'
'.$langs->trans("DelayBeforeSending").':
'.$langs->trans("Type").' :
'.$langs->trans("Priority").' :
'; print "trans("SendSms")."\""; print ">"; if ($this->withcancel) { print "     "; print "trans("Cancel")."\">"; } print "
\n"; print "
\n"; print "\n"; } /** * \brief Affiche la partie de formulaire pour saisie d'un sms * \param withtopic 1 pour proposer a la saisie le sujet * \param withbody 1 pour proposer a la saisie le corps du message * \param withfile 1 pour proposer a la saisie l'ajout d'un fichier joint * \todo Fonction a virer quand fichier /comm/mailing.php vire (= quand ecran dans /comm/mailing prets) */ function sms_topicmessagefile($withtopic=1,$withbody=1,$withfile=1,$defaultbody) { global $langs; $langs->load("other"); print ""; // Topic if ($withtopic) { print ""; print ""; print ""; } // Message if ($withbody) { print ""; print ""; print ""; } print "
".$langs->trans("MailTopic").""; print ""; print "
".$langs->trans("MailText").""; print ""; print "
"; } } ?>