@ -379,7 +379,9 @@ function get_number_of_users() {
* Get the users to display on the current page.
* Get the users to display on the current page.
*/
*/
function get_user_data($from, $number_of_items, $column, $direction) {
function get_user_data($from, $number_of_items, $column, $direction) {
global $_course, $_configuration;;
global $_course, $_configuration;
$url_access_id = api_get_current_access_url_id();
// Database table definitions
// Database table definitions
$user_table = Database::get_main_table(TABLE_MAIN_USER);
$user_table = Database::get_main_table(TABLE_MAIN_USER);
@ -387,6 +389,8 @@ function get_user_data($from, $number_of_items, $column, $direction) {
$tbl_session_rel_course_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$tbl_session_rel_course_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$table_user_field_values = Database::get_main_table(TABLE_MAIN_USER_FIELD_VALUES);
$table_user_field_values = Database::get_main_table(TABLE_MAIN_USER_FIELD_VALUES);
$tbl_url_rel_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
// adding teachers
// adding teachers
$is_western_name_order = api_is_western_name_order();
$is_western_name_order = api_is_western_name_order();
@ -454,10 +458,8 @@ function get_user_data($from, $number_of_items, $column, $direction) {
}
}
// adding a teacher NOT trough a session on a portal with multiple URLs
// adding a teacher NOT trough a session on a portal with multiple URLs
if ($_configuration['multiple_access_urls']) {
if ($_configuration['multiple_access_urls']) {
$url_access_id = api_get_current_access_url_id();
if ($url_access_id !=-1) {
if ($url_access_id !=-1) {
$tbl_url_rel_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$sql = "SELECT $select_fields
$sql = "SELECT $select_fields
FROM $user_table u
FROM $user_table u
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'
@ -482,26 +484,34 @@ function get_user_data($from, $number_of_items, $column, $direction) {
// adding a student
// adding a student
if (!empty($_SESSION["id_session"])) {
if (!empty($_SESSION["id_session"])) {
$sql = "SELECT $select_fields
$sql = "SELECT $select_fields
FROM $user_table u
FROM $user_table u
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."' AND id_session ='".$_SESSION["id_session"]."' ";
LEFT JOIN $tbl_session_rel_course_user cu ON u.user_id = cu.id_user AND course_code='".$_SESSION['_course']['id']."' AND id_session ='".$_SESSION["id_session"]."' ";
// applying the filter of the additional user profile fields
if (isset($_configuration['multiple_access_urls']) & & $_configuration['multiple_access_urls']) {
if (isset($_GET['subscribe_user_filter_value']) AND !empty($_GET['subscribe_user_filter_value'])){
$sql .= " INNER JOIN $tbl_url_rel_user as url_rel_user ON (url_rel_user.user_id = u.user_id) ";
$field_identification = explode('*',$_GET['subscribe_user_filter_value']);
}
$sql .= "
LEFT JOIN $table_user_field_values field_values
// applying the filter of the additional user profile fields
ON field_values.user_id = u.user_id
if (isset($_GET['subscribe_user_filter_value']) AND !empty($_GET['subscribe_user_filter_value'])){
WHERE cu.id_user IS NULL AND u.status< >".DRH." AND (u.official_code < > 'ADMIN' OR u.official_code IS NULL)
$field_identification = explode('*',$_GET['subscribe_user_filter_value']);
AND field_values.field_id = '".Database::escape_string($field_identification[0])."'
$sql .= "
AND field_values.field_value = '".Database::escape_string($field_identification[1])."'";
LEFT JOIN $table_user_field_values field_values
} else {
ON field_values.user_id = u.user_id
$sql .= "WHERE cu.id_user IS NULL AND u.status< >".DRH." AND (u.official_code < > 'ADMIN' OR u.official_code IS NULL) ";
WHERE cu.id_user IS NULL AND u.status< >".DRH." AND (u.official_code < > 'ADMIN' OR u.official_code IS NULL)
}
AND field_values.field_id = '".Database::escape_string($field_identification[0])."'
AND field_values.field_value = '".Database::escape_string($field_identification[1])."'";
} else {
$sql .= "WHERE cu.id_user IS NULL AND u.status< >".DRH." AND (u.official_code < > 'ADMIN' OR u.official_code IS NULL) ";
}
if (isset($_configuration['multiple_access_urls']) & & $_configuration['multiple_access_urls']) {
$sql .= "AND access_url_id = $url_access_id";
}
} else {
} else {
$sql = "SELECT $select_fields
$sql = "SELECT $select_fields
FROM $user_table u
FROM $user_table u
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'";
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'";
// applying the filter of the additional user profile fields
// applying the filter of the additional user profile fields
if (isset($_GET['subscribe_user_filter_value']) AND !empty($_GET['subscribe_user_filter_value'])){
if (isset($_GET['subscribe_user_filter_value']) AND !empty($_GET['subscribe_user_filter_value'])){
@ -515,14 +525,13 @@ function get_user_data($from, $number_of_items, $column, $direction) {
} else {
} else {
$sql .= "WHERE cu.user_id IS NULL AND u.status< >".DRH." ";
$sql .= "WHERE cu.user_id IS NULL AND u.status< >".DRH." ";
}
}
//showing only the courses of the current Dokeos access_url_id
//showing only the courses of the current Chamilo access_url_id
global $_configuration;
if (isset($_configuration['multiple_access_urls']) & & $_configuration['multiple_access_urls']) {
if (isset($_configuration['multiple_access_urls']) & & $_configuration['multiple_access_urls']) {
$url_access_id = api_get_current_access_url_id();
if ($url_access_id !=-1) {
if ($url_access_id !=-1) {
$tbl_url_rel_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$sql = "SELECT $select_fields
$sql = "SELECT $select_fields
FROM $user_table u
FROM $user_table u
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'
@ -542,8 +551,7 @@ function get_user_data($from, $number_of_items, $column, $direction) {
} else {
} else {
$sql .= "WHERE cu.user_id IS NULL AND u.status< >".DRH." AND access_url_id= $url_access_id ";
$sql .= "WHERE cu.user_id IS NULL AND u.status< >".DRH." AND access_url_id= $url_access_id ";
}
}
}
}
}
}
}
}
}
}