From b797b659f5d27e3c384ad7adc7bb52e5ef03c0e5 Mon Sep 17 00:00:00 2001 From: Dmitrii Metelkin Date: Mon, 23 Jul 2018 16:17:30 +1000 Subject: [PATCH] #180 Add possibility to set default values of activity instance --- lang/en/customcert.php | 6 ++++++ mod_form.php | 43 ++++++++++++++++++++++-------------------- settings.php | 33 ++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 20 deletions(-) diff --git a/lang/en/customcert.php b/lang/en/customcert.php index bbb5215..c38ec9c 100644 --- a/lang/en/customcert.php +++ b/lang/en/customcert.php @@ -134,6 +134,12 @@ $string['posx'] = 'Position X'; $string['posx_help'] = 'This is the position in mm from the top left corner you wish the element\'s reference point to locate in the x direction.'; $string['posy'] = 'Position Y'; $string['posy_help'] = 'This is the position in mm from the top left corner you wish the element\'s reference point to locate in the y direction.'; +$string['preventcopy'] = 'Prevent copy'; +$string['preventcopy_desc'] = 'Enable protection from print action.'; +$string['preventprint'] = 'Prevent print'; +$string['preventprint_desc'] = 'Enable protection from modify action.'; +$string['preventmodify'] = 'Prevent modify'; +$string['preventmodify_desc'] = 'Enable protection from copy action.'; $string['print'] = 'Print'; $string['privacy:metadata:customcert_issues'] = 'The list of issued certificates'; $string['privacy:metadata:customcert_issues:code'] = 'The code that belongs to the certificate'; diff --git a/mod_form.php b/mod_form.php index 93fbae1..ccccdc8 100644 --- a/mod_form.php +++ b/mod_form.php @@ -59,53 +59,53 @@ class mod_customcert_mod_form extends moodleform_mod { if (has_capability('mod/customcert:manageemailstudents', $this->get_context())) { $mform->addElement('selectyesno', 'emailstudents', get_string('emailstudents', 'customcert')); - $mform->setDefault('emailstudents', 0); + $mform->setDefault('emailstudents', get_config('customcert', 'emailstudents')); $mform->addHelpButton('emailstudents', 'emailstudents', 'customcert'); $firstoption = 'emailstudents'; } else { - $mform->addElement('hidden', 'emailstudents', 0); - $mform->setType('emailstudents', PARAM_INT); + $mform->addElement('hidden', 'emailstudents', get_config('customcert', 'emailstudents')); } + $mform->setType('emailstudents', PARAM_INT); if (has_capability('mod/customcert:manageemailteachers', $this->get_context())) { $mform->addElement('selectyesno', 'emailteachers', get_string('emailteachers', 'customcert')); - $mform->setDefault('emailteachers', 0); + $mform->setDefault('emailteachers', get_config('customcert', 'emailteachers')); $mform->addHelpButton('emailteachers', 'emailteachers', 'customcert'); $firstoption = empty($firstoption) ? 'emailteachers' : $firstoption; } else { - $mform->addElement('hidden', 'emailteachers', 0); - $mform->setType('emailstudents', PARAM_INT); + $mform->addElement('hidden', 'emailteachers', get_config('customcert', 'emailteachers')); } + $mform->setType('emailteachers', PARAM_INT); if (has_capability('mod/customcert:manageemailothers', $this->get_context())) { $mform->addElement('text', 'emailothers', get_string('emailothers', 'customcert'), array('size' => '40')); - $mform->setType('emailothers', PARAM_TEXT); $mform->addHelpButton('emailothers', 'emailothers', 'customcert'); + $mform->setDefault('emailothers', get_config('customcert', 'emailothers')); $firstoption = empty($firstoption) ? 'emailothers' : $firstoption; } else { - $mform->addElement('hidden', 'emailothers', ''); - $mform->setType('emailothers', PARAM_TEXT); + $mform->addElement('hidden', 'emailothers', get_config('customcert', 'emailothers')); } + $mform->setType('emailothers', PARAM_TEXT); if (has_capability('mod/customcert:manageverifyany', $this->get_context())) { $mform->addElement('selectyesno', 'verifyany', get_string('verifycertificateanyone', 'customcert')); - $mform->setType('verifyany', 0); $mform->addHelpButton('verifyany', 'verifycertificateanyone', 'customcert'); + $mform->setDefault('verifyany', get_config('customcert', 'verifyany')); $firstoption = empty($firstoption) ? 'verifyany' : $firstoption; } else { - $mform->addElement('hidden', 'verifyany', 0); - $mform->setType('emailothers', PARAM_INT); + $mform->addElement('hidden', 'verifyany', get_config('customcert', 'verifyany')); } + $mform->setType('verifyany', PARAM_INT); if (has_capability('mod/customcert:managerequiredtime', $this->get_context())) { $mform->addElement('text', 'requiredtime', get_string('coursetimereq', 'customcert'), array('size' => '3')); - $mform->setType('requiredtime', PARAM_INT); $mform->addHelpButton('requiredtime', 'coursetimereq', 'customcert'); + $mform->setDefault('requiredtime', get_config('customcert', 'coursetimereq')); $firstoption = empty($firstoption) ? 'requiredtime' : $firstoption; } else { $mform->addElement('hidden', 'requiredtime', 0); - $mform->setType('requiredtime', PARAM_INT); } + $mform->setType('requiredtime', PARAM_INT); if (has_capability('mod/customcert:manageprotection', $this->get_context())) { $mform->addElement('checkbox', 'protection_print', get_string('setprotection', 'customcert'), @@ -113,15 +113,18 @@ class mod_customcert_mod_form extends moodleform_mod { $mform->addElement('checkbox', 'protection_modify', '', get_string('modify', 'customcert')); $mform->addElement('checkbox', 'protection_copy', '', get_string('copy', 'customcert')); $mform->addHelpButton('protection_print', 'setprotection', 'customcert'); + $mform->setDefault('protection_print', get_config('customcert', 'protection_print')); + $mform->setDefault('protection_modify', get_config('customcert', 'protection_modify')); + $mform->setDefault('protection_copy', get_config('customcert', 'protection_copy')); $firstoption = empty($firstoption) ? 'protection_print' : $firstoption; } else { - $mform->addElement('hidden', 'protection_print', 0); - $mform->addElement('hidden', 'protection_modify', 0); - $mform->addElement('hidden', 'protection_copy', 0); - $mform->setType('protection_print', PARAM_INT); - $mform->setType('protection_modify', PARAM_INT); - $mform->setType('protection_copy', PARAM_INT); + $mform->addElement('hidden', 'protection_print', get_config('customcert', 'protection_print')); + $mform->addElement('hidden', 'protection_modify', get_config('customcert', 'protection_modify')); + $mform->addElement('hidden', 'protection_copy', get_config('customcert', 'protection_copy')); } + $mform->setType('protection_print', PARAM_BOOL); + $mform->setType('protection_modify', PARAM_BOOL); + $mform->setType('protection_copy', PARAM_BOOL); if (!empty($firstoption)) { $mform->insertElementBefore($optionsheader, $firstoption); diff --git a/settings.php b/settings.php index 484c813..6a648ed 100644 --- a/settings.php +++ b/settings.php @@ -50,6 +50,39 @@ $settings->add(new \mod_customcert\admin_setting_link('customcert/managetemplate $settings->add(new \mod_customcert\admin_setting_link('customcert/uploadimage', get_string('uploadimage', 'customcert'), get_string('uploadimagedesc', 'customcert'), get_string('uploadimage', 'customcert'), new moodle_url('/mod/customcert/upload_image.php'), '')); + +$settings->add(new admin_setting_heading('defaults', + get_string('modeditdefaults', 'admin'), get_string('condifmodeditdefaults', 'admin'))); + +$yesnooptions = [ + 0 => get_string('no'), + 1 => get_string('yes'), +]; + +$settings->add(new admin_setting_configselect('customcert/emailstudents', + get_string('emailstudents', 'customcert'), get_string('emailstudents_help', 'customcert'), 0, $yesnooptions)); +$settings->add(new admin_setting_configselect('customcert/emailteachers', + get_string('emailteachers', 'customcert'), get_string('emailteachers_help', 'customcert'), 0, $yesnooptions)); +$settings->add(new admin_setting_configtext('customcert/emailothers', + get_string('emailothers', 'customcert'), get_string('emailothers_help', 'customcert'), '', PARAM_TEXT)); +$settings->add(new admin_setting_configselect('customcert/verifyany', + get_string('verifycertificateanyone', 'customcert'), get_string('verifycertificateanyone_help', 'customcert'), + 0, $yesnooptions)); +$settings->add(new admin_setting_configtext('customcert/requiredtime', + get_string('coursetimereq', 'customcert'), get_string('coursetimereq_help', 'customcert'), 0, PARAM_INT)); +$settings->add(new admin_setting_configcheckbox('customcert/protection_print', + get_string('preventprint', 'customcert'), + get_string('preventprint_desc', 'customcert'), + 0)); +$settings->add(new admin_setting_configcheckbox('customcert/protection_modify', + get_string('preventmodify', 'customcert'), + get_string('preventmodify_desc', 'customcert'), + 0)); +$settings->add(new admin_setting_configcheckbox('customcert/protection_copy', + get_string('preventcopy', 'customcert'), + get_string('preventcopy_desc', 'customcert'), + 0)); + $ADMIN->add('customcert', $settings); // Element plugin settings.