export delimiter
This commit is contained in:
@@ -40,6 +40,7 @@ return array (
|
||||
'weekStart' => 0,
|
||||
'thousandSeparator' => ',',
|
||||
'decimalMark' => '.',
|
||||
'exportDelimiter' => ',',
|
||||
'currencyList' =>
|
||||
array (
|
||||
),
|
||||
|
||||
@@ -40,7 +40,8 @@ class Preferences extends \Espo\Core\ORM\Repository
|
||||
'thousandSeparator',
|
||||
'weekStart',
|
||||
'timeZone',
|
||||
'language'
|
||||
'language',
|
||||
'exportDelimiter'
|
||||
);
|
||||
|
||||
protected $data = array();
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"ScheduledJob": "Scheduled Jobs"
|
||||
},
|
||||
"labels": {
|
||||
"Misc": "Misc",
|
||||
"Merge": "Merge",
|
||||
"None": "None",
|
||||
"by": "by",
|
||||
|
||||
@@ -17,7 +17,9 @@
|
||||
"smtpUsername": "Username",
|
||||
"emailAddress": "Email",
|
||||
"smtpPassword": "Password",
|
||||
"smtpEmailAddress": "Email Address"
|
||||
"smtpEmailAddress": "Email Address",
|
||||
|
||||
"exportDelimiter": "Export Delimiter"
|
||||
},
|
||||
"links": {
|
||||
},
|
||||
|
||||
@@ -25,7 +25,9 @@
|
||||
"recordsPerPage": "Records Per Page",
|
||||
"recordsPerPageSmall": "Records Per Page (Small)",
|
||||
"tabList": "Tab List",
|
||||
"quickCreateList": "Quick Create List"
|
||||
"quickCreateList": "Quick Create List",
|
||||
|
||||
"exportDelimiter": "Export Delimiter"
|
||||
},
|
||||
"options": {
|
||||
"weekStart": {
|
||||
|
||||
@@ -22,5 +22,11 @@
|
||||
[{"name": "smtpUsername"}],
|
||||
[{"name": "smtpPassword"}]
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "Misc",
|
||||
"rows": [
|
||||
[{"name": "exportDelimiter"}]
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
"rows": [
|
||||
[{"name": "useCache"}]
|
||||
]
|
||||
},{
|
||||
},
|
||||
{
|
||||
"label": "Locale",
|
||||
"rows": [
|
||||
[{"name": "dateFormat"}, {"name": "timeZone"}],
|
||||
|
||||
@@ -74,6 +74,12 @@
|
||||
"language": {
|
||||
"type": "enum",
|
||||
"default": "en_US"
|
||||
},
|
||||
"exportDelimiter": {
|
||||
"type": "varchar",
|
||||
"default": ",",
|
||||
"required": true,
|
||||
"maxLength": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,6 +113,12 @@
|
||||
"type": "enum",
|
||||
"options": ["en_US"],
|
||||
"default": "en_US"
|
||||
},
|
||||
"exportDelimiter": {
|
||||
"type": "varchar",
|
||||
"default": ",",
|
||||
"required": true,
|
||||
"maxLength": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@ class Record extends \Espo\Core\Services\Base
|
||||
'serviceFactory',
|
||||
'fileManager',
|
||||
'selectManagerFactory',
|
||||
'preferences'
|
||||
);
|
||||
|
||||
protected $entityName;
|
||||
@@ -104,6 +105,11 @@ class Record extends \Espo\Core\Services\Base
|
||||
return $this->injections['config'];
|
||||
}
|
||||
|
||||
protected function getPreferences()
|
||||
{
|
||||
return $this->injections['preferences'];
|
||||
}
|
||||
|
||||
protected function getMetadata()
|
||||
{
|
||||
return $this->injections['metadata'];
|
||||
@@ -531,12 +537,17 @@ class Record extends \Espo\Core\Services\Base
|
||||
$row[$field] = $entity->get($field);
|
||||
}
|
||||
$arr[] = $row;
|
||||
}
|
||||
|
||||
$delimiter = $this->getPreferences()->get('exportDelimiter');
|
||||
if (empty($delimiter)) {
|
||||
$delimiter = ',';
|
||||
}
|
||||
|
||||
$fp = fopen('php://temp', 'w');
|
||||
fputcsv($fp, array_keys($arr[0]));
|
||||
fputcsv($fp, array_keys($arr[0]), $delimiter);
|
||||
foreach ($arr as $row) {
|
||||
fputcsv($fp, $row);
|
||||
fputcsv($fp, $row, $delimiter);
|
||||
}
|
||||
rewind($fp);
|
||||
$csv = stream_get_contents($fp);
|
||||
|
||||
Reference in New Issue
Block a user