|
@@ -31,14 +31,13 @@ if (!api_is_allowed_to_edit()) {
|
|
}
|
|
}
|
|
|
|
|
|
$tool_name = get_lang("SubscribeUserToCourse");
|
|
$tool_name = get_lang("SubscribeUserToCourse");
|
|
-if ($_REQUEST['type']=='teacher') {
|
|
|
|
|
|
+if (isset($_REQUEST['type']) && $_REQUEST['type']=='teacher') {
|
|
$tool_name = get_lang("SubscribeUserToCourseAsTeacher");
|
|
$tool_name = get_lang("SubscribeUserToCourseAsTeacher");
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
//extra entries in breadcrumb
|
|
//extra entries in breadcrumb
|
|
$interbreadcrumb[] = array ("url" => "user.php", "name" => get_lang("ToolUser"));
|
|
$interbreadcrumb[] = array ("url" => "user.php", "name" => get_lang("ToolUser"));
|
|
-if ($_GET['keyword']) {
|
|
|
|
|
|
+if (isset($_REQUEST['keyword']) && $_GET['keyword']) {
|
|
$interbreadcrumb[] = array ("url" => "subscribe_user.php?type=".Security::remove_XSS($_GET['type']), "name" => $tool_name);
|
|
$interbreadcrumb[] = array ("url" => "subscribe_user.php?type=".Security::remove_XSS($_GET['type']), "name" => $tool_name);
|
|
$tool_name = get_lang('SearchResults');
|
|
$tool_name = get_lang('SearchResults');
|
|
}
|
|
}
|
|
@@ -348,15 +347,15 @@ function get_number_of_users() {
|
|
$users_of_course[] = $course_user['user_id'];
|
|
$users_of_course[] = $course_user['user_id'];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- $sql .=" AND u.status <> ".ANONYMOUS." ";
|
|
|
|
|
|
+ $sql .=" AND u.status <> ".ANONYMOUS." ";
|
|
$res = Database::query($sql);
|
|
$res = Database::query($sql);
|
|
$count_user = 0;
|
|
$count_user = 0;
|
|
-
|
|
|
|
- if ($res) {
|
|
|
|
|
|
+
|
|
|
|
+ if ($res) {
|
|
$row = Database::fetch_row($res);
|
|
$row = Database::fetch_row($res);
|
|
- $count_user = $row[0];
|
|
|
|
|
|
+ $count_user = $row[0];
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
/* @todo seems not to be used
|
|
/* @todo seems not to be used
|
|
// we add 1 for every additional user (a user where the keyword matches one of the additional profile fields)
|
|
// we add 1 for every additional user (a user where the keyword matches one of the additional profile fields)
|
|
// that is not yet in the course and not yet in the search result
|
|
// that is not yet in the course and not yet in the search result
|
|
@@ -368,7 +367,7 @@ function get_number_of_users() {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
*/
|
|
*/
|
|
-
|
|
|
|
|
|
+
|
|
return $count_user;
|
|
return $count_user;
|
|
}
|
|
}
|
|
/**
|
|
/**
|
|
@@ -376,7 +375,7 @@ function get_number_of_users() {
|
|
*/
|
|
*/
|
|
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();
|
|
$url_access_id = api_get_current_access_url_id();
|
|
$course_code = api_get_course_id();
|
|
$course_code = api_get_course_id();
|
|
$session_id = api_get_session_id();
|
|
$session_id = api_get_session_id();
|
|
@@ -386,14 +385,14 @@ function get_user_data($from, $number_of_items, $column, $direction) {
|
|
$course_user_table = Database::get_main_table(TABLE_MAIN_COURSE_USER);
|
|
$course_user_table = Database::get_main_table(TABLE_MAIN_COURSE_USER);
|
|
$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);
|
|
$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();
|
|
-
|
|
|
|
|
|
+
|
|
if (api_get_setting('show_email_addresses') == 'true') {
|
|
if (api_get_setting('show_email_addresses') == 'true') {
|
|
-
|
|
|
|
|
|
+
|
|
$select_fields = "u.user_id AS col0,
|
|
$select_fields = "u.user_id AS col0,
|
|
u.official_code AS col1,
|
|
u.official_code AS col1,
|
|
".($is_western_name_order
|
|
".($is_western_name_order
|
|
@@ -411,18 +410,18 @@ function get_user_data($from, $number_of_items, $column, $direction) {
|
|
? "u.firstname AS col2,
|
|
? "u.firstname AS col2,
|
|
u.lastname AS col3,"
|
|
u.lastname AS col3,"
|
|
: "u.lastname AS col2,
|
|
: "u.lastname AS col2,
|
|
- u.firstname AS col3,")."
|
|
|
|
|
|
+ u.firstname AS col3,")."
|
|
u.active AS col4,
|
|
u.active AS col4,
|
|
u.user_id AS col5";
|
|
u.user_id AS col5";
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
|
|
+
|
|
if (isset($_REQUEST['type']) && $_REQUEST['type'] == 'teacher') {
|
|
if (isset($_REQUEST['type']) && $_REQUEST['type'] == 'teacher') {
|
|
// adding a teacher through a session
|
|
// adding a teacher through a session
|
|
if (!empty($session_id)) {
|
|
if (!empty($session_id)) {
|
|
- $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='".$course_code."' AND id_session ='".$session_id."'
|
|
|
|
|
|
+ LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user AND course_code='".$course_code."' AND id_session ='".$session_id."'
|
|
INNER JOIN $tbl_url_rel_user as url_rel_user ON (url_rel_user.user_id = u.user_id) ";
|
|
INNER JOIN $tbl_url_rel_user as url_rel_user ON (url_rel_user.user_id = u.user_id) ";
|
|
|
|
|
|
// applying the filter of the additional user profile fields
|
|
// applying the filter of the additional user profile fields
|
|
@@ -437,9 +436,9 @@ function get_user_data($from, $number_of_items, $column, $direction) {
|
|
} else {
|
|
} else {
|
|
$sql .= "WHERE cu.id_user IS NULL AND u.status=1 AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
|
|
$sql .= "WHERE cu.id_user IS NULL AND u.status=1 AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
$sql .= " AND access_url_id= $url_access_id";
|
|
$sql .= " AND access_url_id= $url_access_id";
|
|
-
|
|
|
|
|
|
+
|
|
} else {
|
|
} else {
|
|
// adding a teacher NOT through a session
|
|
// adding a teacher NOT through a session
|
|
$sql = "SELECT $select_fields
|
|
$sql = "SELECT $select_fields
|
|
@@ -460,8 +459,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 ($url_access_id !=-1) {
|
|
|
|
|
|
+ if ($_configuration['multiple_access_urls']) {
|
|
|
|
+ if ($url_access_id !=-1) {
|
|
$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='".$course_code."'
|
|
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$course_code."'
|
|
@@ -488,11 +487,11 @@ function get_user_data($from, $number_of_items, $column, $direction) {
|
|
$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='".$course_code."' AND id_session ='".$session_id."' ";
|
|
LEFT JOIN $tbl_session_rel_course_user cu ON u.user_id = cu.id_user AND course_code='".$course_code."' AND id_session ='".$session_id."' ";
|
|
-
|
|
|
|
|
|
+
|
|
if (isset($_configuration['multiple_access_urls']) && $_configuration['multiple_access_urls']) {
|
|
if (isset($_configuration['multiple_access_urls']) && $_configuration['multiple_access_urls']) {
|
|
- $sql .= " INNER JOIN $tbl_url_rel_user as url_rel_user ON (url_rel_user.user_id = u.user_id) ";
|
|
|
|
|
|
+ $sql .= " INNER JOIN $tbl_url_rel_user as url_rel_user ON (url_rel_user.user_id = u.user_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'])){
|
|
$field_identification = explode('*',$_GET['subscribe_user_filter_value']);
|
|
$field_identification = explode('*',$_GET['subscribe_user_filter_value']);
|
|
@@ -505,11 +504,11 @@ function get_user_data($from, $number_of_items, $column, $direction) {
|
|
} else {
|
|
} else {
|
|
$sql .= "WHERE cu.id_user IS NULL AND u.status<>".DRH." AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
|
|
$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']) {
|
|
if (isset($_configuration['multiple_access_urls']) && $_configuration['multiple_access_urls']) {
|
|
$sql .= "AND access_url_id = $url_access_id";
|
|
$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
|
|
@@ -527,11 +526,11 @@ 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 Chamilo access_url_id
|
|
//showing only the courses of the current Chamilo access_url_id
|
|
-
|
|
|
|
|
|
+
|
|
if (isset($_configuration['multiple_access_urls']) && $_configuration['multiple_access_urls']) {
|
|
if (isset($_configuration['multiple_access_urls']) && $_configuration['multiple_access_urls']) {
|
|
-
|
|
|
|
|
|
+
|
|
if ($url_access_id !=-1) {
|
|
if ($url_access_id !=-1) {
|
|
|
|
|
|
$sql = "SELECT $select_fields
|
|
$sql = "SELECT $select_fields
|
|
@@ -553,7 +552,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 ";
|
|
}
|
|
}
|
|
- }
|
|
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -578,8 +577,8 @@ function get_user_data($from, $number_of_items, $column, $direction) {
|
|
$users_of_course[] = $course_user['user_id'];
|
|
$users_of_course[] = $course_user['user_id'];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
- $sql .=" AND u.status != ".ANONYMOUS." ";
|
|
|
|
|
|
+
|
|
|
|
+ $sql .=" AND u.status != ".ANONYMOUS." ";
|
|
|
|
|
|
// Sorting and pagination (used by the sortable table)
|
|
// Sorting and pagination (used by the sortable table)
|
|
$sql .= " ORDER BY col$column $direction ";
|
|
$sql .= " ORDER BY col$column $direction ";
|
|
@@ -587,7 +586,7 @@ function get_user_data($from, $number_of_items, $column, $direction) {
|
|
|
|
|
|
$res = Database::query($sql);
|
|
$res = Database::query($sql);
|
|
$users = array ();
|
|
$users = array ();
|
|
- while ($user = Database::fetch_row($res)) {
|
|
|
|
|
|
+ while ($user = Database::fetch_row($res)) {
|
|
$users[] = $user;
|
|
$users[] = $user;
|
|
$_SESSION['session_user_id'][] = $user[0];
|
|
$_SESSION['session_user_id'][] = $user[0];
|
|
if ($is_western_name_order) {
|
|
if ($is_western_name_order) {
|