/** * 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')); } }
$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);