MDL-72744 core_grades: Escape formulas when exporting spreadsheets

This commit is contained in:
David Woloszyn
2025-12-04 08:58:18 +07:00
committed by Huong Nguyen
parent cde19f5864
commit 0963d22572
3 changed files with 6 additions and 0 deletions
+3
View File
@@ -449,6 +449,9 @@ class csv_export_writer {
}
}
$delimiter = csv_import_reader::get_delimiter($this->delimiter);
foreach ($row as $key => $value) {
$row[$key] = \core\dataformat::escape_spreadsheet_formula($value);
}
fputcsv($this->fp, $row, $delimiter, $this->csvenclosure, '\\');
}
+1
View File
@@ -207,6 +207,7 @@ class MoodleExcelWorksheet {
$col += 1;
$celladdress = CellAddress::fromColumnAndRow($col, $row + 1);
$str = \core\dataformat::escape_spreadsheet_formula($str);
$this->worksheet->getStyle($celladdress)->getNumberFormat()->setFormatCode(NumberFormat::FORMAT_TEXT);
$this->worksheet->getCell($celladdress)->setValueExplicit($str, DataType::TYPE_STRING);
+2
View File
@@ -164,6 +164,8 @@ class MoodleODSWorksheet {
if (is_array($format)) {
$format = new MoodleODSFormat($format);
}
$str = \core\dataformat::escape_spreadsheet_formula($str);
$this->data[$row][$col]->value = $str;
$this->data[$row][$col]->type = 'string';
$this->data[$row][$col]->format = $format;