Admin: Add config send_only_messages_to_teachers BT#18174

Show only my teachers when creating a new message as a student.
pull/3694/head
Julio Montoya 6 years ago
parent a02cc472be
commit bfb30e0e02
  1. 3
      main/install/configuration.dist.php
  2. 49
      main/messages/new_message.php

@ -1793,6 +1793,9 @@ $_configuration['auth_password_links'] = [
]
];*/
// For a student: Shows only the list of teachers from my courses in the Chamilo inbox.
// $_configuration['send_only_messages_to_teachers'] = true;
// KEEP THIS AT THE END
// -------- Custom DB changes
// Add user activation by confirmation email

@ -114,6 +114,11 @@ function manageForm($default, $select_from_user_list = null, $sent_to = '', $tpl
$group_id = isset($_REQUEST['group_id']) ? (int) $_REQUEST['group_id'] : null;
$message_id = isset($_GET['message_id']) ? (int) $_GET['message_id'] : null;
$onlyTeachers = false;
if (api_get_configuration_value('send_only_messages_to_teachers') && api_is_student()) {
$onlyTeachers = true;
}
$form = new FormValidator(
'compose_message',
null,
@ -145,18 +150,38 @@ function manageForm($default, $select_from_user_list = null, $sent_to = '', $tpl
$form->addLabel(get_lang('SendMessageTo'), $sent_to);
}
if (empty($default['users'])) {
//fb select
$form->addElement(
'select_ajax',
'users',
get_lang('SendMessageTo'),
[],
[
'multiple' => 'multiple',
'delay' => 1000,
'url' => api_get_path(WEB_AJAX_PATH).'message.ajax.php?a=find_users',
]
);
if ($onlyTeachers) {
$courses = CourseManager::get_courses_list_by_user_id(api_get_user_id());
$teachers = [];
foreach ($courses as $course) {
$courseTeachers = CourseManager::getTeachersFromCourse($course['real_id']);
if ($courseTeachers) {
foreach ($courseTeachers as $teacher) {
$teachers[$teacher['id']] = $teacher['fullname'];
}
}
}
$form->addSelect(
'users',
get_lang('SendMessageTo'),
$teachers,
[
'multiple' => 'multiple'
]
);
} else {
$form->addElement(
'select_ajax',
'users',
get_lang('SendMessageTo'),
[],
[
'multiple' => 'multiple',
'delay' => 1000,
'url' => api_get_path(WEB_AJAX_PATH).'message.ajax.php?a=find_users',
]
);
}
} else {
$form->addElement('hidden', 'hidden_user', $default['users'][0], ['id' => 'hidden_user']);
}

Loading…
Cancel
Save