|
|
|
@ -128,11 +128,47 @@ function get_users($from, $limit, $column, $direction) |
|
|
|
|
|
|
|
|
|
$url = $webCodePath.'mySpace/myStudents.php'; |
|
|
|
|
|
|
|
|
|
// Filter by Extra Fields |
|
|
|
|
$useExtraFields = false; |
|
|
|
|
$extraFieldResult = []; |
|
|
|
|
foreach ($_GET as $key => $value) { |
|
|
|
|
if (substr($key, 0, 6) == 'extra_') { |
|
|
|
|
$variable = substr($key, 6); |
|
|
|
|
if (UserManager::is_extra_field_available($variable) && !empty($value)) { |
|
|
|
|
$useExtraFields = true; |
|
|
|
|
$extraFieldResult[] = UserManager::get_extra_user_data_by_value( |
|
|
|
|
$variable, |
|
|
|
|
$value, |
|
|
|
|
true |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$filterUsers = []; |
|
|
|
|
if ($useExtraFields) { |
|
|
|
|
if (count($extraFieldResult) > 1) { |
|
|
|
|
for ($i = 0; $i < count($extraFieldResult) - 1; $i++) { |
|
|
|
|
if (is_array($extraFieldResult[$i + 1])) { |
|
|
|
|
$filterUsers = array_intersect($extraFieldResult[$i], $extraFieldResult[$i + 1]); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
$filterUsers = $extraFieldResult[0]; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$all_datas = []; |
|
|
|
|
foreach ($students as $student_data) { |
|
|
|
|
$student_id = $student_data['user_id']; |
|
|
|
|
$student_data = api_get_user_info($student_id); |
|
|
|
|
|
|
|
|
|
if ($useExtraFields) { |
|
|
|
|
if (!in_array($student_id, $filterUsers)) { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (isset($_GET['id_session'])) { |
|
|
|
|
$courses = Tracking :: get_course_list_in_session_from_student($student_id, $sessionId); |
|
|
|
|
} |
|
|
|
@ -176,6 +212,7 @@ function get_users($from, $limit, $column, $direction) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$row = []; |
|
|
|
|
$row[] = $student_id; |
|
|
|
|
if ($is_western_name_order) { |
|
|
|
|
$first = Display::url($student_data['firstname'], $urlDetails); |
|
|
|
|
$last = Display::url($student_data['lastname'], $urlDetails); |
|
|
|
@ -323,17 +360,24 @@ $params = [ |
|
|
|
|
]; |
|
|
|
|
$table->set_additional_parameters($params); |
|
|
|
|
|
|
|
|
|
$table->set_header(0, ' ', false); |
|
|
|
|
|
|
|
|
|
if ($is_western_name_order) { |
|
|
|
|
$table->set_header(0, get_lang('FirstName'), false); |
|
|
|
|
$table->set_header(1, get_lang('LastName'), false); |
|
|
|
|
$table->set_header(1, get_lang('FirstName'), false); |
|
|
|
|
$table->set_header(2, get_lang('LastName'), false); |
|
|
|
|
} else { |
|
|
|
|
$table->set_header(0, get_lang('LastName'), false); |
|
|
|
|
$table->set_header(2, get_lang('LastName'), false); |
|
|
|
|
$table->set_header(1, get_lang('FirstName'), false); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$table->set_header(2, get_lang('FirstLogin'), false); |
|
|
|
|
$table->set_header(3, get_lang('LastConnexion'), false); |
|
|
|
|
$table->set_header(4, get_lang('Details'), false); |
|
|
|
|
$table->set_header(3, get_lang('FirstLogin'), false); |
|
|
|
|
$table->set_header(4, get_lang('LastConnexion'), false); |
|
|
|
|
$table->set_header(5, get_lang('Details'), false); |
|
|
|
|
|
|
|
|
|
// Only show empty actions bar if delete users has been blocked |
|
|
|
|
$actionsList = []; |
|
|
|
|
$actionsList['send_emails'] = get_lang('SendEmail'); |
|
|
|
|
$table->set_form_actions($actionsList); |
|
|
|
|
|
|
|
|
|
if ($export_csv) { |
|
|
|
|
if ($is_western_name_order) { |
|
|
|
@ -358,7 +402,7 @@ $form = new FormValidator( |
|
|
|
|
'get', |
|
|
|
|
$webCodePath.'mySpace/student.php' |
|
|
|
|
); |
|
|
|
|
$form = Tracking::setUserSearchForm($form); |
|
|
|
|
$form = Tracking::setUserSearchForm($form, true); |
|
|
|
|
$form->setDefaults($params); |
|
|
|
|
|
|
|
|
|
if ($export_csv) { |
|
|
|
@ -372,7 +416,60 @@ if ($export_csv) { |
|
|
|
|
Export::arrayToCsv($csv_content, 'reporting_student_list'); |
|
|
|
|
exit; |
|
|
|
|
} else { |
|
|
|
|
|
|
|
|
|
// It sends the email to selected users |
|
|
|
|
if (isset($_POST['action']) && 'send_message' == $_POST['action']) { |
|
|
|
|
$subject = isset($_POST['subject']) ? $_POST['subject'] : ''; |
|
|
|
|
$message = isset($_POST['message']) ? $_POST['message'] : ''; |
|
|
|
|
$users = isset($_POST['uid']) ? $_POST['uid'] : ''; |
|
|
|
|
if (!empty($subject) && !empty($message) && !empty($users)) { |
|
|
|
|
foreach ($users as $uid) { |
|
|
|
|
$userInfo = api_get_user_info($uid); |
|
|
|
|
MessageManager::sendMessageAboutUser( |
|
|
|
|
$userInfo, |
|
|
|
|
api_get_user_info(), |
|
|
|
|
$subject, |
|
|
|
|
$message |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
Display::addFlash(Display::return_message(get_lang('MessageSent'))); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$script = '<script> |
|
|
|
|
$(function() { |
|
|
|
|
$("#form_tracking_student_id input[type=\"checkbox\"]").on("click", function() { |
|
|
|
|
$("#compose_message").hide(); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
function action_click(element, table_id) { |
|
|
|
|
this.event.preventDefault(); |
|
|
|
|
var amIChecked = false; |
|
|
|
|
$(".hd-users").remove(); |
|
|
|
|
$("#form_tracking_student_id input[type=\"checkbox\"]").each(function() { |
|
|
|
|
if (this.checked) { |
|
|
|
|
amIChecked = true; |
|
|
|
|
var input = $("<input>", { |
|
|
|
|
type: "hidden", |
|
|
|
|
name: "uid[]", |
|
|
|
|
value: this.value, |
|
|
|
|
class: "hd-users", |
|
|
|
|
}); |
|
|
|
|
$("#students_messages").append(input); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
if (!amIChecked) { |
|
|
|
|
alert("'.get_lang('YouMustSelectAtLeastOneDestinee').'"); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
$("#compose_message").show(); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
</script> |
|
|
|
|
'; |
|
|
|
|
|
|
|
|
|
Display::display_header($nameTools); |
|
|
|
|
$token = Security::get_token(); |
|
|
|
|
echo $toolbar; |
|
|
|
|
echo Display::page_subheader($nameTools); |
|
|
|
|
if (isset($active)) { |
|
|
|
@ -385,6 +482,24 @@ if ($export_csv) { |
|
|
|
|
} |
|
|
|
|
$form->display(); |
|
|
|
|
$table->display(); |
|
|
|
|
|
|
|
|
|
$frmMessage = new FormValidator( |
|
|
|
|
'students_messages', |
|
|
|
|
'post', |
|
|
|
|
api_get_self(), |
|
|
|
|
); |
|
|
|
|
$frmMessage->addHtml('<div id="compose_message" style="display:none;">'); |
|
|
|
|
$frmMessage->addText('subject', get_lang('Subject')); |
|
|
|
|
$frmMessage->addRule('subject', 'obligatorio', 'required'); |
|
|
|
|
$frmMessage->addHtmlEditor('message', get_lang('Message')); |
|
|
|
|
$frmMessage->addButtonSend(get_lang('Send')); |
|
|
|
|
$frmMessage->addHidden('sec_token', $token); |
|
|
|
|
$frmMessage->addHidden('action', 'send_message'); |
|
|
|
|
$frmMessage->addHtml('</div>'); |
|
|
|
|
$frmMessage->display(); |
|
|
|
|
|
|
|
|
|
echo $script; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Display::display_footer(); |
|
|
|
|