@ -31,312 +31,321 @@
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')
)
)
);
);
// --- GROUP Settings --- //
// --- GROUP Settings --- //
$settings->add(
$settings->add(
new admin_setting_heading(
new admin_setting_heading(
'enrol_iserv_group_settings',
'enrol_iserv_group_settings',
get_string('group_settings', 'enrol_iserv'),
get_string('group_settings', 'enrol_iserv'),
get_string('group_settings_desc', 'enrol_iserv')
get_string('group_settings_desc', 'enrol_iserv')
)
)
);
);
$settings->add(
$settings->add(
new admin_setting_configtext_trim_lower(
new admin_setting_configtext_trim_lower(
'enrol_iserv/group_contexts',
'enrol_iserv/group_contexts',
get_string('group_contexts_key', 'enrol_iserv'),
get_string('group_contexts_key', 'enrol_iserv'),
get_string('group_contexts_desc', 'enrol_iserv'),
get_string('group_contexts_desc', 'enrol_iserv'),
'ou=groups,dc=mein-iserv,dc=de'
'ou=groups,dc=mein-iserv,dc=de'
)
)
);
);
$settings->add(
$settings->add(
new admin_setting_configtext_trim_lower(
new admin_setting_configtext_trim_lower(
'enrol_iserv/group_object_class',
'enrol_iserv/group_object_class',
get_string('group_object_class_key', 'enrol_iserv'),
get_string('group_object_class_key', 'enrol_iserv'),
get_string('group_object_class_desc', 'enrol_iserv'),
get_string('group_object_class_desc', 'enrol_iserv'),
'uuidObject'
'uuidObject'
)
)
);
);
$settings->add(
$settings->add(
new admin_setting_configtext_trim_lower(
new admin_setting_configtext_trim_lower(
'enrol_iserv/group_attribute',
'enrol_iserv/group_attribute',
get_string('group_attribute_key', 'enrol_iserv'),
get_string('group_attribute_key', 'enrol_iserv'),
get_string('group_attribute_desc', 'enrol_iserv'),
get_string('group_attribute_desc', 'enrol_iserv'),
'cn'
'cn'
)
)
);
);
$settings->add(
$settings->add(
new admin_setting_configtext_trim_lower(
new admin_setting_configtext_trim_lower(
'enrol_iserv/group_fullname_attribute',
'enrol_iserv/group_fullname_attribute',
get_string('group_fullname_attribute_key', 'enrol_iserv'),
get_string('group_fullname_attribute_key', 'enrol_iserv'),
get_string('group_fullname_attribute_desc', 'enrol_iserv'),
get_string('group_fullname_attribute_desc', 'enrol_iserv'),
'description'
'description'
)
)
);
);
$settings->add(
$settings->add(
new admin_setting_configtext_trim_lower(
new admin_setting_configtext_trim_lower(
'enrol_iserv/group_member_attribute',
'enrol_iserv/group_member_attribute',
get_string('group_member_attribute_key', 'enrol_iserv'),
get_string('group_member_attribute_key', 'enrol_iserv'),
get_string('group_member_attribute_desc', 'enrol_iserv'),
get_string('group_member_attribute_desc', 'enrol_iserv'),
"memberUid"
"memberUid"
)
)
);
);
$settings->add(
$settings->add(
new admin_setting_configselect(
new admin_setting_configselect(
'enrol_iserv/group_member_attribute_is_dn',
'enrol_iserv/group_member_attribute_is_dn',
get_string('group_member_attribute_is_dn_key', 'enrol_iserv'),
get_string('group_member_attribute_is_dn_key', 'enrol_iserv'),
get_string('group_member_attribute_is_dn_desc', 'enrol_iserv'),
get_string('group_member_attribute_is_dn_desc', 'enrol_iserv'),
0,
0,
$yesno
$yesno
)
)
);
);
$settings->add(
$settings->add(
new admin_setting_configcheckbox(
new admin_setting_configcheckbox(
'enrol_iserv/group_search_subtree',
'enrol_iserv/group_search_subtree',
get_string('group_search_subtree_key', 'enrol_iserv'),
get_string('group_search_subtree_key', 'enrol_iserv'),
get_string('group_search_subtree_desc', 'enrol_iserv'),
get_string('group_search_subtree_desc', 'enrol_iserv'),
0
0
)
)
);
);
// --- ROLE Settings --- //
// --- ROLE Settings --- //
$settings->add(
$settings->add(
new admin_setting_heading(
new admin_setting_heading(
'enrol_iserv_role_settings',
'enrol_iserv_role_settings',
get_string('role_settings', 'enrol_iserv'),
get_string('role_settings', 'enrol_iserv'),
get_string('role_settings_desc', 'enrol_iserv')
get_string('role_settings_desc', 'enrol_iserv')
)
)
);
);
$settings->add(
$settings->add(
new admin_setting_configtext_trim_lower(
new admin_setting_configtext_trim_lower(
'enrol_iserv/role_contexts',
'enrol_iserv/role_contexts',
get_string('role_contexts_key', 'enrol_iserv'),
get_string('role_contexts_key', 'enrol_iserv'),
get_string('role_contexts_desc', 'enrol_iserv'),
get_string('role_contexts_desc', 'enrol_iserv'),
'ou=roles,dc=mein-iserv,dc=de'
'ou=roles,dc=mein-iserv,dc=de'
)
)
);
);
$settings->add(
$settings->add(
new admin_setting_configtext_trim_lower(
new admin_setting_configtext_trim_lower(
'enrol_iserv/role_object_class',
'enrol_iserv/role_object_class',
get_string('role_object_class_key', 'enrol_iserv'),
get_string('role_object_class_key', 'enrol_iserv'),
get_string('role_object_class_desc', 'enrol_iserv'),
get_string('role_object_class_desc', 'enrol_iserv'),
'organizationalRole'
'organizationalRole'
)
)
);
);
$settings->add(
$settings->add(
new admin_setting_configtext_trim_lower(
new admin_setting_configtext_trim_lower(
'enrol_iserv/teachers_role_name',
'enrol_iserv/teachers_role_name',
get_string('teachers_role_name_key', 'enrol_iserv'),
get_string('teachers_role_name_key', 'enrol_iserv'),
get_string('teachers_role_name_desc', 'enrol_iserv'),
get_string('teachers_role_name_desc', 'enrol_iserv'),
'ROLE_TEACHER'
'ROLE_TEACHER'
)
)
);
);
$settings->add(
$settings->add(
new admin_setting_configtext_trim_lower(
new admin_setting_configtext_trim_lower(
'enrol_iserv/students_role_name',
'enrol_iserv/students_role_name',
get_string('students_role_name_key', 'enrol_iserv'),
get_string('students_role_name_key', 'enrol_iserv'),
get_string('students_role_name_desc', 'enrol_iserv'),
get_string('students_role_name_desc', 'enrol_iserv'),
'ROLE_STUDENT'
'ROLE_STUDENT'
)
)
);
);
$settings->add(
$settings->add(
new admin_setting_configtext_trim_lower(
new admin_setting_configtext_trim_lower(
'enrol_iserv/role_member_attribute',
'enrol_iserv/role_member_attribute',
get_string('role_member_attribute_key', 'enrol_iserv'),
get_string('role_member_attribute_key', 'enrol_iserv'),
get_string('role_member_attribute_desc', 'enrol_iserv'),
get_string('role_member_attribute_desc', 'enrol_iserv'),
"roleOccupant"
"roleOccupant"
)
)
);
);
$settings->add(
$settings->add(
new admin_setting_configselect(
new admin_setting_configselect(
'enrol_iserv/role_member_attribute_is_dn',
'enrol_iserv/role_member_attribute_is_dn',
get_string('role_member_attribute_is_dn_key', 'enrol_iserv'),
get_string('role_member_attribute_is_dn_key', 'enrol_iserv'),
get_string('role_member_attribute_is_dn_desc', 'enrol_iserv'),
get_string('role_member_attribute_is_dn_desc', 'enrol_iserv'),
1,
1,
$yesno
$yesno
)
)
);
);
// --- GROUP< >COURSE MAPPING Settings --- //
// --- GROUP< >COURSE MAPPING Settings --- //
$settings->add(
$settings->add(
new admin_setting_heading(
new admin_setting_heading(
'enrol_iserv_coursemapping_settings',
'enrol_iserv_coursemapping_settings',
get_string('coursemapping', 'enrol_iserv'),
get_string('coursemapping', 'enrol_iserv'),
get_string('coursemapping_desc', 'enrol_iserv')
get_string('coursemapping_desc', 'enrol_iserv')
)
)
);
);
$settings->add(
$settings->add(
new admin_setting_configtext_trim_lower(
new admin_setting_configtext_trim_lower(
'enrol_iserv/coursemapping_attribute',
'enrol_iserv/coursemapping_attribute',
get_string('coursemapping_attribute_key', 'enrol_iserv'),
get_string('coursemapping_attribute_key', 'enrol_iserv'),
get_string('coursemapping_attribute_desc', 'enrol_iserv'),
get_string('coursemapping_attribute_desc', 'enrol_iserv'),
'memberUid'
'memberUid'
)
)
);
);
$settings->add(
$settings->add(
new admin_setting_configtext_trim_lower(
new admin_setting_configtext_trim_lower(
'enrol_iserv/coursemapping_attribute_value',
'enrol_iserv/coursemapping_attribute_value',
get_string('coursemapping_attribute_value_key', 'enrol_iserv'),
get_string('coursemapping_attribute_value_key', 'enrol_iserv'),
get_string('coursemapping_attribute_value_desc', 'enrol_iserv'),
get_string('coursemapping_attribute_value_desc', 'enrol_iserv'),
"moodlekurs"
"moodlekurs"
)
)
);
);
$settings->add(
$settings->add(
new admin_setting_configcheckbox(
new admin_setting_configcheckbox(
'enrol_iserv/coursemapping_use_attribute',
'enrol_iserv/coursemapping_use_attribute',
get_string('coursemapping_use_attribute_key', 'enrol_iserv'),
get_string('coursemapping_use_attribute_key', 'enrol_iserv'),
get_string('coursemapping_use_attribute_desc', 'enrol_iserv'),
get_string('coursemapping_use_attribute_desc', 'enrol_iserv'),
0
0
)
)
);
);
$settings->add(
$settings->add(
new admin_setting_configtext_trim_lower(
new admin_setting_configtext_trim_lower(
'enrol_iserv/coursemapping_prefixes',
'enrol_iserv/coursemapping_prefixes',
get_string('coursemapping_prefixes_key', 'enrol_iserv'),
get_string('coursemapping_prefixes_key', 'enrol_iserv'),
get_string('coursemapping_prefixes_desc', 'enrol_iserv'),
get_string('coursemapping_prefixes_desc', 'enrol_iserv'),
"kurs.*"
"kurs.*"
)
)
);
);
$settings->add(
$settings->add(
new admin_setting_configcheckbox(
new admin_setting_configcheckbox(
'enrol_iserv/coursemapping_use_prefixes',
'enrol_iserv/coursemapping_use_prefixes',
get_string('coursemapping_use_prefixes_key', 'enrol_iserv'),
get_string('coursemapping_use_prefixes_key', 'enrol_iserv'),
get_string('coursemapping_use_prefixes_desc', 'enrol_iserv'),
get_string('coursemapping_use_prefixes_desc', 'enrol_iserv'),
1
1
)
)
);
);
$settings->add(
// --- COURSES Settings --- //
new admin_setting_configcheckbox(
$settings->add(
'enrol_iserv/coursemapping_map_only_ldap_users',
new admin_setting_heading(
get_string('coursemapping_map_only_ldap_users_key', 'enrol_iserv'),
'enrol_iserv_courses_settings',
get_string('coursemapping_map_only_ldap_users_desc', 'enrol_iserv'),
get_string('courses', 'enrol_iserv'),
1
get_string('courses_desc', 'enrol_iserv')
)
)
);
);
$setting = new admin_setting_configtext_trim_lower(
// --- COURSES Settings --- //
'enrol_iserv/courses_category',
$settings->add(
get_string('courses_category_key', 'enrol_iserv'),
new admin_setting_heading(
get_string('courses_category_desc', 'enrol_iserv'),
'enrol_iserv_courses_settings',
"Kurse"
get_string('courses', 'enrol_iserv'),
);
get_string('courses_desc', 'enrol_iserv')
$setting -> set_updatedcallback ('enrol_iserv_settings_courses_category_name_updated');
)
$settings->add($setting);
);
$settings->add(
$setting = new admin_setting_configtext_trim_lower(
new admin_setting_configselect(
'enrol_iserv/courses_category',
'enrol_iserv/courses_autocreate',
get_string('courses_category_key', 'enrol_iserv'),
get_string('courses_autocreate_key', 'enrol_iserv'),
get_string('courses_category_desc', 'enrol_iserv'),
get_string('courses_autocreate_desc', 'enrol_iserv'),
"Kurse"
1,
);
$yesno
$setting->set_updatedcallback('enrol_iserv_settings_courses_category_name_updated');
)
$settings->add($setting);
);
$settings->add(
$settings->add(
new admin_setting_configselect(
new admin_setting_configselect(
'enrol_iserv/courses_autocreate',
'enrol_iserv/courses_autoremove',
get_string('courses_autocreate_key', 'enrol_iserv'),
get_string('courses_autoremove_key', 'enrol_iserv'),
get_string('courses_autocreate_desc', 'enrol_iserv'),
get_string('courses_autoremove_desc', 'enrol_iserv'),
1,
1,
$yesno
$yesno
)
)
);
);
$settings->add(
$settings->add(
new admin_setting_configselect(
new admin_setting_configselect(
'enrol_iserv/courses_autoremove',
'enrol_iserv/courses_category_autocreate',
get_string('courses_autoremove_key', 'enrol_iserv'),
get_string('courses_category_autocreate_key', 'enrol_iserv'),
get_string('courses_autoremove_desc', 'enrol_iserv'),
get_string('courses_category_autocreate_desc', 'enrol_iserv'),
1,
1,
$yesno
$yesno
)
)
);
);
$settings->add(
$enrol_iserv_courses = array();
new admin_setting_configselect(
$enrol_iserv_coursenames = $DB -> get_records_sql('SELECT * FROM {course} ORDER BY fullname');
'enrol_iserv/courses_category_autocreate',
foreach ($enrol_iserv_coursenames as $key => $coursename) {
get_string('courses_category_autocreate_key', 'enrol_iserv'),
$enrol_iserv_courses[$coursename->id] = "{$coursename -> fullname} ({$coursename->id})";
get_string('courses_category_autocreate_desc', 'enrol_iserv'),
}
1,
$enrol_iserv_courses[0] = get_string('course_template_none','enrol_iserv');
$yesno
)
$settings->add(
);
new admin_setting_configselect(
'enrol_iserv/courses_template',
$enrol_iserv_courses = array();
get_string('courses_template_key', 'enrol_iserv'),
$enrol_iserv_coursenames = $DB->get_records_sql('SELECT * FROM {course} ORDER BY fullname');
get_string('courses_template_desc', 'enrol_iserv'),
foreach ($enrol_iserv_coursenames as $key => $coursename) {
0,
$enrol_iserv_courses[$coursename->id] = "{$coursename->fullname} ({$coursename->id})";
$enrol_iserv_courses
}
)
$enrol_iserv_courses[0] = get_string('course_template_none', 'enrol_iserv');
);
$settings->add(
$options = get_default_enrol_roles (context_system::instance ());
new admin_setting_configselect(
$teacher = get_archetype_roles ('editingteacher');
'enrol_iserv/courses_template',
$teacher = reset ($teacher);
get_string('courses_template_key', 'enrol_iserv'),
get_string('courses_template_desc', 'enrol_iserv'),
$settings->add(
0,
new admin_setting_configselect(
$enrol_iserv_courses
'enrol_iserv/courses_teacher_role',
)
get_string('courses_teacher_role_key', 'enrol_iserv'),
);
get_string('courses_teacher_role_desc', 'enrol_iserv'),
$teacher -> id,
$options = get_default_enrol_roles(context_system::instance());
$options
$teacher = get_archetype_roles('editingteacher');
)
$teacher = reset($teacher);
);
$settings->add(
$options = get_default_enrol_roles (context_system::instance ());
new admin_setting_configselect(
$student = get_archetype_roles ('student');
'enrol_iserv/courses_teacher_role',
$student = reset ($student);
get_string('courses_teacher_role_key', 'enrol_iserv'),
get_string('courses_teacher_role_desc', 'enrol_iserv'),
$settings->add(
$teacher->id,
new admin_setting_configselect(
$options
'enrol_iserv/courses_student_role',
)
get_string('courses_student_role_key', 'enrol_iserv'),
);
get_string('courses_student_role_desc', 'enrol_iserv'),
$student -> id,
$options = get_default_enrol_roles(context_system::instance());
$options
$student = get_archetype_roles('student');
)
$student = reset($student);
);
$settings->add(
new admin_setting_configselect(
'enrol_iserv/courses_student_role',
get_string('courses_student_role_key', 'enrol_iserv'),
get_string('courses_student_role_desc', 'enrol_iserv'),
$student->id,
$options
)
);
}
}