From 22e0557309c2c58272e550c42ad3555d76266ac2 Mon Sep 17 00:00:00 2001 From: Regis Houssin <regis@dolibarr.fr> Date: Sat, 24 Oct 2009 14:33:18 +0000 Subject: [PATCH] Fix: problem when the size of the mask is identical to the size of the provisional reference --- htdocs/core/address.class.php | 2 +- .../modules/facture/modules_facture.php | 25 +++++++++---------- htdocs/lib/functions2.lib.php | 8 +++--- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/htdocs/core/address.class.php b/htdocs/core/address.class.php index 49e85e867d2..bcaa22cfd06 100644 --- a/htdocs/core/address.class.php +++ b/htdocs/core/address.class.php @@ -26,7 +26,7 @@ /** \class Address \brief Classe permettant la gestion des adresses postales - \todo Classe non utilis�e. L'impl�menter dans les objets qui g�rent des adresses + \todo Classe non utilisee. L'implementer dans les objets qui gerent des adresses */ class Address { diff --git a/htdocs/includes/modules/facture/modules_facture.php b/htdocs/includes/modules/facture/modules_facture.php index 05f52ac4d1b..190cb8f7c66 100644 --- a/htdocs/includes/modules/facture/modules_facture.php +++ b/htdocs/includes/modules/facture/modules_facture.php @@ -260,28 +260,27 @@ function facture_meta_create($db, $facid, $message="") $nblignes = sizeof($fac->lignes); $client = $fac->client->nom . " " . $fac->client->adresse . " " . $fac->client->cp . " " . $fac->client->ville; $meta = "REFERENCE=\"" . $fac->ref . "\" -DATE=\"" . dol_print_date($fac->date,'') . "\" -NB_ITEMS=\"" . $nblignes . "\" -CLIENT=\"" . $client . "\" -TOTAL_HT=\"" . $fac->total_ht . "\" -TOTAL_TTC=\"" . $fac->total_ttc . "\"\n"; + DATE=\"" . dol_print_date($fac->date,'') . "\" + NB_ITEMS=\"" . $nblignes . "\" + CLIENT=\"" . $client . "\" + TOTAL_HT=\"" . $fac->total_ht . "\" + TOTAL_TTC=\"" . $fac->total_ttc . "\"\n"; for ($i = 0 ; $i < $nblignes ; $i++) { - //Pour les articles - $meta .= "ITEM_" . $i . "_QUANTITY=\"" . $fac->lignes[$i]->qty . "\" -ITEM_" . $i . "_UNIT_PRICE=\"" . $fac->lignes[$i]->price . "\" -ITEM_" . $i . "_TVA=\"" .$fac->lignes[$i]->tva_tx . "\" -ITEM_" . $i . "_DESCRIPTION=\"" . str_replace("\r\n","",nl2br($fac->lignes[$i]->desc)) . "\" -"; - } + //Pour les articles + $meta .= "ITEM_" . $i . "_QUANTITY=\"" . $fac->lignes[$i]->qty . "\" + ITEM_" . $i . "_UNIT_PRICE=\"" . $fac->lignes[$i]->price . "\" + ITEM_" . $i . "_TVA=\"" .$fac->lignes[$i]->tva_tx . "\" + ITEM_" . $i . "_DESCRIPTION=\"" . str_replace("\r\n","",nl2br($fac->lignes[$i]->desc)) . "\" + "; + } } $fp = fopen ($file,"w"); fputs($fp,$meta); fclose($fp); if (! empty($conf->global->MAIN_UMASK)) @chmod($file, octdec($conf->global->MAIN_UMASK)); - } } diff --git a/htdocs/lib/functions2.lib.php b/htdocs/lib/functions2.lib.php index 32cab7f08ad..c1f51215738 100644 --- a/htdocs/lib/functions2.lib.php +++ b/htdocs/lib/functions2.lib.php @@ -463,12 +463,13 @@ function get_next_value($db,$mask,$table,$field,$where='',$valueforccc='',$date= $sql = "SELECT MAX(".$sqlstring.") as val"; $sql.= " FROM ".MAIN_DB_PREFIX.$table; // $sql.= " WHERE ".$field." not like '(%'"; - $sql.= " WHERE ".$field." like '".$maskLike."'"; + $sql.= " WHERE ".$field." LIKE '".$maskLike."'"; + $sql.= " AND ".$field." NOT LIKE '%PROV%'"; $sql.= " AND entity = ".$conf->entity; if ($where) $sql.=$where; if ($sqlwhere) $sql.=' AND '.$sqlwhere; - //print $sql; + //print $sql.'<br>'; dol_syslog("functions2::get_next_value sql=".$sql, LOG_DEBUG); $resql=$db->query($sql); if ($resql) @@ -507,7 +508,8 @@ function get_next_value($db,$mask,$table,$field,$where='',$valueforccc='',$date= $maskrefclient_sql = "SELECT MAX(".$maskrefclient_sqlstring.") as val"; $maskrefclient_sql.= " FROM ".MAIN_DB_PREFIX.$table; //$sql.= " WHERE ".$field." not like '(%'"; - $maskrefclient_sql.= " WHERE ".$field." like '".$maskrefclient_maskLike."'"; + $maskrefclient_sql.= " WHERE ".$field." LIKE '".$maskrefclient_maskLike."'"; + $maskrefclient_sql.= " AND entity = ".$conf->entity; if ($where) $maskrefclient_sql.=$where; //use the same optional where as general mask if ($sqlwhere) $maskrefclient_sql.=' AND '.$sqlwhere; //use the same sqlwhere as general mask $maskrefclient_sql.=' AND (SUBSTRING('.$field.', '.(strpos($maskwithnocode,$maskrefclient)+1).', '.strlen($maskrefclient_maskclientcode).")='".$maskrefclient_clientcode."')"; -- GitLab