mirror of
https://github.com/moodle/moodle.git
synced 2025-02-18 23:05:30 +01:00
This commit makes the new strings added by Helen used at the Import entries page. Note that the syntax of the strings had to be fixed as there must not be leading whitespace before the asterisk in Markdown format. Also as requested by Helen, the wording or export/import links is improved now. As a bonus for free, the patch fixes incorrect API usage of get_record() and friends.
64 lines
2.9 KiB
PHP
64 lines
2.9 KiB
PHP
<?php
|
|
|
|
if (!defined('MOODLE_INTERNAL')) {
|
|
die('Direct access to this script is forbidden!');
|
|
}
|
|
require_once($CFG->libdir . '/formslib.php');
|
|
require_once($CFG->libdir . '/csvlib.class.php');
|
|
|
|
class mod_data_export_form extends moodleform {
|
|
var $_datafields = array();
|
|
var $_cm;
|
|
|
|
// @param string $url: the url to post to
|
|
// @param array $datafields: objects in this database
|
|
function mod_data_export_form($url, $datafields, $cm) {
|
|
$this->_datafields = $datafields;
|
|
$this->_cm = $cm;
|
|
parent::moodleform($url);
|
|
}
|
|
|
|
function definition() {
|
|
global $CFG;
|
|
$mform =& $this->_form;
|
|
$mform->addElement('header', 'notice', get_string('chooseexportformat', 'data'));
|
|
$choices = csv_import_reader::get_delimiter_list();
|
|
$key = array_search(';', $choices);
|
|
if (! $key === FALSE) {
|
|
// array $choices contains the semicolon -> drop it (because its encrypted form also contains a semicolon):
|
|
unset($choices[$key]);
|
|
}
|
|
$typesarray = array();
|
|
$typesarray[] = &MoodleQuickForm::createElement('radio', 'exporttype', null, get_string('csvwithselecteddelimiter', 'data') . ' ', 'csv');
|
|
$typesarray[] = &MoodleQuickForm::createElement('select', 'delimiter_name', null, $choices);
|
|
$typesarray[] = &MoodleQuickForm::createElement('radio', 'exporttype', null, get_string('excel', 'data'), 'xls');
|
|
$typesarray[] = &MoodleQuickForm::createElement('radio', 'exporttype', null, get_string('ods', 'data'), 'ods');
|
|
$mform->addGroup($typesarray, 'exportar', '', array(''), false);
|
|
$mform->addRule('exportar', null, 'required');
|
|
$mform->setDefault('exporttype', 'csv');
|
|
if (array_key_exists('cfg', $choices)) {
|
|
$mform->setDefault('delimiter_name', 'cfg');
|
|
} else if (get_string('listsep', 'langconfig') == ';') {
|
|
$mform->setDefault('delimiter_name', 'semicolon');
|
|
} else {
|
|
$mform->setDefault('delimiter_name', 'comma');
|
|
}
|
|
$mform->addElement('header', 'notice', get_string('chooseexportfields', 'data'));
|
|
foreach($this->_datafields as $field) {
|
|
if($field->text_export_supported()) {
|
|
$mform->addElement('advcheckbox', 'field_'.$field->field->id, '<div title="' . s($field->field->description) . '">' . $field->field->name . '</div>', ' (' . $field->name() . ')', array('group'=>1));
|
|
$mform->setDefault('field_'.$field->field->id, 1);
|
|
} else {
|
|
$a = new stdClass();
|
|
$a->fieldtype = $field->name();
|
|
$mform->addElement('static', 'unsupported'.$field->field->id, $field->field->name, get_string('unsupportedexport', 'data', $a));
|
|
}
|
|
}
|
|
$this->add_checkbox_controller(1, null, null, 1);
|
|
$this->add_action_buttons(true, get_string('exportentries', 'data'));
|
|
}
|
|
|
|
}
|
|
|
|
|