Commit | Line | Data |
---|---|---|
aeb15530 | 1 | <?php |
aa9bdbe3 TH |
2 | // This file is part of Moodle - http://moodle.org/ |
3 | // | |
4 | // Moodle is free software: you can redistribute it and/or modify | |
5 | // it under the terms of the GNU General Public License as published by | |
6 | // the Free Software Foundation, either version 3 of the License, or | |
7 | // (at your option) any later version. | |
8 | // | |
9 | // Moodle is distributed in the hope that it will be useful, | |
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | // GNU General Public License for more details. | |
13 | // | |
14 | // You should have received a copy of the GNU General Public License | |
15 | // along with Moodle. If not, see <http://www.gnu.org/licenses/>. | |
16 | ||
17 | /** | |
18 | * Defines the form for editing question categories. | |
19 | * | |
20 | * @package moodlecore | |
21 | * @subpackage questionbank | |
22 | * @copyright 2007 Jamie Pratt me@jamiep.org | |
23 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | |
24 | */ | |
25 | ||
26 | ||
a17b297d | 27 | defined('MOODLE_INTERNAL') || die(); |
bfebaf64 | 28 | |
515ed4c3 | 29 | require_once($CFG->libdir.'/formslib.php'); |
30 | ||
aa9bdbe3 TH |
31 | |
32 | /** | |
33 | * Form for editing qusetions categories (name, description, etc.) | |
34 | * | |
35 | * @copyright 2007 Jamie Pratt me@jamiep.org | |
36 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | |
37 | */ | |
515ed4c3 | 38 | class question_category_edit_form extends moodleform { |
39 | ||
c7df5006 | 40 | protected function definition() { |
f34488b2 | 41 | global $CFG, $DB; |
aa9bdbe3 | 42 | $mform = $this->_form; |
515ed4c3 | 43 | |
44 | $contexts = $this->_customdata['contexts']; | |
45 | $currentcat = $this->_customdata['currentcat']; | |
42663bb7 | 46 | |
5e8a85aa | 47 | $mform->addElement('header', 'categoryheader', get_string('addcategory', 'question')); |
515ed4c3 | 48 | |
5fcefc97 | 49 | $questioncategoryel = $mform->addElement('questioncategory', 'parent', get_string('parentcategory', 'question'), |
515ed4c3 | 50 | array('contexts'=>$contexts, 'top'=>true, 'currentcat'=>$currentcat, 'nochildrenof'=>$currentcat)); |
51 | $mform->setType('parent', PARAM_SEQUENCE); | |
df4e2244 | 52 | if (question_is_only_toplevel_category_in_context($currentcat)) { |
515ed4c3 | 53 | $mform->hardFreeze('parent'); |
54 | } | |
5fcefc97 | 55 | $mform->addHelpButton('parent', 'parentcategory', 'question'); |
515ed4c3 | 56 | |
42663bb7 | 57 | $mform->addElement('text', 'name', get_string('name'),'maxlength="254" size="50"'); |
515ed4c3 | 58 | $mform->setDefault('name', ''); |
5e8a85aa | 59 | $mform->addRule('name', get_string('categorynamecantbeblank', 'question'), 'required', null, 'client'); |
071e68f9 | 60 | $mform->setType('name', PARAM_TEXT); |
515ed4c3 | 61 | |
fa5c608c TH |
62 | $mform->addElement('editor', 'info', get_string('categoryinfo', 'question'), |
63 | array('rows' => 10), array('noclean' => 1)); | |
515ed4c3 | 64 | $mform->setDefault('info', ''); |
fa5c608c | 65 | $mform->setType('info', PARAM_RAW); |
42663bb7 | 66 | |
5e8a85aa | 67 | $this->add_action_buttons(false, get_string('addcategory', 'question')); |
42663bb7 | 68 | |
515ed4c3 | 69 | $mform->addElement('hidden', 'id', 0); |
70 | $mform->setType('id', PARAM_INT); | |
71 | } | |
aeb15530 | 72 | |
fa5c608c TH |
73 | public function set_data($current) { |
74 | if (is_object($current)) { | |
75 | $current = (array) $current; | |
76 | } | |
77 | if (!empty($current['info'])) { | |
78 | $current['info'] = array('text' => $current['info'], | |
79 | 'infoformat' => $current['infoformat']); | |
80 | } else { | |
81 | $current['info'] = array('text' => '', 'infoformat' => FORMAT_HTML); | |
82 | } | |
83 | parent::set_data($current); | |
84 | } | |
85 | } |