Removed a TODO by moving detection of line of records of a file to

import into the import driver.
This commit is contained in:
Laurent Destailleur 2016-04-11 15:19:58 +02:00
parent 0e7fb80a34
commit 03f43d7c55
3 changed files with 38 additions and 2 deletions

View File

@ -49,6 +49,7 @@ class ImportCsv extends ModeleImports
var $separator;
var $file; // Path of file
var $handle; // Handle fichier
var $cacheconvert=array(); // Array to cache list of value found after a convertion
@ -236,6 +237,18 @@ class ImportCsv extends ModeleImports
return $ret;
}
/**
* Return nb of records. File must be closed.
*
* @return int <0 if KO, >=0 if OK
*/
function import_get_nb_of_lines($file)
{
return dol_count_nb_of_line($file);
}
/**
* Input header line from file
*

View File

@ -49,6 +49,7 @@ class Importxlsx extends ModeleImports
var $separator;
var $file; // Path of file
var $handle; // Handle fichier
var $cacheconvert=array(); // Array to cache list of value found after a convertion
@ -276,9 +277,31 @@ class Importxlsx extends ModeleImports
$reader = new PHPExcel_Reader_Excel2007();
$this->workbook = $reader->load($file);
$this->record = 1;
$this->file = $file;
return $ret;
}
/**
* Return nb of records. File must be closed.
*
* @return int <0 if KO, >=0 if OK
*/
function import_get_nb_of_lines($file)
{
$reader = new PHPExcel_Reader_Excel2007();
$this->workbook = $reader->load($file);
$rowcount = $this->workbook->getActiveSheet()->getHighestDataRow();
$this->workbook->disconnectWorksheets();
unset($this->workbook);
return $rowcount;
}
/**
* Input header line from file
*

View File

@ -1142,6 +1142,7 @@ if ($step == 5 && $datatoimport)
// Load source fields in input file
$fieldssource=array();
$result=$obj->import_open_file($conf->import->dir_temp.'/'.$filetoimport,$langs);
if ($result >= 0)
{
// Read first line
@ -1156,8 +1157,7 @@ if ($step == 5 && $datatoimport)
$obj->import_close_file();
}
// TODO, remove this, since it only works for csv
$nboflines=dol_count_nb_of_line($conf->import->dir_temp.'/'.$filetoimport);
$nboflines=$obj->import_get_nb_of_lines($conf->import->dir_temp.'/'.$filetoimport);
$param='&leftmenu=import&format='.$format.'&datatoimport='.$datatoimport.'&filetoimport='.urlencode($filetoimport).'&nboflines='.$nboflines.'&separator='.urlencode($separator).'&enclosure='.urlencode($enclosure);
$param2 = $param; // $param2 = $param without excludefirstline and endatlinenb