forked from moodle/moodle
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathimport_form.php
97 lines (81 loc) · 4.77 KB
/
import_form.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?php //$Id$
require_once($CFG->libdir.'/formslib.php');
class question_import_form extends moodleform {
function definition() {
global $COURSE;
$mform =& $this->_form;
$defaultcategory = $this->_customdata['defaultcategory'];
$contexts = $this->_customdata['contexts'];
//--------------------------------------------------------------------------------
$mform->addElement('header','fileformat', get_string('fileformat','quiz'));
$fileformatnames = get_import_export_formats('import');
$radioarray = array();
foreach ($fileformatnames as $shortname => $fileformatname) {
$radioelement = &MoodleQuickForm::createElement('radio','format','',$fileformatname,$shortname );
$radioelement->setHelpButton(array("$shortname",$fileformatname,"qformat_$shortname"));
$radioarray[] = $radioelement;
}
$mform->addGroup($radioarray,'format', '', array('<br />'), false);
$mform->addRule('format', null, 'required', null, 'client' );
//--------------------------------------------------------------------------------
$mform->addElement('header','general', get_string('general', 'form'));
$mform->addElement('questioncategory', 'category', get_string('category','quiz'), compact('contexts'));
$mform->setDefault('category', $defaultcategory);
$mform->setHelpButton('category', array('importcategory', get_string('importcategory','quiz'), 'quiz'));
$categorygroup = array();
$categorygroup[] =& $mform->createElement('checkbox', 'catfromfile', '', get_string('getcategoryfromfile', 'question'));
$categorygroup[] =& $mform->createElement('checkbox', 'contextfromfile', '', get_string('getcontextfromfile', 'question'));
$mform->addGroup($categorygroup, 'categorygroup', '', '', false);
$mform->disabledIf('categorygroup', 'catfromfile', 'notchecked');
$mform->setDefault('catfromfile', 1);
$mform->setDefault('contextfromfile', 1);
$matchgrades = array();
$matchgrades['error'] = get_string('matchgradeserror','quiz');
$matchgrades['nearest'] = get_string('matchgradesnearest','quiz');
$mform->addElement('select', 'matchgrades', get_string('matchgrades','quiz'), $matchgrades);
$mform->setHelpButton('matchgrades', array('matchgrades', get_string('matchgrades','quiz'), 'quiz'));
$mform->setDefault('matchgrades', 'error');
$mform->addElement('selectyesno', 'stoponerror', get_string('stoponerror', 'quiz'));
$mform->setDefault('stoponerror', 1);
$mform->setHelpButton('stoponerror', array('stoponerror', get_string('stoponerror', 'quiz'), 'quiz'));
//--------------------------------------------------------------------------------
$mform->addElement('header', 'importfileupload', get_string('importfileupload','quiz'));
$mform->addElement('file', 'newfile', get_string('upload'));
//--------------------------------------------------------------------------------
$mform->addElement('submit', 'submitbutton', get_string('uploadthisfile'));
//--------------------------------------------------------------------------------
if (has_capability('moodle/course:managefiles', get_context_instance(CONTEXT_COURSE, $COURSE->id))){
$mform->addElement('header', 'importfilearea', get_string('importfilearea','quiz'));
$mform->addElement('choosecoursefile', 'choosefile', get_string('choosefile','quiz'));
//--------------------------------------------------------------------------------
$mform->addElement('submit', 'submitbutton', get_string('importfromthisfile','quiz'));
}
//--------------------------------------------------------------------------------
$mform->addElement('static', 'dummy', '');
$mform->closeHeaderBefore('dummy');
// set a template for the format select elements
$renderer =& $mform->defaultRenderer();
$template = "{help} {element}\n";
$renderer->setGroupElementTemplate($template, 'format');
}
function get_importfile_name(){
if ($this->is_submitted() and $this->is_validated()) {
// return the temporary filename to process
// TODO change this to use the files API properly.
return $_FILES['newfile']['tmp_name'];
// return $this->_upload_manager->files['newfile']['tmp_name'];
}else{
return NULL;
}
}
function get_importfile_realname(){
if ($this->is_submitted() and $this->is_validated()) {
// return the temporary filename to process
// TODO change this to use the files API properly.
return $_FILES['newfile']['name'];
}else{
return NULL;
}
}
}
?>