diff --git a/htdocs/imports/import.php b/htdocs/imports/import.php index c6fe3094b68..d4d78ae3535 100644 --- a/htdocs/imports/import.php +++ b/htdocs/imports/import.php @@ -76,6 +76,7 @@ $import_name = GETPOST('import_name'); $hexa = GETPOST('hexa'); $importmodelid = GETPOST('importmodelid'); $excludefirstline = (GETPOST('excludefirstline') ? GETPOST('excludefirstline') : 0); +$endatlinenb = (GETPOST('endatlinenb') ? GETPOST('endatlinenb') : ''); $separator = (GETPOST('separator') ? GETPOST('separator') : (! empty($conf->global->IMPORT_CSV_SEPARATOR_TO_USE)?$conf->global->IMPORT_CSV_SEPARATOR_TO_USE:',')); $enclosure = (GETPOST('enclosure') ? GETPOST('enclosure') : '"'); @@ -221,8 +222,9 @@ if ($step == 3 && $datatoimport) $langs->load("other"); $param='&datatoimport='.$datatoimport.'&format='.$format; - if ($excludefirstline) $param.='&excludefirstline=1'; - + if ($excludefirstline) $param.='&excludefirstline='.$excludefirstline; + if ($endatlinenb) $param.='&endatlinenb='.$endatlinenb; + $file = $conf->import->dir_temp . '/' . GETPOST('urlfile'); // Do not use urldecode here ($_GET and $_REQUEST are already decoded by PHP). $ret=dol_delete_file($file); if ($ret) setEventMessages($langs->trans("FileWasRemoved", GETPOST('urlfile')), null, 'mesgs'); @@ -328,7 +330,8 @@ if ($step == 1 || ! $datatoimport) $_SESSION["dol_array_match_file_to_database"]=''; $param=''; - if ($excludefirstline) $param.='&excludefirstline=1'; + if ($excludefirstline) $param.='&excludefirstline='.$excludefirstline; + if ($endatlinenb) $param.='&endatlinenb='.$endatlinenb; if ($separator) $param.='&separator='.urlencode($separator); if ($enclosure) $param.='&enclosure='.urlencode($enclosure); @@ -395,7 +398,8 @@ if ($step == 1 || ! $datatoimport) if ($step == 2 && $datatoimport) { $param='&datatoimport='.$datatoimport; - if ($excludefirstline) $param.='&excludefirstline=1'; + if ($excludefirstline) $param.='&excludefirstline='.$excludefirstline; + if ($endatlinenb) $param.='&endatlinenb='.$endatlinenb; if ($separator) $param.='&separator='.urlencode($separator); if ($enclosure) $param.='&enclosure='.urlencode($enclosure); @@ -469,7 +473,8 @@ if ($step == 2 && $datatoimport) if ($step == 3 && $datatoimport) { $param='&datatoimport='.$datatoimport.'&format='.$format; - if ($excludefirstline) $param.='&excludefirstline=1'; + if ($excludefirstline) $param.='&excludefirstline='.$excludefirstline; + if ($endatlinenb) $param.='&endatlinenb='.$endatlinenb; if ($separator) $param.='&separator='.urlencode($separator); if ($enclosure) $param.='&enclosure='.urlencode($enclosure); @@ -547,6 +552,7 @@ if ($step == 3 && $datatoimport) print ''; print ''; print ''; + print ''; print ''; print ''; print ''; @@ -684,7 +690,8 @@ if ($step == 4 && $datatoimport) // Now $array_match_file_to_database contains fieldnb(1,2,3...)=>fielddatabase(key in $array_match_file_to_database) $param='&format='.$format.'&datatoimport='.$datatoimport.'&filetoimport='.urlencode($filetoimport); - if ($excludefirstline) $param.='&excludefirstline=1'; + if ($excludefirstline) $param.='&excludefirstline='.$excludefirstline; + if ($endatlinenb) $param.='&endatlinenb='.$endatlinenb; if ($separator) $param.='&separator='.urlencode($separator); if ($enclosure) $param.='&enclosure='.urlencode($enclosure); @@ -732,6 +739,7 @@ if ($step == 4 && $datatoimport) print ''; print ''; print ''; + print ''; print ''; print ''; print $langs->trans("Separator").' : '; @@ -767,7 +775,8 @@ if ($step == 4 && $datatoimport) print ''; print ''; print ''; - print ''; + print ''; + print ''; print ''; print '
| ';
print $langs->trans("SelectImportFields",img_picto('','uparrow','')).' ';
@@ -1051,7 +1060,8 @@ if ($step == 4 && $datatoimport)
print '';
print '';
print '';
- print '';
+ print '';
+ print '';
print '';
print ' '; @@ -1280,7 +1329,7 @@ if ($step == 5 && $datatoimport) dol_fiche_end(); - if (GETPOST('action') != 'launchsimu') + if ($action != 'launchsimu') { // Show import id print $langs->trans("NowClickToTestTheImport",$langs->transnoentitiesnoconv("RunSimulateImportFile")).' '; @@ -1290,7 +1339,7 @@ if ($step == 5 && $datatoimport) print ' ';
if ($user->rights->import->run)
{
- print ''.$langs->trans("RunSimulateImportFile").'';
+ print '';
}
else
{
@@ -1336,9 +1385,10 @@ if ($step == 5 && $datatoimport)
$endoffile++;
continue;
}
- if ($excludefirstline && $sourcelinenb == 1) continue;
+ if ($excludefirstline && ($sourcelinenb < $excludefirstline)) continue;
+ if ($endatlinenb && ($sourcelinenb > $endatlinenb)) continue;
- //
+ // Run import
$result=$obj->import_insert($arrayrecord,$array_match_file_to_database,$objimport,count($fieldssource),$importid);
if (count($obj->errors)) $arrayoferrors[$sourcelinenb]=$obj->errors;
@@ -1412,7 +1462,7 @@ if ($step == 5 && $datatoimport)
print ' ';
+
}
+
+ print '';
}
@@ -1482,7 +1535,8 @@ if ($step == 6 && $datatoimport)
$nboflines=(! empty($_GET["nboflines"])?$_GET["nboflines"]:dol_count_nb_of_line($conf->import->dir_temp.'/'.$filetoimport));
$param='&format='.$format.'&datatoimport='.$datatoimport.'&filetoimport='.urlencode($filetoimport).'&nboflines='.$nboflines;
- if ($excludefirstline) $param.='&excludefirstline=1';
+ if ($excludefirstline) $param.='&excludefirstline='.$excludefirstline;
+ if ($endatlinenb) $param.='&endatlinenb='.$endatlinenb;
if ($separator) $param.='&separator='.urlencode($separator);
if ($enclosure) $param.='&enclosure='.urlencode($enclosure);
@@ -1540,16 +1594,20 @@ if ($step == 6 && $datatoimport)
print $nboflines;
print '';
print $langs->trans("NowClickToRunTheImport",$langs->transnoentitiesnoconv("RunImportFile")).' ';
print ''; - print $langs->trans("DataLoadedWithId",$importid).' '; + if (empty($nboferrors)) print $langs->trans("DataLoadedWithId",$importid).' '; print ' '; @@ -1427,7 +1477,7 @@ if ($step == 5 && $datatoimport) } else { - //print ''.$langs->trans("RunSimulateImportFile").''; + //print ''; print ''.$langs->trans("RunImportFile").''; } @@ -1439,7 +1489,10 @@ if ($step == 5 && $datatoimport) print ''.$langs->trans("RunImportFile").''; } print ' | |
| '; - print $langs->trans("Option"); + print $langs->trans("ImportFromLine"); print ' | '; - print ''; - print ' '.$langs->trans("DoNotImportFirstLine"); + print ''; print ' |
| '; + print $langs->trans("EndAtLineNb"); + print ' | '; + print ''; + print ' |