[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/admin/tool/uploadcourse/classes/ -> step2_form.php (source)

   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  
  25  defined('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   */
  34  class 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  }


Generated: Thu Aug 11 10:00:09 2016 Cross-referenced by PHPXref 0.7.1