'index.php', "name" => get_lang('PlatformAdmin')); $interbreadcrumb[] = array ("url" => 'user_list.php', "name" => get_lang('UserList')); if( ! isset($_GET['user_id'])) { api_not_allowed(); } $user = api_get_user_info($_GET['user_id']); $tool_name = $user['firstName'].' '.$user['lastName'].(empty($user['official_code'])?'':' ('.$user['official_code'].')'); Display::display_header($tool_name); $table_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER); $table_course = Database :: get_main_table(TABLE_MAIN_COURSE); if( isset($_GET['action']) ) { switch($_GET['action']) { case 'unsubscribe': if( CourseManager::get_user_in_course_status($_GET['user_id'],$_GET['course_code']) == STUDENT) { CourseManager::unsubscribe_user($_GET['user_id'],$_GET['course_code']); Display::display_normal_message(get_lang('UserUnsubscribed')); } else { Display::display_error_message(get_lang('CannotUnsubscribeUserFromCourse')); } break; } } api_display_tool_title($tool_name); echo '
'."\n"; if ($user['picture_uri'] != '') { echo ''; } echo ''. ($user['status'] == 1 ? get_lang('Teacher') : get_lang('Student')).'
'; echo ''.Display :: encrypted_mailto_link($user['mail'], $user['mail']).'
'; /** * Show the sessions and the courses in wich this user is subscribed */ echo ''.get_lang('SessionList').'
'; echo ''; $main_user_table = Database :: get_main_table(TABLE_MAIN_USER); $main_course_table = Database :: get_main_table(TABLE_MAIN_COURSE); $main_course_user_table = Database :: get_main_table(TABLE_MAIN_COURSE_USER); $tbl_session_course = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE); $tbl_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER); $tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION); $tbl_course = Database :: get_main_table(TABLE_MAIN_COURSE); $tbl_user = Database :: get_main_table(TABLE_MAIN_USER); $user_id = $user['user_id']; $result=api_sql_query("SELECT DISTINCT id, name, date_start, date_end FROM session_rel_user, session WHERE id_session=id AND id_user=$user_id AND (date_start <= NOW() AND date_end >= NOW() OR date_start='0000-00-00') ORDER BY date_start, date_end, name",__FILE__,__LINE__); $sessions=api_store_result($result); // get the list of sessions where the user is subscribed as coach in a course $result=api_sql_query("SELECT DISTINCT id, name, date_start, date_end FROM $tbl_session as session INNER JOIN $tbl_session_course as session_rel_course ON session_rel_course.id_coach = $user_id AND (date_start <= NOW() AND date_end >= NOW() OR date_start='0000-00-00') ORDER BY date_start, date_end, name",__FILE__,__LINE__); $session_is_coach = api_store_result($result); $personal_course_list = array(); if(count($sessions)>0){ $header[] = array (get_lang('Code'), true); $header[] = array (get_lang('Title'), true); $header[] = array (get_lang('Status'), true); $header[] = array ('', false); foreach($sessions as $enreg){ $data = array (); $personal_course_list = array(); $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"; $course_list_sql_result = api_sql_query($personal_course_list_sql, __FILE__, __LINE__); while ($result_row = Database::_fetch_array($course_list_sql_result)){ $key = $result_row['id_session'].' - '.$result_row['k']; $result_row['s'] = $result_row['14']; if(!isset($personal_course_list[$key])){ $personal_course_list[$key] = $result_row; } } foreach ($personal_course_list as $my_course){ $row = array (); $row[] = $my_course['k']; $row[] = $my_course['i']; $row[] = $my_course['s'] == STUDENT ? get_lang('Student') : get_lang('Teacher'); $tools = ''.Display::return_icon('synthese_view.gif').''. ''.Display::return_icon('course_home.gif').'' . ''.Display::return_icon('edit.gif', get_lang('Edit')).''; if( $my_course->status == STUDENT ){ $tools .= ''.Display::return_icon('delete.gif', get_lang('Delete')).''; } $row[] = $tools; $data[] = $row; } echo $enreg['name']; Display :: display_sortable_table($header, $data, array (), array (), array ('user_id' => $_GET['user_id'])); echo ''; /** * Show the courses in which this user is subscribed */ $sql = 'SELECT * FROM '.$table_course_user.' cu, '.$table_course.' c WHERE cu.user_id = '.$user['user_id'].' AND cu.course_code = c.code'; $res = api_sql_query($sql,__FILE__,__LINE__); if (Database::num_rows($res) > 0) { $header=array(); $header[] = array (get_lang('Code'), true); $header[] = array (get_lang('Title'), true); $header[] = array (get_lang('Status'), true); $header[] = array ('', false); $data = array (); while ($course = mysql_fetch_object($res)) { $row = array (); $row[] = $course->code; $row[] = $course->title; $row[] = $course->status == STUDENT ? get_lang('Student') : get_lang('Teacher'); $tools = ''.Display::return_icon('synthese_view.gif').''. ''.Display::return_icon('course_home.gif').'' . ''.Display::return_icon('edit.gif', get_lang('Edit')).''; if( $course->status == STUDENT ) { $tools .= ''.Display::return_icon('delete.gif', get_lang('Delete')).''; } $row[] = $tools; $data[] = $row; } echo '
'; } } else{ echo ''.get_lang('NoSessionsForThisUser').'
'; } echo '
'.get_lang('Courses').'
'; echo ''; Display :: display_sortable_table($header, $data, array (), array (), array ('user_id' => $_GET['user_id'])); echo ''; } else { echo '
'.get_lang('NoCoursesForThisUser').'
'; } /** * Show the classes in which this user is subscribed */ $table_class_user = Database :: get_main_table(TABLE_MAIN_CLASS_USER); $table_class = Database :: get_main_table(TABLE_MAIN_CLASS); $sql = 'SELECT * FROM '.$table_class_user.' cu, '.$table_class.' c WHERE cu.user_id = '.$user['user_id'].' AND cu.class_id = c.id'; $res = api_sql_query($sql,__FILE__,__LINE__); if (Database::num_rows($res) > 0) { $header = array(); $header[] = array (get_lang('ClassName'), true); $header[] = array ('', false); $data = array (); while ($class = mysql_fetch_object($res)) { $row = array(); $row[] = $class->name; $row[] = ''.Display::return_icon('synthese_view.gif').''; $data[] = $row; } echo ''.get_lang('Classes').'
'; echo ''; Display :: display_sortable_table($header, $data, array (), array (), array ('user_id' => $_GET['user_id'])); echo ''; } else { echo '
'.get_lang('NoClassesForThisUser').'
'; } /** * Show the URL in which this user is subscribed */ global $_configuration; if ($_configuration['multiple_access_urls']==true) { require_once(api_get_path(LIBRARY_PATH).'urlmanager.lib.php'); $url_list= UrlManager::get_access_url_from_user($user['user_id']); if (count($url_list) > 0) { $header = array(); $header[] = array (get_lang('URL'), true); $data = array (); foreach ($url_list as $url) { $row = array(); $row[] = $url['url']; $data[] = $row; } echo ''.get_lang('URLList').'
'; echo ''; Display :: display_sortable_table($header, $data, array (), array (), array ('user_id' => $_GET['user_id'])); echo ''; } else { echo '
'.get_lang('NoUrlForThisUser').'
'; } } /* ============================================================================== FOOTER ============================================================================== */ Display::display_footer(); ?>