mirror of
https://github.com/moodle/moodle.git
synced 2025-04-22 17:02:03 +02:00
MDL-10396:
Add an option and a check to (optionally) prevent users being enrolled in hidden courses. Merged from STABLE_18
This commit is contained in:
parent
90d3960c6d
commit
61fbd0fb52
@ -1,3 +1,7 @@
|
||||
<?php
|
||||
$yesno = array('0'=>get_string('no'), '1'=>get_string('yes'));
|
||||
?>
|
||||
|
||||
<table cellspacing="0" cellpadding="5" border="0" class="boxaligncenter">
|
||||
<tr>
|
||||
<th colspan="2" scope="col">
|
||||
@ -174,7 +178,7 @@
|
||||
<td align="right">enrol_db_autocreate:</td>
|
||||
<td>
|
||||
<?php
|
||||
choose_from_menu(array('0'=>'no','1'=>'yes'), "enrol_db_autocreate", $frm->enrol_db_autocreate, "");
|
||||
choose_from_menu($yesno, "enrol_db_autocreate", $frm->enrol_db_autocreate, "");
|
||||
if (isset($err["enrol_db_autocreate"])) formerr($err["enrol_db_autocreate"]);
|
||||
?>
|
||||
</td>
|
||||
@ -182,6 +186,7 @@
|
||||
<?php print_string("autocreate","enrol_database") ?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align="right">enrol_db_category:</td>
|
||||
<td>
|
||||
@ -208,4 +213,25 @@
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th colspan="2" scope="col">
|
||||
<?php print_string("general_options", "enrol_database") ?>
|
||||
</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align="right">enrol_db_ignorehiddencourse:</td>
|
||||
<td>
|
||||
<?php
|
||||
choose_from_menu($yesno, "enrol_db_ignorehiddencourse", $frm->enrol_db_ignorehiddencourse, "");
|
||||
if (isset($err['enrol_db_ignorehiddencourse'])) {
|
||||
formerr($err['enrol_db_ignorehiddencourse']);
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
<td>
|
||||
<?php print_string('ignorehiddencourse', 'enrol_database' ); ?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
@ -110,6 +110,12 @@ function setup_enrolments(&$user) {
|
||||
}
|
||||
}
|
||||
|
||||
// if the course is hidden and we don't want to enrol in hidden courses
|
||||
// then just skip it
|
||||
if (!$course->visible and $CFG->enrol_db_ignorehiddencourse) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/// If there's no role specified, we get the default course role (usually student)
|
||||
if ($use_default_role) {
|
||||
$role = get_default_course_role($course);
|
||||
@ -412,7 +418,8 @@ function config_form($frm) {
|
||||
'enrol_remotecoursefield', 'enrol_remoteuserfield',
|
||||
'enrol_db_autocreate', 'enrol_db_category', 'enrol_db_template',
|
||||
'enrol_db_localrolefield', 'enrol_db_remoterolefield',
|
||||
'enrol_remotecoursefield', 'enrol_remoteuserfield');
|
||||
'enrol_remotecoursefield', 'enrol_remoteuserfield',
|
||||
'enrol_db_ignorehiddencourse');
|
||||
|
||||
foreach ($vars as $var) {
|
||||
if (!isset($frm->$var)) {
|
||||
@ -505,6 +512,11 @@ function process_config($config) {
|
||||
}
|
||||
set_config('enrol_db_remoterolefield', $config->enrol_db_remoterolefield);
|
||||
|
||||
if (!isset($config->enrol_db_ignorehiddencourse)) {
|
||||
$config->enrol_db_ignorehiddencourse = '';
|
||||
}
|
||||
set_config('enrol_db_ignorehiddencourse', $config->enrol_db_ignorehiddencourse );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -21,6 +21,7 @@ $string['enrolname'] = 'External Database';
|
||||
$string['enrol_database_autocreation_settings'] = 'Auto-creation of new courses';
|
||||
$string['general_options'] = 'General Options';
|
||||
$string['host'] = 'Database server hostname.';
|
||||
$string['ignorehiddencourse'] = 'If set to yes users will not be enroled on courses that are set to be unavailable to students.';
|
||||
$string['localcoursefield'] = 'The name of the field in the course table that we are using to match entries in the remote database (eg idnumber).';
|
||||
$string['localrolefield'] = 'The name of the field in the roles table that we are using to match entries in the remote database (eg shortname).';
|
||||
$string['localuserfield'] = 'The name of the field in the user table that we are using to match entries in the remote database (eg idnumber).';
|
||||
|
Loading…
x
Reference in New Issue
Block a user