Skip to content
Snippets Groups Projects
Commit b7562e74 authored by Elke Kreim's avatar Elke Kreim
Browse files

Replace special characters in filename

parent cab3a230
No related branches found
No related tags found
No related merge requests found
......@@ -37,8 +37,6 @@ class exporter {
private int $courseid;
/** @var string Identifier for the evaluation of a course. */
private string $code;
/** @var string identifier for the course. */
private string $codereplacement;
/** @var int[] Array of role ids. */
private array $roles;
/** @var string Name of the file to download. */
......@@ -54,10 +52,9 @@ class exporter {
* @param string $codereplacement
* @param array $roles
*/
public function __construct($courseid=0, $code=null, $codereplacement=null, $roles=[]) {
public function __construct($courseid=0, $code=null, $roles=[]) {
$this->courseid = $this->set_courseid($courseid);
$this->code = $code;
$this->codereplacement = $codereplacement;
$this->roles = $this->set_roles($roles);
$this->filename = $this->set_filename();
$this->content = $this->set_content();
......@@ -97,14 +94,6 @@ class exporter {
return \csv_export_writer::print_array($rows, $delimiter, '"', true);
}
private function get_base_filename() {
$base = $this->code;
if (!$base) {
$base = str_replace(',', '-', $this->codereplacement);
}
return $base;
}
/**
* Create filename.
*
......@@ -116,8 +105,8 @@ class exporter {
*/
private function set_filename() {
// Use course shortname if no course code is given.
$filename = $this->get_base_filename();
// Replace special characters with '-' to create a "clean" filename.
$filename = preg_replace("/[^A-Za-z0-9_-]/", '-', $this->code);
// Extend filename with prefix and timestamp.
$filename = $this->add_prefix($filename);
$filename = $this->add_timestamp($filename);
......
......@@ -62,10 +62,9 @@ if ($mform->is_cancelled()) {
redirect($returnurl);
} else if ($formdata) {
$courseid = $formdata->courseid;
$code = $formdata->coursecode;
$codereplacement = $course->shortname;
$code = $formdata->coursecode ? $formdata->coursecode : $course->shortname;
$roles = $formdata->roles;
$exporter = new exporter($courseid, $code, $codereplacement, $roles);
$exporter = new exporter($courseid, $code, $roles);
$exporter->send_file();
} else {
$mform->set_data($formdata);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment