Make enrolling only LDAP users an option
This commit is contained in:
@@ -74,6 +74,8 @@ $string['coursemapping_prefixes_key'] = "Kurs CN Präfix";
|
|||||||
$string['coursemapping_prefixes_desc'] = "Ein Präfix im CN Gruppen Attribut, welches eine Gruppe als Moodle Kurs markiert. Ein * wird als Platzhalter für den restlichen CN Wert eingesetzt";
|
$string['coursemapping_prefixes_desc'] = "Ein Präfix im CN Gruppen Attribut, welches eine Gruppe als Moodle Kurs markiert. Ein * wird als Platzhalter für den restlichen CN Wert eingesetzt";
|
||||||
$string['coursemapping_use_prefixes_key'] = "Kurs CN Präfix verwenden";
|
$string['coursemapping_use_prefixes_key'] = "Kurs CN Präfix verwenden";
|
||||||
$string['coursemapping_use_prefixes_desc'] = "Gibt an, ob das Kurs CN Präfix verwendet werden soll, um Gruppen Kursen zuzuweisen. Hinweis: Das Kurs Attribut hat Vorrang, wenn beide aktiv sind!";
|
$string['coursemapping_use_prefixes_desc'] = "Gibt an, ob das Kurs CN Präfix verwendet werden soll, um Gruppen Kursen zuzuweisen. Hinweis: Das Kurs Attribut hat Vorrang, wenn beide aktiv sind!";
|
||||||
|
$string['coursemapping_map_only_ldap_users_key'] = "Kurse nur LDAP Nutzer/innen zuweisen";
|
||||||
|
$string['coursemapping_map_only_ldap_users_desc'] = "Gibt an, ob Kurse nur Nutzer/innen zugweisen werden sollen, dessen Account via LDAP erstellt wurde";
|
||||||
|
|
||||||
// Course Settings
|
// Course Settings
|
||||||
$string['courses'] = "Kurseinstellungen";
|
$string['courses'] = "Kurseinstellungen";
|
||||||
|
|||||||
@@ -73,6 +73,8 @@ $string['coursemapping_prefixes_key'] = "Course CN Prefix";
|
|||||||
$string['coursemapping_prefixes_desc'] = "A prefix in the group CN attribute which marks IServ groups as Moodle courses. An asterisk (*) is used as placeholder for remaining text in the CN attribute";
|
$string['coursemapping_prefixes_desc'] = "A prefix in the group CN attribute which marks IServ groups as Moodle courses. An asterisk (*) is used as placeholder for remaining text in the CN attribute";
|
||||||
$string['coursemapping_use_prefixes_key'] = "Use course CN prefix";
|
$string['coursemapping_use_prefixes_key'] = "Use course CN prefix";
|
||||||
$string['coursemapping_use_prefixes_desc'] = "Specifies if the course CN prefix is used for mapping. Notice: The course attribute takes precedence when both are active!";
|
$string['coursemapping_use_prefixes_desc'] = "Specifies if the course CN prefix is used for mapping. Notice: The course attribute takes precedence when both are active!";
|
||||||
|
$string['coursemapping_map_only_ldap_users_key'] = "Enrol only LDAP users";
|
||||||
|
$string['coursemapping_map_only_ldap_users_desc'] = "Specifies if only those users shall be enrolled into courses, whose accounts have been created through the LDAP plugin";
|
||||||
|
|
||||||
// Course Settings
|
// Course Settings
|
||||||
$string['courses'] = "Course Settings";
|
$string['courses'] = "Course Settings";
|
||||||
|
|||||||
26
lib.php
26
lib.php
@@ -1329,13 +1329,18 @@ class enrol_iserv_plugin extends enrol_plugin
|
|||||||
if (!is_array($users))
|
if (!is_array($users))
|
||||||
$users = array($users);
|
$users = array($users);
|
||||||
|
|
||||||
|
$user_record_filter = [];
|
||||||
|
if ($this->config->coursemapping_map_only_ldap_users) {
|
||||||
|
$user_record_filter['auth'] = 'ldap';
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($users as $username) {
|
foreach ($users as $username) {
|
||||||
$user = $DB->get_record(
|
$user = $DB->get_record(
|
||||||
'user',
|
'user',
|
||||||
array(
|
[
|
||||||
'username' => $username,
|
...$user_record_filter,
|
||||||
'auth' => 'ldap'
|
'username' => $username
|
||||||
)
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!$user) {
|
if (!$user) {
|
||||||
@@ -1368,13 +1373,18 @@ class enrol_iserv_plugin extends enrol_plugin
|
|||||||
if (!is_array($users))
|
if (!is_array($users))
|
||||||
$users = array($users);
|
$users = array($users);
|
||||||
|
|
||||||
|
$user_record_filter = [];
|
||||||
|
if ($this->config->coursemapping_map_only_ldap_users) {
|
||||||
|
$user_record_filter['auth'] = 'ldap';
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($users as $username) {
|
foreach ($users as $username) {
|
||||||
$user = $DB->get_record(
|
$user = $DB->get_record(
|
||||||
'user',
|
'user',
|
||||||
array(
|
[
|
||||||
'username' => $username,
|
...$user_record_filter,
|
||||||
'auth' => 'ldap'
|
'username' => $username
|
||||||
)
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!$user) {
|
if (!$user) {
|
||||||
|
|||||||
43
settings.php
43
settings.php
@@ -31,19 +31,19 @@
|
|||||||
|
|
||||||
defined('MOODLE_INTERNAL') || die();
|
defined('MOODLE_INTERNAL') || die();
|
||||||
|
|
||||||
if ($ADMIN -> fulltree) {
|
if ($ADMIN->fulltree) {
|
||||||
global $DB;
|
global $DB;
|
||||||
|
|
||||||
// Initializing
|
// Initializing
|
||||||
require_once ("{$CFG -> dirroot}/enrol/ldap/settingslib.php");
|
require_once("{$CFG->dirroot}/enrol/ldap/settingslib.php");
|
||||||
require_once ("{$CFG -> dirroot}/enrol/oss/settings_callbacks.php");
|
require_once("{$CFG->dirroot}/enrol/oss/settings_callbacks.php");
|
||||||
$yesno = array(get_string('no'), get_string('yes'));
|
$yesno = array(get_string('no'), get_string('yes'));
|
||||||
|
|
||||||
// Heading
|
// Heading
|
||||||
$settings -> add(
|
$settings->add(
|
||||||
new admin_setting_heading(
|
new admin_setting_heading(
|
||||||
'enrol_iserv_settings',
|
'enrol_iserv_settings',
|
||||||
get_string('pluginname','enrol_iserv'),
|
get_string('pluginname', 'enrol_iserv'),
|
||||||
get_string('plugin_description', 'enrol_iserv')
|
get_string('plugin_description', 'enrol_iserv')
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@@ -246,6 +246,15 @@ if ($ADMIN -> fulltree) {
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$settings->add(
|
||||||
|
new admin_setting_configcheckbox(
|
||||||
|
'enrol_iserv/coursemapping_map_only_ldap_users',
|
||||||
|
get_string('coursemapping_map_only_ldap_users_key', 'enrol_iserv'),
|
||||||
|
get_string('coursemapping_map_only_ldap_users_desc', 'enrol_iserv'),
|
||||||
|
1
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
// --- COURSES Settings --- //
|
// --- COURSES Settings --- //
|
||||||
$settings->add(
|
$settings->add(
|
||||||
@@ -262,7 +271,7 @@ if ($ADMIN -> fulltree) {
|
|||||||
get_string('courses_category_desc', 'enrol_iserv'),
|
get_string('courses_category_desc', 'enrol_iserv'),
|
||||||
"Kurse"
|
"Kurse"
|
||||||
);
|
);
|
||||||
$setting -> set_updatedcallback ('enrol_iserv_settings_courses_category_name_updated');
|
$setting->set_updatedcallback('enrol_iserv_settings_courses_category_name_updated');
|
||||||
$settings->add($setting);
|
$settings->add($setting);
|
||||||
|
|
||||||
$settings->add(
|
$settings->add(
|
||||||
@@ -296,11 +305,11 @@ if ($ADMIN -> fulltree) {
|
|||||||
);
|
);
|
||||||
|
|
||||||
$enrol_iserv_courses = array();
|
$enrol_iserv_courses = array();
|
||||||
$enrol_iserv_coursenames = $DB -> get_records_sql('SELECT * FROM {course} ORDER BY fullname');
|
$enrol_iserv_coursenames = $DB->get_records_sql('SELECT * FROM {course} ORDER BY fullname');
|
||||||
foreach ($enrol_iserv_coursenames as $key => $coursename) {
|
foreach ($enrol_iserv_coursenames as $key => $coursename) {
|
||||||
$enrol_iserv_courses[$coursename->id] = "{$coursename -> fullname} ({$coursename->id})";
|
$enrol_iserv_courses[$coursename->id] = "{$coursename->fullname} ({$coursename->id})";
|
||||||
}
|
}
|
||||||
$enrol_iserv_courses[0] = get_string('course_template_none','enrol_iserv');
|
$enrol_iserv_courses[0] = get_string('course_template_none', 'enrol_iserv');
|
||||||
|
|
||||||
$settings->add(
|
$settings->add(
|
||||||
new admin_setting_configselect(
|
new admin_setting_configselect(
|
||||||
@@ -312,30 +321,30 @@ if ($ADMIN -> fulltree) {
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
$options = get_default_enrol_roles (context_system::instance ());
|
$options = get_default_enrol_roles(context_system::instance());
|
||||||
$teacher = get_archetype_roles ('editingteacher');
|
$teacher = get_archetype_roles('editingteacher');
|
||||||
$teacher = reset ($teacher);
|
$teacher = reset($teacher);
|
||||||
|
|
||||||
$settings->add(
|
$settings->add(
|
||||||
new admin_setting_configselect(
|
new admin_setting_configselect(
|
||||||
'enrol_iserv/courses_teacher_role',
|
'enrol_iserv/courses_teacher_role',
|
||||||
get_string('courses_teacher_role_key', 'enrol_iserv'),
|
get_string('courses_teacher_role_key', 'enrol_iserv'),
|
||||||
get_string('courses_teacher_role_desc', 'enrol_iserv'),
|
get_string('courses_teacher_role_desc', 'enrol_iserv'),
|
||||||
$teacher -> id,
|
$teacher->id,
|
||||||
$options
|
$options
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
$options = get_default_enrol_roles (context_system::instance ());
|
$options = get_default_enrol_roles(context_system::instance());
|
||||||
$student = get_archetype_roles ('student');
|
$student = get_archetype_roles('student');
|
||||||
$student = reset ($student);
|
$student = reset($student);
|
||||||
|
|
||||||
$settings->add(
|
$settings->add(
|
||||||
new admin_setting_configselect(
|
new admin_setting_configselect(
|
||||||
'enrol_iserv/courses_student_role',
|
'enrol_iserv/courses_student_role',
|
||||||
get_string('courses_student_role_key', 'enrol_iserv'),
|
get_string('courses_student_role_key', 'enrol_iserv'),
|
||||||
get_string('courses_student_role_desc', 'enrol_iserv'),
|
get_string('courses_student_role_desc', 'enrol_iserv'),
|
||||||
$student -> id,
|
$student->id,
|
||||||
$options
|
$options
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user