Retournement des dates

This commit is contained in:
Rodolphe Quiedeville 2005-04-06 15:46:17 +00:00
parent 6fcce15f15
commit 97c27ffce7

View File

@ -151,122 +151,129 @@ else
foreach ($files as $xfile) foreach ($files as $xfile)
{ {
if (is_readable($xfile) && _verif($db, $xfile) == 0) if (is_readable($xfile))
{ {
if ( _verif($db, $xfile) == 0)
dolibarr_syslog("Lecture du fichier $xfile");
$error = 0;
$line = 0;
$line_inserted = 0;
$hf = fopen ($xfile, "r");
$line = 0;
if ($db->query("BEGIN"))
{ {
while (!feof($hf) )
dolibarr_syslog("Lecture du fichier $xfile");
$error = 0;
$line = 0;
$line_inserted = 0;
$hf = fopen ($xfile, "r");
$line = 0;
if ($db->query("BEGIN"))
{ {
$cont = fgets($hf, 1024); while (!feof($hf) )
if (strlen(trim($cont)) > 0)
{ {
// 297400910,2005-03-23 08:08:08,Appels Mob.-ORANGE,0680301933, 106, .3445 $cont = fgets($hf, 1024);
// 297400910,2005-03-23 09:24:36,Appels Mob.-ORANGE,0675621805, 5, .0162
// 297400910,2005-03-23 09:36:55,Appels Mob.-ORANGE,0680301933, 57, .1852
$tabline = explode(",", $cont); if (strlen(trim($cont)) > 0)
if (sizeof($tabline) == 6)
{ {
$index = 1; // 297400910,2005-03-23 08:08:08,Appels Mob.-ORANGE,0680301933, 106, .3445
$ligne = "0".$tabline[0]; // 297400910,2005-03-23 09:24:36,Appels Mob.-ORANGE,0675621805, 5, .0162
$date = substr($tabline[1],0,10); // 297400910,2005-03-23 09:36:55,Appels Mob.-ORANGE,0680301933, 57, .1852
$heure = substr($tabline[1],11,8);
$numero = $tabline[3]; $tabline = explode(",", $cont);
$tarif = "NONE"; if (sizeof($tabline) == 6)
$duree_text = $tabline[4];
$tarif_fourn = "NONE";
$montant = trim($tabline[5]);
$duree_secondes = trim($tabline[4]);
if ($ligneids[$ligne] > 0)
{ {
$sql = "INSERT INTO ".MAIN_DB_PREFIX."telephonie_import_cdr"; $index = 1;
$ligne = "0".$tabline[0];
$date = substr($tabline[1],0,10);
$sql .= "(idx,fk_ligne,ligne,date,heure,num,dest,dureetext,tarif,montant,duree"; //Retournment de la date
$sql .= ", fichier, fk_fournisseur)"; $date = substr($date, 8,2)."/".substr($date, 5,2)."/".substr($date, 0,4);
$sql .= " VALUES ("; $heure = substr($tabline[1],11,8);
$sql .= "$index";
$sql .= ",'".$ligneids[$ligne]."'";
$sql .= ",'".$ligne."'";
$sql .= ",'".ereg_replace('"','',$date)."'";
$sql .= ",'".ereg_replace('"','',$heure)."'";
$sql .= ",'".ereg_replace('"','',$numero)."'";
$sql .= ",'".addslashes(ereg_replace('"','',$tarif))."'";
$sql .= ",'".ereg_replace('"','',$duree_text)."'";
$sql .= ",'".ereg_replace('"','',$tarif_fourn)."'";
$sql .= ",".ereg_replace(',','.',$montant);
$sql .= ",".$duree_secondes;
$sql .= ",'".basename($xfile)."'";
$sql .= " ,".$id_fourn;
$sql .= ")";
if(ereg("^[0-9]+$", $duree_secondes)) $numero = $tabline[3];
$tarif = "NONE";
$duree_text = $tabline[4];
$tarif_fourn = "NONE";
$montant = trim($tabline[5]);
$duree_secondes = trim($tabline[4]);
if ($ligneids[$ligne] > 0)
{ {
if ($db->query($sql)) $sql = "INSERT INTO ".MAIN_DB_PREFIX."telephonie_import_cdr";
$sql .= "(idx,fk_ligne,ligne,date,heure,num,dest,dureetext,tarif,montant,duree";
$sql .= ", fichier, fk_fournisseur)";
$sql .= " VALUES (";
$sql .= "$index";
$sql .= ",'".$ligneids[$ligne]."'";
$sql .= ",'".$ligne."'";
$sql .= ",'".ereg_replace('"','',$date)."'";
$sql .= ",'".ereg_replace('"','',$heure)."'";
$sql .= ",'".ereg_replace('"','',$numero)."'";
$sql .= ",'".addslashes(ereg_replace('"','',$tarif))."'";
$sql .= ",'".ereg_replace('"','',$duree_text)."'";
$sql .= ",'".ereg_replace('"','',$tarif_fourn)."'";
$sql .= ",".ereg_replace(',','.',$montant);
$sql .= ",".$duree_secondes;
$sql .= ",'".basename($xfile)."'";
$sql .= " ,".$id_fourn;
$sql .= ")";
if(ereg("^[0-9]+$", $duree_secondes))
{ {
$line_inserted++; if ($db->query($sql))
{
$line_inserted++;
}
else
{
dolibarr_syslog("Erreur de traitement de ligne $index");
dolibarr_syslog($db->error());
dolibarr_syslog($sql);
$error++;
}
} }
else else
{ {
dolibarr_syslog("Erreur de traitement de ligne $index"); print "Ligne : $cont ignorée\n";
dolibarr_syslog($db->error());
dolibarr_syslog($sql);
$error++; $error++;
} }
} }
else else
{ {
print "Ligne : $cont ignorée\n"; dolibarr_syslog("Ligne : $ligne ignorée!");
$error++; $error++;
} }
} }
else else
{ {
dolibarr_syslog("Ligne : $ligne ignorée!"); dolibarr_syslog("Mauvais format de fichier ligne $line ".sizeof($tabline));
dolibarr_syslog($cont);
$error++; $error++;
} }
}
else
{
dolibarr_syslog("Mauvais format de fichier ligne $line ".sizeof($tabline));
dolibarr_syslog($cont);
$error++;
} }
$line++;
} }
$line++;
} dolibarr_syslog($line." lignes traitées dans le fichier");
dolibarr_syslog($line_inserted." insert effectués");
dolibarr_syslog($line." lignes traitées dans le fichier");
dolibarr_syslog($line_inserted." insert effectués"); if ($error == 0)
{
if ($error == 0) $db->query("COMMIT");
{ dolibarr_syslog("COMMIT");
$db->query("COMMIT"); }
dolibarr_syslog("COMMIT"); else
} {
else $db->query("ROLLBACK");
{ dolibarr_syslog("ROLLBACK");
$db->query("ROLLBACK"); }
dolibarr_syslog("ROLLBACK");
} }
fclose($hf);
} }
fclose($hf);
} }
else else
{ {
@ -347,6 +354,8 @@ function _verif($db, $file)
dolibarr_syslog($sql); dolibarr_syslog($sql);
$result = -1; $result = -1;
} }
return $result;
} }