This commit is contained in:
Víctor Déniz
2021-08-19 09:10:17 +02:00
committed by Ilya Tregubov
+10 -1
View File
@@ -24,7 +24,7 @@
namespace dataformat_json;
defined('MOODLE_INTERNAL') || die();
use core_text;
/**
* JSON data format writer
@@ -47,6 +47,9 @@ class writer extends \core\dataformat\base {
/** @var $sheetdatadded */
public $sheetdatadded = false;
/** @var string[] $columns */
protected $columns = [];
/**
* Write the start of the file.
*/
@@ -60,6 +63,10 @@ class writer extends \core\dataformat\base {
* @param array $columns
*/
public function start_sheet($columns) {
$this->columns = array_map(function($column) {
return core_text::strtolower(clean_param($column, PARAM_ALPHA));
}, $columns);
if ($this->sheetstarted) {
echo ",";
} else {
@@ -80,6 +87,8 @@ class writer extends \core\dataformat\base {
echo ",";
}
// Ensure our record is keyed by column names, rather than numerically.
$record = array_combine($this->columns, (array) $record);
echo json_encode($this->format_record($record), JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
$this->sheetdatadded = true;