/**
  *  Get the block content
  *  
  *  @global object $CFG
  *  @global object $USER
  *  @return object|string
  */
 public function get_content()
 {
     global $CFG, $USER;
     if ($this->content !== null) {
         return $this->content;
     }
     if (!$this->page->user_is_editing()) {
         return $this->content = '';
     }
     $context = context_course::instance($this->page->course->id);
     if (!has_capability('moodle/backup:backupactivity', $context)) {
         return $this->content = '';
     }
     $controller = new sharing_cart\controller();
     $html = $controller->render_tree($USER->id);
     if (moodle_major_version() >= 2.7) {
         // Moodle 2.7 or later runs always with Ajax
     } elseif (empty($CFG->enableajax)) {
         $html = $this->get_content_noajax();
     } else {
         $noscript = html_writer::tag('noscript', html_writer::tag('div', get_string('requirejs', __CLASS__), array('class' => 'error')));
         $html = $noscript . $html;
     }
     $this->page->requires->css('/blocks/sharing_cart/styles.css');
     $this->page->requires->js('/blocks/sharing_cart/module.js');
     $this->page->requires->yui_module('block_sharing_cart', 'M.block_sharing_cart.init', array(), null, true);
     $this->page->requires->strings_for_js(array('yes', 'no', 'ok', 'cancel', 'error', 'edit', 'move', 'delete', 'movehere'), 'moodle');
     $this->page->requires->strings_for_js(array('copyhere', 'notarget', 'backup', 'restore', 'movedir', 'clipboard', 'confirm_backup', 'confirm_userdata', 'confirm_delete'), __CLASS__);
     $footer = '<div style="display:none;">' . '<div class="header-commands">' . $this->get_header() . '</div>' . '</div>';
     return $this->content = (object) array('text' => $html, 'footer' => $footer);
 }
Beispiel #2
0
 private function init()
 {
     global $CFG;
     $this->moodlerelease = moodle_major_version();
     if (!is_float($this->moodlerelease)) {
         $this->moodlerelease = floatval($this->moodlerelease);
     }
     $this->moodleversion = $CFG->version;
 }
 /**
  * Check whether drag and drop is supported
  *
  * @return boolean Whether or not to generate the drag and drop content
  */
 protected function can_use_drag_and_drop()
 {
     global $USER, $CFG;
     // Note: The screenreader setting no longer exists from Moodle 2.4.
     // Note: The enableajax setting no longer exists from Moodle 2.7.
     if (empty($CFG->enableajax) && moodle_major_version() < 2.7 || !empty($USER->screenreader)) {
         return false;
     }
     return true;
 }
 /**
  * Called to define this moodle form
  *
  * @return void
  */
 public function definition()
 {
     $mform =& $this->_form;
     $mform->addElement('header', 'general', get_string('general', 'form'));
     $mform->addElement('text', 'name', get_string('name'), array('size' => '64'));
     $mform->setType('name', PARAM_TEXT);
     $mform->addRule('name', null, 'required', null, 'client');
     $mform->setDefault('name', get_string('modulename', 'attendance'));
     if (version_compare(moodle_major_version(true), '2.9', '>=')) {
         $this->standard_intro_elements();
     } else {
         $this->add_intro_editor();
     }
     $mform->addElement('modgrade', 'grade', get_string('grade'));
     $mform->setDefault('grade', 100);
     $this->standard_coursemodule_elements(true);
     $this->add_action_buttons();
 }
 public static function setUpBeforeClass()
 {
     global $CFG;
     $moodle_version = 'moodle-' . moodle_major_version();
     $moodle_version .= ' ' . testable_simplecertificate::PLUGIN_VERSION;
     $moodle_version .= ' build: ' . get_config('mod_simplecertificate', 'version') . "\n";
     self::$fhandle = fopen("{$CFG->dirroot}/mod/simplecertificate/TestCaseResults.txt", "w");
     fwrite(self::$fhandle, $moodle_version);
     fwrite(self::$fhandle, 'Runned at: ' . date('Y-m-d H:i') . "\n\n");
     fwrite(self::$fhandle, "\n------\nPHPUnit tests:\n\n");
     self::$count = 0;
     parent::setUpBeforeClass();
 }
 /**
  * Sets the properties currentversion, currentrelease, currentbranch and currentplugins
  *
  * @param bool $forcereload
  */
 protected function load_current_environment($forcereload = false)
 {
     global $CFG;
     if (!is_null($this->currentversion) and !$forcereload) {
         // nothing to do
         return;
     }
     $version = null;
     $release = null;
     require $CFG->dirroot . '/version.php';
     $this->currentversion = $version;
     $this->currentrelease = $release;
     $this->currentbranch = moodle_major_version(true);
     $pluginman = plugin_manager::instance();
     foreach ($pluginman->get_plugins() as $type => $plugins) {
         foreach ($plugins as $plugin) {
             if (!$plugin->is_standard()) {
                 $this->currentplugins[$plugin->component] = $plugin->versiondisk;
             }
         }
     }
 }
 /**
  * Prepare the installer
  *
  * @param string|array $langcode a code of the language to install
  */
 public function __construct($langcode = '')
 {
     global $CFG;
     $this->set_queue($langcode);
     $this->version = moodle_major_version(true);
     if (!empty($CFG->langotherroot) and $CFG->langotherroot !== $CFG->dataroot . '/lang') {
         debugging('The in-built language pack installer does not support alternative location ' . 'of languages root directory. You are supposed to install and update your language ' . 'packs on your own.');
     }
 }
Beispiel #8
0
 /**
  * @return string major version like 2.5, 2.6 etc.
  */
 protected function get_site_major_version()
 {
     return moodle_major_version();
 }
Beispiel #9
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'));
     }
 }
Beispiel #10
0
 * @subpackage  elang
 * @copyright   2013-2016 University of La Rochelle, France
 * @license     http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html CeCILL-B license
 *
 * @since       0.0.1
 */
require_once dirname(dirname(dirname(__FILE__))) . '/config.php';
require_once dirname(__FILE__) . '/lib.php';
// Get the course number
$id = required_param('id', PARAM_INT);
// Get the course
$course = $DB->get_record('course', array('id' => $id), '*', MUST_EXIST);
// Verify the login
require_course_login($course);
// Get the moodle version
$version = moodle_major_version(true);
// Add a view all log
if (version_compare($version, '2.7') < 0) {
    add_to_log($course->id, 'elang', 'view all', 'index.php?id=' . $course->id, '');
} else {
    $event = \mod_elang\event\course_module_instance_list_viewed::create(array('context' => context_course::instance($course->id)));
    $event->trigger();
}
// Get the context from the course id
$coursecontext = context_course::instance($course->id);
// Prepare the page output
$PAGE->set_url('/mod/elang/index.php', array('id' => $id));
$PAGE->set_title(format_string($course->fullname));
$PAGE->set_heading(format_string($course->fullname));
$PAGE->set_context($coursecontext);
// Send the header
Beispiel #11
0
 *
 * @since       0.0.1
 */
defined('MOODLE_INTERNAL') || die;
if ($ADMIN->fulltree) {
    require_once dirname(__FILE__) . '/lib.php';
    require_once dirname(__FILE__) . '/locallib.php';
    require_once $CFG->libdir . '/resourcelib.php';
    $languages = Elang\getLanguages();
    $tmp = Elang\getEncodings();
    $encodings = array();
    foreach ($tmp as $encoding) {
        $encodings[$encoding] = $encoding;
    }
    // General settings
    if (version_compare(moodle_major_version(true), '2.8', '<')) {
        // This should be present only until Moodle 2.7.x
        $settings->add(new admin_setting_configcheckbox('elang/requiremodintro', get_string('requiremodintro', 'admin'), get_string('configrequiremodintro', 'admin'), 1));
    }
    $settings->add(new admin_setting_configtext('elang/videomaxsize', get_string('videomaxsize', 'elang'), get_string('videomaxsize_config', 'elang'), '10Mb', '/^(([1-9][0-9]*)|((([1-9][0-9]*(\\.[0-9]*[1-9])?)|(0\\.[0-9]*[1-9]))[MGK]b))$/'));
    $settings->add(new admin_setting_configtext('elang/postermaxsize', get_string('postermaxsize', 'elang'), get_string('postermaxsize_config', 'elang'), '1Mb', '/^(([1-9][0-9]*)|((([1-9][0-9]*(\\.[0-9]*[1-9])?)|(0\\.[0-9]*[1-9]))[MGK]b))$/'));
    $settings->add(new admin_setting_configtext('elang/subtitlemaxsize', get_string('subtitlemaxsize', 'elang'), get_string('subtitlemaxsize_config', 'elang'), '100Kb', '/^(([1-9][0-9]*)|((([1-9][0-9]*(\\.[0-9]*[1-9])?)|(0\\.[0-9]*[1-9]))[MGK]b))$/'));
    $settings->add(new admin_setting_configtext('elang/repeatedunderscore', get_string('repeatedunderscore', 'elang'), get_string('repeatedunderscore_config', 'elang'), 10, PARAM_INT));
    $settings->add(new admin_setting_configtext('elang/titlelength', get_string('titlelength', 'elang'), get_string('titlelength_config', 'elang'), 100, PARAM_INT));
    $settings->add(new admin_setting_configselect('elang/limit', get_string('limit', 'elang'), get_string('limit_config', 'elang'), 10, array(5 => 5, 10 => 10, 15 => 15, 20 => 20, 25 => 25)));
    $settings->add(new admin_setting_configtext('elang/timeout', get_string('timeout', 'elang'), get_string('timeout_config', 'elang'), 3000, PARAM_INT));
    $settings->add(new admin_setting_configmultiselect('elang/language', get_string('language', 'elang'), get_string('language_config', 'elang'), array_keys($languages), $languages));
    $settings->add(new admin_setting_configmultiselect('elang/encoding', get_string('encoding', 'elang'), get_string('encoding_config', 'elang'), $encodings, $encodings));
    $settings->add(new admin_setting_configcheckbox('elang/showlanguage', get_string('showlanguage', 'elang'), get_string('showlanguage_config', 'elang'), 1));
    $settings->add(new admin_setting_configtext('elang/left', get_string('left', 'elang'), get_string('left_config', 'elang'), 20, PARAM_INT));
    $settings->add(new admin_setting_configtext('elang/top', get_string('top', 'elang'), get_string('top_config', 'elang'), 20, PARAM_INT));