'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['complete_name'].(empty($user['official_code'])?'':' ('.$user['official_code'].')'); /** * Display */ 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; } } // only allow platform admins to login_as, or session admins only for students (not teachers nor other admins) $login_as_icon = null; $editUser = null; if (api_is_platform_admin()) { $login_as_icon = '' .Display::return_icon('login_as.gif', get_lang('LoginAs')).''; $editUser = Display::url( Display::return_icon( 'edit.png', get_lang('Edit'), array() ), api_get_path(WEB_CODE_PATH).'admin/user_edit.php?user_id='.$user['user_id'] ); } echo '
'.Display::return_icon('statistics.png', get_lang('Reporting'), '', ICON_SIZE_MEDIUM).' '.$login_as_icon.' '.$editUser.'
'; echo Display::page_header($tool_name); // Getting the user image $sysdir_array = UserManager::get_user_picture_path_by_id($user['user_id'], 'system', false, true); $sysdir = $sysdir_array['dir']; $webdir_array = UserManager::get_user_picture_path_by_id($user['user_id'], 'web', false, true); $webdir = $webdir_array['dir']; $fullurl = $webdir.$webdir_array['file']; $system_image_path = $sysdir.$webdir_array['file']; list($width, $height, $type, $attr) = @getimagesize($system_image_path); $resizing = (($height > 200) ? 'height="200"' : ''); $height += 30; $width += 30; $window_name = 'window'.uniqid(''); $onclick = $window_name."=window.open('".$fullurl."','".$window_name ."','alwaysRaised=yes, alwaysLowered=no,alwaysOnTop=yes,toolbar=no," ."location=no,directories=no,status=no,menubar=no,scrollbars=no," ."resizable=no,width=".$width.",height=".$height.",left=200,top=20');" ." return false;"; echo '' .''.$alt.'
'; echo '

'.($user['status'] == 1 ? get_lang('Teacher') : get_lang('Student')) .'

'; echo '

'.Display :: encrypted_mailto_link($user['mail'], $user['mail']).'

'; // Show info about who created this user and when $creatorId = $user['creator_id']; $creatorInfo = api_get_user_info($creatorId); $registrationDate = $user['registration_date']; echo '

'.sprintf(get_lang('CreatedByXYOnZ'), 'user_information.php?user_id='.$creatorId, $creatorInfo['username'], api_get_utc_datetime($registrationDate)).'

'; /** * Show the sessions and the courses in which this user is subscribed */ echo Display::page_subheader(get_lang('SessionList')); $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']; $sessions = SessionManager::get_sessions_by_user($user_id, true); $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 $session_item) { $data = array (); $personal_course_list = array(); $id_session = $session_item['session_id']; foreach ($session_item['courses'] as $my_course) { $course_info = api_get_course_info($my_course['code']); $row = array(); $row[] = $my_course['code']; $row[] = $course_info['title']; $sessionStatus = SessionManager::get_user_status_in_session($user['user_id'], $my_course['code'], $id_session); $status = null; switch($sessionStatus) { case STUDENT: $status = get_lang('Student'); break; case 2: $status = get_lang('CourseCoach'); break; } $row[] = $status; $tools = ''. Display::return_icon('synthese_view.gif', get_lang('Overview')).''. ''. Display::return_icon('course_home.gif', get_lang('CourseHomepage')).''; if ($my_course['status'] == STUDENT) { $tools .= ''. Display::return_icon('delete.png', get_lang('Delete')).''; } $row[] = $tools; $data[] = $row; } if ($session_item['date_start'] == '0000-00-00') { $session_item['date_start'] = null; } if ($session_item['date_end'] == '0000-00-00') { $session_item['date_end'] = null; } $dates = array_filter( array($session_item['date_start'], $session_item['date_end']) ); echo Display::page_subheader( ''.$session_item['session_name'].'', ' '.implode(' - ', $dates) ); Display :: display_sortable_table( $header, $data, array (), array(), array ('user_id' => intval($_GET['user_id'])) ); } } else { echo '

'.get_lang('NoSessionsForThisUser').'

'; } /** * 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 '. ' AND cu.relation_type <> '.COURSE_RELATION_TYPE_RRHH.' '; $res = Database::query($sql); 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 = Database::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', get_lang('Overview')).''. ''.Display::return_icon('course_home.gif', get_lang('CourseHomepage')).'' . ''.Display::return_icon('edit.gif', get_lang('Edit')).''; if ($course->status == STUDENT) { $tools .= ''.Display::return_icon('delete.png', get_lang('Delete')).''; } $row[] = $tools; $data[] = $row; } echo Display::page_subheader(get_lang('Courses')); Display :: display_sortable_table( $header, $data, array (), array (), array ('user_id' => intval($_GET['user_id'])) ); } else { echo '

'.get_lang('NoCoursesForThisUser').'

'; } /** * Show the URL in which this user is subscribed */ if (api_is_multiple_url_enabled()) { $url_list= UrlManager::get_access_url_from_user($user['user_id']); if (count($url_list) > 0) { $header = array(); $header[] = array ('URL', true); $data = array (); foreach ($url_list as $url) { $row = array(); $row[] = Display::url($url['url'], $url['url']); $data[] = $row; } echo '

'.get_lang('URLList').'

'; Display :: display_sortable_table( $header, $data, array (), array (), array ('user_id' => intval($_GET['user_id'])) ); } else { echo '

'.get_lang('NoUrlForThisUser').'

'; } } Display::display_footer();