Fix: correction, simplification et nettoyage du code
This commit is contained in:
parent
6350848ec5
commit
410f2bf087
@ -47,9 +47,7 @@ class mod_codeclient_tigre extends ModeleThirdPartyCode
|
|||||||
|
|
||||||
var $searchcode; // String de recherche
|
var $searchcode; // String de recherche
|
||||||
var $numbitcounter; // Nombre de chiffres du compteur
|
var $numbitcounter; // Nombre de chiffres du compteur
|
||||||
var $substrBegin;
|
var $prefixIsRequired; // Le champ préfix du tiers doit etre renseigné quand on utilise {pre}
|
||||||
var $substrEnd;
|
|
||||||
var $prefixIsRequired;
|
|
||||||
|
|
||||||
|
|
||||||
/** \brief Constructeur classe
|
/** \brief Constructeur classe
|
||||||
@ -131,7 +129,6 @@ class mod_codeclient_tigre extends ModeleThirdPartyCode
|
|||||||
global $db,$conf;
|
global $db,$conf;
|
||||||
|
|
||||||
$mask = $this->buildMask($objsoc,$type);
|
$mask = $this->buildMask($objsoc,$type);
|
||||||
$count = 0;
|
|
||||||
|
|
||||||
if ($type == 0)
|
if ($type == 0)
|
||||||
{
|
{
|
||||||
@ -144,28 +141,27 @@ class mod_codeclient_tigre extends ModeleThirdPartyCode
|
|||||||
|
|
||||||
// On récupère la valeur max (réponse immédiate car champ indéxé)
|
// On récupère la valeur max (réponse immédiate car champ indéxé)
|
||||||
$posindice = $this->numbitcounter;
|
$posindice = $this->numbitcounter;
|
||||||
if ($this->substrEnd > 0) $substrEnd = ',-'.$this->substrEnd;
|
|
||||||
$searchyy='';
|
$sql = "SELECT MAX(0+SUBSTRING(".$field.",-".$posindice."))";
|
||||||
$sql = "SELECT MAX(".$field.")";
|
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."societe";
|
$sql.= " FROM ".MAIN_DB_PREFIX."societe";
|
||||||
$sql.= " WHERE ".$field." REGEXP '^".$this->searchcode."$'";
|
$sql.= " WHERE ".$field." REGEXP '^".$this->searchcode."$'";
|
||||||
|
|
||||||
$resql=$db->query($sql);
|
$resql=$db->query($sql);
|
||||||
|
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
$row = $db->fetch_row($resql);
|
$row = $db->fetch_row($resql);
|
||||||
//print 'row='.$row[0].'<br>';
|
$max = $row[0];
|
||||||
//print 'begin='.$this->substrBegin.'<br>';
|
|
||||||
//print 'end='.$this->substrEnd.'<br>';
|
|
||||||
if ($row[0]) $count = substr($row[0],$this->substrBegin.$substrEnd);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// On applique le nombre de chiffres du compteur
|
// On applique le nombre de chiffres du compteur
|
||||||
$arg = '%0'.$this->numbitcounter.'s';
|
$arg = '%0'.$this->numbitcounter.'s';
|
||||||
$count = sprintf($arg,$count+1);
|
|
||||||
$mask = eregi_replace('\{0+\}',$count,$mask);
|
$num = sprintf($arg,$max+1);
|
||||||
|
$mask = eregi_replace('\{0+\}',$num,$mask);
|
||||||
|
|
||||||
dolibarr_syslog("mod_codeclient_tigre::getNextValue return ".$mask);
|
dolibarr_syslog("mod_codeclient_tigre::getNextValue return ".$mask);
|
||||||
//print 'count='.$count.'<br>';
|
|
||||||
return $mask;
|
return $mask;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -202,15 +198,7 @@ class mod_codeclient_tigre extends ModeleThirdPartyCode
|
|||||||
if ($maskElement[$i] == '{dd}')
|
if ($maskElement[$i] == '{dd}')
|
||||||
{
|
{
|
||||||
$maskRebuild .= strftime("%d",time());
|
$maskRebuild .= strftime("%d",time());
|
||||||
$this->searchcode .= strftime("%d",time());
|
$this->searchcode .= '([0-9]{2})';
|
||||||
if ($foundCounter==0)
|
|
||||||
{
|
|
||||||
$substrBegin += 2;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$substrEnd += 2;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (eregi('\{d+\}',$maskElement[$i]) && (eregi('\{d+\}',$$maskElement[$i]) != '{dd}'))
|
else if (eregi('\{d+\}',$maskElement[$i]) && (eregi('\{d+\}',$$maskElement[$i]) != '{dd}'))
|
||||||
{
|
{
|
||||||
@ -221,15 +209,7 @@ class mod_codeclient_tigre extends ModeleThirdPartyCode
|
|||||||
if ($maskElement[$i] == '{mm}')
|
if ($maskElement[$i] == '{mm}')
|
||||||
{
|
{
|
||||||
$maskRebuild .= strftime("%m",time());
|
$maskRebuild .= strftime("%m",time());
|
||||||
$this->searchcode .= strftime("%m",time());
|
$this->searchcode .= '([0-9]{2})';
|
||||||
if ($foundCounter==0)
|
|
||||||
{
|
|
||||||
$substrBegin += 2;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$substrEnd += 2;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (eregi('\{m+\}',$maskElement[$i]) && (eregi('\{m+\}',$maskElement[$i]) != '{mm}'))
|
else if (eregi('\{m+\}',$maskElement[$i]) && (eregi('\{m+\}',$maskElement[$i]) != '{mm}'))
|
||||||
{
|
{
|
||||||
@ -240,28 +220,12 @@ class mod_codeclient_tigre extends ModeleThirdPartyCode
|
|||||||
if ($maskElement[$i] == '{aa}')
|
if ($maskElement[$i] == '{aa}')
|
||||||
{
|
{
|
||||||
$maskRebuild .= substr(strftime("%Y",time()),2);
|
$maskRebuild .= substr(strftime("%Y",time()),2);
|
||||||
$this->searchcode .= substr(strftime("%Y",time()),2);
|
$this->searchcode .= '([0-9]{2})';
|
||||||
if ($foundCounter==0)
|
|
||||||
{
|
|
||||||
$substrBegin += 2;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$substrEnd += 2;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if ($maskElement[$i] == '{aaaa}')
|
else if ($maskElement[$i] == '{aaaa}')
|
||||||
{
|
{
|
||||||
$maskRebuild .= strftime("%Y",time());
|
$maskRebuild .= strftime("%Y",time());
|
||||||
$this->searchcode .= strftime("%Y",time());
|
$this->searchcode .= '([0-9]{4})';
|
||||||
if ($foundCounter==0)
|
|
||||||
{
|
|
||||||
$substrBegin += 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$substrEnd += 4;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (eregi('\{a+\}',$maskElement[$i]) && ((eregi('\{a+\}',$maskElement[$i]) != '{aa}') || (eregi('\{a+\}',$maskElement[$i]) != '{aaa}')))
|
else if (eregi('\{a+\}',$maskElement[$i]) && ((eregi('\{a+\}',$maskElement[$i]) != '{aa}') || (eregi('\{a+\}',$maskElement[$i]) != '{aaa}')))
|
||||||
{
|
{
|
||||||
@ -271,16 +235,15 @@ class mod_codeclient_tigre extends ModeleThirdPartyCode
|
|||||||
// Ajout du préfix de la société
|
// Ajout du préfix de la société
|
||||||
if (is_object($objsoc) && $objsoc->prefix_comm && $maskElement[$i] == '{pre}')
|
if (is_object($objsoc) && $objsoc->prefix_comm && $maskElement[$i] == '{pre}')
|
||||||
{
|
{
|
||||||
$maskRebuild .= strtoupper($objsoc->prefix_comm);
|
if ((!$objsoc->fournisseur && !$objsoc->code_fournisseur) || (!$objsoc->client && !$objsoc->code_client))
|
||||||
$this->searchcode .= strtoupper($objsoc->prefix_comm);
|
|
||||||
$prefixLength = strlen($objsoc->prefix_comm);
|
|
||||||
if ($foundCounter==0)
|
|
||||||
{
|
{
|
||||||
$substrBegin += $prefixLength;
|
$maskRebuild .= strtoupper($objsoc->prefix_comm);
|
||||||
|
$this->searchcode .= '([0-9A-Z]{1,})';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$substrEnd += $prefixLength;
|
$maskRebuild .= 'ABC';
|
||||||
|
$this->searchcode .= '([0-9A-Z]{1,})';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (is_object($objsoc) && !$objsoc->prefix_comm && $maskElement[$i] == '{pre}')
|
else if (is_object($objsoc) && !$objsoc->prefix_comm && $maskElement[$i] == '{pre}')
|
||||||
@ -292,43 +255,26 @@ class mod_codeclient_tigre extends ModeleThirdPartyCode
|
|||||||
{
|
{
|
||||||
if (is_string($objsoc) && $objsoc)
|
if (is_string($objsoc) && $objsoc)
|
||||||
{
|
{
|
||||||
$prefixLength = strlen($objsoc);
|
|
||||||
$maskRebuild .= $objsoc;
|
$maskRebuild .= $objsoc;
|
||||||
|
$this->searchcode .= '([0-9A-Z]{1,})';
|
||||||
}
|
}
|
||||||
else if (is_bool($objsoc) && $objsoc == 0)
|
else if ($objsoc === 0)
|
||||||
{
|
{
|
||||||
$prefixLength = 3;
|
|
||||||
$maskRebuild .= 'ABC';
|
$maskRebuild .= 'ABC';
|
||||||
|
$this->searchcode .= '([0-9A-Z]{1,})';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$error++;
|
$error++;
|
||||||
$this->prefixIsRequired = 1;
|
$this->prefixIsRequired = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($foundCounter==0)
|
|
||||||
{
|
|
||||||
$substrBegin += $prefixLength;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$substrEnd += $prefixLength;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ajout des séparateurs éventuels : \ / -
|
// Ajout des séparateurs éventuels : \ / -
|
||||||
if (eregi('[\/-]{1}',$maskElement[$i]))
|
if (eregi('[\/-]{1}',$maskElement[$i]))
|
||||||
{
|
{
|
||||||
$maskRebuild .= $maskElement[$i];
|
$maskRebuild .= $maskElement[$i];
|
||||||
$this->searchcode .= $maskElement[$i];
|
$this->searchcode .= '([\/-]{1})';
|
||||||
if ($foundCounter==0)
|
|
||||||
{
|
|
||||||
$substrBegin++;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$substrEnd++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (eregi('[\/-]{2,}',$maskElement[$i]))
|
else if (eregi('[\/-]{2,}',$maskElement[$i]))
|
||||||
{
|
{
|
||||||
@ -339,16 +285,7 @@ class mod_codeclient_tigre extends ModeleThirdPartyCode
|
|||||||
if (eregi('^[0-9A-Z]+$',$maskElement[$i]))
|
if (eregi('^[0-9A-Z]+$',$maskElement[$i]))
|
||||||
{
|
{
|
||||||
$maskRebuild .= strtoupper($maskElement[$i]);
|
$maskRebuild .= strtoupper($maskElement[$i]);
|
||||||
$this->searchcode .= strtoupper($maskElement[$i]);
|
$this->searchcode .= '([0-9A-Z]+)';
|
||||||
$MaskElementLength = strlen($maskElement[$i]);
|
|
||||||
if ($foundCounter==0)
|
|
||||||
{
|
|
||||||
$substrBegin += $MaskElementLength;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$substrEnd += $MaskElementLength;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Définition du compteur
|
// Définition du compteur
|
||||||
@ -366,14 +303,8 @@ class mod_codeclient_tigre extends ModeleThirdPartyCode
|
|||||||
{
|
{
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
//print 'searchcodeTemp='.$this->searchcode.'<br>';
|
|
||||||
}
|
}
|
||||||
$this->substrBegin = $substrBegin;
|
|
||||||
$this->substrEnd = $substrEnd;
|
|
||||||
//print 'begin='.$this->substrBegin.'<br>';
|
|
||||||
//print 'end='.$this->substrEnd.'<br>';
|
|
||||||
//print 'searchcode='.$this->searchcode.'<br>';
|
|
||||||
//print $error;
|
|
||||||
return $maskRebuild;
|
return $maskRebuild;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user