23 |
|
|
24 |
require ("../../master.inc.php"); |
require ("../../master.inc.php"); |
25 |
|
|
26 |
$opt = getopt("f:i:"); |
$opt = getopt("f:"); |
27 |
|
|
28 |
$file = $opt['f']; |
$file = $opt['f']; |
29 |
$id_fourn = $opt['i']; |
$id_fourn = 2; |
30 |
|
|
31 |
if (strlen($file) == 0 || strlen($id_fourn) == 0) |
if (strlen($file) == 0) |
32 |
{ |
{ |
33 |
print "Usage :\n php import-cdr-bt.php -f <filename> -i <id_fournisseur>\n"; |
print "Usage :\n php import-cdr-bt.php -f <filename>\n"; |
34 |
exit; |
exit; |
35 |
} |
} |
36 |
|
|
52 |
|
|
53 |
while (($xfile = readdir($handle))!==false) |
while (($xfile = readdir($handle))!==false) |
54 |
{ |
{ |
55 |
if (is_file($file.$xfile) && substr($xfile, -4) == ".csv") |
if (is_file($file.$xfile) ) |
56 |
{ |
{ |
57 |
$files[$i] = $file.$xfile; |
if (substr($xfile, -4) == ".csv") |
58 |
dolibarr_syslog($file.$xfile." ajouté"); |
{ |
59 |
$i++; |
$files[$i] = $file.$xfile; |
60 |
} |
dolibarr_syslog($file.$xfile." ajouté"); |
61 |
else |
$i++; |
62 |
{ |
} |
63 |
dolibarr_syslog($file.$xfile." ignoré"); |
else |
64 |
|
{ |
65 |
|
dolibarr_syslog($file.$xfile." ignoré"); |
66 |
|
} |
67 |
} |
} |
68 |
} |
} |
69 |
|
|
85 |
exit ; |
exit ; |
86 |
} |
} |
87 |
|
|
88 |
|
/* |
89 |
|
* Renommage des fichiers |
90 |
|
* |
91 |
|
*/ |
92 |
|
$datetime = time(); |
93 |
|
$month = strftime("%m", $datetime); |
94 |
|
$year = strftime("%y", $datetime); |
95 |
|
|
96 |
|
if ($month == 1) |
97 |
|
{ |
98 |
|
$month = "12"; |
99 |
|
$year = substr("00".($year - 1), -2) ; |
100 |
|
} |
101 |
|
else |
102 |
|
{ |
103 |
|
$month = substr("00".($month - 1), -2) ; |
104 |
|
} |
105 |
|
$newfiles = array(); |
106 |
|
$j = 0; |
107 |
|
foreach ($files as $xfile) |
108 |
|
{ |
109 |
|
if (is_readable($xfile)) |
110 |
|
{ |
111 |
|
dolibarr_syslog("Traitement de ".basename($xfile)); |
112 |
|
$newname = str_replace(".csv","-$month$year.csv",$xfile); |
113 |
|
if (substr($xfile,-9) <> "-$month$year.csv") |
114 |
|
{ |
115 |
|
if (rename($xfile, $newname)) |
116 |
|
{ |
117 |
|
dolibarr_syslog("Renomme en ".$newname); |
118 |
|
$newfiles[$j] = $newname; |
119 |
|
$j++; |
120 |
|
} |
121 |
|
else |
122 |
|
{ |
123 |
|
print "Erreur de renommage de $xfile\n"; |
124 |
|
exit; |
125 |
|
} |
126 |
|
} |
127 |
|
else |
128 |
|
{ |
129 |
|
$newfiles[$j] = $xfile; |
130 |
|
$j++; |
131 |
|
} |
132 |
|
} |
133 |
|
} |
134 |
|
|
135 |
/* |
/* |
136 |
* Vérification du fournisseur |
* Vérification du fournisseur |
196 |
} |
} |
197 |
|
|
198 |
|
|
199 |
|
$line_inserted_total = 0; |
200 |
foreach ($files as $xfile) |
foreach ($newfiles as $xfile) |
201 |
{ |
{ |
202 |
if (is_readable($xfile)) |
if (is_readable($xfile)) |
203 |
{ |
{ |
204 |
if ( _verif($db, $xfile) == 0) |
// if ( _verif($db, $xfile) == 0) |
205 |
|
if (true) |
206 |
{ |
{ |
207 |
|
|
208 |
dolibarr_syslog("Lecture du fichier $xfile"); |
dolibarr_syslog("Lecture du fichier $xfile"); |
293 |
if ($db->query($sql)) |
if ($db->query($sql)) |
294 |
{ |
{ |
295 |
$line_inserted++; |
$line_inserted++; |
296 |
|
$line_inserted_total++; |
297 |
} |
} |
298 |
else |
else |
299 |
{ |
{ |
307 |
{ |
{ |
308 |
print "Ligne : $cont ignorée\n"; |
print "Ligne : $cont ignorée\n"; |
309 |
$error++; |
$error++; |
310 |
} |
} |
|
|
|
311 |
} |
} |
312 |
else |
else |
313 |
{ |
{ |
314 |
dolibarr_syslog("Ligne : $ligne ignorée!"); |
dolibarr_syslog("Ligne : $ligne ignorée!"); |
315 |
$error++; |
$error++; |
316 |
} |
} |
|
|
|
317 |
} |
} |
318 |
else |
else |
319 |
{ |
{ |
324 |
} |
} |
325 |
$line++; |
$line++; |
326 |
} |
} |
327 |
|
if ($line <> $line_inserted) |
328 |
dolibarr_syslog($line." lignes traitées dans le fichier"); |
{ |
329 |
dolibarr_syslog($line_inserted." insert effectués"); |
dolibarr_syslog($line."/".$line_inserted." lignes traitées/insert effectués"); |
330 |
|
} |
331 |
|
|
332 |
if ($error == 0) |
if ($error == 0) |
333 |
{ |
{ |
334 |
$db->query("COMMIT"); |
$db->query("COMMIT"); |
|
dolibarr_syslog("COMMIT"); |
|
335 |
} |
} |
336 |
else |
else |
337 |
{ |
{ |
338 |
$db->query("ROLLBACK"); |
$db->query("ROLLBACK"); |
339 |
dolibarr_syslog("ROLLBACK"); |
dolibarr_syslog("ROLLBACK"); |
340 |
} |
} |
341 |
|
} |
|
} |
|
|
|
|
342 |
fclose($hf); |
fclose($hf); |
343 |
} |
} |
344 |
} |
} |
349 |
} |
} |
350 |
} |
} |
351 |
|
|
352 |
|
dolibarr_syslog($line_inserted_total." insert effectués total"); |
353 |
|
|
354 |
|
/* |
355 |
|
* Fin |
356 |
|
* |
357 |
|
*/ |
358 |
|
|
359 |
function _verif($db, $file) |
function _verif($db, $file) |
360 |
{ |
{ |