private $field_desc = array();
private $field_value = array();
- public function CSVImporter($table, $key = 'id', $do_sql = true)
+ public function __construct($table, $key = 'id', $do_sql = true)
{
$this->table = $table;
$this->key = $key;
private function processLine($line)
{
- $array = split($this->separator, $line);
+ $array = explode($this->separator, $line);
if (is_null($this->index)) {
$this->index = array_map('strtolower', $array);
return true;
$next = 'values';
}
if ($csv) {
- $this->setCSV($csv);
+ $sep = Env::v('csv_separator');
+ if (empty($sep)) {
+ $sep = ';';
+ }
+ echo $sep;
+ $this->setCSV($csv, null, $sep);
}
if ($current == 'values' && Env::has('csv_valid')) {
$next = 'valid';
<td>
{if $csv_page eq 'source'}
<textarea name="csv_source" rows="20" cols="80">{$csv|default:$smarty.request.csv_source}</textarea><br />
- Entrez les données sous la forme :<br />
- <pre class="center">TITRE1;TITRE2;...
-val1_1;val1_2;...
-val2_1;val2_2;...
-val3_1;val3_2;...</pre>
+ Entrez les données sous la forme suivante (avec
+ <input type="text" name="csv_separator" value="{$smarty.request.csv_separator|default:";"}" maxlength="1" size="1" />
+ comme séparateur) :<br/>
+ <pre class="center">TITRE1{$smarty.request.csv_separator|default:";"}TITRE2{$smarty.request.csv_separator|default:";"}...
+val1_1{$smarty.request.csv_separator|default:";"}val1_2{$smarty.request.csv_separator|default:";"}...
+val2_1{$smarty.request.csv_separator|default:";"}val2_2{$smarty.request.csv_separator|default:";"}...
+val3_1{$smarty.request.csv_separator|default:";"}val3_2{$smarty.request.csv_separator|default:";"}...</pre>
{elseif $csv_page eq 'values'}
<div class="center">
Action à effectuer si l'entrée existe :
<input type="hidden" name="csv_page" value="{$csv_page}" />
<input type="hidden" id="csv_next_page" name="csv_next_page" value="{$csv_page}" />
<input type="hidden" name="csv" value="{$csv}" />
+ {if $csv_page neq 'source'}
+ <input type="hidden" name="csv_separator" value="{$smarty.request.csv_separator}" />
+ {/if}
{if $csv_page neq 'values'}
<input type="hidden" name="csv_action" value="{$smarty.request.csv_action}" />
{foreach from=$csv_fields item=f}