'index.php','name' => get_lang('PlatformAdmin')); $interbreadcrumb[] = array('url' => 'session_list.php','name' => get_lang('SessionList')); // Database Table Definitions $tbl_session = Database::get_main_table(TABLE_MAIN_SESSION); $tbl_session_rel_class = Database::get_main_table(TABLE_MAIN_SESSION_CLASS); $tbl_session_rel_course = Database::get_main_table(TABLE_MAIN_SESSION_COURSE); $tbl_course = Database::get_main_table(TABLE_MAIN_COURSE); $tbl_user = Database::get_main_table(TABLE_MAIN_USER); $tbl_session_rel_user = Database::get_main_table(TABLE_MAIN_SESSION_USER); $tbl_session_rel_course_rel_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER); $tbl_session_category = Database::get_main_table(TABLE_MAIN_SESSION_CATEGORY); $table_access_url_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER); $sql = 'SELECT name, nbr_courses, nbr_users, nbr_classes, DATE_FORMAT(date_start,"%d-%m-%Y") as date_start, DATE_FORMAT(date_end,"%d-%m-%Y") as date_end, lastname, firstname, username, session_admin_id, nb_days_access_before_beginning, nb_days_access_after_end, session_category_id, visibility FROM '.$tbl_session.' LEFT JOIN '.$tbl_user.' ON id_coach = user_id WHERE '.$tbl_session.'.id='.$id_session; $rs = Database::query($sql); $session = Database::store_result($rs); $session = $session[0]; $sql = 'SELECT name FROM '.$tbl_session_category.' WHERE id = "'.intval($session['session_category_id']).'"'; $rs = Database::query($sql); $session_category = ''; if (Database::num_rows($rs)>0) { $rows_session_category = Database::store_result($rs); $rows_session_category = $rows_session_category[0]; $session_category = $rows_session_category['name']; } $action = isset($_GET['action']) ? $_GET['action'] : null; $url_id = api_get_current_access_url_id(); switch ($action) { case 'move_up': SessionManager::moveUp($id_session, $_GET['course_code']); header('Location: resume_session.php?id_session='.$id_session); exit; break; case 'move_down': SessionManager::moveDown($id_session, $_GET['course_code']); header('Location: resume_session.php?id_session='.$id_session); exit; break; case 'add_user_to_url': $user_id = $_REQUEST['user_id']; $result = UrlManager::add_user_to_url($user_id, $url_id); $user_info = api_get_user_info($user_id); if ($result) { $message = Display::return_message( get_lang('UserAdded').' '.api_get_person_name($user_info['firstname'], $user_info['lastname']), 'confirm' ); } break; case 'delete': // Delete course from session. $idChecked = isset($_GET['idChecked']) ? $_GET['idChecked'] : null; if (is_array($idChecked)) { $usersToDelete = array(); foreach ($idChecked as $courseCode) { // forcing the escape_string $courseInfo = api_get_course_info($courseCode); SessionManager::unsubscribe_course_from_session( $id_session, $courseInfo['real_id'] ); } } if (!empty($_GET['class'])) { Database::query("DELETE FROM $tbl_session_rel_class WHERE session_id='$id_session' AND class_id=".Database::escape_string($_GET['class'])); $nbr_affected_rows=Database::affected_rows(); Database::query("UPDATE $tbl_session SET nbr_classes=nbr_classes-$nbr_affected_rows WHERE id='$id_session'"); } if (!empty($_GET['user'])) { SessionManager::unsubscribe_user_from_session( $id_session, $_GET['user'] ); } break; } Display::display_header($tool_name); if (!empty($_GET['warn'])) { Display::display_warning_message(urldecode($_GET['warn'])); } if (!empty($message)) { echo $message; } echo Display::page_header( Display::return_icon('session.png', get_lang('Session')).' '.$session['name'] ); $url = Display::url( Display::return_icon('edit.png', get_lang('Edit'), array(), ICON_SIZE_SMALL), "session_edit.php?page=resume_session.php&id=$id_session" ); echo Display::page_subheader(get_lang('GeneralProperties').$url); ?> '; echo ''; } if (SessionManager::durationPerUserIsEnabled()) { $sessionInfo = api_get_session_info($id_session); echo ''; echo ''; } ?>
:
:
:
:
:
'; echo 'URL'; echo ''; $url_list = UrlManager::get_access_url_from_session($id_session); foreach ($url_list as $url_data) { echo $url_data['url'].'
'; } echo '
'; echo get_lang('Duration'); echo ''; echo $sessionInfo['duration'].' '; echo get_lang('Days'); echo '

'; } else { // select the courses $orderBy = "ORDER BY title"; if (SessionManager::orderCourseIsEnabled()) { $orderBy = "ORDER BY position"; } $sql = "SELECT code,title,visual_code, nbr_users FROM $tbl_course, $tbl_session_rel_course WHERE course_code = code AND id_session='$id_session' $orderBy"; $result = Database::query($sql); $courses = Database::store_result($result); $count = 0; foreach ($courses as $course) { //select the number of users $sql = "SELECT count(*) FROM $tbl_session_rel_user sru, $tbl_session_rel_course_rel_user srcru WHERE srcru.id_user = sru.id_user AND srcru.id_session = sru.id_session AND srcru.course_code = '".Database::escape_string($course['code'])."' AND sru.relation_type <> ".SESSION_RELATION_TYPE_RRHH." AND srcru.id_session = '".intval($id_session)."'"; $rs = Database::query($sql); $course['nbr_users'] = Database::result($rs, 0, 0); // Get coachs of the courses in session $sql = "SELECT user.lastname,user.firstname,user.username FROM $tbl_session_rel_course_rel_user session_rcru, $tbl_user user WHERE session_rcru.id_user = user.user_id AND session_rcru.id_session = '".intval($id_session)."' AND session_rcru.course_code ='".Database::escape_string($course['code'])."' AND session_rcru.status=2"; $rs = Database::query($sql); $coachs = array(); if (Database::num_rows($rs) > 0) { while($info_coach = Database::fetch_array($rs)) { $coachs[] = api_get_person_name($info_coach['firstname'], $info_coach['lastname']).' ('.$info_coach['username'].')'; } } else { $coach = get_lang('None'); } if (count($coachs) > 0) { $coach = implode('
',$coachs); } else { $coach = get_lang('None'); } $orderButtons = null; if (SessionManager::orderCourseIsEnabled()) { $upIcon = 'up.png'; $urlUp = api_get_self().'?id_session='.$id_session.'&course_code='.$course['code'].'&action=move_up'; if ($count == 0) { $upIcon = 'up_na.png'; $urlUp = '#'; } $orderButtons = Display::url( Display::return_icon($upIcon, get_lang('MoveUp')), $urlUp ); $downIcon = 'down.png'; $downUrl = api_get_self().'?id_session='.$id_session.'&course_code='.$course['code'].'&action=move_down'; if ($count +1 == count($courses)) { $downIcon = 'down_na.png'; $downUrl = '#'; } $orderButtons .= Display::url( Display::return_icon($downIcon, get_lang('MoveDown')), $downUrl ); } $orig_param = '&origin=resume_session'; //hide_course_breadcrumb the parameter has been added to hide the name of the course, that appeared in the default $interbreadcrumb echo ' '; $count++; } } ?>
'.get_lang('NoCoursesForThisSession').'
'.Display::url($course['title'].' ('.$course['visual_code'].')', api_get_path(WEB_COURSE_PATH).$course['code'].'/?id_session='.$id_session),' '.$coach.' '.$course['nbr_users'].' '.Display::return_icon('course_home.gif', get_lang('Course')).' '.$orderButtons.' '.Display::return_icon('user.png', get_lang('Edit'), '', ICON_SIZE_SMALL).' '.Display::return_icon('import_csv.png', get_lang('ImportUsersToACourse'), null, ICON_SIZE_SMALL).' '.Display::return_icon('statistics.gif', get_lang('Tracking')).'  '.Display::return_icon('edit.png', get_lang('Edit'), '', ICON_SIZE_SMALL).' '.Display::return_icon('delete.png', get_lang('Delete')).'

'; } else { $order_clause = api_sort_by_first_name() ? ' ORDER BY firstname, lastname' : ' ORDER BY lastname, firstname'; if ($multiple_url_is_on) { $sql = "SELECT u.user_id, lastname, firstname, username, access_url_id FROM $tbl_user u INNER JOIN $tbl_session_rel_user su ON u.user_id = su.id_user AND su.relation_type<>".SESSION_RELATION_TYPE_RRHH." LEFT OUTER JOIN $table_access_url_user uu ON (uu.user_id = u.user_id) WHERE su.id_session = $id_session AND (access_url_id = $url_id OR access_url_id is null ) $order_clause"; } else { $sql = "SELECT u.user_id, lastname, firstname, username FROM $tbl_user u INNER JOIN $tbl_session_rel_user su ON u.user_id = su.id_user AND su.relation_type<>".SESSION_RELATION_TYPE_RRHH." AND su.id_session = ".$id_session.$order_clause; } $result = Database::query($sql); $users = Database::store_result($result); $orig_param = '&origin=resume_session&id_session='.$id_session; // change breadcrumb in destination page foreach ($users as $user){ $user_link = ''; if (!empty($user['user_id'])) { $user_link = ''.api_htmlentities(api_get_person_name($user['firstname'], $user['lastname']),ENT_QUOTES,$charset).' ('.$user['username'].')'; } $link_to_add_user_in_url = ''; if ($multiple_url_is_on) { if ($user['access_url_id'] != $url_id) { $user_link .= ' '.Display::return_icon('warning.png', get_lang('UserNotAddedInURL'), array(), ICON_SIZE_SMALL); $add = Display::return_icon('add.png', get_lang('AddUsersToURL'), array(), ICON_SIZE_SMALL); $link_to_add_user_in_url = ''.$add.''; } } $editUrl = null; if (SessionManager::durationPerUserIsEnabled()) { if (isset($sessionInfo['duration']) && !empty($sessionInfo['duration'])) { $editUrl = api_get_path(WEB_CODE_PATH) . 'admin/session_user_edit.php?session_id=' . $id_session . '&user_id=' . $user['user_id']; $editUrl = Display::url( Display::return_icon('agenda.png', get_lang('SessionDurationEdit')), $editUrl ); } } echo ''; } } ?>
'.get_lang('NoUsersForThisSession').'
'.$user_link.' '.$editUrl.' '.Display::return_icon('statistics.gif', get_lang('Reporting')).'  '.Display::return_icon('course.gif', get_lang('BlockCoursesForThisUser')).'  '.Display::return_icon('delete.png', get_lang('Delete')).' '.$link_to_add_user_in_url.'