Differences Between: [Versions 310 and 403] [Versions 311 and 403] [Versions 39 and 403] [Versions 400 and 403] [Versions 401 and 403]
1 <?php 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 * Course form. 19 * 20 * @package tool_generator 21 * @copyright 2013 The Open University 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 25 defined('MOODLE_INTERNAL') || die(); 26 27 require_once($CFG->libdir . '/formslib.php'); 28 29 /** 30 * Form with options for creating large course. 31 * 32 * @package tool_generator 33 * @copyright 2013 The Open University 34 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 35 */ 36 class tool_generator_make_course_form extends moodleform { 37 38 /** 39 * Course generation tool form definition. 40 * 41 * @return void 42 */ 43 public function definition() { 44 $mform = $this->_form; 45 46 $mform->addElement('select', 'size', get_string('size', 'tool_generator'), 47 tool_generator_course_backend::get_size_choices()); 48 $mform->setDefault('size', tool_generator_course_backend::DEFAULT_SIZE); 49 50 $mform->addElement('text', 'shortname', get_string('shortnamecourse')); 51 $mform->addRule('shortname', get_string('missingshortname'), 'required', null, 'client'); 52 $mform->setType('shortname', PARAM_TEXT); 53 54 $mform->addElement('text', 'fullname', get_string('fullnamecourse')); 55 $mform->setType('fullname', PARAM_TEXT); 56 57 $mform->addElement('editor', 'summary', get_string('coursesummary')); 58 $mform->setType('summary', PARAM_RAW); 59 60 $additionalmodules = []; 61 $pluginsfunction = get_plugins_with_function('course_backend_generator_create_activity'); 62 foreach ($pluginsfunction as $plugintype => $plugins) { 63 foreach ($plugins as $pluginname => $pluginfunction) { 64 $additionalmodules[$pluginname] = get_string("pluginname", "{$plugintype}_{$pluginname}"); 65 } 66 } 67 $mform->addElement('autocomplete', 'additionalmodules', 68 get_string('additionalmodules', 'tool_generator'), 69 $additionalmodules, 70 [ 71 'multiple' => true, 72 'noselectionstring' => get_string('noselection', 'form') 73 ] 74 ); 75 $mform->addHelpButton('additionalmodules', 'additionalmodules', 'tool_generator'); 76 $mform->setType('additionalmodules', PARAM_ALPHAEXT); 77 78 $mform->addElement('submit', 'submit', get_string('createcourse', 'tool_generator')); 79 } 80 81 /** 82 * Form validation. 83 * 84 * @param array $data 85 * @param array $files 86 * @return void 87 */ 88 public function validation($data, $files) { 89 global $DB; 90 $errors = array(); 91 92 // Check course doesn't already exist. 93 if (!empty($data['shortname'])) { 94 // Check shortname. 95 $error = tool_generator_course_backend::check_shortname_available($data['shortname']); 96 if ($error) { 97 $errors['shortname'] = $error; 98 } 99 } 100 101 return $errors; 102 } 103 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body