Adding multiple URL support in the course user list

skala
Julio Montoya 15 years ago
parent 10c91925b7
commit 2183cdb0b6
  1. 15
      main/inc/lib/course.lib.php
  2. 36
      main/user/user.php

@ -970,7 +970,7 @@ class CourseManager {
* @return array
*/
public static function get_user_list_from_course_code($course_code, $with_session = true, $session_id = 0, $limit = '', $order_by = '') {
global $_configuration;
// variable initialisation
$session_id = intval($session_id);
$users = array();
@ -1008,11 +1008,20 @@ class CourseManager {
AND course_rel_user.course_code="'.$course_code.'"';
$where[] = ' course_rel_user.course_code IS NOT NULL ';
}
if ($_configuration['multiple_access_urls']) {
$sql .= ' LEFT JOIN '.Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER).' au ON (au.user_id = user.user_id) ';
}
$sql .= ' WHERE '.implode(' OR ', $where);
if ($_configuration['multiple_access_urls']) {
$current_access_url_id = api_get_current_access_url_id();
$sql .= " AND (access_url_id = $current_access_url_id ) ";
}
$sql .= ' '.$order_by.' '.$limit;
$rs = Database::query($sql);
while ($user = Database::fetch_array($rs)) {

@ -41,6 +41,8 @@ require_once api_get_path(LIBRARY_PATH).'formvalidator/FormValidator.class.php';
require_once api_get_path(LIBRARY_PATH).'usermanager.lib.php';
require_once api_get_path(LIBRARY_PATH).'groupmanager.lib.php';
global $_configuration;
//CHECK KEYS
if (!isset ($_cid)) {
header('location: '.api_get_path(WEB_PATH));
@ -91,20 +93,34 @@ if (api_is_allowed_to_edit(null, true)) {
$data = array();
$a_users = array();
if ($_configuration['multiple_access_urls']) {
$current_access_url_id = api_get_current_access_url_id();
}
// users subscribed to the course through a session
if (api_get_setting('use_session_mode') == 'true') {
$session_id = intval($_SESSION['id_session']);
$table_session_course_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$sql_query = "SELECT DISTINCT user.user_id, ".($is_western_name_order ? "user.firstname, user.lastname" : "user.lastname, user.firstname").", user.email, user.official_code
FROM $table_session_course_user as session_course_user, $table_users as user
WHERE `course_code` = '$currentCourseID' AND session_course_user.id_user = user.user_id ";
FROM $table_session_course_user as session_course_user, $table_users as user ";
if ($_configuration['multiple_access_urls']) {
$sql_query .= ' , '.Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER).' au ';
}
$sql_query .="WHERE course_code = '$currentCourseID' AND session_course_user.id_user = user.user_id ";
if ($session_id != 0) {
$sql_query .= ' AND id_session = '.$session_id;
}
}
if ($_configuration['multiple_access_urls']) {
$sql_query .= " AND user.user_id = au.user_id AND access_url_id = $current_access_url_id ";
}
$sql_query .= $sort_by_first_name ? ' ORDER BY user.firstname, user.lastname' : ' ORDER BY user.lastname, user.firstname';
$rs = Database::query($sql_query);
while ($user = Database:: fetch_array($rs, 'ASSOC')) {
$data[] = $user;
//$user_infos = Database :: get_user_info_from_id($user['user_id']);
@ -116,7 +132,17 @@ if (api_is_allowed_to_edit(null, true)) {
// users directly subscribed to the course
$table_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
$sql_query = "SELECT DISTINCT user.user_id, ".($is_western_name_order ? "user.firstname, user.lastname" : "user.lastname, user.firstname").", user.email, user.official_code
FROM $table_course_user as course_user, $table_users as user WHERE `course_code` = '$currentCourseID' AND course_user.relation_type<>".COURSE_RELATION_TYPE_RRHH." AND course_user.user_id = user.user_id ".($sort_by_first_name ? "ORDER BY user.firstname, user.lastname" : "ORDER BY user.lastname, user.firstname");
FROM $table_course_user as course_user, $table_users as user";
if ($_configuration['multiple_access_urls']) {
$sql_query .= ' , '.Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER).' au ';
}
$sql_query .= "WHERE course_code = '$currentCourseID' AND course_user.relation_type<>".COURSE_RELATION_TYPE_RRHH." AND course_user.user_id = user.user_id ";
if ($_configuration['multiple_access_urls']) {
$sql_query .= " AND user.user_id = au.user_id AND access_url_id = $current_access_url_id ";
}
$sql_query .= ($sort_by_first_name ? "ORDER BY user.firstname, user.lastname" : "ORDER BY user.lastname, user.firstname");
$rs = Database::query($sql_query);
while ($user = Database::fetch_array($rs, 'ASSOC')) {
$data[] = $user;

Loading…
Cancel
Save