Permalink
Browse files

Merge branch 'MDL-39412_23' of git://github.com/timhunt/moodle into M…

…OODLE_23_STABLE
  • Loading branch information...
2 parents bb059c3 + 95f982b commit d5bba86435a48140c0c7e13707ba758224d38f4e @marinaglancy marinaglancy committed Jun 11, 2013
View
@@ -3842,7 +3842,7 @@ public function __construct($name, $visiblename, $description, $default) {
public function load_choices() {
global $CFG;
require_once($CFG->dirroot . '/question/engine/lib.php');
- $this->choices = question_engine::get_archetypal_behaviours();
+ $this->choices = question_engine::get_behaviour_options('');
return true;
}
}
@@ -0,0 +1,49 @@
+<?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/>.
+
+/**
+ * Post-install script for manual graded question behaviour.
+ * @package qbehaviour_manualgraded
+ * @copyright 2013 The Open Universtiy
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+
+defined('MOODLE_INTERNAL') || die();
+
+
+/**
+ * Post-install script
+ */
+function xmldb_qbehaviour_manualgraded_install() {
+
+ // Hide the manualgraded behaviour from the list of behaviours that users
+ // can select in the user-interface. If a user accidentally chooses manual
+ // graded behaviour for a quiz, there is no way to get the questions automatically
+ // graded after the student has answered them. If teachers really want to do
+ // this they can ask their admin to enable it on the manage behaviours
+ // screen in the UI.
+ $disabledbehaviours = get_config('question', 'disabledbehaviours');
+ if (!empty($disabledbehaviours)) {
+ $disabledbehaviours = explode(',', $disabledbehaviours);
+ } else {
+ $disabledbehaviours = array();
+ }
+ if (array_search('manualgraded', $disabledbehaviours) === false) {
+ $disabledbehaviours[] = 'manualgraded';
+ set_config('disabledbehaviours', implode(',', $disabledbehaviours), 'question');
+ }
+}
@@ -0,0 +1,91 @@
+<?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/>.
+
+/**
+ * Post-install script for the manual graded question behaviour.
+ *
+ * @package qbehaviour_manualgraded
+ * @copyright 2013 The Open Universtiy
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+
+defined('MOODLE_INTERNAL') || die();
+
+
+/**
+ * Manual graded question behaviour upgrade code.
+ */
+function xmldb_qbehaviour_manualgraded_upgrade($oldversion) {
+ global $CFG, $DB;
+
+ $dbman = $DB->get_manager();
+
+ // Moodle v2.3.0 release upgrade line
+ // Put any upgrade step following this
+
+ if ($oldversion < 2012061701) {
+ // Hide the manualgraded behaviour from the list of behaviours that users
+ // can select in the user-interface. If a user accidentally chooses manual
+ // graded behaviour for a quiz, there is no way to get the questions automatically
+ // graded after the student has answered them. If teachers really want to do
+ // this they can ask their admin to enable it on the manage behaviours
+ // screen in the UI.
+ $disabledbehaviours = get_config('question', 'disabledbehaviours');
+ if (!empty($disabledbehaviours)) {
+ $disabledbehaviours = explode(',', $disabledbehaviours);
+ } else {
+ $disabledbehaviours = array();
+ }
+ if (array_search('manualgraded', $disabledbehaviours) === false) {
+ $disabledbehaviours[] = 'manualgraded';
+ set_config('disabledbehaviours', implode(',', $disabledbehaviours), 'question');
+ }
+
+ // Manual graded question behaviour savepoint reached.
+ upgrade_plugin_savepoint(true, 2012061701, 'qbehaviour', 'manualgraded');
+ }
+
+ if ($oldversion < 2012061702) {
+ // Also, fix any other admin settings that currently select manualgraded behaviour.
+
+ // Work out a sensible default alternative to manualgraded.
+ require_once($CFG->libdir . '/questionlib.php');
+ $behaviours = question_engine::get_behaviour_options('');
+ if (array_key_exists('deferredfeedback', $behaviours)) {
+ $defaultbehaviour = 'deferredfeedback';
+ } else {
+ reset($behaviours);
+ $defaultbehaviour = key($behaviours);
+ }
+
+ // Fix the question preview default.
+ if (get_config('question_preview', 'behaviour') == 'manualgraded') {
+ set_config('behaviour', $defaultbehaviour, 'question_preview');
+ }
+
+ // Fix the quiz settings default.
+ if (get_config('quiz', 'preferredbehaviour') == 'manualgraded') {
+ set_config('preferredbehaviour', $defaultbehaviour, 'quiz');
+ }
+
+ // Manual graded question behaviour savepoint reached.
+ upgrade_plugin_savepoint(true, 2012061702, 'qbehaviour', 'manualgraded');
+ }
+
+ return true;
+}
+
@@ -26,7 +26,7 @@
defined('MOODLE_INTERNAL') || die();
$plugin->component = 'qbehaviour_manualgraded';
-$plugin->version = 2012061700;
+$plugin->version = 2012061702;
$plugin->requires = 2012061700;

0 comments on commit d5bba86

Please sign in to comment.