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 ''.$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