mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-12-10 11:31:26 +01:00
New: Add a module to select email targets from a file in email module
This commit is contained in:
@@ -128,6 +128,8 @@ if ($_POST["button_removefilter"])
|
||||
$search_email='';
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Liste des destinataires
|
||||
*/
|
||||
@@ -164,7 +166,7 @@ if ($mil->fetch($_REQUEST["id"]) >= 0)
|
||||
print '<tr><td width="25%">'.$langs->trans("MailTitle").'</td><td colspan="3">'.$mil->titre.'</td></tr>';
|
||||
print '<tr><td width="25%">'.$langs->trans("MailFrom").'</td><td colspan="3">'.htmlentities($mil->email_from).'</td></tr>';
|
||||
print '<tr><td width="25%">'.$langs->trans("Status").'</td><td colspan="3">'.$mil->getLibStatut(4).'</td></tr>';
|
||||
print '<tr><td width="25%">'.$langs->trans("TotalNbOfDistinctRecipients").'</td><td colspan="3">'.($mil->nbemail?$mil->nbemail:'<font class="error">'.$langs->trans("NoTargetYet").'</font>').'</td></tr>';
|
||||
print '<tr><td width="25%">'.$langs->trans("TotalNbOfDistinctRecipients").'</td><td colspan="3">'.($mil->nbemail?$mil->nbemail:'0').'</td></tr>';
|
||||
print '</table>';
|
||||
|
||||
print "</div>";
|
||||
@@ -183,7 +185,7 @@ if ($mil->fetch($_REQUEST["id"]) >= 0)
|
||||
if ($user->admin) print ' '.info_admin($langs->trans("YouCanAddYourOwnPredefindedListHere"),1);
|
||||
print '</td>';
|
||||
print '<td align="center">'.$langs->trans("NbOfUniqueEMails").'</td>';
|
||||
print '<td align="center">'.$langs->trans("Filter").'</td>';
|
||||
print '<td align="left">'.$langs->trans("Filter").'</td>';
|
||||
print '<td align="center" width="120"> </td>';
|
||||
print "</tr>\n";
|
||||
|
||||
@@ -231,7 +233,7 @@ if ($mil->fetch($_REQUEST["id"]) >= 0)
|
||||
$var = !$var;
|
||||
print '<tr '.$bc[$var].'>';
|
||||
|
||||
if ($mil->statut == 0) print '<form action="cibles.php?action=add&rowid='.$mil->id.'&module='.$modulename.'" method="POST">';
|
||||
if ($mil->statut == 0) print '<form name="'.$modulename.'" action="cibles.php?action=add&rowid='.$mil->id.'&module='.$modulename.'" method="POST" enctype="multipart/form-data">';
|
||||
|
||||
print '<td>';
|
||||
if (! $obj->picto) $obj->picto='generic';
|
||||
@@ -255,13 +257,13 @@ if ($mil->fetch($_REQUEST["id"]) >= 0)
|
||||
}
|
||||
print '</td>';
|
||||
|
||||
print '<td align="center">';
|
||||
print '<td align="left">';
|
||||
$filter=$obj->formFilter();
|
||||
if ($filter) print $filter;
|
||||
else print $langs->trans("None");
|
||||
print '</td>';
|
||||
|
||||
print '<td align="center">';
|
||||
print '<td align="right">';
|
||||
if ($mil->statut == 0)
|
||||
{
|
||||
print '<input type="submit" class="button" value="'.$langs->trans("Add").'">';
|
||||
@@ -287,7 +289,12 @@ if ($mil->fetch($_REQUEST["id"]) >= 0)
|
||||
print '<br>';
|
||||
|
||||
print '<form action="cibles.php?action=clear&rowid='.$mil->id.'" method="POST">';
|
||||
print_titre($langs->trans("ToClearAllRecipientsClickHere").'<br><input type="submit" class="button" value="'.$langs->trans("TargetsReset").'">');
|
||||
print_titre($langs->trans("ToClearAllRecipientsClickHere"));
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td align="right"><input type="submit" class="button" value="'.$langs->trans("TargetsReset").'"></td>';
|
||||
print '</tr>';
|
||||
print '</table>';
|
||||
print '</form>';
|
||||
print '<br>';
|
||||
}
|
||||
@@ -319,7 +326,7 @@ if ($mil->fetch($_REQUEST["id"]) >= 0)
|
||||
if ($search_nom) $addu.= "&search_nom=".urlencode($search_nom);
|
||||
if ($search_prenom) $addu.= "&search_prenom=".urlencode($search_prenom);
|
||||
if ($search_email) $addu.= "&search_email=".urlencode($search_email);
|
||||
print_barre_liste($langs->trans("MailSelectedRecipients"),$page,$_SERVER["PHP_SELF"],$addu,$sortfield,$sortorder,"",$num);
|
||||
print_barre_liste($langs->trans("MailSelectedRecipients"),$page,$_SERVER["PHP_SELF"],$addu,$sortfield,$sortorder,"",$num,$mil->nbemail);
|
||||
|
||||
if ($page) $addu.= "&page=".$page;
|
||||
print '<table class="noborder" width="100%">';
|
||||
|
||||
@@ -350,6 +350,10 @@ class Conf
|
||||
// Module ECM
|
||||
$this->ecm->enabled=defined("MAIN_MODULE_ECM")?MAIN_MODULE_ECM:0;
|
||||
$this->ecm->dir_output=DOL_DATA_ROOT."/ecm";
|
||||
// Module emailing
|
||||
$this->mailings->enabled=defined("MAIN_MODULE_MAILING")?MAIN_MODULE_MAILING:0;
|
||||
$this->mailings->dir_temp=DOL_DATA_ROOT."/mailings/temp";
|
||||
|
||||
|
||||
/*
|
||||
* Modification de quelques variable de conf en fonction des Constantes
|
||||
|
||||
@@ -28,7 +28,8 @@ class mailing_example extends MailingTargets
|
||||
{
|
||||
// CHANGE THIS: Put here a name not already used
|
||||
var $name='example';
|
||||
// CHANGE THIS: Put here a description of your selector module
|
||||
// CHANGE THIS: Put here a description of your selector module.
|
||||
// This label is used if no translation for MailingModuleDescXXX where XXX=name is found
|
||||
var $desc='Put here a description';
|
||||
// CHANGE THIS: Set to 1 if selector is available for admin users only
|
||||
var $require_admin=0;
|
||||
|
||||
@@ -15,21 +15,6 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
* or see http://www.gnu.org/
|
||||
*
|
||||
*
|
||||
* L'utilisation d'adresses de courriers <20>lectroniques dans les op<6F>rations
|
||||
* de prospection commerciale est subordonn<6E>e au recueil du consentement
|
||||
* pr<70>alable des personnes concern<72>es.
|
||||
*
|
||||
* Le dispositif juridique applicable a <20>t<EFBFBD> introduit par l'article 22 de
|
||||
* la loi du 21 juin 2004 pour la confiance dans l'<27>conomie num<75>rique.
|
||||
*
|
||||
* Les dispositions applicables sont d<>finies par les articles L. 34-5 du
|
||||
* code des postes et des t<>l<EFBFBD>communications et L. 121-20-5 du code de la
|
||||
* consommation. L'application du principe du consentement pr<70>alable en
|
||||
* droit fran<61>ais r<>sulte de la transposition de l'article 13 de la Directive
|
||||
* europ<6F>enne du 12 juillet 2002 <20> Vie priv<69>e et communications <20>lectroniques <20>.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -159,7 +144,7 @@ class mailing_fraise extends MailingTargets
|
||||
$i = 0;
|
||||
$j = 0;
|
||||
|
||||
dolibarr_syslog("fraisemodules.php: mailing $num cibles trouv<75>es");
|
||||
dolibarr_syslog(get_class($this)."::add_to_target mailing ".$num." targets found");
|
||||
|
||||
$old = '';
|
||||
while ($i < $num)
|
||||
|
||||
@@ -169,7 +169,7 @@ class MailingTargets
|
||||
}
|
||||
}
|
||||
|
||||
dolibarr_syslog("mailing-prepare: mailing $j cibles ajout<75>es");
|
||||
dolibarr_syslog("MailingTargets::add_to_target: mailing ".$j." targets added");
|
||||
|
||||
$this->update_nb($mailing_id);
|
||||
|
||||
|
||||
201
htdocs/includes/modules/mailings/peche.modules.php
Normal file
201
htdocs/includes/modules/mailings/peche.modules.php
Normal file
@@ -0,0 +1,201 @@
|
||||
<?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.
|
||||
* or see http://www.gnu.org/
|
||||
*/
|
||||
|
||||
/**
|
||||
\file htdocs/includes/modules/mailings/peche.modules.php
|
||||
\ingroup mailing
|
||||
\brief Fichier de la classe permettant de g<>n<EFBFBD>rer la liste de destinataires Peche
|
||||
\version $Id$
|
||||
*/
|
||||
|
||||
include_once DOL_DOCUMENT_ROOT.'/includes/modules/mailings/modules_mailings.php';
|
||||
|
||||
|
||||
/**
|
||||
\class mailing_pomme
|
||||
\brief Classe permettant de g<>n<EFBFBD>rer la liste des destinataires Pomme
|
||||
*/
|
||||
|
||||
class mailing_peche extends MailingTargets
|
||||
{
|
||||
var $name='EmailsFromFile'; // Identifiant du module mailing
|
||||
var $desc='EMails issus d\'un fichier'; // Libell<6C> utilis<69> si aucune traduction pour MailingModuleDescXXX ou XXX=name trouv<75>e
|
||||
var $require_module=array(); // Module mailing actif si modules require_module actifs
|
||||
var $require_admin=1; // Module mailing actif pour user admin ou non
|
||||
var $picto='generic';
|
||||
|
||||
var $db;
|
||||
|
||||
|
||||
function mailing_peche($DB)
|
||||
{
|
||||
$this->db=$DB;
|
||||
}
|
||||
|
||||
|
||||
function getSqlArrayForStats()
|
||||
{
|
||||
global $langs;
|
||||
$langs->load("users");
|
||||
|
||||
$statssql=array();
|
||||
return $statssql;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* \brief Return here number of distinct emails returned by your selector.
|
||||
* For example if this selector is used to extract 500 different
|
||||
* emails from a text file, this function must return 500.
|
||||
* \return int '' means NA
|
||||
*/
|
||||
function getNbOfRecipients()
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* \brief Renvoie url lien vers fiche de la source du destinataire du mailing
|
||||
* \return string Url lien
|
||||
*/
|
||||
function url($id)
|
||||
{
|
||||
global $langs;
|
||||
return $langs->trans('LineInFile',$id);
|
||||
//' - '.$langs->trans("File").' '.dolibarr_trunc( ,12);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* \brief Affiche formulaire de filtre qui apparait dans page de selection
|
||||
* des destinataires de mailings
|
||||
* \return string Retourne zone select
|
||||
*/
|
||||
function formFilter()
|
||||
{
|
||||
global $langs;
|
||||
|
||||
$s='';
|
||||
$s.='<input type="file" name="username" class="flat">';
|
||||
return $s;
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Ajoute destinataires dans table des cibles
|
||||
* \param mailing_id Id du mailing concern<72>
|
||||
* \param filterarray Requete sql de selection des destinataires
|
||||
* \return int < 0 si erreur, nb ajout si ok
|
||||
*/
|
||||
function add_to_target($mailing_id,$filtersarray=array())
|
||||
{
|
||||
global $conf,$langs,$_FILES;
|
||||
|
||||
$cibles = array();
|
||||
|
||||
$upload_dir=$conf->mailings->dir_temp;
|
||||
|
||||
// Save file
|
||||
if (! is_dir($upload_dir)) create_exdir($upload_dir);
|
||||
|
||||
if (is_dir($upload_dir))
|
||||
{
|
||||
$result = dol_move_uploaded_file($_FILES['username']['tmp_name'], $upload_dir . "/" . $_FILES['username']['name'], 1);
|
||||
if ($result > 0)
|
||||
{
|
||||
$cpt=0;
|
||||
|
||||
//$mesg = '<div class="ok">'.$langs->trans("FileTransferComplete").'</div>';
|
||||
//print_r($_FILES);
|
||||
$handle = @fopen($upload_dir . "/" . $_FILES['username']['name'], "r");
|
||||
if ($handle)
|
||||
{
|
||||
$i = 0;
|
||||
$j = 0;
|
||||
|
||||
$old = '';
|
||||
while (!feof($handle))
|
||||
{
|
||||
$cpt++;
|
||||
$buffer = trim(fgets($handle));
|
||||
$tab=split(';',$buffer);
|
||||
$email=$tab[0];
|
||||
$name=$tab[1];
|
||||
$firstname=$tab[2];
|
||||
if (! empty($buffer))
|
||||
{
|
||||
//print 'xx'.strlen($buffer).empty($buffer)."<br>\n";
|
||||
$id=$cpt;
|
||||
if (ValidEMail($email))
|
||||
{
|
||||
if ($old <> $email)
|
||||
{
|
||||
$cibles[$j] = array(
|
||||
'email' => $email,
|
||||
'name' => $name,
|
||||
'firstname' => $firstname,
|
||||
'url' => $this->url($id)
|
||||
);
|
||||
$old = $email;
|
||||
$j++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$i++;
|
||||
$langs->load("errors");
|
||||
$this->error = $langs->trans("ErrorFoundBadEmailInFile",$i,$cpt,$email);
|
||||
}
|
||||
}
|
||||
}
|
||||
fclose($handle);
|
||||
if ($i > 0)
|
||||
{
|
||||
return -$i;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error = $langs->trans("ErrorFaildToOpenFile");
|
||||
return -1;
|
||||
}
|
||||
|
||||
dolibarr_syslog(get_class($this)."::add_to_target mailing ".$cpt." targets found");
|
||||
}
|
||||
else if ($result < 0)
|
||||
{
|
||||
// Echec transfert (fichier depassant la limite ?)
|
||||
$this->error = $langs->trans("ErrorFileNotUploaded");
|
||||
// print_r($_FILES);
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Fichier infecte par un virus
|
||||
$this->error = $langs->trans("ErrorFileIsInfectedWith",$result);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
return parent::add_to_target($mailing_id, $cibles);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -16,20 +16,6 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
* or see http://www.gnu.org/
|
||||
*
|
||||
*
|
||||
* L'utilisation d'adresses de courriers <20>lectroniques dans les op<6F>rations
|
||||
* de prospection commerciale est subordonn<6E>e au recueil du consentement
|
||||
* pr<70>alable des personnes concern<72>es.
|
||||
*
|
||||
* Le dispositif juridique applicable a <20>t<EFBFBD> introduit par l'article 22 de
|
||||
* la loi du 21 juin 2004 pour la confiance dans l'<27>conomie num<75>rique.
|
||||
*
|
||||
* Les dispositions applicables sont d<>finies par les articles L. 34-5 du
|
||||
* code des postes et des t<>l<EFBFBD>communications et L. 121-20-5 du code de la
|
||||
* consommation. L'application du principe du consentement pr<70>alable en
|
||||
* droit fran<61>ais r<>sulte de la transposition de l'article 13 de la Directive
|
||||
* europ<6F>enne du 12 juillet 2002 <20> Vie priv<69>e et communications <20>lectroniques <20>.
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -204,7 +190,7 @@ class mailing_poire extends MailingTargets
|
||||
$i = 0;
|
||||
$j = 0;
|
||||
|
||||
dolibarr_syslog("poire.modules.php: mailing $num cibles trouv<75>es");
|
||||
dolibarr_syslog(get_class($this)."::add_to_target mailing ".$num." targets found");
|
||||
|
||||
$old = '';
|
||||
while ($i < $num)
|
||||
|
||||
@@ -15,20 +15,6 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
* or see http://www.gnu.org/
|
||||
*
|
||||
*
|
||||
* L'utilisation d'adresses de courriers <20>lectroniques dans les op<6F>rations
|
||||
* de prospection commerciale est subordonn<6E>e au recueil du consentement
|
||||
* pr<70>alable des personnes concern<72>es.
|
||||
*
|
||||
* Le dispositif juridique applicable a <20>t<EFBFBD> introduit par l'article 22 de
|
||||
* la loi du 21 juin 2004 pour la confiance dans l'<27>conomie num<75>rique.
|
||||
*
|
||||
* Les dispositions applicables sont d<>finies par les articles L. 34-5 du
|
||||
* code des postes et des t<>l<EFBFBD>communications et L. 121-20-5 du code de la
|
||||
* consommation. L'application du principe du consentement pr<70>alable en
|
||||
* droit fran<61>ais r<>sulte de la transposition de l'article 13 de la Directive
|
||||
* europ<6F>enne du 12 juillet 2002 <20> Vie priv<69>e et communications <20>lectroniques <20>.
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -129,7 +115,7 @@ class mailing_pomme extends MailingTargets
|
||||
$i = 0;
|
||||
$j = 0;
|
||||
|
||||
dolibarr_syslog("pomme.modules.php: mailing $num cibles trouv<75>es");
|
||||
dolibarr_syslog(get_class($this)."::add_to_target mailing ".$num." targets found");
|
||||
|
||||
$old = '';
|
||||
while ($i < $num)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2005-2007 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2008 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
|
||||
@@ -15,13 +15,12 @@
|
||||
* 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$
|
||||
*/
|
||||
|
||||
/**
|
||||
\defgroup mailing Module mailing
|
||||
\brief Module pour gerer les mailings
|
||||
\version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -37,7 +36,6 @@ include_once(DOL_DOCUMENT_ROOT ."/includes/modules/DolibarrModules.class.php");
|
||||
\class modMailing
|
||||
\brief Classe de description et activation du module Mailing
|
||||
*/
|
||||
|
||||
class modMailing extends DolibarrModules
|
||||
{
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ ErrorSupplierCodeRequired=Supplier code required
|
||||
ErrorSupplierCodeAlreadyUsed=Supplier code already used
|
||||
ErrorBadParameters=Bad parameters
|
||||
ErrorFailedToWriteInDir=Failed to write in directory %s
|
||||
ErrorFoundBadEmailInFile=Found incorrect email syntax for %s lines in file (example line %s with email=%s)
|
||||
UserCannotBeDelete=User can not be deleted. May be it is associated on Dolibarr entities.
|
||||
ErrorFieldsRequired=Some required fields were not filled.
|
||||
ErrorFailedToCreateDir=Failed to create a directory. Check that Web server user has permissions to write into Dolibarr documents directory. If parameter <b>safe_mode</b> is enabled on this PHP, check that Dolibarr php files owns to web server user (or group).
|
||||
|
||||
@@ -61,7 +61,9 @@ NoAttachedFiles=No attached files
|
||||
MailingModuleDescContactCompanies=Unique contacts of all third parties
|
||||
MailingModuleDescDolibarrUsers=All Dolibarr users with emails
|
||||
MailingModuleDescFundationMembers=Fundation members with emails
|
||||
MailingModuleDescEmailsFromFile=EMails from a file
|
||||
|
||||
LineInFile=Line %s in file
|
||||
RecipientSelectionModules=Defined requests for recipients' selection
|
||||
MailSelectedRecipients=Selected recipients
|
||||
MailingArea=EMailings area
|
||||
|
||||
@@ -17,6 +17,7 @@ ErrorSupplierCodeRequired=Code fournisseur obligatoire
|
||||
ErrorSupplierCodeAlreadyUsed=Code fournisseur deja utilise
|
||||
ErrorBadParameters=Parametres incorrects
|
||||
ErrorFailedToWriteInDir=Impossible d'<27>crire dans le r<>pertoire %s
|
||||
ErrorFoundBadEmailInFile=Syntaxe de mail incorrecte trouv<75>e pour %s lignes dans le fichier (exemple line %s avec email=%s)
|
||||
UserCannotBeDelete=L'utilisateur ne peut pas etre supprim<69>e. Peut-<2D>tre est-il associ<63> <20> des <20>l<EFBFBD>ments de Dolibarr.
|
||||
ErrorFieldsRequired=Des champs obligatoires n'ont pas <20>t<EFBFBD> renseign<67>s
|
||||
ErrorFailedToCreateDir=Echec a la creation d'un repertoire. Verifiez que le user du serveur Web a bien les droits d'ecriture dans les repertoires documents de Dolibarr. Si le parametre <b>safe_mode</b> a <20>t<EFBFBD> activ<69> sur ce PHP, v<>rifier que les fichiers php dolibarr appartiennent <20> l'utilisateur du serveur Web.
|
||||
|
||||
@@ -59,9 +59,11 @@ NoAttachedFiles=Aucun fichier joint
|
||||
|
||||
# Libelle des modules de liste de destinataires mailing
|
||||
MailingModuleDescContactCompanies=Contacts des tiers (prospects, clients, fournisseurs...)
|
||||
MailingModuleDescDolibarrUsers=Utilisateurs de Dolibarr ayant un e-mail
|
||||
MailingModuleDescFundationMembers=Adh<64>rents ayant un e-mail
|
||||
MailingModuleDescDolibarrUsers=Utilisateurs de Dolibarr avec e-mail
|
||||
MailingModuleDescFundationMembers=Adh<64>rents avec e-mail
|
||||
MailingModuleDescEmailsFromFile=EMails issus d'un fichier
|
||||
|
||||
LineInFile=Ligne %s du fichier
|
||||
RecipientSelectionModules=Modules de s<>lection des destinataires
|
||||
MailSelectedRecipients=Destinataires s<>lectionn<6E>s
|
||||
MailingArea=Espace mailings
|
||||
|
||||
@@ -1620,7 +1620,7 @@ function dol_move_uploaded_file($src_file, $dest_file, $allowoverwrite)
|
||||
}
|
||||
else
|
||||
{
|
||||
dolibarr_syslog("Functions.lib::dol_move_uploaded_file Failed to mode ".$src_file." to ".$file_name, LOG_ERR);
|
||||
dolibarr_syslog("Functions.lib::dol_move_uploaded_file Failed to move ".$src_file." to ".$file_name, LOG_ERR);
|
||||
return -3;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user