Fix import code (regex of data imported + import of constant)
Conflicts: htdocs/core/modules/import/import_csv.modules.php htdocs/core/modules/import/import_xlsx.modules.php
This commit is contained in:
parent
d41850c7cd
commit
20471c54e1
@ -633,18 +633,30 @@ class ImportCsv extends ModeleImports
|
|||||||
if (! preg_match('/^'.preg_quote($alias).'\./', $key)) continue; // Not a field of current table
|
if (! preg_match('/^'.preg_quote($alias).'\./', $key)) continue; // Not a field of current table
|
||||||
if ($val == 'user->id')
|
if ($val == 'user->id')
|
||||||
{
|
{
|
||||||
$listfields[] = preg_replace('/^'.preg_quote($alias).'\./','',$key);
|
$listfields[] = preg_replace('/^'.preg_quote($alias, '/').'\./', '', $key);
|
||||||
$listvalues[] = $user->id;
|
$listvalues[] = $user->id;
|
||||||
}
|
}
|
||||||
elseif (preg_match('/^lastrowid-/',$val))
|
elseif (preg_match('/^lastrowid-/',$val))
|
||||||
{
|
{
|
||||||
$tmp=explode('-',$val);
|
$tmp=explode('-',$val);
|
||||||
$lastinsertid=(isset($last_insert_id_array[$tmp[1]]))?$last_insert_id_array[$tmp[1]]:0;
|
$lastinsertid=(isset($last_insert_id_array[$tmp[1]]))?$last_insert_id_array[$tmp[1]]:0;
|
||||||
$keyfield = preg_replace('/^'.preg_quote($alias).'\./','',$key);
|
$keyfield = preg_replace('/^'.preg_quote($alias, '/').'\./', '', $key);
|
||||||
$listfields[] = $keyfield;
|
$listfields[] = $keyfield;
|
||||||
$listvalues[] = $lastinsertid;
|
$listvalues[] = $lastinsertid;
|
||||||
//print $key."-".$val."-".$listfields."-".$listvalues."<br>";exit;
|
//print $key."-".$val."-".$listfields."-".$listvalues."<br>";exit;
|
||||||
}
|
}
|
||||||
|
elseif (preg_match('/^const-/', $val))
|
||||||
|
{
|
||||||
|
$tmp=explode('-', $val, 2);
|
||||||
|
$listfields[] = preg_replace('/^'.preg_quote($alias, '/').'\./', '', $key);
|
||||||
|
$listvalues[] = "'".$tmp[1]."'";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->errors[$error]['lib']='Bad value of profile setup '.$val.' for array_import_fieldshidden';
|
||||||
|
$this->errors[$error]['type']='Import profile setup';
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//print 'listfields='.$listfields.'<br>listvalues='.$listvalues.'<br>';
|
//print 'listfields='.$listfields.'<br>listvalues='.$listvalues.'<br>';
|
||||||
|
|||||||
@ -653,21 +653,33 @@ class ImportXlsx extends ModeleImports
|
|||||||
// Loop on each hidden fields to add them into listfields/listvalues
|
// Loop on each hidden fields to add them into listfields/listvalues
|
||||||
foreach($objimport->array_import_fieldshidden[0] as $key => $val)
|
foreach($objimport->array_import_fieldshidden[0] as $key => $val)
|
||||||
{
|
{
|
||||||
if (! preg_match('/^'.preg_quote($alias).'\./', $key)) continue; // Not a field of current table
|
if (! preg_match('/^'.preg_quote($alias, '/').'\./', $key)) continue; // Not a field of current table
|
||||||
if ($val == 'user->id')
|
if ($val == 'user->id')
|
||||||
{
|
{
|
||||||
$listfields[] = preg_replace('/^'.preg_quote($alias).'\./','',$key);
|
$listfields[] = preg_replace('/^'.preg_quote($alias, '/').'\./', '', $key);
|
||||||
$listvalues[] = $user->id;
|
$listvalues[] = $user->id;
|
||||||
}
|
}
|
||||||
elseif (preg_match('/^lastrowid-/',$val))
|
elseif (preg_match('/^lastrowid-/',$val))
|
||||||
{
|
{
|
||||||
$tmp=explode('-',$val);
|
$tmp=explode('-',$val);
|
||||||
$lastinsertid=(isset($last_insert_id_array[$tmp[1]]))?$last_insert_id_array[$tmp[1]]:0;
|
$lastinsertid=(isset($last_insert_id_array[$tmp[1]]))?$last_insert_id_array[$tmp[1]]:0;
|
||||||
$keyfield = preg_replace('/^'.preg_quote($alias).'\./','',$key);
|
$keyfield = preg_replace('/^'.preg_quote($alias, '/').'\./', '', $key);
|
||||||
$listfields[] = $keyfield;
|
$listfields[] = $keyfield;
|
||||||
$listvalues[] = $lastinsertid;
|
$listvalues[] = $lastinsertid;
|
||||||
//print $key."-".$val."-".$listfields."-".$listvalues."<br>";exit;
|
//print $key."-".$val."-".$listfields."-".$listvalues."<br>";exit;
|
||||||
}
|
}
|
||||||
|
elseif (preg_match('/^const-/', $val))
|
||||||
|
{
|
||||||
|
$tmp=explode('-', $val, 2);
|
||||||
|
$listfields[] = preg_replace('/^'.preg_quote($alias, '/').'\./', '', $key);
|
||||||
|
$listvalues[] = "'".$tmp[1]."'";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->errors[$error]['lib']='Bad value of profile setup '.$val.' for array_import_fieldshidden';
|
||||||
|
$this->errors[$error]['type']='Import profile setup';
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//print 'listfields='.$listfields.'<br>listvalues='.$listvalues.'<br>';
|
//print 'listfields='.$listfields.'<br>listvalues='.$listvalues.'<br>';
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user