source: moodle/trunk/fuentes/admin/tool/uploadcourse/classes/step2_form.php @ 136

Last change on this file since 136 was 136, checked in by mabarracus, 4 years ago

Ported code to xenial

File size: 9.1 KB
Line 
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 * Bulk course upload step 2.
19 *
20 * @package    tool_uploadcourse
21 * @copyright  2011 Piers Harding
22 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23 */
24
25defined('MOODLE_INTERNAL') || die();
26
27/**
28 * Specify course upload details.
29 *
30 * @package    tool_uploadcourse
31 * @copyright  2011 Piers Harding
32 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
33 */
34class tool_uploadcourse_step2_form extends tool_uploadcourse_base_form {
35
36    /**
37     * The standard form definiton.
38     * @return void.
39     */
40    public function definition () {
41        global $CFG;
42
43        $mform   = $this->_form;
44        $data    = $this->_customdata['data'];
45        $courseconfig = get_config('moodlecourse');
46
47        // Import options.
48        $this->add_import_options();
49
50        // Course options.
51        $mform->addElement('header', 'courseoptionshdr', get_string('courseprocess', 'tool_uploadcourse'));
52        $mform->setExpanded('courseoptionshdr', true);
53
54        $mform->addElement('text', 'options[shortnametemplate]', get_string('shortnametemplate', 'tool_uploadcourse'),
55            'maxlength="100" size="20"');
56        $mform->setType('options[shortnametemplate]', PARAM_RAW);
57        $mform->addHelpButton('options[shortnametemplate]', 'shortnametemplate', 'tool_uploadcourse');
58        $mform->disabledIf('options[shortnametemplate]', 'options[mode]', 'eq', tool_uploadcourse_processor::MODE_CREATE_OR_UPDATE);
59        $mform->disabledIf('options[shortnametemplate]', 'options[mode]', 'eq', tool_uploadcourse_processor::MODE_UPDATE_ONLY);
60
61        // Restore file is not in the array options on purpose, because formslib can't handle it!
62        $contextid = $this->_customdata['contextid'];
63        $mform->addElement('hidden', 'contextid', $contextid);
64        $mform->setType('contextid', PARAM_INT);
65        $mform->addElement('filepicker', 'restorefile', get_string('templatefile', 'tool_uploadcourse'));
66        $mform->addHelpButton('restorefile', 'templatefile', 'tool_uploadcourse');
67
68        $mform->addElement('text', 'options[templatecourse]', get_string('coursetemplatename', 'tool_uploadcourse'));
69        $mform->setType('options[templatecourse]', PARAM_TEXT);
70        $mform->addHelpButton('options[templatecourse]', 'coursetemplatename', 'tool_uploadcourse');
71
72        $mform->addElement('selectyesno', 'options[reset]', get_string('reset', 'tool_uploadcourse'));
73        $mform->setDefault('options[reset]', 0);
74        $mform->disabledIf('options[reset]', 'options[mode]', 'eq', tool_uploadcourse_processor::MODE_CREATE_NEW);
75        $mform->disabledIf('options[reset]', 'options[mode]', 'eq', tool_uploadcourse_processor::MODE_CREATE_ALL);
76        $mform->disabledIf('options[reset]', 'options[allowresets]', 'eq', 0);
77        $mform->addHelpButton('options[reset]', 'reset', 'tool_uploadcourse');
78
79        // Default values.
80        $mform->addElement('header', 'defaultheader', get_string('defaultvalues', 'tool_uploadcourse'));
81        $mform->setExpanded('defaultheader', true);
82
83        $displaylist = coursecat::make_categories_list('moodle/course:create');
84        $mform->addElement('select', 'defaults[category]', get_string('coursecategory'), $displaylist);
85        $mform->addHelpButton('defaults[category]', 'coursecategory');
86
87        $choices = array();
88        $choices['0'] = get_string('hide');
89        $choices['1'] = get_string('show');
90        $mform->addElement('select', 'defaults[visible]', get_string('visible'), $choices);
91        $mform->addHelpButton('defaults[visible]', 'visible');
92        $mform->setDefault('defaults[visible]', $courseconfig->visible);
93
94        $mform->addElement('date_selector', 'defaults[startdate]', get_string('startdate'));
95        $mform->addHelpButton('defaults[startdate]', 'startdate');
96        $mform->setDefault('defaults[startdate]', time() + 3600 * 24);
97
98        $courseformats = get_sorted_course_formats(true);
99        $formcourseformats = array();
100        foreach ($courseformats as $courseformat) {
101            $formcourseformats[$courseformat] = get_string('pluginname', "format_$courseformat");
102        }
103        $mform->addElement('select', 'defaults[format]', get_string('format'), $formcourseformats);
104        $mform->addHelpButton('defaults[format]', 'format');
105        $mform->setDefault('defaults[format]', $courseconfig->format);
106
107        if (!empty($CFG->allowcoursethemes)) {
108            $themeobjects = get_list_of_themes();
109            $themes=array();
110            $themes[''] = get_string('forceno');
111            foreach ($themeobjects as $key => $theme) {
112                if (empty($theme->hidefromselector)) {
113                    $themes[$key] = get_string('pluginname', 'theme_'.$theme->name);
114                }
115            }
116            $mform->addElement('select', 'defaults[theme]', get_string('forcetheme'), $themes);
117        }
118
119        $languages = array();
120        $languages[''] = get_string('forceno');
121        $languages += get_string_manager()->get_list_of_translations();
122        $mform->addElement('select', 'defaults[lang]', get_string('forcelanguage'), $languages);
123        $mform->setDefault('defaults[lang]', $courseconfig->lang);
124
125        $options = range(0, 10);
126        $mform->addElement('select', 'defaults[newsitems]', get_string('newsitemsnumber'), $options);
127        $mform->addHelpButton('defaults[newsitems]', 'newsitemsnumber');
128        $mform->setDefault('defaults[newsitems]', $courseconfig->newsitems);
129
130        $mform->addElement('selectyesno', 'defaults[showgrades]', get_string('showgrades'));
131        $mform->addHelpButton('defaults[showgrades]', 'showgrades');
132        $mform->setDefault('defaults[showgrades]', $courseconfig->showgrades);
133
134        $mform->addElement('selectyesno', 'defaults[showreports]', get_string('showreports'));
135        $mform->addHelpButton('defaults[showreports]', 'showreports');
136        $mform->setDefault('defaults[showreports]', $courseconfig->showreports);
137
138        if (!empty($CFG->legacyfilesinnewcourses)) {
139            $mform->addElement('select', 'defaults[legacyfiles]', get_string('courselegacyfiles'), $choices);
140            $mform->addHelpButton('defaults[legacyfiles]', 'courselegacyfiles');
141            if (!isset($courseconfig->legacyfiles)) {
142                $courseconfig->legacyfiles = 0;
143            }
144            $mform->setDefault('defaults[legacyfiles]', $courseconfig->legacyfiles);
145        }
146
147        $choices = get_max_upload_sizes($CFG->maxbytes);
148        $mform->addElement('select', 'defaults[maxbytes]', get_string('maximumupload'), $choices);
149        $mform->addHelpButton('defaults[maxbytes]', 'maximumupload');
150        $mform->setDefault('defaults[maxbytes]', $courseconfig->maxbytes);
151
152        $choices = array();
153        $choices[NOGROUPS] = get_string('groupsnone', 'group');
154        $choices[SEPARATEGROUPS] = get_string('groupsseparate', 'group');
155        $choices[VISIBLEGROUPS] = get_string('groupsvisible', 'group');
156        $mform->addElement('select', 'defaults[groupmode]', get_string('groupmode', 'group'), $choices);
157        $mform->addHelpButton('defaults[groupmode]', 'groupmode', 'group');
158        $mform->setDefault('defaults[groupmode]', $courseconfig->groupmode);
159
160        $mform->addElement('selectyesno', 'defaults[groupmodeforce]', get_string('groupmodeforce', 'group'));
161        $mform->addHelpButton('defaults[groupmodeforce]', 'groupmodeforce', 'group');
162        $mform->setDefault('defaults[groupmodeforce]', $courseconfig->groupmodeforce);
163
164        // Hidden fields.
165        $mform->addElement('hidden', 'importid');
166        $mform->setType('importid', PARAM_INT);
167
168        $mform->addElement('hidden', 'previewrows');
169        $mform->setType('previewrows', PARAM_INT);
170
171        $this->add_action_buttons(true, get_string('uploadcourses', 'tool_uploadcourse'));
172
173        $this->set_data($data);
174    }
175
176    /**
177     * Add actopm buttons.
178     *
179     * @param bool $cancel whether to show cancel button, default true
180     * @param string $submitlabel label for submit button, defaults to get_string('savechanges')
181     * @return void
182     */
183    public function add_action_buttons($cancel = true, $submitlabel = null) {
184        $mform =& $this->_form;
185        $buttonarray = array();
186        $buttonarray[] = &$mform->createElement('submit', 'showpreview', get_string('preview', 'tool_uploadcourse'));
187        $buttonarray[] = &$mform->createElement('submit', 'submitbutton', $submitlabel);
188        $buttonarray[] = &$mform->createElement('cancel');
189        $mform->addGroup($buttonarray, 'buttonar', '', array(' '), false);
190        $mform->closeHeaderBefore('buttonar');
191    }
192
193}
Note: See TracBrowser for help on using the repository browser.