diff --git a/htdocs/lib/functions.inc.php b/htdocs/lib/functions.inc.php index 0b0d8e43b37..259979e52cb 100644 --- a/htdocs/lib/functions.inc.php +++ b/htdocs/lib/functions.inc.php @@ -38,7 +38,7 @@ Ensemble de fonctions de base de dolibarr sous forme d'include */ -// Pour compatibilité lors de l'upgrade +// Pour compatibilit矬ors de l'upgrade if (! defined('DOL_DOCUMENT_ROOT')) { define('DOL_DOCUMENT_ROOT', '..'); @@ -114,7 +114,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貯ud via dns \param mail adresse email (Ex: "toto@titi.com", "John Do ") \return boolean true si email valide, false sinon */ @@ -174,15 +174,15 @@ function sanitize_string($str) /** \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 d襩ni par SYSLOG_FILE + Pour syslog: facility d襩ni 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è± sous Windows et g诩rent des + fautes de protection m謯ire. Pour r貯udre, 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襩ni, on ne gè±¥ 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 */ @@ -236,7 +236,7 @@ function dolibarr_syslog($message, $level=LOG_INFO) } else { - //define_syslog_variables(); déja définit dans master.inc.php + //define_syslog_variables(); dè©¡ d襩nit dans master.inc.php if (defined("MAIN_SYSLOG_FACILITY") && MAIN_SYSLOG_FACILITY) { $facility = MAIN_SYSLOG_FACILITY; @@ -318,9 +318,9 @@ function dolibarr_fiche_head($links, $active='0', $title='', $notab=0) } /** - \brief Récupére une constante depuis la base de données. + \brief R袵pè±¥ une constante depuis la base de donn褳. \see dolibarr_del_const, dolibarr_set_const - \param db Handler d'accés base + \param db Handler d'accè± base \param name Nom de la constante \return string Valeur de la constante */ @@ -342,13 +342,13 @@ function dolibarr_get_const($db, $name) /** - \brief Insertion d'une constante dans la base de données. + \brief Insertion d'une constante dans la base de donn褳. \see dolibarr_del_const, dolibarr_get_const - \param db Handler d'accés base + \param db Handler d'accè± base \param name Nom de la constante \param value Valeur de la constante - \param type Type de constante (chaine par défaut) - \param visible La constante est elle visible (0 par défaut) + \param type Type de constante (chaine par d襡ut) + \param visible La constante est elle visible (0 par d襡ut) \param note Explication de la constante \return int <0 si ko, >0 si ok */ @@ -386,9 +386,9 @@ function dolibarr_set_const($db, $name, $value, $type='chaine', $visible=0, $not } /** - \brief Effacement d'une constante dans la base de données + \brief Effacement d'une constante dans la base de donn褳 \see dolibarr_get_const, dolibarr_sel_const - \param db Handler d'accés base + \param db Handler d'accè± base \param name Nom ou rowid de la constante \return int <0 si ko, >0 si ok */ @@ -413,11 +413,11 @@ function dolibarr_del_const($db, $name) /** \brief Sauvegarde parametrage personnel - \param db Handler d'accés base + \param db Handler d'accè± 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è³²es a sauvegarder \return int <0 si ko, >0 si ok */ function dolibarr_set_user_page_param($db, &$user, $url='', $tab) @@ -427,7 +427,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è³²es pour toutes les cl矤ans $tab $sql = "DELETE FROM ".MAIN_DB_PREFIX."user_param"; $sql.= " WHERE fk_user = ".$user->id; if ($url) $sql.=" AND page='".$url."'"; @@ -453,7 +453,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è³²es if ($value && (! $url || in_array($key,array('sortfield','sortorder','begin','page')))) { $sql = "INSERT INTO ".MAIN_DB_PREFIX."user_param(fk_user,page,param,value)"; @@ -483,7 +483,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è£ */ function dolibarr_print_ca($ca) { @@ -511,10 +511,10 @@ function dolibarr_print_ca($ca) /** - \brief Effectue un décalage de date par rapport a une durée + \brief Effectue un d袡lage de date par rapport a une durè£ \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裠a ajouter + \param duration_unit Unit矤e la dur裠a ajouter (d, m, y) \return int Nouveau timestamp */ function dolibarr_time_plus_duree($time,$duration_value,$duration_unit) @@ -537,13 +537,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裠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襩ni, 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; @@ -578,8 +578,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裠depuis une chaine + \param string Date format裠en chaine YYYYMMDD YYYYMMDDHHMMSS DD/MM/YY ou DD/MM/YYYY @@ -658,14 +658,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裠depuis infos. + Remplace la fonction mktime non impl謥nt裠sous Windows si ann裠< 1970 \param hour Heure \param minute Minute \param second Seconde \param month Mois \param day Jour - \param year Année + \param year Annè£ \return timestamp Date en timestamp, '' if error \remarks PHP mktime is restricted to the years 1901-2038 on Unix and 1970-2038 on Windows */ @@ -688,7 +688,7 @@ function dolibarr_mktime($hour,$minute,$second,$month,$day,$year,$gm=0) { /* // 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袥mbre 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"; @@ -772,11 +772,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豯s de telephone en fonction du format d'un pays + \param phone Num豯 de telephone a formater \param country Pays selon lequel formatter - \return string Numéro de téléphone formaté -*/ + \return string Num豯 de tè­©phone format狊*/ function dolibarr_print_phone($phone,$country="FR") { $phone=trim($phone); @@ -808,7 +807,7 @@ function dolibarr_print_phone($phone,$country="FR") } /** - \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裠en ajoutant les points de suspension si cela d诡sse \param string String to truncate \param size Max string size. 0 for no limit. \param trunc Where to trunc: right, left, middle @@ -854,12 +853,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è³¥ une chaine a une taille donn裠par des espaces + \param string Chaine a complè³¥r \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賩on a droite, 1=Compl賩on a gauche + \param char Chaine de compl賩on + \return string Chaine compl赩e */ function dolibarr_pad($string,$size,$side,$char=' ') { @@ -875,7 +874,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诩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 @@ -887,10 +886,10 @@ function img_object($alt, $object) } /** - \brief Affiche picto (fonction générique) + \brief Affiche picto (fonction g诩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謥ntaire a la balise img \return string Retourne tag img */ function img_picto($alt, $picto, $options='') @@ -1045,7 +1044,7 @@ function img_delete($alt = "default") } /** - \brief Affiche logo désactiver + \brief Affiche logo d財ctiver \param alt Texte sur le alt de l'image \return string Retourne tag img */ @@ -1148,7 +1147,7 @@ function img_alerte($alt = "default") } /** - \brief Affiche logo téléphone in + \brief Affiche logo tè­©phone in \param alt Texte sur le alt de l'image \return string Retourne tag img */ @@ -1160,7 +1159,7 @@ function img_phone_in($alt = "default") } /** - \brief Affiche logo téléphone out + \brief Affiche logo tè­©phone out \param alt Texte sur le alt de l'image \return string Retourne tag img */ @@ -1186,7 +1185,7 @@ function img_next($alt = "default") } /** - \brief Affiche logo précédent + \brief Affiche logo pr褩dent \param alt Texte sur le alt de l'image \return string Retourne tag img */ @@ -1405,7 +1404,7 @@ function dol_loginfunction($notused,$pearstatus) print ''; if (file_exists(DOL_DOCUMENT_ROOT.'/logo.png')) { - // Cas qui ne devrait pas arriver (pour compatibilité) + // Cas qui ne devrait pas arriver (pour compatibilitç§ print ''; } @@ -1454,8 +1453,7 @@ function dol_loginfunction($notused,$pearstatus) print ''."\n"; - // Code de sécurité - if ($conf->global->MAIN_SECURITY_ENABLECAPTCHA) + // Code de s袵rit狊 if ($conf->global->MAIN_SECURITY_ENABLECAPTCHA) { //print "Info session: ".session_name().session_id();print_r($_SESSION); include_once(DOL_DOCUMENT_ROOT.'/includes/cryptographp/cryptographp.fct.php'); @@ -1508,12 +1506,12 @@ function dol_loginfunction($notused,$pearstatus) } /* - * \brief Vérifie les droits de l'utilisateur + * \brief Verifie les droits de l'utilisateur * \param user Utilisateur courant - * \param module Module a vérifier + * \param module Module a verifier * \param objectid ID du document * \param dbtable Table de la base correspondant au module (optionnel) - * \param list Défini si la page sert de liste et donc ne fonctionne pas avec un id + * \param list Defini si la page sert de liste et donc ne fonctionne pas avec un id */ function restrictedArea($user, $modulename, $objectid='', $dbtablename='', $list=0) { @@ -1531,7 +1529,7 @@ function dol_loginfunction($notused,$pearstatus) $socid = 0; $nocreate = 0; - //si dbtable non défini, méme nom que le module + //si dbtable non defini, meme nom que le module if (!$dbtablename) $dbtablename = $modulename; if (!$user->rights->$modulename->lire) @@ -1629,12 +1627,11 @@ 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裠des bugs. + On doit appeler cette fonction quand une erreur technique bloquante est rencontr裮 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裩aire de leur propri赩 "error". + \param db Handler de base utilis狊 \param error Chaine erreur ou tableau de chaines erreur compl謥ntaires a afficher */ function dolibarr_print_error($db='',$error='') { @@ -1715,7 +1712,7 @@ function dolibarr_print_error($db='',$error='') /** - \brief Deplacer les fichiers telechargés, apres quelques controles divers + \brief Deplacer les fichiers telecharg豬 apres quelques controles divers \param src_file fichier source \param dest_file fichier de destination \return int true=Deplacement OK, false=Pas de deplacement ou KO @@ -1742,7 +1739,7 @@ function doliMoveFileUpload($src_file, $dest_file) } // Security: - // On interdit les remontées de repertoire ainsi que les pipe dans + // On interdit les remont褳 de repertoire ainsi que les pipe dans // les noms de fichiers. if (eregi('\.\.',$src_file) || eregi('[<>|]',$src_file)) { @@ -1751,7 +1748,7 @@ function doliMoveFileUpload($src_file, $dest_file) } // Security: - // On interdit les remontées de repertoire ainsi que les pipe dans + // On interdit les remont褳 de repertoire ainsi que les pipe dans // les noms de fichiers. if (eregi('\.\.',$dest_file) || eregi('[<>|]',$dest_file)) { @@ -1769,22 +1766,21 @@ function doliMoveFileUpload($src_file, $dest_file) \brief Transcodage de francs en euros \param zonein zone de depart \param devise type de devise - \return r resultat transcodé -*/ + \return r resultat transcod狊*/ function transcoS2L($zonein,$devise) { // Open source offert par alainfloch@free.fr 28/10/2001, sans garantie. - // début de la fonction de transcodification de somme en toutes lettres + // d衵t de la fonction de transcodification de somme en toutes lettres /* $zonein = "123,56"; - * $devise = "E"; // préciser F si francs , sinon ce sera de l'euro + * $devise = "E"; // pr袩ser F si francs , sinon ce sera de l'euro * $r = transcoS2L($zonein,$devise); // appeler la fonction - * echo "résultat vaut $r
"; - * $zonelettresM = strtoupper($r); // si vous voulez la méme zone mais tout en majuscules - * echo "résultat en Majuscules vaut $zonelettresM
"; + * echo "rè²µltat vaut $r
"; + * $zonelettresM = strtoupper($r); // si vous voulez la m謥 zone mais tout en majuscules + * echo "r貵ltat en Majuscules vaut $zonelettresM
"; * $zonein = "1,01"; * $r = transcoS2L($zonein,$devise); - * echo "résultat vaut $r
"; + * echo "rè²µltat vaut $r
"; */ @@ -1801,7 +1797,7 @@ function transcoS2L($zonein,$devise) $cent_singulier = " centime"; } - $arr1_99 = array("zéro","un","deux","trois", + $arr1_99 = array("z豯","un","deux","trois", "quatre","cinq","six","sept", "huit","neuf","dix","onze","douze", "treize","quatorze","quinze","seize", @@ -1839,24 +1835,24 @@ function transcoS2L($zonein,$devise) $arr1_99[$j] = "quatre-vingt-".$arr1_99[$i]; $i++; } // fin initialise la table (fin) - // echo "Pour une valeur en entrée = $zonein
"; //pour ceux qui ne croient que ce qu'ils voient ! + // echo "Pour une valeur en entr裠= $zonein
"; //pour ceux qui ne croient que ce qu'ils voient ! // quelques petits controles s'imposent !! - $valid = "[a-zA-Z\&\é\"\'\(\-\é\_\é\é\)\=\;\:\!\*\$\^\<\>]"; + $valid = "[a-zA-Z\&\蚢\'\(\-\蛟\è©\)\=\;\:\!\*\$\^\<\>]"; if (ereg($valid,$zonein)) { - $r = "la chaéne ".$zonein." n'est pas valide"; + $r = "la chaè­¥ ".$zonein." n'est pas valide"; return($r); } - $zone = explode(" ",$zonein); // supprimer les blancs séparateurs - $zonein = implode("",$zone); // reconcaténe la zone input - $zone = explode(".",$zonein); // supprimer les points séparateurs - $zonein = implode("",$zone); // reconcaténe la zone input, éa c'est fort ! merci PHP + $zone = explode(" ",$zonein); // supprimer les blancs s诡rateurs + $zonein = implode("",$zone); // reconcatè­¥ la zone input + $zone = explode(".",$zonein); // supprimer les points s诡rateurs + $zonein = implode("",$zone); // reconcatè­¥ la zone input, 蟠c'est fort ! merci PHP $virg = strpos($zonein,",",1); // a la poursuite de la virgule $i = strlen($zonein); // et de la longueur de la zone input if ($virg == 0) { // ya pas de virgule if ($i > 7) { - $r = "la chaéne ".$zonein." est trop longue (maxi = 9 millions)"; + $r = "la chaè­¥ ".$zonein." est trop longue (maxi = 9 millions)"; return($r); } $deb = 7 - $i; @@ -1864,12 +1860,12 @@ function transcoS2L($zonein,$devise) } else { //ya une virgule - $ti = explode(",",$zonein); // mettre de cété ce qu'il y a devant la virgule + $ti = explode(",",$zonein); // mettre de c赩 ce qu'il y a devant la virgule $i = strlen($ti[0]); // en controler la longueur $zonechiffres = "0000000,00"; if ($i > 7) { - $r = "la chaéne ".$zonein." est trop longue (maxi = 9 millions,00)"; + $r = "la chaè­¥ ".$zonein." est trop longue (maxi = 9 millions,00)"; return($r); } $deb = 7 - $i; @@ -1900,7 +1896,7 @@ function transcoS2L($zonein,$devise) } } // fin du else ya des centaines de mille $MM= substr($zoneanaly,2,2); - if (substr($zoneanaly,2,1)==0){ $MM = substr($zoneanaly,3,1);} // enlever le zéro des milliers cause indexation + if (substr($zoneanaly,2,1)==0){ $MM = substr($zoneanaly,3,1);} // enlever le z豯 des milliers cause indexation if ($MM ==0 && $CM > 0) { $r = $r."mille "; @@ -1928,7 +1924,7 @@ function transcoS2L($zonein,$devise) } } $C2= substr($zoneanaly,5,2); - if (substr($zoneanaly,5,1)==0){ $C2 = substr($zoneanaly,6,1);} // enlever le zéro des centaines cause indexation + if (substr($zoneanaly,5,1)==0){ $C2 = substr($zoneanaly,6,1);} // enlever le z豯 des centaines cause indexation $C1= substr($zoneanaly,4,1); if ($C2 ==0 && $C1 > 1) { @@ -1958,13 +1954,13 @@ function transcoS2L($zonein,$devise) if ($UN != "00") { $cts = $UN; - if (substr($UN,0,1)==0){ $cts = substr($UN,1,1);} // enlever le zéro des centimes cause indexation + if (substr($UN,0,1)==0){ $cts = substr($UN,1,1);} // enlever le z豯 des centimes cause indexation $r = $r." et ". $arr1_99[$cts].$cent_singulier; if ($UN > 1) $r =$r."s"; // accorde au pluriel } - $r1 = ltrim($r); // enleve quelques blancs possibles en début de zone - $r = ucfirst($r1); // met le 1er caractére en Majuscule, c'est + zoli - return($r); // retourne le résultat + $r1 = ltrim($r); // enleve quelques blancs possibles en d衵t de zone + $r = ucfirst($r1); // met le 1er caractè±¥ en Majuscule, c'est + zoli + return($r); // retourne le rè²µltat } // fin fonction transcoS2L @@ -1976,7 +1972,7 @@ function transcoS2L($zonein,$devise) \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矬e tri du tableau \param sortorder ordre du tri */ function print_liste_field_titre($name, $file, $field, $begin="", $options="", $td="", $sortfield="", $sortorder="") @@ -1984,7 +1980,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 赩dence. // Exemple si (sortfield,field)=("nom","xxx.nom") ou (sortfield,field)=("nom","nom") if ($sortfield == $field || $sortfield == ereg_replace("^[^\.]+\.","",$field)) { @@ -2032,9 +2028,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矡 gauche \param titre Le titre a afficher - \param mesg Message suplémentaire a afficher a droite + \param mesg Message supl謥ntaire a afficher a droite \param picto Picto pour ligne de titre */ function print_fiche_titre($titre, $mesg='', $picto='') @@ -2070,8 +2066,8 @@ function dol_delete_file($file) } /** - \brief Effacement d'un répertoire - \param file Répertoire a effacer + \brief Effacement d'un r该rtoire + \param file R该rtoire a effacer */ function dol_delete_dir($dir) { @@ -2079,10 +2075,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该rtoire $dir et de son arborescence + \param file R该rtoire a effacer + \param count Compteur pour comptage nb elements supprimè± + \return int Nombre de fichier+repè±´oires supprimè± */ function dol_delete_dir_recursive($dir,$count=0) { @@ -2117,7 +2113,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石inon retourne "null" */ function dol_avscan_file($file) { @@ -2142,13 +2138,13 @@ 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豯 de la page \param file lien \param options parametres complementaires lien ('' par defaut) \param sortfield champ de tri ('' par defaut) \param sortorder ordre de tri ('' par defaut) \param center chaine du centre ('' par defaut) - \param num nombre d'élément total + \param num nombre d'è­©ment total */ function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $sortorder='', $center='', $num=-1) { @@ -2193,7 +2189,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豯 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 @@ -2214,10 +2210,10 @@ function print_fleche_navigation($page,$file,$options='',$nextpage) /** -* \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矰our visualisation +* \remarks Fonction utilis裠dans les pdf et les pages html * \param rate Taux a formater (19.6 19,6 19.6% 19,6%...) -* \return string Chaine avec montant formaté (19,6 ou 19,6%) +* \return string Chaine avec montant format瞨19,6 ou 19,6%) */ function vatrate($rate) { @@ -2232,15 +2228,14 @@ function vatrate($rate) /** -* \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賡ire format矰our visualisation +* \remarks Fonction utilis裠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袩males,0=Force le non troncage * \param nbdecimal Nbre decimals minimum. -* \return string Chaine avec montant formaté -* \seealso price2num Fonction inverse de price +* \return string Chaine avec montant format狊* \seealso price2num Fonction inverse de price */ function price($amount, $html=0, $outlangs='', $trunc=1, $nbdecimal=2) { @@ -2261,11 +2256,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袩male //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袩males if (strlen($decpart) > $nbdecimal) $nbdecimal=strlen($decpart); // Si on depasse max if ($trunc && $nbdecimal > $conf->global->MAIN_MAX_DECIMALS_SHOWN) @@ -2273,7 +2268,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='...'; } } @@ -2293,7 +2288,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豩que 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 @@ -2301,7 +2296,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豩que PHP et SQL (Exemple: '99.99999') \seealso price Fonction inverse de price2num */ function price2num($amount,$rounding='') @@ -2327,17 +2322,16 @@ function price2num($amount,$rounding='') /** \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襡ut=0. Fin de r覬e. + Si le (pays vendeur = pays acheteur) alors TVA par d襡ut=TVA du produit vendu. Fin de r覬e. + Si (vendeur et acheteur dans Communaut知urop褮ne) et (bien vendu = moyen de transports neuf comme auto, bateau, avion) alors TVA par d襡ut=0 (La TVA doit è³²e pay矰ar acheteur au centre d'impots de son pays et non au vendeur). Fin de r覬e. + Si (vendeur et acheteur dans Communaut知urop褮ne) et (acheteur = particulier ou entreprise sans num TVA intra) alors TVA par d襡ut=TVA du produit vendu. Fin de r覬e. + Si (vendeur et acheteur dans Communaut知urop褮ne) et (acheteur = entreprise avec num TVA) intra alors TVA par d襡ut=0. Fin de r覬e. + Sinon TVA propos裠par d襡ut=0. Fin de r覬e. + \param societe_vendeuse Objet soci赩 vendeuse + \param societe_acheteuse Objet soci赩 acheteuse \param taux_produit Taux par defaut du produit vendu - \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è³¥rmin狊 */ function get_default_tva($societe_vendeuse, $societe_acheteuse, $taux_produit) { dolibarr_syslog("get_default_tva vendeur_assujeti=".$societe_vendeuse->tva_assuj." pays_vendeur=".$societe_vendeuse->pays_id.", pays_acheteur=".$societe_acheteuse->pays_id.", taux_produit=".$taux_produit); @@ -2349,33 +2343,33 @@ 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襡ut=TVA du produit vendu. Fin de r覬e. //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石i le test suivant n'est pas suffisant. if ($societe_vendeuse->pays_id == $societe_acheteuse->pays_id) { - 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è³¥rminer 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知urop褮ne) et (bien vendu = moyen de transports neuf comme auto, bateau, avion) alors TVA par d襡ut=0 (La TVA doit è³²e pay矰ar l'acheteur au centre d'impots de son pays et non au vendeur). Fin de r覬e. + // Non g賩 - // 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知urop褮ne) et (acheteur = particulier ou entreprise sans num TVA intra) alors TVA par d襡ut=TVA du produit vendu. Fin de r覬e. if (($societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC()) && ! $societe_acheteuse->tva_intra) { - 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è³¥rminer 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知urop褮ne) et (acheteur = entreprise avec num TVA intra) alors TVA par d襡ut=0. Fin de r覬e. 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裠par d襡ut=0. Fin de r覬e. + // Rem: Cela signifie qu'au moins un des 2 est hors Communaut知urop褮ne et que le pays diffè±¥ return 0; } @@ -2409,7 +2403,7 @@ function makesalt($type=CRYPT_SALT_LENGTH) { case 12: // 8 + 4 $saltlen=8; $saltprefix='$1$'; $saltsuffix='$'; break; - case 8: // 8 + 4 (Pour compatibilite, ne devrait pas etre utilisé) + 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) @@ -2424,8 +2418,8 @@ function makesalt($type=CRYPT_SALT_LENGTH) } /** \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è± base + \param code Code r覩on \param pays_id Id du pays */ function departement_rowid($db,$code, $pays_id) @@ -2456,9 +2450,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该rtoire 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袯mposer \param $level Niveau de decoupage (1, 2 ou 3 niveaux) */ function get_exdir($num,$level=3) @@ -2472,9 +2466,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è ´ion de r该rtoire recursive + \param $dir R该rtoire a cr褲 + \return int < 0 si erreur, >= 0 si succè± */ function create_exdir($dir) { @@ -2493,7 +2487,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 袨ouer bien que le rep existe. // (ex selon config de open_basedir) if ($ccdir) { @@ -2504,20 +2498,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矵ne fausse info, alors on passe ici. dolibarr_syslog("functions.inc.php::create_exdir: Fails to create directory '".$ccdir."' or directory already exists.",LOG_WARNING); $nberr++; } else { dolibarr_syslog("functions.inc.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豯 car si on arrive ici, cela veut dire que les 袨ecs pr褩dents peuvent etre ignorè± $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豯 car si on arrive ici, cela veut dire que les 袨ecs pr褩dents peuvent etre ignorè± } } } @@ -2614,9 +2608,9 @@ function dolibarr_dir_list($path, $types="all", $recursive=0, $filter="", $exclu } } /** - \brief Retourne le numéro de la semaine par rapport a une date + \brief Retourne le num豯 de la semaine par rapport a une date \param time Date au format 'timestamp' - \return int Numéro de semaine + \return int Num豯 de semaine */ function numero_semaine($time) { @@ -2632,12 +2626,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裠est celle qui contient le 4 janvier ou que la semaine 1 de toute ann裠est celle qui contient le 1er jeudi de janvier. + * - La majorit矤es ann褳 ont 52 semaines mais les ann褳 qui commence un jeudi et les ann褳 bissextiles commenè ®t un mercredi en poss裥 53. * - Le 1er jour de la semaine est le Lundi */ - // Définition du Jeudi de la semaine + // D襩nition 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 @@ -2647,7 +2641,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襩nition du premier Jeudi de l'annè£ 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; @@ -2665,7 +2659,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襩nition du num豯 de semaine: nb de jours entre "premier Jeudi de l'ann裢 et "Jeudi de la semaine"; $numeroSemaine = ( ( date("z",mktime(12,0,0,date("m",$jeudiSemaine),date("d",$jeudiSemaine),date("Y",$jeudiSemaine))) @@ -2677,7 +2671,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褳 qui commence un Jeudi et les ann褳 bissextiles commenè ®t un Mercredi en poss裥 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; @@ -2738,13 +2732,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è± 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è±¥r dans la base de donn褳 ces valeurs + * cela surchagerait inutilement d'une requete suppl謥ntaire * pour quelque chose qui est somme toute peu variable */ @@ -2833,7 +2827,7 @@ function clean_html($StringHtml) } /** - \brief Convertir du binaire en héxadécimal + \brief Convertir du binaire en hè·¡d袩mal \param string bin \return string x */ @@ -2847,7 +2841,7 @@ function binhex($bin, $pad=false, $upper=false){ } /** - \brief Convertir de l'héxadécimal en binaire + \brief Convertir de l'hè·¡d袩mal en binaire \param string hexa \return string bin */ @@ -2861,12 +2855,12 @@ function hexbin($hexa){ } /* -* \brief Cette fonction est appelée pour coder ou non une chaine en html. +* \brief Cette fonction est appel裠pour coder ou non une chaine en html. * \param stringtoencode String to encode * \param htmlinfo 1=String IS already html, 0=String IS NOT html, -1=Unknown need autodetection * \remarks Selon qu'on compte l'afficher dans le PDF avec: -* writeHTMLCell -> a besoin d'etre encodé en HTML -* MultiCell -> ne doit pas etre encodé en HTML +* writeHTMLCell -> a besoin d'etre encod知n HTML +* MultiCell -> ne doit pas etre encod知n HTML */ function dol_htmlentities($stringtoencode,$htmlinfo=-1) { @@ -2881,9 +2875,8 @@ function dol_htmlentities($stringtoencode,$htmlinfo=-1) } /** - \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é -*/ + \brief Encode\decode le mot de passe de la base de donn褳 dans le fichier de conf + \param level niveau d'encodage : 0 non encod窠1 encod狊*/ function encodedecode_dbpassconf($level=0) { $config = ''; @@ -2933,9 +2926,9 @@ function encodedecode_dbpassconf($level=0) } /** - \brief Encode une chaine de caractére - \param chain chaine de caractéres a encoder - \return string_coded chaine de caractéres encodée + \brief Encode une chaine de caractè±¥ + \param chain chaine de caractè±¥s a encoder + \return string_coded chaine de caractè±¥s encodè£ */ function dolibarr_encode($chain) { @@ -2949,9 +2942,9 @@ function dolibarr_encode($chain) } /** - \brief Decode une chaine de caractére - \param chain chaine de caractéres a decoder - \return string_coded chaine de caractéres decodée + \brief Decode une chaine de caractè±¥ + \param chain chaine de caractè±¥s a decoder + \return string_coded chaine de caractè±¥s decodè£ */ function dolibarr_decode($chain) { @@ -3066,7 +3059,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衵t \param timestampEnd Timestamp de fin \param lastday On prend en compte le dernier jour, 0: non, 1:oui \return nbjours Nombre de jours @@ -3089,8 +3082,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豩豠(jours ouvr豩 + \param timestampStart Timestamp de d衵t \param timestampEnd Timestamp de fin \param inhour 0: sort le nombre de jour , 1: sort le nombre d'heure \param lastday On prend en compte le dernier jour, 0: non, 1:oui @@ -3115,8 +3108,7 @@ function num_open_day($timestampStart, $timestampEnd,$inhour=0,$lastday=0) } /** - \brief Fonction retournant le nombre de lignes dans un texte formaté - \param texte Texte + \brief Fonction retournant le nombre de lignes dans un texte format狊 \param texte Texte \return nblines Nombre de lignes */ function num_lines($texte) @@ -3136,11 +3128,11 @@ function ajax_indicator($htmlname,$indicator='working') } /** - \brief Récupére la valeur d'un champ, effectue un traitement Ajax et affiche le résultat + \brief R袵pè±¥ la valeur d'un champ, effectue un traitement Ajax et affiche le rè²µltat \param htmlname nom et id du champ - \param keysearch nom et id complémentaire du champ de collecte - \param url chemin du fichier de réponse : /chemin/fichier.php - \param option champ supplémentaire de recherche dans les paramétres + \param keysearch nom et id compl謥ntaire du champ de collecte + \param url chemin du fichier de r误nse : /chemin/fichier.php + \param option champ suppl謥ntaire de recherche dans les paramè³²es \param indicator Nom de l'image gif sans l'extension \return script script complet */ @@ -3179,12 +3171,12 @@ function ajax_updater($htmlname,$keysearch,$url,$option='',$indicator='working') } /** - \brief Récupére la valeur d'un champ, effectue un traitement Ajax et affiche le résultat + \brief R袵pè±¥ la valeur d'un champ, effectue un traitement Ajax et affiche le rè²µltat \param htmlname nom et id du champ - \param keysearch nom et id complémentaire du champ de collecte + \param keysearch nom et id compl謥ntaire du champ de collecte \param id ID du champ a modifier - \param url chemin du fichier de réponse : /chemin/fichier.php - \param option champ supplémentaire de recherche dans les paramétres + \param url chemin du fichier de r误nse : /chemin/fichier.php + \param option champ suppl謥ntaire de recherche dans les paramè³²es \param indicator Nom de l'image gif sans l'extension \return script script complet */ @@ -3221,9 +3213,9 @@ function ajax_updaterWithID($htmlname,$keysearch,$id,$url,$option='',$indicator= } /** - \brief Récupére la valeur d'un champ, effectue un traitement Ajax et affiche le résultat + \brief R袵pè±¥ la valeur d'un champ, effectue un traitement Ajax et affiche le rè²µltat \param htmlname nom et id du champ - \param url chemin du fichier de réponse : /chemin/fichier.php + \param url chemin du fichier de r误nse : /chemin/fichier.php \param indicator nom de l'image gif sans l'extension \return script script complet */ @@ -3285,10 +3277,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è± par les donn褳 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石ubstitution => valeur a mettre + * \return string Chaine avec les substitutions effectu褳 */ function make_substitutions($chaine,$substitutionarray) { @@ -3331,14 +3323,14 @@ function make_substitutions($chaine,$substitutionarray) $result = "\"" . addslashes(stripslashes($var)) . "\""; return $result; } - // autres cas: objets, on ne les gére pas + // autres cas: objets, on ne les gè±¥ pas $result = FALSE; return $result; } /* - * \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衵t et de fin + * \param date_start date de d衵t * \param date_end date de fin */ function print_date_range($date_start,$date_end) @@ -3360,13 +3352,13 @@ function print_date_range($date_start,$date_end) } /* - * \brief Création de 2 vignettes a partir d'un fichier image (une small et un mini) + * \brief Crè ´ion de 2 vignettes a partir d'un fichier image (une small et un mini) * \brief Les extension prise en compte sont jpg et png * \param file Chemin du fichier image a redimensionner - * \param maxWidth Largeur maximum que dois faire la miniature (160 par défaut) - * \param maxHeight Hauteur maximum que dois faire l'image (120 par défaut) - * \param extName Extension pour différencier le nom de la vignette - * \param quality Qualité de compression (0=worst, 100=best) + * \param maxWidth Largeur maximum que dois faire la miniature (160 par d襡ut) + * \param maxHeight Hauteur maximum que dois faire l'image (120 par d襡ut) + * \param extName Extension pour diffè±¥ncier le nom de la vignette + * \param quality Qualit矤e compression (0=worst, 100=best) * \return string Chemin de la vignette */ function vignette($file, $maxWidth = 160, $maxHeight = 120, $extName='_small', $quality=50) @@ -3378,15 +3370,14 @@ function vignette($file, $maxWidth = 160, $maxHeight = 120, $extName='_small', $ // Nettoyage parametres $file=trim($file); - // Vérification des paramétres + // V豩fication des paramè³²es if (! $file) { - // Si le fichier n'a pas été indiqué - return 'Bad parameter file'; + // Si le fichier n'a pas 赩 indiqu狊 return 'Bad parameter file'; } elseif (! file_exists($file)) { - // Si le fichier passé en paramétre n'existe pas + // Si le fichier pass知n paramè³²e n'existe pas return $langs->trans("ErrorFileNotFound",$file); } elseif(image_format_supported($file) < 0) @@ -3394,11 +3385,11 @@ function vignette($file, $maxWidth = 160, $maxHeight = 120, $extName='_small', $ return 'This file '.$file.' does not seem to be an image format file name.'; } elseif(!is_numeric($maxWidth) || empty($maxWidth) || $maxWidth < 0){ - // Si la largeur max est incorrecte (n'est pas numérique, est vide, ou est inférieure a 0) + // Si la largeur max est incorrecte (n'est pas num豩que, est vide, ou est inf豩eure a 0) return 'Valeur de la largeur incorrecte.'; } elseif(!is_numeric($maxHeight) || empty($maxHeight) || $maxHeight < 0){ - // Si la hauteur max est incorrecte (n'est pas numérique, est vide, ou est inférieure a 0) + // Si la hauteur max est incorrecte (n'est pas num豩que, est vide, ou est inf豩eure a 0) return 'Valeur de la hauteur incorrecte.'; } @@ -3406,16 +3397,16 @@ function vignette($file, $maxWidth = 160, $maxHeight = 120, $extName='_small', $ $dir = dirname($file).'/'; // Chemin du dossier contenant l'image $dirthumb = $dir.'thumbs/'; // Chemin du dossier contenant les vignettes - $infoImg = getimagesize($fichier); // Récupération des infos de l'image + $infoImg = getimagesize($fichier); // R袵p象tion des infos de l'image $imgWidth = $infoImg[0]; // Largeur de l'image $imgHeight = $infoImg[1]; // Hauteur de l'image - // Si l'image est plus petite que la largeur et la hauteur max, on ne crée pas de vignette + // Si l'image est plus petite que la largeur et la hauteur max, on ne cr裠pas de vignette if ($infoImg[0] < $maxWidth && $infoImg[1] < $maxHeight) { // On cree toujours les vignettes dolibarr_syslog("File size is smaller than thumb size",LOG_DEBUG); - //return 'Le fichier '.$file.' ne nécessite pas de création de vignette'; + //return 'Le fichier '.$file.' ne n袥ssite pas de crè ´ion de vignette'; } $imgfonction=''; @@ -3443,7 +3434,7 @@ function vignette($file, $maxWidth = 160, $maxHeight = 120, $extName='_small', $ } } - // On crée le répertoire contenant les vignettes + // On cr裠le r该rtoire contenant les vignettes if (! file_exists($dirthumb)) { create_exdir($dirthumb); @@ -3475,7 +3466,7 @@ function vignette($file, $maxWidth = 160, $maxHeight = 120, $extName='_small', $ break; } - // Initialisation des dimensions de la vignette si elles sont supérieures a l'original + // Initialisation des dimensions de la vignette si elles sont sup豩eures a l'original if($maxWidth > $imgWidth){ $maxWidth = $imgWidth; } if($maxHeight > $imgHeight){ $maxHeight = $imgHeight; } @@ -3484,11 +3475,11 @@ function vignette($file, $maxWidth = 160, $maxHeight = 120, $extName='_small', $ // Fixe les dimensions de la vignette if($whFact < $imgWhFact){ - // Si largeur déterminante + // Si largeur dè³¥rminante $thumbWidth = $maxWidth; $thumbHeight = $thumbWidth / $imgWhFact; } else { - // Si hauteur déterminante + // Si hauteur dè³¥rminante $thumbHeight = $maxHeight; $thumbWidth = $thumbHeight * $imgWhFact; } @@ -3498,7 +3489,7 @@ function vignette($file, $maxWidth = 160, $maxHeight = 120, $extName='_small', $ // Create empty image if ($infoImg[2] == 1) { - // Compatibilité image GIF + // Compatibilit矩mage GIF $imgThumb = imagecreate($thumbWidth, $thumbHeight); } else @@ -3522,14 +3513,14 @@ function vignette($file, $maxWidth = 160, $maxHeight = 120, $extName='_small', $ switch($infoImg[2]) { case 1: // Gif - $trans_colour = imagecolorallocate($imgThumb, 255, 255, 255); // On procéde autrement pour le format GIF + $trans_colour = imagecolorallocate($imgThumb, 255, 255, 255); // On proc裥 autrement pour le format GIF imagecolortransparent($imgThumb,$trans_colour); break; case 2: // Jpg $trans_colour = imagecolorallocatealpha($imgThumb, 255, 255, 255, 0); break; case 3: // Png - imagealphablending($imgThumb,false); // Pour compatibilité sur certain systéme + imagealphablending($imgThumb,false); // Pour compatibilit石ur certain syst謥 $trans_colour = imagecolorallocatealpha($imgThumb, 255, 255, 255, 127); // Keep transparent channel break; case 4: // Bmp @@ -3539,8 +3530,8 @@ function vignette($file, $maxWidth = 160, $maxHeight = 120, $extName='_small', $ if (function_exists("imagefill")) imagefill($imgThumb, 0, 0, $trans_colour); dolibarr_syslog("vignette: convert image from ($imgWidth x $imgHeight) to ($thumbWidth x $thumbHeight) as $extImg, newquality=$newquality"); - //imagecopyresized($imgThumb, $img, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imgWidth, $imgHeight); // Insére l'image de base redimensionnée - imagecopyresampled($imgThumb, $img, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imgWidth, $imgHeight); // Insére l'image de base redimensionnée + //imagecopyresized($imgThumb, $img, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imgWidth, $imgHeight); // Insè±¥ l'image de base redimensionnè£ + imagecopyresampled($imgThumb, $img, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imgWidth, $imgHeight); // Insè±¥ l'image de base redimensionnè£ $fileName = eregi_replace('(\.gif|\.jpeg|\.jpg|\.png|\.bmp)$','',$file); // On enleve extension quelquesoit la casse $fileName = basename($fileName); @@ -3590,7 +3581,7 @@ function ConvertTime2Seconds($iHours=0,$iMinutes=0,$iSeconds=0) * \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é + * \return sTime Temps format瞉 */ function ConvertSecondToTime($iSecond,$format='all'){ if ($format == 'all'){ @@ -3624,7 +3615,7 @@ function make_alpha_from_numbers($number) /* * \brief Affiche le contenu d'un fichier CSV sous forme de tableau * \param file_to_include Fichier CSV a afficher - * \param max_rows Nombre max de lignes a afficher (0 = illimité) + * \param max_rows Nombre max de lignes a afficher (0 = illimitç§  */ function viewCsvFileContent($file_to_include='',$max_rows=0) { @@ -3649,8 +3640,8 @@ function viewCsvFileContent($file_to_include='',$max_rows=0) /* * \brief Affiche le contenu d'un fichier Excel (avec les feuilles de calcul) sous forme de tableau * \param file_to_include Fichier Excel a afficher - * \param max_rows Nombre max de lignes a afficher (0 = illimité) - * \param max_cols Nombre max de colonnes a afficher (0 = illimité) + * \param max_rows Nombre max de lignes a afficher (0 = illimitç§ + * \param max_cols Nombre max de colonnes a afficher (0 = illimitç§  */ function viewExcelFileContent($file_to_include='',$max_rows=0,$max_cols=0) { @@ -3780,10 +3771,10 @@ function viewExcelFileContent($file_to_include='',$max_rows=0,$max_cols=0) } /** - \brief Générateur de codes barres - \param $code Valeur numérique a coder + \brief G诩rateur de codes barres + \param $code Valeur num豩que a coder \param $encoding Mode de codage - \param $generator Générateur utilisé (1=php-barcode, 2=pi_barcode) + \param $generator G诩rateur utilis瞨1=php-barcode, 2=pi_barcode) \param $readable Code lisible \return url */ @@ -3806,9 +3797,7 @@ function dol_genbarcode($code,$encoding,$generator=1,$readable='Y') } /** - \brief Retourne un tableau des mois ou le mois sélectionné - \param Mois sélectionné - \return month + \brief Retourne un tableau des mois ou le mois sè«¥ctionn狊 \param Mois sè«¥ctionn狊 \return month */ function monthArrayOrSelected($selected=0) { diff --git a/htdocs/projet/commandes.php b/htdocs/projet/commandes.php index 69dea215235..a6ca6802084 100644 --- a/htdocs/projet/commandes.php +++ b/htdocs/projet/commandes.php @@ -1,6 +1,7 @@ * Copyright (C) 2004-2006 Laurent Destailleur + * Copyright (C) 2005-2007 Regis Houssin * * 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 @@ -33,41 +34,18 @@ require_once(DOL_DOCUMENT_ROOT."/facture.class.php"); require_once(DOL_DOCUMENT_ROOT."/commande/commande.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/project.lib.php"); -if ($conf->projet->enabled) $langs->load("projects"); +$langs->load("projects"); $langs->load("companies"); $langs->load("orders"); -$user->getrights('projet'); - -if (!$user->rights->projet->lire) accessforbidden(); - // Sécurité accés client $projetid=''; if ($_GET["id"]) { $projetid=$_GET["id"]; } if ($projetid == '') accessforbidden(); -if ($user->societe_id > 0) -{ - $socid = $user->societe_id; -} - -// Protection restriction commercial -if ($projetid) -{ - $sql = "SELECT p.rowid, p.fk_soc"; - $sql.= " FROM ".MAIN_DB_PREFIX."projet as p"; - if (!$user->rights->commercial->client->voir) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc "; - $sql.= " WHERE p.rowid = ".$projetid; - if (!$user->rights->commercial->client->voir) $sql .= " AND p.fk_soc = sc.fk_soc AND sc.fk_user = ".$user->id; - if ($socid) $sql .= " AND p.fk_soc = ".$socid; - - if ( $db->query($sql) ) - { - if ( $db->num_rows() == 0) accessforbidden(); - } -} - +// Sécurité d'accès client et commerciaux +$socid = restrictedArea($user, 'projet', $projetid); llxHeader("","../"); diff --git a/htdocs/projet/facture.php b/htdocs/projet/facture.php index eccfa75c122..078904e058e 100644 --- a/htdocs/projet/facture.php +++ b/htdocs/projet/facture.php @@ -1,6 +1,7 @@ * Copyright (C) 2004-2006 Laurent Destailleur + * Copyright (C) 2005-2007 Regis Houssin * * 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 @@ -37,38 +38,14 @@ $langs->load("projects"); $langs->load("companies"); $langs->load("bills"); - -$user->getrights('projet'); - -if (!$user->rights->projet->lire) accessforbidden(); - // Sécurité accés client $projetid=''; if ($_GET["id"]) { $projetid=$_GET["id"]; } if ($projetid == '') accessforbidden(); -if ($user->societe_id > 0) -{ - $socid = $user->societe_id; -} - -// Protection restriction commercial -if ($projetid) -{ - $sql = "SELECT p.rowid, p.fk_soc"; - $sql.= " FROM ".MAIN_DB_PREFIX."projet as p"; - if (!$user->rights->commercial->client->voir) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc "; - $sql.= " WHERE p.rowid = ".$projetid; - if (!$user->rights->commercial->client->voir) $sql .= " AND p.fk_soc = sc.fk_soc AND sc.fk_user = ".$user->id; - if ($socid) $sql .= " AND p.fk_soc = ".$socid; - - if ( $db->query($sql) ) - { - if ( $db->num_rows() == 0) accessforbidden(); - } -} - +// Sécurité d'accès client et commerciaux +$socid = restrictedArea($user, 'projet', $projetid); llxHeader("","../"); diff --git a/htdocs/projet/fiche.php b/htdocs/projet/fiche.php index a937716da02..9dc839a7129 100644 --- a/htdocs/projet/fiche.php +++ b/htdocs/projet/fiche.php @@ -1,6 +1,7 @@ * Copyright (C) 2004-2006 Laurent Destailleur + * Copyright (C) 2005-2007 Regis Houssin * * 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 @@ -33,11 +34,6 @@ require_once(DOL_DOCUMENT_ROOT."/facture.class.php"); require_once(DOL_DOCUMENT_ROOT."/commande/commande.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/project.lib.php"); -if (!$user->rights->projet->lire) accessforbidden(); - -/* - * Sécurité accés client - */ $projetid=''; if ($_GET["id"]) { $projetid=$_GET["id"]; } @@ -46,6 +42,7 @@ if ($projetid == '' && ($_GET['action'] != "create" && $_POST['action'] != "add" // Sécurité d'accès client et commerciaux $socid = restrictedArea($user, 'projet', $projetid); + if ($_POST["action"] == 'add' && $user->rights->projet->creer) { $pro = new Project($db); diff --git a/htdocs/projet/propal.php b/htdocs/projet/propal.php index 60d1d5616b8..76bf9a9e43e 100644 --- a/htdocs/projet/propal.php +++ b/htdocs/projet/propal.php @@ -1,6 +1,7 @@ * Copyright (C) 2004-2006 Laurent Destailleur + * Copyright (C) 2005-2007 Regis Houssin * * 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 @@ -37,37 +38,14 @@ $langs->load("projects"); $langs->load("companies"); $langs->load("propal"); -$user->getrights('projet'); - -if (!$user->rights->projet->lire) accessforbidden(); - // Sécurité accés client $projetid=''; if ($_GET["id"]) { $projetid=$_GET["id"]; } if ($projetid == '') accessforbidden(); -if ($user->societe_id > 0) -{ - $socid = $user->societe_id; -} - -// Protection restriction commercial -if ($projetid) -{ - $sql = "SELECT p.rowid, p.fk_soc"; - $sql.= " FROM ".MAIN_DB_PREFIX."projet as p"; - if (!$user->rights->commercial->client->voir) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc "; - $sql.= " WHERE p.rowid = ".$projetid; - if (!$user->rights->commercial->client->voir) $sql .= " AND p.fk_soc = sc.fk_soc AND sc.fk_user = ".$user->id; - if ($socid) $sql .= " AND p.fk_soc = ".$socid; - - if ( $db->query($sql) ) - { - if ( $db->num_rows() == 0) accessforbidden(); - } -} - +// Sécurité d'accès client et commerciaux +$socid = restrictedArea($user, 'projet', $projetid); llxHeader("","../"); diff --git a/htdocs/projet/tasks/fiche.php b/htdocs/projet/tasks/fiche.php index d4b17ca08ba..0461dd77a9c 100644 --- a/htdocs/projet/tasks/fiche.php +++ b/htdocs/projet/tasks/fiche.php @@ -30,37 +30,17 @@ require("./pre.inc.php"); require_once(DOL_DOCUMENT_ROOT."/lib/project.lib.php"); -$user->getrights('projet'); - -if (!$user->rights->projet->lire) accessforbidden(); - /* - * S�curit� acc�s client + * Securite acces client */ $projetid=''; if ($_GET["id"]) { $projetid=$_GET["id"]; } if ($projetid == '') accessforbidden(); -if ($user->societe_id > 0) -{ - $socid = $user->societe_id; -} +// Sécurité d'accès client et commerciaux +$socid = restrictedArea($user, 'projet', $projetid); -// Protection restriction commercial -if ($projetid && !$user->rights->commercial->client->voir) -{ - $sql = "SELECT p.rowid, p.fk_soc"; - $sql .= " FROM ".MAIN_DB_PREFIX."societe_commerciaux as sc, ".MAIN_DB_PREFIX."projet as p"; - $sql .= " WHERE p.rowid = ".$projetid; - if (!$user->rights->commercial->client->voir) $sql .= " AND sc.fk_soc = p.fk_soc AND fk_user = ".$user->id; - if ($socid) $sql .= " AND p.fk_soc = ".$socid; - - if ( $db->query($sql) ) - { - if ( $db->num_rows() == 0) accessforbidden(); - } -} Function PLines(&$inc, $parent, $lines, &$level, $tasksrole) {
'; print '