Example #1
0
 /**
  * Defines forms elements
  *
  * @return  void
  *
  * @since  0.0.1
  */
 public function definition()
 {
     global $CFG;
     // Get the setting for elang
     $config = get_config('elang');
     // Get the video maxsize
     $videomaxsize = $config->videomaxsize;
     if (preg_match('/Gb$/', $videomaxsize)) {
         $videomaxsize = intval(floatval($videomaxsize) * 1000000000);
     } elseif (preg_match('/Mb$/', $videomaxsize)) {
         $videomaxsize = intval(floatval($videomaxsize) * 1000000);
     } elseif (preg_match('/Kb$/', $videomaxsize)) {
         $videomaxsize = intval(floatval($videomaxsize) * 1000);
     } else {
         $videomaxsize = intval($videomaxsize);
     }
     // Get the subtitle maxsize
     $subtitlemaxsize = $config->subtitlemaxsize;
     if (preg_match('/Gb$/', $subtitlemaxsize)) {
         $subtitlemaxsize = intval(floatval($subtitlemaxsize) * 1000000000);
     } elseif (preg_match('/Mb$/', $subtitlemaxsize)) {
         $subtitlemaxsize = intval(floatval($subtitlemaxsize) * 1000000);
     } elseif (preg_match('/Kb$/', $subtitlemaxsize)) {
         $subtitlemaxsize = intval(floatval($subtitlemaxsize) * 1000);
     } else {
         $subtitlemaxsize = intval($subtitlemaxsize);
     }
     // Get the poster maxsize
     $postermaxsize = $config->postermaxsize;
     if (preg_match('/Gb$/', $postermaxsize)) {
         $postermaxsize = intval(floatval($postermaxsize) * 1000000000);
     } elseif (preg_match('/Mb$/', $postermaxsize)) {
         $postermaxsize = intval(floatval($postermaxsize) * 1000000);
     } elseif (preg_match('/Kb$/', $postermaxsize)) {
         $postermaxsize = intval(floatval($postermaxsize) * 1000);
     } else {
         $postermaxsize = intval($postermaxsize);
     }
     // Get the form
     $mform = $this->_form;
     // Adding the "general" fieldset, where all the common settings are showed
     $mform->addElement('header', 'general', get_string('general', 'form'));
     // Adding the standard "name" field
     $mform->addElement('text', 'name', get_string('elangname', 'elang'), array('size' => '64'));
     if (!empty($CFG->formatstringstriptags)) {
         $mform->setType('name', PARAM_TEXT);
     } else {
         $mform->setType('name', PARAM_CLEAN);
     }
     $mform->addRule('name', null, 'required', null, 'client');
     $mform->addRule('name', get_string('maximumchars', '', 255), 'maxlength', 255, 'client');
     $mform->addHelpButton('name', 'elangname', 'elang');
     // Adding the standard "intro" and "introformat" fields
     if (version_compare(moodle_major_version(true), '2.9', '>=')) {
         $this->standard_intro_elements();
     } else {
         $this->add_intro_editor($config->requiremodintro);
     }
     // Adding the rest of elang settings, spreeading all them into this fieldset
     $mform->addElement('header', 'elangfieldset', get_string('upload', 'elang'));
     $languages = Elang\getLanguages();
     $options = array();
     foreach (explode(',', $config->language) as $key) {
         $options[$key] = $languages[$key];
     }
     $element = $mform->addElement('select', 'language', get_string('language', 'elang'), $options);
     if ($options['en-GB']) {
         $element->setSelected('en-GB');
     }
     $mform->addRule('language', null, 'required', null, 'client');
     $mform->addElement('filemanager', 'videos', get_string('videos', 'elang'), null, array('subdirs' => 0, 'maxbytes' => $videomaxsize, 'maxfiles' => 20, 'accepted_types' => array('video')));
     $mform->addHelpButton('videos', 'videos', 'elang');
     $mform->addRule('videos', null, 'required', null, 'client');
     /**		//TODO deal with specific mimetype (moodle does not seem to take this code into account when file is uploaded
     		require_once $CFG->libdir . '/filelib.php';
     		$info = & get_mimetypes_array();
     		$info['vtt'] = array('type' => 'text/vtt', 'icon'=>'text', 'defaulticon'=>true, 'groups' => array('subtitle'));
     		$info['srt'] = array('type' => 'text/plain', 'icon'=>'text', 'defaulticon'=>true, 'groups' => array('subtitle'));
     */
     $mform->addElement('filemanager', 'subtitle', get_string('subtitle', 'elang'), null, array('subdirs' => 0, 'maxbytes' => $subtitlemaxsize, 'maxfiles' => 1, 'accepted_types' => array('subtitle')));
     $mform->addHelpButton('subtitle', 'subtitle', 'elang');
     $mform->addRule('subtitle', null, 'required', null, 'client');
     $mform->addElement('filemanager', 'poster', get_string('poster', 'elang'), null, array('subdirs' => 0, 'maxbytes' => $postermaxsize, 'maxfiles' => 1, 'accepted_types' => array('image')));
     $mform->addHelpButton('poster', 'poster', 'elang');
     // Adding the "general" fieldset, where all the common settings are showed
     $mform->addElement('header', 'setting', get_string('settings', 'elang'));
     $mform->addElement('checkbox', 'showlanguage', get_string('showlanguage', 'elang'));
     $mform->addHelpButton('showlanguage', 'showlanguage', 'elang');
     $mform->addElement('text', 'repeatedunderscore', get_string('repeatedunderscore', 'elang'));
     $mform->addHelpButton('repeatedunderscore', 'repeatedunderscore', 'elang');
     $mform->addRule('repeatedunderscore', get_string('repeatedunderscore_error', 'elang'), 'numeric', null, 'client');
     $mform->setType('repeatedunderscore', PARAM_INT);
     $mform->addElement('text', 'titlelength', get_string('titlelength', 'elang'));
     $mform->addHelpButton('titlelength', 'titlelength', 'elang');
     $mform->addRule('titlelength', get_string('titlelength_error', 'elang'), 'numeric', null, 'client');
     $mform->setType('titlelength', PARAM_INT);
     $element = $mform->addElement('select', 'limit', get_string('limit', 'elang'), array(5 => 5, 10 => 10, 15 => 15, 20 => 20, 25 => 25));
     $mform->addHelpButton('limit', 'limit', 'elang');
     $mform->addRule('limit', get_string('limit_error', 'elang'), 'numeric', null, 'client');
     $mform->setType('limit', PARAM_INT);
     $element->setSelected(10);
     $mform->addElement('text', 'left', get_string('left', 'elang'));
     $mform->addHelpButton('left', 'left', 'elang');
     $mform->addRule('left', get_string('left_error', 'elang'), 'numeric', null, 'client');
     $mform->setType('left', PARAM_INT);
     $mform->addElement('text', 'top', get_string('top', 'elang'));
     $mform->addHelpButton('top', 'top', 'elang');
     $mform->addRule('top', get_string('top_error', 'elang'), 'numeric', null, 'client');
     $mform->setType('top', PARAM_INT);
     $mform->addElement('text', 'size', get_string('size', 'elang'));
     $mform->addHelpButton('size', 'size', 'elang');
     $mform->addRule('size', get_string('size_error', 'elang'), 'numeric', null, 'client');
     $mform->setType('size', PARAM_INT);
     $mform->addElement('checkbox', 'usecasesensitive', get_string('usecasesensitive', 'elang'));
     $mform->addHelpButton('usecasesensitive', 'usecasesensitive', 'elang');
     $mform->addElement('checkbox', 'usetransliteration', get_string('usetransliteration', 'elang'));
     $mform->addHelpButton('usetransliteration', 'usetransliteration', 'elang');
     $mform->addElement('text', 'jaroDistance', get_string('jaroDistance', 'elang'));
     $mform->setType('jaroDistance', PARAM_FLOAT);
     $mform->addHelpButton('jaroDistance', 'jaroDistance', 'elang');
     // Add standard elements, common to all modules
     $this->standard_coursemodule_elements();
     // Add standard buttons, common to all modules
     $this->add_action_buttons();
     // Add a warning when a module is being updated
     if (!empty($this->current->instance)) {
         $mform->addElement('warning', null, null, get_string('update_warning', 'elang'));
     }
 }
Example #2
0
    $table->align = array('center', 'left');
} elseif ($course->format == 'topics') {
    $table->head = array(get_string('topic'), get_string('name'));
    $table->align = array('center', 'left', 'left', 'left');
} else {
    $table->head = array(get_string('name'));
    $table->align = array('left', 'left', 'left');
}
// For all elang instance, prepare table rows
foreach ($elangs as $elang) {
    // Decode elang options
    $options = json_decode($elang->options, true);
    // Prepare the activity module name
    if ($options['showlanguage']) {
        require_once dirname(__FILE__) . '/locallib.php';
        $languages = Elang\getLanguages();
        $name = sprintf(get_string('formatname', 'elang'), $elang->name, $languages[$elang->language]);
    } else {
        $name = $elang->name;
    }
    // Detect activity module visibility
    if (!$elang->visible) {
        $link = html_writer::link(new moodle_url('/mod/elang.php', array('id' => $elang->coursemodule)), format_string($name, true), array('class' => 'dimmed'));
    } else {
        $link = html_writer::link(new moodle_url('/mod/elang.php', array('id' => $elang->coursemodule)), format_string($name, true));
    }
    // Detect activity module format
    if ($course->format == 'weeks' || $course->format == 'topics') {
        $table->data[] = array($elang->section, $link);
    } else {
        $table->data[] = array($link);