Fixing function UserManager::get_personal_session_course_list due some changes in task BT#3211

skala
Julio Montoya 14 years ago
parent f8389db6e8
commit 1fe811a0de
  1. 10
      main/admin/user_list.php
  2. 17
      main/inc/lib/social.lib.php
  3. 73
      main/inc/lib/usermanager.lib.php
  4. 7
      main/social/profile.php

@ -162,15 +162,11 @@ function courses_of_user($arg) {
//$newContent = 'werkt het? en met een beetje meer text, wordt dat goed opgelost? '; //$newContent = 'werkt het? en met een beetje meer text, wordt dat goed opgelost? ';
$personal_course_list = UserManager::get_personal_session_course_list($arg); $personal_course_list = UserManager::get_personal_session_course_list($arg);
$newContent = ''; $newContent = '';
if(count($personal_course_list)>0) if(count($personal_course_list)>0) {
{ foreach ($personal_course_list as $key=>$course) {
foreach ($personal_course_list as $key=>$course)
{
$newContent .= $course['i'].'<br />'; $newContent .= $course['i'].'<br />';
} }
} } else {
else
{
$newContent .= '- '.get_lang('None').' -<br />'; $newContent .= '- '.get_lang('None').' -<br />';
} }
$newContent = api_convert_encoding($newContent,'utf-8',api_get_system_encoding()); $newContent = api_convert_encoding($newContent,'utf-8',api_get_system_encoding());

@ -400,11 +400,12 @@ class SocialManager extends UserManager {
$tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION); $tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION);
$user_id = api_get_user_id(); $user_id = api_get_user_id();
$course_system_code = $my_course['k'];
$course_visual_code = $my_course['c']; $course_system_code = $my_course['k'];
$course_title = $my_course['i']; $course_visual_code = $my_course['c'];
$course_directory = $my_course['d']; $course_title = $my_course['i'];
$course_teacher = $my_course['t']; $course_directory = $my_course['d'];
$course_teacher = $my_course['t'];
$course_teacher_email = isset($my_course['email'])?$my_course['email']:''; $course_teacher_email = isset($my_course['email'])?$my_course['email']:'';
$course_info = Database :: get_course_info($course_system_code); $course_info = Database :: get_course_info($course_system_code);
@ -437,6 +438,8 @@ class SocialManager extends UserManager {
$course_display_title = $course_title; $course_display_title = $course_title;
$course_display_code = $course_visual_code; $course_display_code = $course_visual_code;
} }
/*
$s_course_status=$my_course['s']; $s_course_status=$my_course['s'];
$s_htlm_status_icon=""; $s_htlm_status_icon="";
@ -448,7 +451,7 @@ class SocialManager extends UserManager {
} }
if ($s_course_status==5) { if ($s_course_status==5) {
$s_htlm_status_icon = Display::return_icon('course.gif', get_lang('Course')).' '.Display::return_icon('students.gif', get_lang('Status').': '.get_lang('Student'),array('style'=>'width:11px; height:11px')); $s_htlm_status_icon = Display::return_icon('course.gif', get_lang('Course')).' '.Display::return_icon('students.gif', get_lang('Status').': '.get_lang('Student'),array('style'=>'width:11px; height:11px'));
} }*/
$s_htlm_status_icon = Display::return_icon('course.gif', get_lang('Course')); $s_htlm_status_icon = Display::return_icon('course.gif', get_lang('Course'));
@ -720,7 +723,7 @@ class SocialManager extends UserManager {
foreach ($personal_course_list as $my_course) { foreach ($personal_course_list as $my_course) {
if ($i<=10) { if ($i<=10) {
$list[] = SocialManager::get_logged_user_course_html($my_course,$i); $list[] = SocialManager::get_logged_user_course_html($my_course,$i);
$course_list_code[] = array('code'=>$my_course['c'],'dbName'=>$my_course['db']); $course_list_code[] = array('code'=>$my_course['k']);
} else { } else {
break; break;
} }

@ -1830,7 +1830,7 @@ class UserManager {
*/ */
public static function get_personal_session_course_list($user_id) { public static function get_personal_session_course_list($user_id) {
// Database Table Definitions // Database Table Definitions
$tbl_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER); $tbl_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
$tbl_course = Database :: get_main_table(TABLE_MAIN_COURSE); $tbl_course = Database :: get_main_table(TABLE_MAIN_COURSE);
$tbl_user = Database :: get_main_table(TABLE_MAIN_USER); $tbl_user = Database :: get_main_table(TABLE_MAIN_USER);
$tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION); $tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION);
@ -1867,15 +1867,17 @@ class UserManager {
$tbl_user_course_category = Database :: get_user_personal_table(TABLE_USER_COURSE_CATEGORY); $tbl_user_course_category = Database :: get_user_personal_table(TABLE_USER_COURSE_CATEGORY);
$personal_course_list_sql = "SELECT course.code k, course.directory d, course.visual_code c, course.db_name db, course.title i, course.tutor_name t, course.course_language l, course_rel_user.status s, course_rel_user.sort sort, course_rel_user.user_course_cat user_course_cat $personal_course_list_sql = "SELECT course.code k, course.directory d, course.visual_code c, course.db_name db, course.title i, course.tutor_name t,
FROM ".$tbl_course_user." course_rel_user course.course_language l, course_rel_user.status s, course_rel_user.sort sort, course_rel_user.user_course_cat user_course_cat
LEFT JOIN ".$tbl_course." course FROM ".$tbl_course_user." course_rel_user
ON course.code = course_rel_user.course_code LEFT JOIN ".$tbl_course." course
LEFT JOIN ".$tbl_user_course_category." user_course_category ON course.code = course_rel_user.course_code
ON course_rel_user.user_course_cat = user_course_category.id LEFT JOIN ".$tbl_user_course_category." user_course_category
$join_access_url ON course_rel_user.user_course_cat = user_course_category.id
WHERE course_rel_user.user_id = '".$user_id."' AND course_rel_user.relation_type<>".COURSE_RELATION_TYPE_RRHH." $where_access_url $join_access_url
ORDER BY user_course_category.sort, course_rel_user.sort, course.title ASC"; WHERE course_rel_user.user_id = '".$user_id."' AND
course_rel_user.relation_type<>".COURSE_RELATION_TYPE_RRHH." $where_access_url
ORDER BY user_course_category.sort, course_rel_user.sort, course.title ASC";
$course_list_sql_result = Database::query($personal_course_list_sql); $course_list_sql_result = Database::query($personal_course_list_sql);
@ -1888,10 +1890,10 @@ class UserManager {
// get the list of sessions where the user is subscribed as student // get the list of sessions where the user is subscribed as student
$sessions_sql = "SELECT DISTINCT id, name, date_start, date_end $sessions_sql = "SELECT DISTINCT id, name, date_start, date_end
FROM $tbl_session_user, $tbl_session FROM $tbl_session_user, $tbl_session
WHERE id_session=id AND id_user=$user_id AND relation_type<>".SESSION_RELATION_TYPE_RRHH." WHERE id_session=id AND id_user=$user_id AND relation_type<>".SESSION_RELATION_TYPE_RRHH."
AND (date_start <= CURDATE() AND date_end >= CURDATE() OR date_start='0000-00-00') AND (date_start <= CURDATE() AND date_end >= CURDATE() OR date_start='0000-00-00')
ORDER BY date_start, date_end, name"; ORDER BY date_start, date_end, name";
$result = Database::query($sessions_sql); $result = Database::query($sessions_sql);
$sessions=Database::store_result($result); $sessions=Database::store_result($result);
$sessions = array_merge($sessions , Database::store_result($result)); $sessions = array_merge($sessions , Database::store_result($result));
@ -1900,24 +1902,26 @@ class UserManager {
// get the list of sessions where the user is subscribed as student where visibility = SESSION_VISIBLE_READ_ONLY = 1 SESSION_VISIBLE = 2 // get the list of sessions where the user is subscribed as student where visibility = SESSION_VISIBLE_READ_ONLY = 1 SESSION_VISIBLE = 2
$sessions_out_date_sql = "SELECT DISTINCT id, name, date_start, date_end $sessions_out_date_sql = "SELECT DISTINCT id, name, date_start, date_end
FROM $tbl_session_user, $tbl_session FROM $tbl_session_user, $tbl_session
WHERE id_session=id AND id_user=$user_id AND relation_type<>".SESSION_RELATION_TYPE_RRHH." WHERE
AND (date_end <= CURDATE() AND date_end<>'0000-00-00') AND (visibility = ".SESSION_VISIBLE_READ_ONLY." || visibility = ".SESSION_VISIBLE.") id_session=id AND id_user=$user_id AND
relation_type<>".SESSION_RELATION_TYPE_RRHH." AND
(date_end <= CURDATE() AND date_end<>'0000-00-00') AND (visibility = ".SESSION_VISIBLE_READ_ONLY." || visibility = ".SESSION_VISIBLE.")
ORDER BY date_start, date_end, name"; ORDER BY date_start, date_end, name";
$result_out_date = Database::query($sessions_out_date_sql); $result_out_date = Database::query($sessions_out_date_sql);
$sessions_out_date=Database::store_result($result_out_date); $sessions_out_date=Database::store_result($result_out_date);
$sessions = array_merge($sessions , $sessions_out_date); $sessions = array_merge($sessions , $sessions_out_date);
// get the list of sessions where the user is subscribed as coach in a course // get the list of sessions where the user is subscribed as coach in a course
$sessions_sql = "SELECT DISTINCT id, name, date_start, date_end, DATE_SUB(date_start, INTERVAL nb_days_access_before_beginning DAY), ADDDATE(date_end, INTERVAL nb_days_access_after_end DAY) $sessions_sql = "SELECT DISTINCT id, name, date_start, date_end, DATE_SUB(date_start, INTERVAL nb_days_access_before_beginning DAY), ADDDATE(date_end, INTERVAL nb_days_access_after_end DAY)
FROM $tbl_session as session FROM $tbl_session as session
INNER JOIN $tbl_session_course_user as session_rel_course_user INNER JOIN $tbl_session_course_user as session_rel_course_user
ON session_rel_course_user.id_session = session.id ON session_rel_course_user.id_session = session.id
AND session_rel_course_user.id_user = $user_id AND session_rel_course_user.status = 2 AND session_rel_course_user.id_user = $user_id AND session_rel_course_user.status = 2
WHERE (CURDATE() >= DATE_SUB(date_start, INTERVAL nb_days_access_before_beginning DAY) WHERE (
AND CURDATE() <= ADDDATE(date_end, INTERVAL nb_days_access_after_end DAY) CURDATE() >= DATE_SUB(date_start, INTERVAL nb_days_access_before_beginning DAY) AND
OR date_start='0000-00-00') CURDATE() <= ADDDATE(date_end, INTERVAL nb_days_access_after_end DAY) OR
date_start='0000-00-00'
)
ORDER BY date_start, date_end, name"; ORDER BY date_start, date_end, name";
$result = Database::query($sessions_sql); $result = Database::query($sessions_sql);
@ -1941,8 +1945,9 @@ class UserManager {
if (api_is_allowed_to_create_course()) { if (api_is_allowed_to_create_course()) {
foreach($sessions as $enreg) { foreach($sessions as $enreg) {
$id_session = $enreg['id']; $id_session = $enreg['id'];
$personal_course_list_sql = "SELECT DISTINCT course.code k, course.directory d, course.visual_code c, course.db_name db, course.title i, ".(api_is_western_name_order() ? "CONCAT(user.firstname,' ',user.lastname)" : "CONCAT(user.lastname,' ',user.firstname)")." t, email, course.course_language l, 1 sort, category_code user_course_cat, date_start, date_end, " . $personal_course_list_sql = "SELECT DISTINCT course.code k, course.directory d, course.visual_code c, course.db_name db, course.title i,
"session.id as id_session, session.name as session_name ".(api_is_western_name_order() ? "CONCAT(user.firstname,' ',user.lastname)" : "CONCAT(user.lastname,' ',user.firstname)")." t, email, course.course_language l, 1 sort,
category_code user_course_cat, date_start, date_end, session.id as id_session, session.name as session_name
FROM $tbl_session_course_user as session_course_user FROM $tbl_session_course_user as session_course_user
INNER JOIN $tbl_course AS course INNER JOIN $tbl_course AS course
ON course.code = session_course_user.course_code ON course.code = session_course_user.course_code
@ -1956,8 +1961,7 @@ class UserManager {
$course_list_sql_result = Database::query($personal_course_list_sql); $course_list_sql_result = Database::query($personal_course_list_sql);
while ($result_row = Database::fetch_array($course_list_sql_result)) { while ($result_row = Database::fetch_array($course_list_sql_result)) {
$result_row['s'] = 2;
$key = $result_row['id_session'].' - '.$result_row['k']; $key = $result_row['id_session'].' - '.$result_row['k'];
$personal_course_list[$key] = $result_row; $personal_course_list[$key] = $result_row;
} }
@ -1966,22 +1970,9 @@ class UserManager {
foreach ($sessions as $enreg) { foreach ($sessions as $enreg) {
$id_session = $enreg['id']; $id_session = $enreg['id'];
/*$personal_course_list_sql = "SELECT DISTINCT course.code k, course.directory d, course.visual_code c, course.db_name db, course.title i, CONCAT(user.lastname,' ',user.firstname) t, email, course.course_language l, 1 sort, category_code user_course_cat, date_start, date_end, session.id as id_session, session.name as session_name, IF(session_course.id_coach = ".$user_id.",'2', '5')
FROM $tbl_session_course as session_course
INNER JOIN $tbl_course AS course
ON course.code = session_course.course_code
LEFT JOIN $tbl_user as user
ON user.user_id = session_course.id_coach
INNER JOIN $tbl_session_course_user
ON $tbl_session_course_user.id_session = $id_session
AND $tbl_session_course_user.id_user = $user_id
INNER JOIN $tbl_session as session
ON session_course.id_session = session.id
WHERE session_course.id_session = $id_session
ORDER BY i";
*/
// this query is very similar to the above query, but it will check the session_rel_course_user table if there are courses registered to our user or not // this query is very similar to the above query, but it will check the session_rel_course_user table if there are courses registered to our user or not
$personal_course_list_sql = "SELECT distinct course.code k, course.directory d, course.visual_code c, course.db_name db, course.title i, CONCAT(user.lastname,' ',user.firstname) t, email, course.course_language l, 1 sort, category_code user_course_cat, date_start, date_end, session.id as id_session, session.name as session_name, " . $personal_course_list_sql = "SELECT distinct course.code k, course.directory d, course.visual_code c, course.db_name db, course.title i, CONCAT(user.lastname,' ',user.firstname) t, email,
course.course_language l, 1 sort, category_code user_course_cat, date_start, date_end, session.id as id_session, session.name as session_name, " .
"IF((session_course_user.id_user = 3 AND session_course_user.status=2),'2', '5') "IF((session_course_user.id_user = 3 AND session_course_user.status=2),'2', '5')
FROM $tbl_session_course_user as session_course_user FROM $tbl_session_course_user as session_course_user
INNER JOIN $tbl_course AS course INNER JOIN $tbl_course AS course
@ -1994,8 +1985,6 @@ class UserManager {
while ($result_row = Database::fetch_array($course_list_sql_result)) { while ($result_row = Database::fetch_array($course_list_sql_result)) {
$key = $result_row['id_session'].' - '.$result_row['k']; $key = $result_row['id_session'].' - '.$result_row['k'];
$result_row['s'] = $result_row['14'];
if (!isset($personal_course_list[$key])) { if (!isset($personal_course_list[$key])) {
$personal_course_list[$key] = $result_row; $personal_course_list[$key] = $result_row;
} }

@ -213,13 +213,12 @@ $my_user_id=isset($_GET['u']) ? Security::remove_XSS($_GET['u']) : api_get_user_
$personal_course_list = UserManager::get_personal_session_course_list($my_user_id); $personal_course_list = UserManager::get_personal_session_course_list($my_user_id);
$course_list_code = array(); $course_list_code = array();
$i=1; $i=1;
//print_r($personal_course_list);
if (is_array($personal_course_list)) { if (is_array($personal_course_list)) {
foreach ($personal_course_list as $my_course) { foreach ($personal_course_list as $my_course) {
if ($i<=10) { if ($i<=10) {
$list[] = SocialManager::get_logged_user_course_html($my_course,$i); $list[] = SocialManager::get_logged_user_course_html($my_course, $i);
$course_list_code[] = array('code'=>$my_course['c'],'dbName'=>$my_course['db']); $course_list_code[] = array('code'=>$my_course['k']);
} else { } else {
break; break;
} }
@ -536,7 +535,7 @@ if ($show_full_profile) {
$file_list = ''; $file_list = '';
if (is_array($course_list_code) && count($course_list_code)>0) { if (is_array($course_list_code) && count($course_list_code)>0) {
foreach ($course_list_code as $course) { foreach ($course_list_code as $course) {
$file_list.= UserManager::get_user_upload_files_by_course($user_id,$course['code'],$resourcetype='images'); $file_list.= UserManager::get_user_upload_files_by_course($user_id, $course['code'], $resourcetype='images');
} }
} }

Loading…
Cancel
Save