diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php
index 5b2f8d34d5f..61b0f4594bb 100644
--- a/htdocs/comm/propal.php
+++ b/htdocs/comm/propal.php
@@ -331,7 +331,7 @@ if ($_POST['addfile'])
}
else
{
- // Echec transfert (fichier dépassant la limite ?)
+ // Echec transfert (fichier d�passant la limite ?)
$mesg = '
'.$langs->trans("ErrorFileNotUploaded").'
';
// print_r($_FILES);
}
@@ -512,7 +512,7 @@ if ($_GET['action'] == 'modif' && $user->rights->propale->creer)
$propal->fetch($_GET['propalid']);
$propal->set_draft($user);
- //regénération pdf
+ //reg�n�ration pdf
if ($_REQUEST['lang_id'])
{
$outputlangs = new Translate("",$conf);
@@ -1634,7 +1634,7 @@ if ($_GET['propalid'] > 0)
if ($conf->use_javascript_ajax && $conf->global->MAIN_CONFIRM_AJAX)
{
$url = $_SERVER["PHP_SELF"].'?propalid='.$propal->id.'&action=confirm_validate&confirm=yes';
- print 'href="#" onClick="dialogConfirm(\''.$url.'\',\''.$langs->trans('ConfirmValidateProp').'\',\''.$langs->trans("Yes").'\',\''.$langs->trans("No").'\',\'validate\')"';
+ print 'href="#" onClick="dialogConfirm(\''.$url.'\',\''.dol_escape_js($langs->trans('ConfirmValidateProp')).'\',\''.$langs->trans("Yes").'\',\''.$langs->trans("No").'\',\'validate\')"';
}
else
{
diff --git a/htdocs/commande/fiche.php b/htdocs/commande/fiche.php
index 637b0808567..0097ca20a45 100644
--- a/htdocs/commande/fiche.php
+++ b/htdocs/commande/fiche.php
@@ -601,7 +601,7 @@ if ($_POST['addfile'])
}
else
{
- // Echec transfert (fichier dépassant la limite ?)
+ // Echec transfert (fichier d�passant la limite ?)
$mesg = ''.$langs->trans("ErrorFileNotUploaded").'
';
// print_r($_FILES);
}
@@ -925,7 +925,7 @@ if ($_GET['action'] == 'create' && $user->rights->commande->creer)
print '';
- // Note privée
+ // Note priv�e
if (! $user->societe_id)
{
print '';
@@ -1753,7 +1753,7 @@ else
$num = $commande->ref;
}
$url = $_SERVER["PHP_SELF"].'?id='.$commande->id.'&action=confirm_validate&confirm=yes';
- print 'href="#" onClick="dialogConfirm(\''.$url.'\',\''.$langs->trans('ConfirmValidateOrder',$num).'\',\''.$langs->trans("Yes").'\',\''.$langs->trans("No").'\',\'validate\')"';
+ print 'href="#" onClick="dialogConfirm(\''.$url.'\',\''.dol_escape_js($langs->trans('ConfirmValidateOrder',$num)).'\',\''.$langs->trans("Yes").'\',\''.$langs->trans("No").'\',\'validate\')"';
}
else
{
diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php
index 6898c3e10f5..3e25a30adbd 100644
--- a/htdocs/compta/facture.php
+++ b/htdocs/compta/facture.php
@@ -233,7 +233,7 @@ if ($_POST['action'] == 'set_ref_client')
}
// Classe à "validée"
-if ($_POST['action'] == 'confirm_valid' && $_POST['confirm'] == 'yes' && $user->rights->facture->valider)
+if ($_REQUEST['action'] == 'confirm_valid' && $_REQUEST['confirm'] == 'yes' && $user->rights->facture->valider)
{
$fac = new Facture($db);
$fac->fetch($_GET['facid']);
@@ -2791,7 +2791,27 @@ else
{
if ($user->rights->facture->valider)
{
- print 'id.'&action=valid">'.$langs->trans('Validate').'';
+ print 'use_javascript_ajax && $conf->global->MAIN_CONFIRM_AJAX)
+ {
+ // on verifie si la commande est en numerotation provisoire
+ $ref = substr($fac->ref, 1, 4);
+ if ($ref == 'PROV')
+ {
+ $num = $fac->getNextNumRef($soc);
+ }
+ else
+ {
+ $num = $fac->ref;
+ }
+ $url = $_SERVER["PHP_SELF"].'?facid='.$fac->id.'&action=confirm_valid&confirm=yes';
+ print 'href="#" onClick="dialogConfirm(\''.$url.'\',\''.dol_escape_js($langs->trans('ConfirmValidateBill',$num)).'\',\''.$langs->trans("Yes").'\',\''.$langs->trans("No").'\',\'validate\')"';
+ }
+ else
+ {
+ print 'href="'.$_SERVER["PHP_SELF"].'?facid='.$fac->id.'&action=valid"';
+ }
+ print '>'.$langs->trans('Validate').'';
}
}
diff --git a/htdocs/fichinter/fiche.php b/htdocs/fichinter/fiche.php
index 4aba5d76746..e57a081bbc3 100644
--- a/htdocs/fichinter/fiche.php
+++ b/htdocs/fichinter/fiche.php
@@ -895,7 +895,7 @@ elseif ($_GET["id"] > 0)
if ($conf->use_javascript_ajax && $conf->global->MAIN_CONFIRM_AJAX)
{
$url = $_SERVER["PHP_SELF"].'?id='.$fichinter->id.'&action=confirm_validate&confirm=yes';
- print 'href="#" onClick="dialogConfirm(\''.$url.'\',\''.$langs->trans('ConfirmValidateIntervention').'\',\''.$langs->trans("Yes").'\',\''.$langs->trans("No").'\',\'validate\')"';
+ print 'href="#" onClick="dialogConfirm(\''.$url.'\',\''.dol_escape_js($langs->trans('ConfirmValidateIntervention')).'\',\''.$langs->trans("Yes").'\',\''.$langs->trans("No").'\',\'validate\')"';
}
else
{
diff --git a/htdocs/lib/functions.lib.php b/htdocs/lib/functions.lib.php
index 580306497ed..5269d5c2624 100644
--- a/htdocs/lib/functions.lib.php
+++ b/htdocs/lib/functions.lib.php
@@ -29,7 +29,7 @@
\version $Id$
*/
-// Pour compatibilité lors de l'upgrade
+// Pour compatibilit� lors de l'upgrade
if (! defined('DOL_DOCUMENT_ROOT')) define('DOL_DOCUMENT_ROOT', '..');
if (! defined('ADODB_DATE_VERSION')) include_once(DOL_DOCUMENT_ROOT."/includes/adodbtime/adodb-time.inc.php");
@@ -56,7 +56,7 @@ function ValidEmail($address)
}
/**
- \brief Renvoi vrai si l'email a un nom de domaine qui résoud via dns
+ \brief Renvoi vrai si l'email a un nom de domaine qui r�soud via dns
\param mail adresse email (Ex: "toto@titi.com", "John Do ")
\return boolean true si email valide, false sinon
*/
@@ -114,17 +114,31 @@ function sanitize_string($str)
}
+/**
+ * \brief Returns text escaped for inclusion in javascript code
+ * \param $stringtoescape String to escape
+ * \return string Escaped string
+ */
+function dol_escape_js($stringtoescape)
+{
+ // escape quotes and backslashes, newlines, etc.
+ return strtr($stringtoescape, array('\\'=>'\\\\',"'"=>"\\'",'"'=>'\\"',"\r"=>'\\r',"\n"=>'\\n',''=>'<\/'));
+}
+
+
+
+
/**
\brief Envoi des messages dolibarr dans un fichier ou dans syslog
- Pour fichier: fichier défini par SYSLOG_FILE
- Pour syslog: facility défini par SYSLOG_FACILITY
+ Pour fichier: fichier defini par SYSLOG_FILE
+ Pour syslog: facility defini par SYSLOG_FACILITY
\param message Message a tracer. Ne doit pas etre traduit si level = LOG_ERR
\param level Niveau de l'erreur
- \remarks Cette fonction n'a un effet que si le module syslog est activé.
- Warning, les fonctions syslog sont buggués sous Windows et générent des
- fautes de protection mémoire. Pour résoudre, utiliser le loggage fichier,
+ \remarks Cette fonction n'a un effet que si le module syslog est activ�.
+ Warning, les fonctions syslog sont buggu�s sous Windows et g�n�rent des
+ fautes de protection m�moire. Pour r�soudre, utiliser le loggage fichier,
au lieu du loggage syslog (configuration du module).
- Si SYSLOG_FILE_NO_ERROR défini, on ne gére pas erreur ecriture log
+ Si SYSLOG_FILE_NO_ERROR d�fini, on ne g�re pas erreur ecriture log
\remarks On Windows LOG_ERR=4, LOG_WARNING=5, LOG_NOTICE=LOG_INFO=LOG_DEBUG=6
On Linux LOG_ERR=3, LOG_WARNING=4, LOG_INFO=6, LOG_DEBUG=7
*/
@@ -185,7 +199,7 @@ function dolibarr_syslog($message, $level=LOG_INFO)
}
else
{
- //define_syslog_variables(); déja définit dans master.inc.php
+ //define_syslog_variables(); d�ja d�finit dans master.inc.php
if (defined("MAIN_SYSLOG_FACILITY") && MAIN_SYSLOG_FACILITY)
{
$facility = MAIN_SYSLOG_FACILITY;
@@ -269,11 +283,11 @@ function dolibarr_fiche_head($links, $active='0', $title='', $notab=0)
/**
\brief Sauvegarde parametrage personnel
- \param db Handler d'accés base
+ \param db Handler d'acc�s base
\param user Objet utilisateur
- \param url Si defini, on sauve parametre du tableau tab dont clé = (url avec sortfield, sortorder, begin et page)
+ \param url Si defini, on sauve parametre du tableau tab dont cl� = (url avec sortfield, sortorder, begin et page)
Si non defini on sauve tous parametres du tableau tab
- \param tab Tableau (clé=>valeur) des paramétres a sauvegarder
+ \param tab Tableau (cl�=>valeur) des param�tres a sauvegarder
\return int <0 si ko, >0 si ok
*/
function dolibarr_set_user_page_param($db, &$user, $url='', $tab)
@@ -283,7 +297,7 @@ function dolibarr_set_user_page_param($db, &$user, $url='', $tab)
$db->begin();
- // On efface anciens paramétres pour toutes les clé dans $tab
+ // On efface anciens param�tres pour toutes les cl� dans $tab
$sql = "DELETE FROM ".MAIN_DB_PREFIX."user_param";
$sql.= " WHERE fk_user = ".$user->id;
if ($url) $sql.=" AND page='".$url."'";
@@ -309,7 +323,7 @@ function dolibarr_set_user_page_param($db, &$user, $url='', $tab)
foreach ($tab as $key => $value)
{
- // On positionne nouveaux paramétres
+ // On positionne nouveaux param�tres
if ($value && (! $url || in_array($key,array('sortfield','sortorder','begin','page'))))
{
$sql = "INSERT INTO ".MAIN_DB_PREFIX."user_param(fk_user,page,param,value)";
@@ -339,7 +353,7 @@ function dolibarr_set_user_page_param($db, &$user, $url='', $tab)
/**
\brief Formattage des nombres
\param ca valeur a formater
- \return int valeur formatée
+ \return int valeur format�e
*/
function dolibarr_print_ca($ca)
{
@@ -367,10 +381,10 @@ function dolibarr_print_ca($ca)
/**
- \brief Effectue un décalage de date par rapport a une durée
+ \brief Effectue un d�calage de date par rapport a une dur�e
\param time Date timestamp ou au format YYYY-MM-DD
- \param duration_value Valeur de la durée a ajouter
- \param duration_unit Unité de la durée a ajouter (d, m, y)
+ \param duration_value Valeur de la dur�e a ajouter
+ \param duration_unit Unit� de la dur�e a ajouter (d, m, y)
\return int Nouveau timestamp
*/
function dolibarr_time_plus_duree($time,$duration_value,$duration_unit)
@@ -393,13 +407,13 @@ function dolibarr_time_plus_duree($time,$duration_value,$duration_unit)
"%d/%m/%Y %H:%M",
"%d/%m/%Y %H:%M:%S",
"day", "daytext", "dayhour", "dayhourldap", "dayhourtext"
- \return string Date formatée ou '' si time null
+ \return string Date format�e ou '' si time null
*/
function dolibarr_print_date($time,$format='')
{
global $conf;
- // Si format non défini, on prend $conf->format_date_text_short sinon %Y-%m-%d %H:%M:%S
+ // Si format non d�fini, on prend $conf->format_date_text_short sinon %Y-%m-%d %H:%M:%S
if (! $format) $format=(isset($conf->format_date_text_short) ? $conf->format_date_text_short : '%Y-%m-%d %H:%M:%S');
if ($format == 'day') $format=$conf->format_date_short;
@@ -435,8 +449,8 @@ function dolibarr_print_date($time,$format='')
/**
- \brief Retourne une date fabriquée depuis une chaine
- \param string Date formatée en chaine
+ \brief Retourne une date fabriqu�e depuis une chaine
+ \param string Date format�e en chaine
YYYYMMDD
YYYYMMDDHHMMSS
DD/MM/YY ou DD/MM/YYYY
@@ -515,14 +529,14 @@ function dolibarr_getdate($timestamp,$fast=false)
}
/**
- \brief Retourne une date fabriquée depuis infos.
- Remplace la fonction mktime non implémentée sous Windows si année < 1970
+ \brief Retourne une date fabriqu�e depuis infos.
+ Remplace la fonction mktime non impl�ment�e sous Windows si ann�e < 1970
\param hour Heure
\param minute Minute
\param second Seconde
\param month Mois
\param day Jour
- \param year Année
+ \param year Ann�e
\param gm Time gm
\param check No check on parameters (Can use day 32, etc...)
\return timestamp Date en timestamp, '' if error
@@ -551,7 +565,7 @@ function dolibarr_mktime($hour,$minute,$second,$month,$day,$year,$gm=0,$check=1)
{
/*
// On peut utiliser strtotime pour obtenir la traduction.
- // strtotime is ok for range: Vendredi 13 Décembre 1901 20:45:54 GMT au Mardi 19 Janvier 2038 03:14:07 GMT.
+ // strtotime is ok for range: Vendredi 13 D�cembre 1901 20:45:54 GMT au Mardi 19 Janvier 2038 03:14:07 GMT.
$montharray=array(1=>'january',2=>'february',3=>'march',4=>'april',5=>'may',6=>'june',
7=>'july',8=>'august',9=>'september',10=>'october',11=>'november',12=>'december');
$string=$day." ".$montharray[0+$month]." ".$year." ".$hour.":".$minute.":".$second." GMT";
@@ -636,10 +650,10 @@ function dolibarr_print_object_info($object)
}
/**
- \brief Formatage des numéros de telephone en fonction du format d'un pays
- \param phone Numéro de telephone a formater
+ \brief Formatage des num�ros de telephone en fonction du format d'un pays
+ \param phone Num�ro de telephone a formater
\param country Pays selon lequel formatter
- \return string Numéro de téléphone formaté
+ \return string Num�ro de t�l�phone format�
*/
function dolibarr_print_phone($phone,$country="FR")
{
@@ -712,7 +726,7 @@ function dol_phone_link($phone,$option=0)
}
/**
- \brief Tronque une chaine a une taille donnée en ajoutant les points de suspension si cela dépasse
+ \brief Tronque une chaine a une taille donn�e en ajoutant les points de suspension si cela d�passe
\param string String to truncate
\param size Max string size. 0 for no limit.
\param trunc Where to trunc: right, left, middle
@@ -758,12 +772,12 @@ function dolibarr_trunc($string,$size=40,$trunc='right')
}
/**
- \brief Compléte une chaine a une taille donnée par des espaces
- \param string Chaine a compléter
+ \brief Compl�te une chaine a une taille donn�e par des espaces
+ \param string Chaine a compl�ter
\param size Longueur de la chaine.
- \param side 0=Complétion a droite, 1=Complétion a gauche
- \param char Chaine de complétion
- \return string Chaine complétée
+ \param side 0=Compl�tion a droite, 1=Compl�tion a gauche
+ \param char Chaine de compl�tion
+ \return string Chaine compl�t�e
*/
function dolibarr_pad($string,$size,$side,$char=' ')
{
@@ -779,7 +793,7 @@ function dolibarr_pad($string,$size,$side,$char=' ')
}
/**
- \brief Affiche picto propre a une notion/module (fonction générique)
+ \brief Affiche picto propre a une notion/module (fonction g�n�rique)
\param alt Texte sur le alt de l'image
\param object Objet pour lequel il faut afficher le logo (exemple: user, group, action, bill, contract, propal, product, ...)
\return string Retourne tag img
@@ -791,10 +805,10 @@ function img_object($alt, $object)
}
/**
- \brief Affiche picto (fonction générique)
+ \brief Affiche picto (fonction g�n�rique)
\param alt Texte sur le alt de l'image
\param picto Nom de l'image a afficher (Si pas d'extension, on met '.png')
- \param options Attribut supplémentaire a la balise img
+ \param options Attribut suppl�mentaire a la balise img
\param pictoisfullpath If 1, image path is a full path
\return string Retourne tag img
*/
@@ -952,7 +966,7 @@ function img_delete($alt = "default")
}
/**
- \brief Affiche logo désactiver
+ \brief Affiche logo d�sactiver
\param alt Texte sur le alt de l'image
\return string Retourne tag img
*/
@@ -1055,7 +1069,7 @@ function img_alerte($alt = "default")
}
/**
- \brief Affiche logo téléphone
+ \brief Affiche logo t�l�phone
\param alt Texte sur le alt de l'image
\param option Choose of logo
\return string Retourne tag img
@@ -1086,7 +1100,7 @@ function img_next($alt = "default")
}
/**
- \brief Affiche logo précédent
+ \brief Affiche logo pr�c�dent
\param alt Texte sur le alt de l'image
\return string Retourne tag img
*/
@@ -1365,7 +1379,7 @@ function restrictedArea($user, $feature='societe', $objectid=0, $dbtablename='',
}
else
{
- if (!$dbtablename) $dbtablename = $feature; // Si dbtable non défini, meme nom que le module
+ if (!$dbtablename) $dbtablename = $feature; // Si dbtable non d�fini, meme nom que le module
$sql = "SELECT dbt.fk_soc";
$sql.= " FROM ".MAIN_DB_PREFIX.$dbtablename." as dbt";
@@ -1384,7 +1398,7 @@ function restrictedArea($user, $feature='societe', $objectid=0, $dbtablename='',
}
else
{
- if (!$dbtablename) $dbtablename = $feature; // Si dbtable non défini, meme nom que le module
+ if (!$dbtablename) $dbtablename = $feature; // Si dbtable non d�fini, meme nom que le module
$sql = "SELECT sc.fk_soc";
$sql.= " FROM ".MAIN_DB_PREFIX.$dbtablename." as dbt";
@@ -1451,12 +1465,12 @@ function accessforbidden($message='',$printheader=1)
/**
- \brief Affiche message erreur system avec toutes les informations pour faciliter le diagnostic et la remontée des bugs.
- On doit appeler cette fonction quand une erreur technique bloquante est rencontrée.
+ \brief Affiche message erreur system avec toutes les informations pour faciliter le diagnostic et la remont�e des bugs.
+ On doit appeler cette fonction quand une erreur technique bloquante est rencontr�e.
Toutefois, il faut essayer de ne l'appeler qu'au sein de pages php, les classes devant
- renvoyer leur erreur par l'intermédiaire de leur propriété "error".
- \param db Handler de base utilisé
- \param error Chaine erreur ou tableau de chaines erreur complémentaires a afficher
+ renvoyer leur erreur par l'interm�diaire de leur propri�t� "error".
+ \param db Handler de base utilis�
+ \param error Chaine erreur ou tableau de chaines erreur compl�mentaires a afficher
*/
function dolibarr_print_error($db='',$error='')
{
@@ -1539,7 +1553,7 @@ function dolibarr_print_error($db='',$error='')
/**
- * \brief Deplacer les fichiers telechargés, apres quelques controles divers
+ * \brief Deplacer les fichiers telecharg�s, apres quelques controles divers
* \param src_file Source filename
* \param dest_file Target filename
* \param allowoverwrite Overwrite if exists
@@ -1568,7 +1582,7 @@ function dol_move_uploaded_file($src_file, $dest_file, $allowoverwrite)
}
// Security:
- // On interdit les remontées de repertoire ainsi que les pipes dans
+ // On interdit les remont�es de repertoire ainsi que les pipes dans
// les noms de fichiers.
if (eregi('\.\.',$src_file) || eregi('[<>|]',$src_file))
{
@@ -1577,7 +1591,7 @@ function dol_move_uploaded_file($src_file, $dest_file, $allowoverwrite)
}
// Security:
- // On interdit les remontées de repertoire ainsi que les pipe dans
+ // On interdit les remont�es de repertoire ainsi que les pipe dans
// les noms de fichiers.
if (eregi('\.\.',$dest_file) || eregi('[<>|]',$dest_file))
{
@@ -1618,7 +1632,7 @@ function dol_move_uploaded_file($src_file, $dest_file, $allowoverwrite)
\param begin ("" par defaut)
\param options ("" par defaut)
\param td options de l'attribut td ("" par defaut)
- \param sortfield nom du champ sur lequel est effectué le tri du tableau
+ \param sortfield nom du champ sur lequel est effectu� le tri du tableau
\param sortorder ordre du tri
*/
function print_liste_field_titre($name, $file, $field, $begin="", $options="", $td="", $sortfield="", $sortorder="")
@@ -1626,7 +1640,7 @@ function print_liste_field_titre($name, $file, $field, $begin="", $options="", $
global $conf;
//print "$name, $file, $field, $begin, $options, $td, $sortfield, $sortorder
\n";
- // Le champ de tri est mis en évidence.
+ // Le champ de tri est mis en �vidence.
// Exemple si (sortfield,field)=("nom","xxx.nom") ou (sortfield,field)=("nom","nom")
if ($sortfield == $field || $sortfield == ereg_replace("^[^\.]+\.","",$field))
{
@@ -1681,9 +1695,9 @@ function print_titre($titre)
}
/**
- \brief Affichage d'un titre d'une fiche, aligné a gauche
+ \brief Affichage d'un titre d'une fiche, align� a gauche
\param titre Le titre a afficher
- \param mesg Message suplémentaire a afficher a droite
+ \param mesg Message supl�mentaire a afficher a droite
\param picto Picto pour ligne de titre
\param pictoisfullpath 1=Picto is a full absolute url of image
*/
@@ -1720,8 +1734,8 @@ function dol_delete_file($file)
}
/**
- \brief Effacement d'un répertoire
- \param file Répertoire a effacer
+ \brief Effacement d'un r�pertoire
+ \param file R�pertoire a effacer
*/
function dol_delete_dir($dir)
{
@@ -1729,10 +1743,10 @@ function dol_delete_dir($dir)
}
/**
- \brief Effacement d'un répertoire $dir et de son arborescence
- \param file Répertoire a effacer
- \param count Compteur pour comptage nb elements supprimés
- \return int Nombre de fichier+repértoires supprimés
+ \brief Effacement d'un r�pertoire $dir et de son arborescence
+ \param file R�pertoire a effacer
+ \param count Compteur pour comptage nb elements supprim�s
+ \return int Nombre de fichier+rep�rtoires supprim�s
*/
function dol_delete_dir_recursive($dir,$count=0)
{
@@ -1767,7 +1781,7 @@ function dol_delete_dir_recursive($dir,$count=0)
/**
\brief Scan les fichiers avec un anti-virus
\param file Fichier a scanner
- \return malware Nom du virus si infecté sinon retourne "null"
+ \return malware Nom du virus si infect� sinon retourne "null"
*/
function dol_avscan_file($file)
{
@@ -1792,7 +1806,7 @@ function dol_avscan_file($file)
/**
\brief Fonction print_barre_liste
\param titre Titre de la page
- \param page numéro de la page
+ \param page num�ro de la page
\param file lien
\param options parametres complementaires lien ('' par defaut)
\param sortfield champ de tri ('' par defaut)
@@ -1887,7 +1901,7 @@ function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $so
/**
\brief Fonction servant a afficher les fleches de navigation dans les pages de listes
- \param page Numéro de la page
+ \param page Num�ro de la page
\param file Lien
\param options Autres parametres d'url a propager dans les liens ("" par defaut)
\param nextpage Faut-il une page suivante
@@ -1909,12 +1923,12 @@ function print_fleche_navigation($page,$file,$options='',$nextpage,$betweenarrow
/**
- * \brief Fonction qui retourne un taux de tva formaté pour visualisation
- * \remarks Fonction utilisée dans les pdf et les pages html
+ * \brief Fonction qui retourne un taux de tva format� pour visualisation
+ * \remarks Fonction utilis�e dans les pdf et les pages html
* \param rate Rate value to format (19.6 19,6 19.6% 19,6%,...)
* \param foundpercent Add a percent % sign in output
* \param info_bits Miscellanous information on vat
- * \return string Chaine avec montant formaté (19,6 ou 19,6% ou 8.5% *)
+ * \return string Chaine avec montant format� (19,6 ou 19,6% ou 8.5% *)
*/
function vatrate($rate,$addpercent=false,$info_bits=0)
{
@@ -1937,14 +1951,14 @@ function vatrate($rate,$addpercent=false,$info_bits=0)
/**
- * \brief Fonction qui retourne un montant monétaire formaté pour visualisation
- * \remarks Fonction utilisée dans les pdf et les pages html
+ * \brief Fonction qui retourne un montant mon�taire format� pour visualisation
+ * \remarks Fonction utilis�e dans les pdf et les pages html
* \param amount Montant a formater
* \param html Formatage html ou pas (0 par defaut)
* \param outlangs Objet langs pour formatage text
- * \param trunc 1=Tronque affichage si trop de décimales,0=Force le non troncage
+ * \param trunc 1=Tronque affichage si trop de d�cimales,0=Force le non troncage
* \param nbdecimal Nbre decimals minimum.
- * \return string Chaine avec montant formaté
+ * \return string Chaine avec montant format�
* \seealso price2num Fonction inverse de price
*/
function price($amount, $html=0, $outlangs='', $trunc=1, $nbdecimal=2)
@@ -1966,11 +1980,11 @@ function price($amount, $html=0, $outlangs='', $trunc=1, $nbdecimal=2)
//print $amount."-";
$datas = split('\.',$amount);
$decpart = $datas[1];
- $decpart = eregi_replace('0+$','',$decpart); // Supprime les 0 de fin de partie décimale
+ $decpart = eregi_replace('0+$','',$decpart); // Supprime les 0 de fin de partie d�cimale
//print "decpart=".$decpart."
";
$end='';
- // On augmente au besoin si il y a plus de 2 décimales
+ // On augmente au besoin si il y a plus de 2 d�cimales
if (strlen($decpart) > $nbdecimal) $nbdecimal=strlen($decpart);
// Si on depasse max
if ($trunc && $nbdecimal > $conf->global->MAIN_MAX_DECIMALS_SHOWN)
@@ -1978,7 +1992,7 @@ function price($amount, $html=0, $outlangs='', $trunc=1, $nbdecimal=2)
$nbdecimal=$conf->global->MAIN_MAX_DECIMALS_SHOWN;
if (eregi('\.\.\.',$conf->global->MAIN_MAX_DECIMALS_SHOWN))
{
- // Si un affichage est tronqué, on montre des ...
+ // Si un affichage est tronqu�, on montre des ...
$end='...';
}
}
@@ -1998,7 +2012,7 @@ function price($amount, $html=0, $outlangs='', $trunc=1, $nbdecimal=2)
}
/**
- \brief Fonction qui retourne un numérique conforme PHP et SQL, depuis un montant au
+ \brief Fonction qui retourne un num�rique conforme PHP et SQL, depuis un montant au
format utilisateur.
\remarks Fonction a appeler sur montants saisis avant un insert en base
\param amount Montant a formater
@@ -2006,7 +2020,7 @@ function price($amount, $html=0, $outlangs='', $trunc=1, $nbdecimal=2)
'MT'=Round to Max with Tax (MAIN_MAX_DECIMALS_TOT)
'MS'=Round to Max Shown (MAIN_MAX_DECIMALS_SHOWN)
''=No rounding
- \return string Montant au format numérique PHP et SQL (Exemple: '99.99999')
+ \return string Montant au format num�rique PHP et SQL (Exemple: '99.99999')
\seealso price Fonction inverse de price2num
*/
function price2num($amount,$rounding='')
@@ -2049,17 +2063,17 @@ function get_product_vat_for_country($idprod, $countrycode)
/**
\brief Fonction qui renvoie la tva d'une ligne (en fonction du vendeur, acheteur et taux du produit)
- \remarks Si vendeur non assujeti a TVA, TVA par défaut=0. Fin de régle.
- Si le (pays vendeur = pays acheteur) alors TVA par défaut=TVA du produit vendu. Fin de régle.
- Si (vendeur et acheteur dans Communauté européenne) et (bien vendu = moyen de transports neuf comme auto, bateau, avion) alors TVA par défaut=0 (La TVA doit étre payé par acheteur au centre d'impots de son pays et non au vendeur). Fin de régle.
- Si (vendeur et acheteur dans Communauté européenne) et (acheteur = particulier ou entreprise sans num TVA intra) alors TVA par défaut=TVA du produit vendu. Fin de régle.
- Si (vendeur et acheteur dans Communauté européenne) et (acheteur = entreprise avec num TVA) intra alors TVA par défaut=0. Fin de régle.
- Sinon TVA proposée par défaut=0. Fin de régle.
- \param societe_vendeuse Objet société vendeuse
- \param societe_acheteuse Objet société acheteuse
+ \remarks Si vendeur non assujeti a TVA, TVA par d�faut=0. Fin de r�gle.
+ Si le (pays vendeur = pays acheteur) alors TVA par d�faut=TVA du produit vendu. Fin de r�gle.
+ Si (vendeur et acheteur dans Communaut� europ�enne) et (bien vendu = moyen de transports neuf comme auto, bateau, avion) alors TVA par d�faut=0 (La TVA doit �tre pay� par acheteur au centre d'impots de son pays et non au vendeur). Fin de r�gle.
+ Si (vendeur et acheteur dans Communaut� europ�enne) et (acheteur = particulier ou entreprise sans num TVA intra) alors TVA par d�faut=TVA du produit vendu. Fin de r�gle.
+ Si (vendeur et acheteur dans Communaut� europ�enne) et (acheteur = entreprise avec num TVA) intra alors TVA par d�faut=0. Fin de r�gle.
+ Sinon TVA propos�e par d�faut=0. Fin de r�gle.
+ \param societe_vendeuse Objet soci�t� vendeuse
+ \param societe_acheteuse Objet soci�t� acheteuse
\param taux_produit Taux par defaut du produit vendu (old way to get product vat rate)
\param idprod Id product (new way to get product vat rate)
- \return float Taux de tva a appliquer, -1 si ne peut etre déterminé
+ \return float Taux de tva a appliquer, -1 si ne peut etre d�termin�
*/
function get_default_tva($societe_vendeuse, $societe_acheteuse, $taux_produit, $idprod=0)
{
@@ -2072,49 +2086,49 @@ function get_default_tva($societe_vendeuse, $societe_acheteuse, $taux_produit, $
if (is_numeric($societe_vendeuse->tva_assuj) && ! $societe_vendeuse->tva_assuj) return 0;
if (! is_numeric($societe_vendeuse->tva_assuj) && $societe_vendeuse->tva_assuj=='franchise') return 0;
- // Si le (pays vendeur = pays acheteur) alors la TVA par défaut=TVA du produit vendu. Fin de régle.
+ // Si le (pays vendeur = pays acheteur) alors la TVA par d�faut=TVA du produit vendu. Fin de r�gle.
//if (is_object($societe_acheteuse) && ($societe_vendeuse->pays_id == $societe_acheteuse->pays_id) && ($societe_acheteuse->tva_assuj == 1 || $societe_acheteuse->tva_assuj == 'reel'))
- // Le test ci-dessus ne devrait pas etre necessaire. Me signaler l'exemple du cas juridique concercné si le test suivant n'est pas suffisant.
+ // Le test ci-dessus ne devrait pas etre necessaire. Me signaler l'exemple du cas juridique concercn� si le test suivant n'est pas suffisant.
if ($societe_vendeuse->pays_id == $societe_acheteuse->pays_id)
{
if ($idprod) return get_product_vat_for_country($idprod,$societe_vendeuse->pays_code);
- if (strlen($taux_produit) == 0) return -1; // Si taux produit = '', on ne peut déterminer taux tva
+ if (strlen($taux_produit) == 0) return -1; // Si taux produit = '', on ne peut d�terminer taux tva
return $taux_produit;
}
- // Si (vendeur et acheteur dans Communauté européenne) et (bien vendu = moyen de transports neuf comme auto, bateau, avion) alors TVA par défaut=0 (La TVA doit étre payé par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de régle.
- // Non géré
+ // Si (vendeur et acheteur dans Communaut� europ�enne) et (bien vendu = moyen de transports neuf comme auto, bateau, avion) alors TVA par d�faut=0 (La TVA doit �tre pay� par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de r�gle.
+ // Non g�r�
- // Si (vendeur et acheteur dans Communauté européenne) et (acheteur = particulier ou entreprise sans num TVA intra) alors TVA par défaut=TVA du produit vendu. Fin de régle.
+ // Si (vendeur et acheteur dans Communaut� europ�enne) et (acheteur = particulier ou entreprise sans num TVA intra) alors TVA par d�faut=TVA du produit vendu. Fin de r�gle.
if (($societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC()) && ! $societe_acheteuse->tva_intra)
{
if ($idprod) return get_product_vat_for_country($idprod,$societe_vendeuse->pays_code);
- if (strlen($taux_produit) == 0) return -1; // Si taux produit = '', on ne peut déterminer taux tva
+ if (strlen($taux_produit) == 0) return -1; // Si taux produit = '', on ne peut d�terminer taux tva
return $taux_produit;
}
- // Si (vendeur et acheteur dans Communauté européenne) et (acheteur = entreprise avec num TVA intra) alors TVA par défaut=0. Fin de régle.
+ // Si (vendeur et acheteur dans Communaut� europ�enne) et (acheteur = entreprise avec num TVA intra) alors TVA par d�faut=0. Fin de r�gle.
if (($societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC()) && $societe_acheteuse->tva_intra)
{
return 0;
}
- // Sinon la TVA proposée par défaut=0. Fin de régle.
- // Rem: Cela signifie qu'au moins un des 2 est hors Communauté européenne et que le pays différe
+ // Sinon la TVA propos�e par d�faut=0. Fin de r�gle.
+ // Rem: Cela signifie qu'au moins un des 2 est hors Communaut� europ�enne et que le pays diff�re
return 0;
}
/**
- \brief Fonction qui renvoie si tva doit etre tva percue récupérable
- \remarks Si vendeur non assujeti a TVA, TVA par défaut=0. Fin de régle.
- Si le (pays vendeur = pays acheteur) alors TVA par défaut=TVA du produit vendu. Fin de régle.
- Si (vendeur et acheteur dans Communauté européenne) et (bien vendu = moyen de transports neuf comme auto, bateau, avion) alors TVA par défaut=0 (La TVA doit étre payé par acheteur au centre d'impots de son pays et non au vendeur). Fin de régle.
- Si (vendeur et acheteur dans Communauté européenne) et (acheteur = particulier ou entreprise sans num TVA intra) alors TVA par défaut=TVA du produit vendu. Fin de régle.
- Si (vendeur et acheteur dans Communauté européenne) et (acheteur = entreprise avec num TVA) intra alors TVA par défaut=0. Fin de régle.
- Sinon TVA proposée par défaut=0. Fin de régle.
- \param societe_vendeuse Objet société vendeuse
- \param societe_acheteuse Objet société acheteuse
+ \brief Fonction qui renvoie si tva doit etre tva percue r�cup�rable
+ \remarks Si vendeur non assujeti a TVA, TVA par d�faut=0. Fin de r�gle.
+ Si le (pays vendeur = pays acheteur) alors TVA par d�faut=TVA du produit vendu. Fin de r�gle.
+ Si (vendeur et acheteur dans Communaut� europ�enne) et (bien vendu = moyen de transports neuf comme auto, bateau, avion) alors TVA par d�faut=0 (La TVA doit �tre pay� par acheteur au centre d'impots de son pays et non au vendeur). Fin de r�gle.
+ Si (vendeur et acheteur dans Communaut� europ�enne) et (acheteur = particulier ou entreprise sans num TVA intra) alors TVA par d�faut=TVA du produit vendu. Fin de r�gle.
+ Si (vendeur et acheteur dans Communaut� europ�enne) et (acheteur = entreprise avec num TVA) intra alors TVA par d�faut=0. Fin de r�gle.
+ Sinon TVA propos�e par d�faut=0. Fin de r�gle.
+ \param societe_vendeuse Objet soci�t� vendeuse
+ \param societe_acheteuse Objet soci�t� acheteuse
\param taux_produit Taux par defaut du produit vendu
\return float 0 or 1
*/
@@ -2152,8 +2166,8 @@ function yn($yesno, $case=1, $color=0)
/**
\brief Fonction pour qui retourne le rowid d'un departement par son code
- \param db handler d'accés base
- \param code Code région
+ \param db handler d'acc�s base
+ \param code Code r�gion
\param pays_id Id du pays
*/
function departement_rowid($db,$code, $pays_id)
@@ -2184,9 +2198,9 @@ function departement_rowid($db,$code, $pays_id)
}
/**
- \brief Renvoi un chemin de classement répertoire en fonction d'un id
+ \brief Renvoi un chemin de classement r�pertoire en fonction d'un id
\remarks Examples: 1->"0/0/1/", 15->"0/1/5/"
- \param $num Id a décomposer
+ \param $num Id a d�composer
\param $level Niveau de decoupage (1, 2 ou 3 niveaux)
*/
function get_exdir($num,$level=3)
@@ -2200,9 +2214,9 @@ function get_exdir($num,$level=3)
}
/**
- \brief Création de répertoire recursive
- \param $dir Répertoire a créer
- \return int < 0 si erreur, >= 0 si succés
+ \brief Cr�ation de r�pertoire recursive
+ \param $dir R�pertoire a cr�er
+ \return int < 0 si erreur, >= 0 si succ�s
*/
function create_exdir($dir)
{
@@ -2221,7 +2235,7 @@ function create_exdir($dir)
else $ccdir = $cdir[$i];
if (eregi("^.:$",$ccdir,$regs)) continue; // Si chemin Windows incomplet, on poursuit par rep suivant
- // Attention, le is_dir() peut échouer bien que le rep existe.
+ // Attention, le is_dir() peut �chouer bien que le rep existe.
// (ex selon config de open_basedir)
if ($ccdir)
{
@@ -2232,20 +2246,20 @@ function create_exdir($dir)
umask(0);
if (! @mkdir($ccdir, 0755))
{
- // Si le is_dir a renvoyé une fausse info, alors on passe ici.
+ // Si le is_dir a renvoy� une fausse info, alors on passe ici.
dolibarr_syslog("functions.lib.php::create_exdir: Fails to create directory '".$ccdir."' or directory already exists.",LOG_WARNING);
$nberr++;
}
else
{
dolibarr_syslog("functions.lib.php::create_exdir: Directory '".$ccdir."' created",LOG_DEBUG);
- $nberr=0; // On remet a zéro car si on arrive ici, cela veut dire que les échecs précédents peuvent etre ignorés
+ $nberr=0; // On remet a z�ro car si on arrive ici, cela veut dire que les �checs pr�c�dents peuvent etre ignor�s
$nbcreated++;
}
}
else
{
- $nberr=0; // On remet a zéro car si on arrive ici, cela veut dire que les échecs précédents peuvent etre ignorés
+ $nberr=0; // On remet a z�ro car si on arrive ici, cela veut dire que les �checs pr�c�dents peuvent etre ignor�s
}
}
}
@@ -2256,9 +2270,9 @@ function create_exdir($dir)
/**
- \brief Retourne le numéro de la semaine par rapport a une date
+ \brief Retourne le num�ro de la semaine par rapport a une date
\param time Date au format 'timestamp'
- \return int Numéro de semaine
+ \return int Num�ro de semaine
*/
function numero_semaine($time)
{
@@ -2274,12 +2288,12 @@ function numero_semaine($time)
/*
* Norme ISO-8601:
- * - La semaine 1 de toute année est celle qui contient le 4 janvier ou que la semaine 1 de toute année est celle qui contient le 1er jeudi de janvier.
- * - La majorité des années ont 52 semaines mais les années qui commence un jeudi et les années bissextiles commenéant un mercredi en posséde 53.
+ * - La semaine 1 de toute ann�e est celle qui contient le 4 janvier ou que la semaine 1 de toute ann�e est celle qui contient le 1er jeudi de janvier.
+ * - La majorit� des ann�es ont 52 semaines mais les ann�es qui commence un jeudi et les ann�es bissextiles commen�ant un mercredi en poss�de 53.
* - Le 1er jour de la semaine est le Lundi
*/
- // Définition du Jeudi de la semaine
+ // D�finition du Jeudi de la semaine
if (date("w",mktime(12,0,0,$mois,$jour,$annee))==0) // Dimanche
$jeudiSemaine = mktime(12,0,0,$mois,$jour,$annee)-3*24*60*60;
else if (date("w",mktime(12,0,0,$mois,$jour,$annee))<4) // du Lundi au Mercredi
@@ -2289,7 +2303,7 @@ function numero_semaine($time)
else // Jeudi
$jeudiSemaine = mktime(12,0,0,$mois,$jour,$annee);
- // Définition du premier Jeudi de l'année
+ // D�finition du premier Jeudi de l'ann�e
if (date("w",mktime(12,0,0,1,1,date("Y",$jeudiSemaine)))==0) // Dimanche
{
$premierJeudiAnnee = mktime(12,0,0,1,1,date("Y",$jeudiSemaine))+4*24*60*60;
@@ -2307,7 +2321,7 @@ function numero_semaine($time)
$premierJeudiAnnee = mktime(12,0,0,1,1,date("Y",$jeudiSemaine));
}
- // Définition du numéro de semaine: nb de jours entre "premier Jeudi de l'année" et "Jeudi de la semaine";
+ // D�finition du num�ro de semaine: nb de jours entre "premier Jeudi de l'ann�e" et "Jeudi de la semaine";
$numeroSemaine = (
(
date("z",mktime(12,0,0,date("m",$jeudiSemaine),date("d",$jeudiSemaine),date("Y",$jeudiSemaine)))
@@ -2319,7 +2333,7 @@ function numero_semaine($time)
// Cas particulier de la semaine 53
if ($numeroSemaine==53)
{
- // Les années qui commence un Jeudi et les années bissextiles commenéant un Mercredi en posséde 53
+ // Les ann�es qui commence un Jeudi et les ann�es bissextiles commen�ant un Mercredi en poss�de 53
if (date("w",mktime(12,0,0,1,1,date("Y",$jeudiSemaine)))==4 || (date("w",mktime(12,0,0,1,1,date("Y",$jeudiSemaine)))==3 && date("z",mktime(12,0,0,12,31,date("Y",$jeudiSemaine)))==365))
{
$numeroSemaine = 53;
@@ -2382,13 +2396,13 @@ function weight_convert($weight,&$from_unit,$to_unit)
\param int Unit
\param measuring_style Le style de mesure : weight, volume,...
\return string Unite
- \todo gerer les autres unités de mesure comme la livre, le gallon, le litre, ...
+ \todo gerer les autres unit�s de mesure comme la livre, le gallon, le litre, ...
*/
function measuring_units_string($unit,$measuring_style='')
{
/* Note Rodo aux dev :)
- * Ne pas insérer dans la base de données ces valeurs
- * cela surchagerait inutilement d'une requete supplémentaire
+ * Ne pas ins�rer dans la base de donn�es ces valeurs
+ * cela surchagerait inutilement d'une requete suppl�mentaire
* pour quelque chose qui est somme toute peu variable
*/
@@ -2488,7 +2502,7 @@ function binhex($bin, $pad=false, $upper=false){
}
/**
- \brief Convertir de l'héxadécimal en binaire
+ \brief Convertir de l'h�xad�cimal en binaire
\param string hexa
\return string bin
*/
@@ -2707,7 +2721,7 @@ function num_public_holiday($timestampStart, $timestampEnd, $countrycode='FR')
/**
\brief Fonction retournant le nombre de jour entre deux dates
- \param timestampStart Timestamp de début
+ \param timestampStart Timestamp de d�but
\param timestampEnd Timestamp de fin
\param lastday On prend en compte le dernier jour, 0: non, 1:oui
\return nbjours Nombre de jours
@@ -2730,8 +2744,8 @@ function num_between_day($timestampStart, $timestampEnd, $lastday=0)
}
/**
- \brief Fonction retournant le nombre de jour entre deux dates sans les jours fériés (jours ouvrés)
- \param timestampStart Timestamp de début
+ \brief Fonction retournant le nombre de jour entre deux dates sans les jours f�ri�s (jours ouvr�s)
+ \param timestampStart Timestamp de d�but
\param timestampEnd Timestamp de fin
\param inhour 0: sort le nombre de jour , 1: sort le nombre d'heure (72 max)
\param lastday On prend en compte le dernier jour, 0: non, 1:oui
@@ -2757,7 +2771,7 @@ function num_open_day($timestampStart, $timestampEnd,$inhour=0,$lastday=0)
}
/**
- \brief Fonction retournant le nombre de lignes dans un texte formaté
+ \brief Fonction retournant le nombre de lignes dans un texte format�
\param texte Texte
\return nblines Nombre de lignes
*/
@@ -2815,10 +2829,10 @@ function dol_textishtml($msg,$option=0)
}
/*
- * \brief Effectue les substitutions des mots clés par les données en fonction du tableau
+ * \brief Effectue les substitutions des mots cl�s par les donn�es en fonction du tableau
* \param chaine Chaine dans laquelle faire les substitutions
- * \param substitutionarray Tableau clé substitution => valeur a mettre
- * \return string Chaine avec les substitutions effectuées
+ * \param substitutionarray Tableau cl� substitution => valeur a mettre
+ * \return string Chaine avec les substitutions effectu�es
*/
function make_substitutions($chaine,$substitutionarray)
{
@@ -2831,8 +2845,8 @@ function make_substitutions($chaine,$substitutionarray)
/*
- * \brief Formate l'affichage de date de début et de fin
- * \param date_start date de début
+ * \brief Formate l'affichage de date de d�but et de fin
+ * \param date_start date de d�but
* \param date_end date de fin
*/
function print_date_range($date_start,$date_end)
@@ -2873,8 +2887,8 @@ function make_alpha_from_numbers($number)
/**
- \brief Retourne un tableau des mois ou le mois sélectionné
- \param selected Mois à sélectionner ou -1
+ \brief Retourne un tableau des mois ou le mois s�lectionn�
+ \param selected Mois � s�lectionner ou -1
\return string or array Month string or array if selected < 0
*/
function monthArrayOrSelected($selected=0)
diff --git a/htdocs/lib/functions2.lib.php b/htdocs/lib/functions2.lib.php
index 6601de8f285..79a60b5e076 100644
--- a/htdocs/lib/functions2.lib.php
+++ b/htdocs/lib/functions2.lib.php
@@ -19,8 +19,9 @@
*/
/**
- \file htdocs/lib/functions.lib.php
- \brief Ensemble de fonctions de base de dolibarr sous forme d'include
+ \file htdocs/lib/functions2.lib.php
+ \brief Ensemble de fonctions de base de dolibarr sous forme d'include.
+ Used for counters.
\version $Id$
*/
diff --git a/htdocs/translate.class.php b/htdocs/translate.class.php
index adaebd53690..9a9513b6179 100644
--- a/htdocs/translate.class.php
+++ b/htdocs/translate.class.php
@@ -351,11 +351,11 @@ class Translate {
/**
- * \brief Retourne la version traduite du texte pass� en param�tre
+ * \brief Retourne la version traduite du texte passe en parametre
* Si il n'y a pas de correspondance pour ce texte, on cherche dans fichier alternatif
- * et si toujours pas trouv�, il est retourn� tel quel.
- * Les param�tres de cette m�thode ne doivent pas contenir de balises HTML.
- * \param key cl� de chaine a traduire
+ * et si toujours pas trouvee, il est retourne tel quel.
+ * Les parametres de cette methode ne doivent pas contenir de balises HTML.
+ * \param key cle de chaine a traduire
* \param param1 chaine de param1
* \param param2 chaine de param1
* \param param3 chaine de param1