CSV import: fixed a few issues (restricted to N-N links) + added arguments to the export page, to allow for exporting N-N links

SVN:trunk[1130]
This commit is contained in:
Romain Quetiez
2011-03-15 12:19:04 +00:00
parent f3cc490295
commit 7989cf622f
9 changed files with 263 additions and 58 deletions

View File

@@ -827,7 +827,11 @@ EOF
{
$sSeparator = isset($aParams['separator']) ? $aParams['separator'] : ','; // default separator is comma
$sTextQualifier = isset($aParams['text_qualifier']) ? $aParams['text_qualifier'] : '"'; // default text qualifier is double quote
$aFields = isset($aParams['fields']) ? explode(',', $aParams['fields']) : null;
$aFields = null;
if (isset($aParams['fields']) && (strlen($aParams['fields']) > 0))
{
$aFields = explode(',', $aParams['fields']);
}
$aList = array();
@@ -847,11 +851,21 @@ EOF
{
foreach(MetaModel::ListAttributeDefs($sClassName) as $sAttCode => $oAttDef)
{
if (!is_null($aFields) && !in_array($sAttCode, $aFields)) continue;
if ($oAttDef->IsExternalField() || $oAttDef->IsWritable())
if (is_null($aFields) || (count($aFields) == 0))
{
$aList[$sClassName][$sAttCode] = $oAttDef;
// Standard list of attributes (no link sets)
if ($oAttDef->IsScalar() && ($oAttDef->IsWritable() || $oAttDef->IsExternalField()))
{
$aList[$sClassName][$sAttCode] = $oAttDef;
}
}
else
{
// User defined list of attributes
if (in_array($sAttCode, $aFields))
{
$aList[$sClassName][$sAttCode] = $oAttDef;
}
}
}
$aHeader[] = 'id';