Reorganize functions

This commit is contained in:
Laurent Destailleur 2008-04-09 18:13:45 +00:00
parent b7679aa5f3
commit d5ccb222e8
30 changed files with 182 additions and 150 deletions

View File

@ -1386,6 +1386,8 @@ class Adherent extends CommonObject
*/
function add_to_spip()
{
require_once(DOL_DOCUMENT_ROOT.'/lib/security.lib.php');
dolibarr_syslog("Adherent::add_to_spip");
if (defined("ADHERENT_USE_SPIP") && ADHERENT_USE_SPIP ==1 &&

View File

@ -176,7 +176,7 @@ if ($_REQUEST["action"] == 'update' && ! $_POST["cancel"])
if (is_dir($conf->adherent->dir_output))
{
$newfile=$conf->adherent->dir_output . "/" . $adh->id . ".jpg";
if (! doliMoveFileUpload($_FILES['photo']['tmp_name'],$newfile))
if (! dol_move_uploaded_file($_FILES['photo']['tmp_name'],$newfile))
{
$message .= '<div class="error">'.$langs->trans("ErrorFailedToSaveFile").'</div>';
}

View File

@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2001-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
* Copyright (C) 2006 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2006-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
@ -16,9 +16,6 @@
* 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$
*/
/**
@ -26,10 +23,11 @@
\ingroup adherent
\brief Page d'export htpasswd du fichier des adherents
\author Rodolphe Quiedeville
\version $Revision$
\version $Id$
*/
require("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT.'/lib/security.lib.php');
llxHeader();

View File

@ -65,7 +65,7 @@ if ( (isset($_POST["action"]) && $_POST["action"] == 'update')
{
create_exdir($conf->societe->dir_logos);
}
if (doliMoveFileUpload($_FILES["logo"]["tmp_name"],$conf->societe->dir_logos.'/'.$original_file))
if (dol_move_uploaded_file($_FILES["logo"]["tmp_name"],$conf->societe->dir_logos.'/'.$original_file))
{
dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO",$original_file);

View File

@ -65,7 +65,7 @@ if ( $_POST["sendit"] && $conf->upload != 0)
{
$imp = new DolibarrImport($db);
$imp->CreateBackupDir();
if (doliMoveFileUpload($_FILES['userfile']['tmp_name'], $imp->upload_dir . "/" . $_FILES['userfile']['name']))
if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $imp->upload_dir . "/" . $_FILES['userfile']['name']))
{
$imp->ImportClients($imp->upload_dir . "/" . $_FILES['userfile']['name']);

View File

@ -26,6 +26,7 @@
require("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT.'/lib/security.lib.php');
$langs->load("users");
$langs->load("admin");

View File

@ -64,7 +64,7 @@ if ( $_POST["sendit"] && $conf->upload )
if (is_dir($upload_dir))
{
if (doliMoveFileUpload($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
{
$mesg = '<div class="ok">'.$langs->trans("FileTransferComplete").'</div>';
//print_r($_FILES);

View File

@ -59,7 +59,7 @@ if ($_POST["sendit"] && $conf->upload)
if (is_dir($upload_dir))
{
if (doliMoveFileUpload($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
{
$mesg = '<div class="ok">'.$langs->trans("FileTransferComplete").'</div>';
//print_r($_FILES);

View File

@ -66,7 +66,7 @@ if ($_POST["sendit"] && $conf->upload)
if (is_dir($upload_dir))
{
if (doliMoveFileUpload($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
{
$mesg = '<div class="ok">'.$langs->trans("FileTransferComplete").'</div>';
//print_r($_FILES);

View File

@ -60,7 +60,7 @@ if ($_POST["sendit"] && $conf->upload)
if (is_dir($upload_dir))
{
if (doliMoveFileUpload($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
{
$mesg = '<div class="ok">'.$langs->trans("FileTransferComplete").'</div>';
//print_r($_FILES);

View File

@ -57,7 +57,7 @@ if ($_POST["action"] == 'infotrans')
{
$dir = $conf->prelevement->dir_output.'/bon/';
if (doliMoveFileUpload($_FILES['userfile']['tmp_name'], $dir . "/" . $_FILES['userfile']['name']))
if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $dir . "/" . $_FILES['userfile']['name']))
{
$dt = mktime(12,0,0,$_POST["remonth"],$_POST["reday"],$_POST["reyear"]);

View File

@ -59,7 +59,7 @@ if ($_POST["sendit"] && $conf->upload)
if (is_dir($upload_dir))
{
if (doliMoveFileUpload($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
{
$mesg = '<div class="ok">'.$langs->trans("FileTransferComplete").'</div>';
//print_r($_FILES);

View File

@ -80,7 +80,7 @@ if ( $_POST["sendit"] && $conf->upload != 0)
if (is_dir($upload_dir))
{
$result = doliMoveFileUpload($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']);
$result = dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']);
if ($result == 1)
{
$mesg = '<div class="ok">'.$langs->trans("FileTransferComplete").'</div>';

View File

@ -50,7 +50,7 @@ if ( $_POST["sendit"] && $conf->upload != 0)
if (is_dir($upload_dir))
{
$result = doliMoveFileUpload($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']);
$result = dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']);
if ($result == 1)
{
$mesg = '<div class="ok">'.$langs->trans("FileTransferComplete").'</div>';

View File

@ -30,6 +30,7 @@ require_once(DOL_DOCUMENT_ROOT."/html.formfile.class.php");
require_once(DOL_DOCUMENT_ROOT."/fichinter/fichinter.class.php");
require_once(DOL_DOCUMENT_ROOT."/includes/modules/fichinter/modules_fichinter.php");
require_once(DOL_DOCUMENT_ROOT."/lib/fichinter.lib.php");
require_once(DOL_DOCUMENT_ROOT."/lib/date.lib.php");
if ($conf->projet->enabled)
{
require_once(DOL_DOCUMENT_ROOT."/lib/project.lib.php");
@ -601,7 +602,7 @@ elseif ($_GET["id"] > 0)
print '</tr>';
}
// Dur<EFBFBD>e
// Duration
print '<tr><td>'.$langs->trans("TotalDuration").'</td><td>'.ConvertSecondToTime($fichinter->duree).'</td></tr>';
// Description

View File

@ -28,6 +28,7 @@
require("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/contact.class.php");
require_once(DOL_DOCUMENT_ROOT."/fichinter/fichinter.class.php");
require_once(DOL_DOCUMENT_ROOT."/lib/date.lib.php");
$langs->load("companies");
$langs->load("interventions");

View File

@ -61,7 +61,7 @@ if ($_POST['sendit'] && $conf->upload)
if (is_dir($upload_dir))
{
if (doliMoveFileUpload($_FILES['userfile']['tmp_name'], $upload_dir . '/' . $_FILES['userfile']['name']))
if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir . '/' . $_FILES['userfile']['name']))
{
$mesg = '<div class="ok">'.$langs->trans('FileTransferComplete').'</div>';
//print_r($_FILES);

View File

@ -2694,6 +2694,8 @@ class Form
{
if ($iSecond)
{
require_once(DOL_DOCUMENT_ROOT."/lib/date.lib.php");
$hourSelected = ConvertSecondToTime($iSecond,'hour');
$minSelected = ConvertSecondToTime($iSecond,'min');
}

View File

@ -24,6 +24,37 @@
*/
/** \brief Converti les heures et minutes en secondes
* \param iHours Heures
* \param iMinutes Minutes
* \param iSeconds Secondes
* \return iResult Temps en secondes
*/
function ConvertTime2Seconds($iHours=0,$iMinutes=0,$iSeconds=0)
{
$iResult=($iHours*3600)+($iMinutes*60)+$iSeconds;
return $iResult;
}
/** \brief Converti les secondes en heures et minutes
* \param iSecond Nombre de secondes
* \param format Choix de l'affichage (all:affichage complet, hour: n'affiche que les heures, min: n'affiche que les minutes)
* \return sTime Temps formaté
*/
function ConvertSecondToTime($iSecond,$format='all'){
if ($format == 'all'){
$sTime=date("H",$iSecond)-1;
$sTime.='h'.date("i",$iSecond);
}else if ($format == 'hour'){
$sTime=date("H",$iSecond)-1;
}else if ($format == 'min'){
$sTime=date("i",$iSecond);
}
return $sTime;
}
/** \brief Return previous month
* \param month Month
* \param year Year

View File

@ -1484,7 +1484,7 @@ function dolibarr_print_error($db='',$error='')
\param dest_file fichier de destination
\return int true=Deplacement OK, false=Pas de deplacement ou KO
*/
function doliMoveFileUpload($src_file, $dest_file)
function dol_move_uploaded_file($src_file, $dest_file)
{
global $conf;
@ -2068,33 +2068,6 @@ function yn($yesno, $case=1, $color=0)
}
/**
\brief Fonction pour initialiser un salt pour la fonction crypt
\param $type 2=>renvoi un salt pour cryptage DES
12=>renvoi un salt pour cryptage MD5
non defini=>renvoi un salt pour cryptage par defaut
\return string Chaine salt
*/
function makesalt($type=CRYPT_SALT_LENGTH)
{
dolibarr_syslog("functions.inc::makesalt type=".$type);
switch($type)
{
case 12: // 8 + 4
$saltlen=8; $saltprefix='$1$'; $saltsuffix='$'; break;
case 8: // 8 + 4 (Pour compatibilite, ne devrait pas etre utilisé)
$saltlen=8; $saltprefix='$1$'; $saltsuffix='$'; break;
case 2: // 2
default: // by default, fall back on Standard DES (should work everywhere)
$saltlen=2; $saltprefix=''; $saltsuffix=''; break;
}
$salt='';
while(strlen($salt) < $saltlen) $salt.=chr(rand(64,126));
$result=$saltprefix.$salt.$saltsuffix;
dolibarr_syslog("functions.inc::makesalt return=".$result);
return $result;
}
/**
\brief Fonction pour qui retourne le rowid d'un departement par son code
\param db handler d'accés base
@ -2587,57 +2560,6 @@ function dol_htmlentitiesbr_decode($stringtodecode)
return $ret;
}
/**
\brief Encode\decode le mot de passe de la base de données dans le fichier de conf
\param level niveau d'encodage : 0 non encodé, 1 encodé
*/
function encodedecode_dbpassconf($level=0)
{
$config = '';
if ($fp = fopen(DOL_DOCUMENT_ROOT.'/conf/conf.php','r'))
{
while(!feof($fp))
{
$buffer = fgets($fp,4096);
if (strstr($buffer,"\$dolibarr_main_db_encrypted_pass") && $level == 0)
{
$passwd = strstr($buffer,"$dolibarr_main_db_encrypted_pass=");
$passwd = substr(substr($passwd,2),0,-3);
$passwd = dolibarr_decode($passwd);
$config .= "\$dolibarr_main_db_pass=\"$passwd\";\n";
}
else if (strstr($buffer,"\$dolibarr_main_db_pass") && $level == 1)
{
$passwd = strstr($buffer,"$dolibarr_main_db_pass=");
$passwd = substr(substr($passwd,2),0,-3);
$passwd = dolibarr_encode($passwd);
$config .= "\$dolibarr_main_db_encrypted_pass=\"$passwd\";\n";
}
else
{
$config .= $buffer;
}
}
fclose($fp);
if ($fp = @fopen(DOL_DOCUMENT_ROOT.'/conf/conf.php','w'))
{
fputs($fp, $config, strlen($config));
fclose($fp);
return 1;
}
else
{
return -1;
}
}
else
{
return -2;
}
}
/**
\brief Encode une chaine de caractére
@ -2918,37 +2840,6 @@ function print_date_range($date_start,$date_end)
}
/*
* \brief Converti les heures et minutes en secondes
* \param iHours Heures
* \param iMinutes Minutes
* \param iSeconds Secondes
* \return iResult Temps en secondes
*/
function ConvertTime2Seconds($iHours=0,$iMinutes=0,$iSeconds=0)
{
$iResult=($iHours*3600)+($iMinutes*60)+$iSeconds;
return $iResult;
}
/*
* \brief Converti les secondes en heures et minutes
* \param iSecond Nombre de secondes
* \param format Choix de l'affichage (all:affichage complet, hour: n'affiche que les heures, min: n'affiche que les minutes)
* \return sTime Temps formaté
*/
function ConvertSecondToTime($iSecond,$format='all'){
if ($format == 'all'){
$sTime=date("H",$iSecond)-1;
$sTime.='h'.date("i",$iSecond);
}else if ($format == 'hour'){
$sTime=date("H",$iSecond)-1;
}else if ($format == 'min'){
$sTime=date("i",$iSecond);
}
return $sTime;
}
/*
*
*/

108
htdocs/lib/security.lib.php Normal file
View File

@ -0,0 +1,108 @@
<?php
/* Copyright (C) 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
* 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/lib/security.lib.php
\brief Ensemble de fonctions de securite de dolibarr sous forme de lib
\version $Id$
*/
/**
\brief Fonction pour initialiser un salt pour la fonction crypt
\param $type 2=>renvoi un salt pour cryptage DES
12=>renvoi un salt pour cryptage MD5
non defini=>renvoi un salt pour cryptage par defaut
\return string Chaine salt
*/
function makesalt($type=CRYPT_SALT_LENGTH)
{
dolibarr_syslog("security.lib.php::makesalt type=".$type);
switch($type)
{
case 12: // 8 + 4
$saltlen=8; $saltprefix='$1$'; $saltsuffix='$'; break;
case 8: // 8 + 4 (Pour compatibilite, ne devrait pas etre utilisé)
$saltlen=8; $saltprefix='$1$'; $saltsuffix='$'; break;
case 2: // 2
default: // by default, fall back on Standard DES (should work everywhere)
$saltlen=2; $saltprefix=''; $saltsuffix=''; break;
}
$salt='';
while(strlen($salt) < $saltlen) $salt.=chr(rand(64,126));
$result=$saltprefix.$salt.$saltsuffix;
dolibarr_syslog("security.lib.php::makesalt return=".$result);
return $result;
}
/**
\brief Encode\decode le mot de passe de la base de données dans le fichier de conf
\param level niveau d'encodage : 0 non encodé, 1 encodé
*/
function encodedecode_dbpassconf($level=0)
{
$config = '';
if ($fp = fopen(DOL_DOCUMENT_ROOT.'/conf/conf.php','r'))
{
while(!feof($fp))
{
$buffer = fgets($fp,4096);
if (strstr($buffer,"\$dolibarr_main_db_encrypted_pass") && $level == 0)
{
$passwd = strstr($buffer,"$dolibarr_main_db_encrypted_pass=");
$passwd = substr(substr($passwd,2),0,-3);
$passwd = dolibarr_decode($passwd);
$config .= "\$dolibarr_main_db_pass=\"$passwd\";\n";
}
else if (strstr($buffer,"\$dolibarr_main_db_pass") && $level == 1)
{
$passwd = strstr($buffer,"$dolibarr_main_db_pass=");
$passwd = substr(substr($passwd,2),0,-3);
$passwd = dolibarr_encode($passwd);
$config .= "\$dolibarr_main_db_encrypted_pass=\"$passwd\";\n";
}
else
{
$config .= $buffer;
}
}
fclose($fp);
if ($fp = @fopen(DOL_DOCUMENT_ROOT.'/conf/conf.php','w'))
{
fputs($fp, $config, strlen($config));
fclose($fp);
return 1;
}
else
{
return -1;
}
}
else
{
return -2;
}
}
?>

View File

@ -87,7 +87,7 @@ foreach ($_POST as $key => $val)
// This is to make Dolibarr working with Plesk
set_include_path($_SERVER['DOCUMENT_ROOT'].'/htdocs');
// Set and init common variables
require_once("master.inc.php");
// Check if HTTPS
@ -111,8 +111,9 @@ if ($conf->main_force_https)
}
// Chargement des includes complementaire de presentation
if (! defined('NOREQUIREMENU')) require_once(DOL_DOCUMENT_ROOT ."/menu.class.php"); // Need 11ko memory
if (! defined('NOREQUIREHTML')) require_once(DOL_DOCUMENT_ROOT ."/html.form.class.php"); // Need 800ko memory
if (! defined('NOREQUIREMENU')) require_once(DOL_DOCUMENT_ROOT ."/menu.class.php"); // Need 11ko memory (11ko in 2.2)
if (! defined('NOREQUIREHTML')) require_once(DOL_DOCUMENT_ROOT ."/html.form.class.php"); // Need 690ko memory (800ko in 2.2)
if (! defined('NOREQUIREAJAX') && $conf->use_javascript_ajax) require_once(DOL_DOCUMENT_ROOT.'/lib/ajax.lib.php'); // Need 20ko memory
//stopwithmem();
@ -436,11 +437,8 @@ if ($user->statut < 1)
dolibarr_syslog("Access to ".$_SERVER["PHP_SELF"],LOG_INFO);
if (! defined('MAIN_INFO_SOCIETE_PAYS'))
{
define('MAIN_INFO_SOCIETE_PAYS','1');
}
// For backward compatibility
if (! defined('MAIN_INFO_SOCIETE_PAYS')) define('MAIN_INFO_SOCIETE_PAYS','1');
// If install not finished, we start again.
if (defined("MAIN_NOT_INSTALLED"))
@ -458,8 +456,11 @@ $langs->load("dict");
// On charge les fichiers lang principaux
$user->getrights();
// Define some constants used for style of arrays
$bc[0]="class=\"impair\"";
$bc[1]="class=\"pair\"";
// Constantes utilise pour definir le nombre de lignes des textarea
// Constantes utilisees pour definir le nombre de lignes des textarea
if (! eregi("firefox",$_SERVER["HTTP_USER_AGENT"]))
{
define('ROWS_1',1);

View File

@ -109,9 +109,9 @@ if (! file_exists(DOL_DOCUMENT_ROOT ."/lib/functions.lib.php"))
*/
// on décode le mot de passe de la base si besoin
require_once(DOL_DOCUMENT_ROOT ."/lib/functions.lib.php"); // Need 1.1 Mo memory
require_once(DOL_DOCUMENT_ROOT ."/lib/functions.lib.php"); // Need 970ko memory (1.1 in 2.2)
if (! empty($dolibarr_main_db_encrypted_pass)) $dolibarr_main_db_pass = dolibarr_decode($dolibarr_main_db_encrypted_pass);
//stopwithmem();
//print memory_get_usage();
require_once(DOL_DOCUMENT_ROOT."/conf/conf.class.php");
@ -291,10 +291,6 @@ if (! defined('NOREQUIRESOC'))
$yesno[0]="no";
$yesno[1]="yes";
// Sert pour styles lignes tableaux
$bc[0]="class=\"impair\"";
$bc[1]="class=\"pair\"";
if ( ! defined('MAIN_LABEL_MENTION_NPR') ) define('MAIN_LABEL_MENTION_NPR','NPR');
?>

View File

@ -2228,7 +2228,7 @@ class Product extends CommonObject
$originImage = $dir . $file['name'];
// Cree fichier en taille origine
doliMoveFileUpload($file['tmp_name'], $originImage);
dol_move_uploaded_file($file['tmp_name'], $originImage);
if (file_exists($originImage))
{

View File

@ -64,7 +64,7 @@ if ($_POST["sendit"] && $conf->upload)
if (is_dir($upload_dir))
{
if (doliMoveFileUpload($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
{
$mesg = '<div class="ok">'.$langs->trans("FileTransferComplete").'</div>';
//print_r($_FILES);

View File

@ -53,7 +53,7 @@ if ($_FILES['userfile']['size'] > 0 && $_POST["sendit"] && $conf->upload != 0)
$product = new Product($db);
$result = $product->fetch($_GET["id"]);
// if (doliMoveFileUpload($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
// if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
// var_dump($_FILES);

View File

@ -57,7 +57,7 @@ if ( $_POST["sendit"] && $conf->upload != 0)
if (is_dir($upload_dir))
{
$result = doliMoveFileUpload($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']);
$result = dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']);
if ($result == 1)
{
$mesg = '<div class="ok">'.$langs->trans("FileTransferComplete").'</div>';

View File

@ -35,7 +35,7 @@ if ( $_POST["sendit"] && $conf->upload != 0)
if (is_dir($upload_dir))
{
if (doliMoveFileUpload($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
{
$mesg = "Le fichier est valide, et a &eacute;t&eacute; t&eacute;l&eacute;charg&eacute; avec succ&egrave;s.\n";
}

View File

@ -42,7 +42,7 @@ if ( $_POST["sendit"] && $conf->upload != 0)
$nextname = $upload_dir .'/backup';
if (doliMoveFileUpload($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']))
{
$mesg = "Le fichier est valide, et a &eacute;t&eacute; t&eacute;l&eacute;charg&eacute; avec succ&egrave;s.\n";
}

View File

@ -276,7 +276,7 @@ if ($_POST["action"] == 'update' && ! $_POST["cancel"] && $caneditfield)
if (is_dir($conf->users->dir_output))
{
$newfile=$conf->users->dir_output . "/" . $edituser->id . ".jpg";
if (! doliMoveFileUpload($_FILES['photo']['tmp_name'],$newfile))
if (! dol_move_uploaded_file($_FILES['photo']['tmp_name'],$newfile))
{
$message .= '<div class="error">'.$langs->trans("ErrorFailedToSaveFile").'</div>';
}