Skip to content

Commit

Permalink
Add default value at the global level/plugin's settings page.
Browse files Browse the repository at this point in the history
  • Loading branch information
sumaiyamannan committed Nov 1, 2023
1 parent 1bb92de commit f9b7913
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 10 deletions.
17 changes: 7 additions & 10 deletions rule.php
Original file line number Diff line number Diff line change
Expand Up @@ -86,22 +86,19 @@ public static function add_settings_form_fields(
0 => get_string('notrequired', 'quizaccess_honestycheck'),
1 => get_string('honestycheckrequiredoption', 'quizaccess_honestycheck'),
));
$default = get_config('quizaccess_honestycheck', 'honestycheckrequired');
$mform->setDefault('honestycheckrequired', $default);
$mform->addHelpButton('honestycheckrequired',
'honestycheckrequired', 'quizaccess_honestycheck');
}

public static function save_settings($quiz) {
global $DB;
if (empty($quiz->honestycheckrequired)) {
$DB->delete_records('quizaccess_honestycheck', array('quizid' => $quiz->id));
} else {
if (!$DB->record_exists('quizaccess_honestycheck', array('quizid' => $quiz->id))) {
$record = new stdClass();
$record->quizid = $quiz->id;
$record->honestycheckrequired = 1;
$DB->insert_record('quizaccess_honestycheck', $record);
}
}
$record = new stdClass();
$record->quizid = $quiz->id;
$record->honestycheckrequired = (empty($quiz->honestycheckrequired)) ? 0 : 1;
$DB->delete_records('quizaccess_honestycheck', ['quizid' => $record->quizid]);
$DB->insert_record('quizaccess_honestycheck', $record);
}

public static function delete_settings($quiz) {
Expand Down
37 changes: 37 additions & 0 deletions settings.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?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/>.

/**
* Implementaton of the quizaccess_honestycheck plugin.
*
* @package quizaccess_honestycheck
* @author Sumaiya Javed <[email protected]>
* @copyright 2011 The Open University
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/

defined('MOODLE_INTERNAL') || die;

$settings->add(new admin_setting_configselect(
'quizaccess_honestycheck/honestycheckrequired',
get_string('honestycheckrequired', 'quizaccess_honestycheck'),
get_string('honestycheckrequired', 'quizaccess_honestycheck'),
1,
array(
0 => get_string('notrequired', 'quizaccess_honestycheck'),
1 => get_string('honestycheckrequiredoption', 'quizaccess_honestycheck')
)
));

0 comments on commit f9b7913

Please sign in to comment.