|
|
|
@ -1,5 +1,6 @@ |
|
|
|
|
<?php |
|
|
|
|
/* For licensing terms, see /license.txt */ |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Various user related functions |
|
|
|
|
* @author Julio Montoya <gugli100@gmail.com> adding security functions |
|
|
|
@ -23,17 +24,25 @@ function get_users_in_course($course_id) |
|
|
|
|
if (!empty($current_session)) { |
|
|
|
|
$sql = "SELECT user.user_id, user.username, lastname, firstname, official_code |
|
|
|
|
FROM $tbl_session_course_user as scru, $tbl_user as user |
|
|
|
|
WHERE scru.id_user=user.user_id |
|
|
|
|
AND scru.status=0 |
|
|
|
|
AND scru.course_code='$course_id' AND id_session ='$current_session' $order_clause "; |
|
|
|
|
WHERE |
|
|
|
|
scru.id_user=user.user_id AND |
|
|
|
|
scru.status=0 AND |
|
|
|
|
scru.course_code='$course_id' AND |
|
|
|
|
id_session ='$current_session' |
|
|
|
|
$order_clause |
|
|
|
|
"; |
|
|
|
|
} else { |
|
|
|
|
$sql = 'SELECT user.user_id, user.username, lastname, firstname, official_code |
|
|
|
|
FROM '.$tbl_course_user.' as course_rel_user, '.$tbl_user.' as user |
|
|
|
|
WHERE course_rel_user.user_id=user.user_id AND |
|
|
|
|
WHERE |
|
|
|
|
course_rel_user.user_id=user.user_id AND |
|
|
|
|
course_rel_user.status='.STUDENT.' AND |
|
|
|
|
course_rel_user.course_code = "'.$course_id.'" '.$order_clause; |
|
|
|
|
course_rel_user.course_code = "'.$course_id.'" '. |
|
|
|
|
$order_clause; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
|
|
|
|
|
return get_user_array_from_sql_result($result); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -68,14 +77,22 @@ function get_all_users ($evals = array(), $links = array()) |
|
|
|
|
$coursecodes[$coursecode] = '1'; |
|
|
|
|
$users = array_merge($users, get_users_in_course($coursecode)); |
|
|
|
|
} |
|
|
|
|
} else {// course independent evaluation |
|
|
|
|
} else { |
|
|
|
|
// course independent evaluation |
|
|
|
|
$tbl_user = Database :: get_main_table(TABLE_MAIN_USER); |
|
|
|
|
$tbl_res = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_RESULT); |
|
|
|
|
|
|
|
|
|
$sql = 'SELECT user.user_id, lastname, firstname, user.official_code |
|
|
|
|
FROM '.$tbl_res.' as res, '.$tbl_user.' as user |
|
|
|
|
WHERE res.evaluation_id = '.intval($eval->get_id()) |
|
|
|
|
.' AND res.user_id = user.user_id'; |
|
|
|
|
WHERE |
|
|
|
|
res.evaluation_id = '.intval($eval->get_id()).' AND |
|
|
|
|
res.user_id = user.user_id |
|
|
|
|
'; |
|
|
|
|
$sql .= ' ORDER BY lastname, firstname'; |
|
|
|
|
if (api_is_western_name_order()) { |
|
|
|
|
$sql .= ' ORDER BY firstname, lastname'; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
$users = array_merge($users, get_user_array_from_sql_result($result)); |
|
|
|
|
} |
|
|
|
@ -89,7 +106,7 @@ function get_all_users ($evals = array(), $links = array()) |
|
|
|
|
$users = array_merge($users, get_users_in_course($coursecode)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
unset ($coursecodes); |
|
|
|
|
|
|
|
|
|
return $users; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -107,7 +124,8 @@ function find_students($mask= '') |
|
|
|
|
|
|
|
|
|
$tbl_user = Database :: get_main_table(TABLE_MAIN_USER); |
|
|
|
|
$tbl_cru = Database :: get_main_table(TABLE_MAIN_COURSE_USER); |
|
|
|
|
$sql= 'SELECT DISTINCT user.user_id, user.lastname, user.firstname, user.email, user.official_code ' . ' FROM ' . $tbl_user . ' user'; |
|
|
|
|
$sql = 'SELECT DISTINCT user.user_id, user.lastname, user.firstname, user.email, user.official_code |
|
|
|
|
FROM ' . $tbl_user . ' user'; |
|
|
|
|
if (!api_is_platform_admin()) { |
|
|
|
|
$sql .= ', ' . $tbl_cru . ' cru'; |
|
|
|
|
} |
|
|
|
@ -117,12 +135,26 @@ function find_students($mask= '') |
|
|
|
|
$sql .= ' OR user.firstname LIKE '."'%" . $mask . "%')"; |
|
|
|
|
|
|
|
|
|
if (!api_is_platform_admin()) { |
|
|
|
|
$sql .= ' AND user.user_id = cru.user_id AND cru.relation_type<>'.COURSE_RELATION_TYPE_RRHH.' ' . ' AND cru.course_code in' . ' (SELECT course_code' . ' FROM ' . $tbl_cru . ' WHERE user_id = ' . api_get_user_id() . ' AND status = ' . COURSEMANAGER . ')'; |
|
|
|
|
$sql .= ' AND user.user_id = cru.user_id AND |
|
|
|
|
cru.relation_type <> '.COURSE_RELATION_TYPE_RRHH.' AND |
|
|
|
|
cru.course_code in ( |
|
|
|
|
SELECT course_code FROM '.$tbl_cru . ' |
|
|
|
|
WHERE |
|
|
|
|
user_id = ' . api_get_user_id() . ' AND |
|
|
|
|
status = ' . COURSEMANAGER . ' |
|
|
|
|
) |
|
|
|
|
'; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$sql .= ' ORDER BY lastname, firstname'; |
|
|
|
|
if (api_is_western_name_order()) { |
|
|
|
|
$sql .= ' ORDER BY firstname, lastname'; |
|
|
|
|
} |
|
|
|
|
$sql .= ' ORDER BY lastname'; |
|
|
|
|
|
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
$db_users= Database::store_result($result); |
|
|
|
|
return $db_users; |
|
|
|
|
$users = Database::store_result($result); |
|
|
|
|
|
|
|
|
|
return $users; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|