Skip to content
Snippets Groups Projects
Select Git revision
  • 1b0e3e4b357c7ec53047b204e8eb371a0b99886d
  • master default protected
  • hsh_3.10
3 results

version.php

Blame
    • Alexander Bias's avatar
      ba2e254f
      Allow admin to define the internal term representation · ba2e254f
      Alexander Bias authored
      Before this patch, the internal representation of the terms (as they are stored in the Moodle database) was hardcoded to ST = 0 and WT = 1.
      This was a problem if you wanted to integrate Moodle with an external lecture management system which uses a different representation of ST = 1 and WT = 2 and wanted to fill the custom field directly with values from this external system.
      
      This patch adds an admin settings which lets the admin control how the terms are represented internally.
      Currently, it just has to options (ST = 0 / WT = 1 and ST = 1 / WT = 2), but the code is prepared to add additional options to the admin setting as well as add the possibility to control the internal representation of the term-independent value (which is 1 currently).
      
      This implementation does _not_ update existing field values when the setting is changed. The admin will have to consider a switch of the representation carefully.
      ba2e254f
      History
      Allow admin to define the internal term representation
      Alexander Bias authored
      Before this patch, the internal representation of the terms (as they are stored in the Moodle database) was hardcoded to ST = 0 and WT = 1.
      This was a problem if you wanted to integrate Moodle with an external lecture management system which uses a different representation of ST = 1 and WT = 2 and wanted to fill the custom field directly with values from this external system.
      
      This patch adds an admin settings which lets the admin control how the terms are represented internally.
      Currently, it just has to options (ST = 0 / WT = 1 and ST = 1 / WT = 2), but the code is prepared to add additional options to the admin setting as well as add the possibility to control the internal representation of the term-independent value (which is 1 currently).
      
      This implementation does _not_ update existing field values when the setting is changed. The admin will have to consider a switch of the representation carefully.
    settings.php 3.38 KiB
    <?php
    // This file is part of Moodle - http://moodle.org/
    //
    // Moodle is free software: you can redistribute it and/or modify
    // it under the terms of the GNU General Public License as published by
    // the Free Software Foundation, either version 3 of the License, or
    // (at your option) any later version.
    //
    // Moodle is distributed in the hope that it will be useful,
    // but WITHOUT ANY WARRANTY; without even the implied warranty of
    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    // GNU General Public License for more details.
    //
    // You should have received a copy of the GNU General Public License
    // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
    
    /**
     * Settings page which gives an overview over running lifecycle processes.
     *
     * @package tool_lifecycle
     * @copyright  2017 Tobias Reischmann WWU
     * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
     */
    defined('MOODLE_INTERNAL') || die;
    
    if ($hassiteconfig) {
        require_once(__DIR__ . '/adminlib.php');
    
        $category = new admin_category('lifecycle_category',
            get_string('pluginname', 'tool_lifecycle'));
        $ADMIN->add('tools', $category);
        $settings = new admin_settingpage('tool_lifecycle',
            get_string('general_config_header', 'tool_lifecycle'));
        $ADMIN->add('lifecycle_category', $settings);
    
        $settings->add(new admin_setting_configduration('tool_lifecycle/duration',
            get_string('config_delay_duration', 'tool_lifecycle'),
            get_string('config_delay_duration_desc', 'tool_lifecycle'),
            183 * 24 * 60 * 60)); // Dafault value is 180 days.
    
        $settings->add(new admin_setting_configdirectory('tool_lifecycle/backup_path',
            get_string('config_backup_path', 'tool_lifecycle'),
            get_string('config_backup_path_desc', 'tool_lifecycle'),
            $CFG->dataroot . DIRECTORY_SEPARATOR . 'lifecycle_backups'));
    
        $ADMIN->add('lifecycle_category', new tool_lifecycle\admin_page_active_processes());
        $ADMIN->add('lifecycle_category', new tool_lifecycle\admin_page_course_backups());
        $ADMIN->add('lifecycle_category', new tool_lifecycle\admin_page_sublugins());
        $ADMIN->add('lifecycle_category', new tool_lifecycle\admin_page_deactivated_workflows());
        $ADMIN->add('lifecycle_category', new admin_externalpage('tool_lifecycle_delayed_courses',
                get_string('delayed_courses_header', 'tool_lifecycle'),
                new moodle_url('/admin/tool/lifecycle/delayedcourses.php')));
        $ADMIN->add('lifecycle_category', new admin_externalpage('tool_lifecycle_process_errors',
            get_string('process_errors_header', 'tool_lifecycle'),
            new moodle_url('/admin/tool/lifecycle/errors.php')));
    
        if ($ADMIN->fulltree) {
            $triggers = core_component::get_plugin_list('lifecycletrigger');
            foreach ($triggers as $trigger => $path) {
                if (file_exists($settingsfile = $path . '/settings.php')) {
                    $settings->add(new admin_setting_heading('lifecycletriggersetting'.$trigger,
                        get_string('trigger', 'tool_lifecycle') .
                        ' - ' . get_string('pluginname', 'lifecycletrigger_' . $trigger), ''));
                    include($settingsfile);
                }
            }
        }
    
        $steps = core_component::get_plugin_list('lifecyclestep');
        foreach ($steps as $step => $path) {
            if (file_exists($settingsfile = $path . '/settings.php')) {
                include($settingsfile);
            }
        }
    }