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