|
|
|
|
@ -47,12 +47,12 @@ if (isset($_GET['user_id']) && '' != $_GET['user_id'] && isset($_GET['type']) && |
|
|
|
|
|
|
|
|
|
function get_count_users(): int |
|
|
|
|
{ |
|
|
|
|
$users = get_users(null, null, 0, 3); |
|
|
|
|
$users = get_users(null, null, 0, 3, true); |
|
|
|
|
|
|
|
|
|
return count($users); |
|
|
|
|
return $users['count_users']; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function get_users($from, $limit, $column, $direction): array |
|
|
|
|
function get_users($from, $limit, $column = 0, $direction = 3, $getCount = false): array |
|
|
|
|
{ |
|
|
|
|
global $export_csv; |
|
|
|
|
$active = $_GET['active'] ?? 1; |
|
|
|
|
@ -66,6 +66,39 @@ function get_users($from, $limit, $column, $direction): array |
|
|
|
|
if (!empty($sleepingDays)) { |
|
|
|
|
$lastConnectionDate = api_get_utc_datetime(strtotime($sleepingDays.' days ago')); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 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)) { |
|
|
|
|
if (is_array($value)) { |
|
|
|
|
$value = $value[$key]; |
|
|
|
|
} |
|
|
|
|
$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]; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$is_western_name_order = api_is_western_name_order(); |
|
|
|
|
$coach_id = api_get_user_id(); |
|
|
|
|
$column = 'u.user_id'; |
|
|
|
|
@ -77,7 +110,7 @@ function get_users($from, $limit, $column, $direction): array |
|
|
|
|
$students = SessionManager::getAllUsersFromCoursesFromAllSessionFromStatus( |
|
|
|
|
'drh_all', |
|
|
|
|
api_get_user_id(), |
|
|
|
|
false, |
|
|
|
|
$getCount, |
|
|
|
|
$from, |
|
|
|
|
$limit, |
|
|
|
|
$column, |
|
|
|
|
@ -87,7 +120,8 @@ function get_users($from, $limit, $column, $direction): array |
|
|
|
|
$lastConnectionDate, |
|
|
|
|
null, |
|
|
|
|
null, |
|
|
|
|
api_is_student_boss() ? null : STUDENT |
|
|
|
|
api_is_student_boss() ? null : STUDENT, |
|
|
|
|
$filterUsers |
|
|
|
|
); |
|
|
|
|
$drhLoaded = true; |
|
|
|
|
} |
|
|
|
|
@ -104,7 +138,9 @@ function get_users($from, $limit, $column, $direction): array |
|
|
|
|
$limit, |
|
|
|
|
null, |
|
|
|
|
$keyword, |
|
|
|
|
$lastConnectionDate |
|
|
|
|
$lastConnectionDate, |
|
|
|
|
$getCount, |
|
|
|
|
$filterUsers |
|
|
|
|
); |
|
|
|
|
$drhLoaded = true; |
|
|
|
|
} |
|
|
|
|
@ -117,7 +153,7 @@ function get_users($from, $limit, $column, $direction): array |
|
|
|
|
api_is_student_boss() ? null : STUDENT, |
|
|
|
|
false, |
|
|
|
|
false, |
|
|
|
|
false, |
|
|
|
|
$getCount, |
|
|
|
|
$from, |
|
|
|
|
$limit, |
|
|
|
|
$column, |
|
|
|
|
@ -126,56 +162,22 @@ function get_users($from, $limit, $column, $direction): array |
|
|
|
|
$lastConnectionDate, |
|
|
|
|
api_is_student_boss() ? STUDENT_BOSS : COURSEMANAGER, |
|
|
|
|
$keyword, |
|
|
|
|
$checkSessionVisibility |
|
|
|
|
$checkSessionVisibility, |
|
|
|
|
$filterUsers |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$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)) { |
|
|
|
|
if (is_array($value)) { |
|
|
|
|
$value = $value[$key]; |
|
|
|
|
} |
|
|
|
|
$useExtraFields = true; |
|
|
|
|
$extraFieldResult[] = UserManager::get_extra_user_data_by_value( |
|
|
|
|
$variable, |
|
|
|
|
$value, |
|
|
|
|
true |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if ($getCount) { |
|
|
|
|
return ['count_users' => (int) $students]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$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]; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
$url = $webCodePath.'mySpace/myStudents.php'; |
|
|
|
|
|
|
|
|
|
$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); |
|
|
|
|
} |
|
|
|
|
|