1.10.x
Julio Montoya 10 years ago
commit 0213d7609e
  1. 4
      main/admin/ldap_import_students_to_session.php
  2. 10
      main/admin/user_information.php
  3. 4
      main/attendance/attendance_controller.php
  4. 12
      main/inc/ajax/model.ajax.php
  5. 16
      main/inc/lib/auth.lib.php
  6. 12
      main/inc/lib/course.lib.php
  7. 22
      main/inc/lib/display.lib.php
  8. 4
      main/inc/lib/social.lib.php
  9. 14
      main/inc/lib/tracking.lib.php
  10. 44
      main/inc/lib/usermanager.lib.php
  11. 40
      main/inc/lib/userportal.lib.php
  12. 2
      main/lang/english/trad4all.inc.php
  13. 2
      main/lang/french/trad4all.inc.php
  14. 2
      main/lang/spanish/trad4all.inc.php
  15. 16
      main/mySpace/myStudents.php
  16. 12
      main/session/index.php
  17. 2
      main/session/session_category_edit.php
  18. 6
      main/session/session_category_list.php
  19. 18
      main/session/session_export.php
  20. 12
      main/session/session_import.php
  21. 4
      main/session/session_list.php
  22. 8
      main/tracking/userLog.php
  23. 8
      main/tracking/userlogCSV.php
  24. 44
      main/user/resume_session.php
  25. 4
      main/user/session_list.php
  26. 80
      main/webservices/registration.soap.php
  27. 2
      plugin/advanced_subscription/cron/notify_by_mail.php
  28. 2
      plugin/advanced_subscription/src/AdvancedSubscriptionPlugin.php
  29. 2
      plugin/advanced_subscription/src/HookAdvancedSubscription.php
  30. 4
      plugin/buycourses/src/buy_course.lib.php
  31. 10
      plugin/buycourses/src/function.php
  32. 4
      plugin/dashboard/block_session/block_session.class.php
  33. 21
      src/Chamilo/CoreBundle/Migrations/Schema/V110/Version20150528103216.php
  34. 49
      tests/main/inc/lib/sessionmanager.lib.test.php
  35. 12
      whoisonlinesession.php

@ -73,7 +73,7 @@ elseif(!empty($annee) && empty($id_session))
echo '<select name="id_session">'; echo '<select name="id_session">';
$tbl_session = Database::get_main_table(TABLE_MAIN_SESSION); $tbl_session = Database::get_main_table(TABLE_MAIN_SESSION);
$sql = "SELECT id,name,nbr_courses,date_start,date_end " . $sql = "SELECT id,name,nbr_courses,access_start_date,access_end_date " .
" FROM $tbl_session ". " FROM $tbl_session ".
" ORDER BY name"; " ORDER BY name";
$result = Database::query($sql); $result = Database::query($sql);
@ -81,7 +81,7 @@ elseif(!empty($annee) && empty($id_session))
$sessions=Database::store_result($result); $sessions=Database::store_result($result);
$nbr_results=count($sessions); $nbr_results=count($sessions);
foreach($sessions as $row) { foreach($sessions as $row) {
echo '<option value="'.$row['id'].'">'.api_htmlentities($row['name']).' ('.$row['date_start'].' - '.$row['date_end'].')</option>'; echo '<option value="'.$row['id'].'">'.api_htmlentities($row['name']).' ('.$row['access_start_date'].' - '.$row['access_end_date'].')</option>';
} }
echo '</select>'; echo '</select>';
echo '<input type="submit" value="'.get_lang('Submit').'">'; echo '<input type="submit" value="'.get_lang('Submit').'">';

@ -204,16 +204,16 @@ if (count($sessions) > 0) {
} }
} }
if ($session_item['date_start'] == '0000-00-00') { if ($session_item['access_start_date'] == '0000-00-00') {
$session_item['date_start'] = null; $session_item['access_start_date'] = null;
} }
if ($session_item['date_end'] == '0000-00-00') { if ($session_item['access_end_date'] == '0000-00-00') {
$session_item['date_end'] = null; $session_item['access_end_date'] = null;
} }
$dates = array_filter( $dates = array_filter(
array($session_item['date_start'], $session_item['date_end']) array($session_item['access_start_date'], $session_item['access_end_date'])
); );
$sessionInformation .= Display::page_subheader( $sessionInformation .= Display::page_subheader(

@ -627,8 +627,8 @@ class AttendanceController
} else { } else {
if (!empty($sessionId)) { if (!empty($sessionId)) {
$sessionInfo = api_get_session_info($sessionId); $sessionInfo = api_get_session_info($sessionId);
$startDate = $sessionInfo['date_start']; $startDate = $sessionInfo['access_start_date'];
$endDate = $sessionInfo['date_end']; $endDate = $sessionInfo['access_end_date'];
} }
} }

@ -902,12 +902,12 @@ switch ($action) {
$count_users_in_session = count(SessionManager::get_users_by_session($session['id'], 0)); $count_users_in_session = count(SessionManager::get_users_by_session($session['id'], 0));
$session_date = array(); $session_date = array();
if (!empty($session['date_start']) && $session['date_start'] != '0000-00-00') { if (!empty($session['access_start_date']) && $session['access_start_date'] != '0000-00-00') {
$session_date[] = get_lang('From').' '.api_format_date($session['date_start'], DATE_FORMAT_SHORT); $session_date[] = get_lang('From').' '.api_format_date($session['access_start_date'], DATE_FORMAT_SHORT);
} }
if (!empty($session['date_end']) && $session['date_end'] != '0000-00-00') { if (!empty($session['access_end_date']) && $session['access_end_date'] != '0000-00-00') {
$session_date[] = get_lang('Until').' '.api_format_date($session['date_end'], DATE_FORMAT_SHORT); $session_date[] = get_lang('Until').' '.api_format_date($session['access_end_date'], DATE_FORMAT_SHORT);
} }
if (empty($session_date)) { if (empty($session_date)) {
@ -958,8 +958,8 @@ switch ($action) {
'nbr_courses', 'nbr_courses',
'nbr_users', 'nbr_users',
'category_name', 'category_name',
'date_start', 'access_start_date',
'date_end', 'access_end_date',
'coach_name', 'coach_name',
'session_active', 'session_active',
'visibility' 'visibility'

@ -552,7 +552,7 @@ class Auth
$userId = api_get_user_id(); $userId = api_get_user_id();
$limitFilter = getLimitFilterFromArray($limit); $limitFilter = getLimitFilterFromArray($limit);
$sql = "SELECT s.id, s.name, s.nbr_courses, s.nbr_users, s.date_start, s.date_end, u.lastname, u.firstname, u.username, description, show_description " $sql = "SELECT s.id, s.name, s.nbr_courses, s.nbr_users, s.access_start_date, s.access_end_date, u.lastname, u.firstname, u.username, description, show_description "
. "FROM $sessionTable AS s " . "FROM $sessionTable AS s "
. "INNER JOIN $userTable AS u " . "INNER JOIN $userTable AS u "
. "ON s.id_coach = u.user_id " . "ON s.id_coach = u.user_id "
@ -561,9 +561,9 @@ class Auth
if (!is_null($date)) { if (!is_null($date)) {
$date = Database::escape_string($date); $date = Database::escape_string($date);
$sql .= "AND ('$date' BETWEEN s.date_start AND s.date_end) " $sql .= "AND ('$date' BETWEEN s.access_start_date AND s.access_end_date) "
. "OR (s.date_end = '0000-00-00') " . "OR (s.access_end_date = '0000-00-00') "
. "OR (s.date_start = '0000-00-00' AND s.date_end != '0000-00-00' AND s.date_end > '$date')"; . "OR (s.access_start_date = '0000-00-00' AND s.access_end_date != '0000-00-00' AND s.access_end_date > '$date')";
} }
// Add limit filter to do pagination // Add limit filter to do pagination
@ -598,10 +598,10 @@ class Auth
$date = Database::escape_string($date); $date = Database::escape_string($date);
$dateFilter = ''; $dateFilter = '';
if (!empty($date)) { if (!empty($date)) {
$dateFilter = ' AND ("' . $date . '" BETWEEN s.date_start AND s.date_end) ' . $dateFilter = ' AND ("' . $date . '" BETWEEN s.access_start_date AND s.access_end_date) ' .
'OR (s.date_end = "0000-00-00") ' . 'OR (s.access_end_date = "0000-00-00") ' .
'OR (s.date_start = "0000-00-00" AND ' . 'OR (s.access_start_date = "0000-00-00" AND ' .
's.date_end != "0000-00-00" AND s.date_end > "' . $date . '") '; 's.access_end_date != "0000-00-00" AND s.access_end_date > "' . $date . '") ';
} }
$sql = "SELECT COUNT(*) FROM $sessionTable s WHERE 1 = 1 $dateFilter"; $sql = "SELECT COUNT(*) FROM $sessionTable s WHERE 1 = 1 $dateFilter";
$res = Database::query($sql); $res = Database::query($sql);

@ -1809,7 +1809,7 @@ class CourseManager
if (!empty($date_from) && !empty($date_to)) { if (!empty($date_from) && !empty($date_to)) {
$date_from = Database::escape_string($date_from); $date_from = Database::escape_string($date_from);
$date_to = Database::escape_string($date_to); $date_to = Database::escape_string($date_to);
$sql_query .= " AND s.date_start >= '$date_from' AND s.date_end <= '$date_to'"; $sql_query .= " AND s.access_start_date >= '$date_from' AND s.access_end_date <= '$date_to'";
} }
if ($session_id != 0) { if ($session_id != 0) {
@ -3878,8 +3878,8 @@ class CourseManager
), ),
) )
); );
$date_start = $sess[$course_info['id_session']]['date_start']; $date_start = $sess[$course_info['id_session']]['access_start_date'];
$date_end = $sess[$course_info['id_session']]['date_end']; $date_end = $sess[$course_info['id_session']]['access_end_date'];
} }
if (empty($now)) { if (empty($now)) {
// maybe use api_get_utcdate() here? // maybe use api_get_utcdate() here?
@ -4044,7 +4044,7 @@ class CourseManager
$session['title'] = $course_info['session_name']; $session['title'] = $course_info['session_name'];
$session_category_id = CourseManager::get_session_category_id_by_session_id($course_info['id_session']); $session_category_id = CourseManager::get_session_category_id_by_session_id($course_info['id_session']);
$session['category'] = $sessioncoach['name']; $session['category'] = $sessioncoach['name'];
if ($course_info['date_start'] == '0000-00-00') { if ($course_info['access_start_date'] == '0000-00-00') {
//$session['dates'] = get_lang('WithoutTimeLimits'); //$session['dates'] = get_lang('WithoutTimeLimits');
$session['dates'] = ''; $session['dates'] = '';
if (api_get_setting('show_session_coach') === 'true') { if (api_get_setting('show_session_coach') === 'true') {
@ -4053,7 +4053,7 @@ class CourseManager
} }
$active = true; $active = true;
} else { } else {
$session ['dates'] = ' - ' . get_lang('From') . ' ' . $course_info['date_start'] . ' ' . get_lang('To') . ' ' . $course_info['date_end']; $session ['dates'] = ' - ' . get_lang('From') . ' ' . $course_info['access_start_date'] . ' ' . get_lang('To') . ' ' . $course_info['access_end_date'];
if (api_get_setting('show_session_coach') === 'true') { if (api_get_setting('show_session_coach') === 'true') {
$session['coach'] = get_lang('GeneralCoach') . ': ' . api_get_person_name($sessioncoach['firstname'], $session['coach'] = get_lang('GeneralCoach') . ': ' . api_get_person_name($sessioncoach['firstname'],
$sessioncoach['lastname']); $sessioncoach['lastname']);
@ -5515,7 +5515,7 @@ class CourseManager
{ {
$dateConditional = ($startDate && $endDate) ? $dateConditional = ($startDate && $endDate) ?
" WHERE session_id IN (SELECT id FROM " . Database::get_main_table(TABLE_MAIN_SESSION) . " WHERE session_id IN (SELECT id FROM " . Database::get_main_table(TABLE_MAIN_SESSION) .
" WHERE date_start = '$startDate' AND date_end = '$endDate')" : " WHERE access_start_date = '$startDate' AND access_end_date = '$endDate')" :
null; null;
$visibility = ($includeClosed ? '' : 'visibility NOT IN (0, 4) AND '); $visibility = ($includeClosed ? '' : 'visibility NOT IN (0, 4) AND ');

@ -1508,8 +1508,8 @@ class Display
$session['coach'] = ''; $session['coach'] = '';
$session['dates'] = ''; $session['dates'] = '';
if ($session_info['date_end'] == '0000-00-00' && if ($session_info['access_end_date'] == '0000-00-00' &&
$session_info['date_start'] == '0000-00-00' $session_info['access_start_date'] == '0000-00-00'
) { ) {
if (api_get_setting('show_session_coach') === 'true') { if (api_get_setting('show_session_coach') === 'true') {
$session['coach'] = get_lang('GeneralCoach').': '.api_get_person_name($session_info['firstname'], $session_info['lastname']); $session['coach'] = get_lang('GeneralCoach').': '.api_get_person_name($session_info['firstname'], $session_info['lastname']);
@ -1536,24 +1536,24 @@ class Display
} else { } else {
$start = $stop = false; $start = $stop = false;
$start_buffer = $stop_buffer = ''; $start_buffer = $stop_buffer = '';
if ($session_info['date_start'] == '0000-00-00') { if ($session_info['access_start_date'] == '0000-00-00') {
$session_info['date_start'] = ''; $session_info['access_start_date'] = '';
} else { } else {
$start = true; $start = true;
$start_buffer = $session_info['date_start']; $start_buffer = $session_info['access_start_date'];
$session_info['date_start'] = get_lang('From').' '.$session_info['date_start']; $session_info['access_start_date'] = get_lang('From').' '.$session_info['access_start_date'];
} }
if ($session_info['date_end'] == '0000-00-00') { if ($session_info['access_end_date'] == '0000-00-00') {
$session_info['date_end'] = ''; $session_info['access_end_date'] = '';
} else { } else {
$stop = true; $stop = true;
$stop_buffer = $session_info['date_end']; $stop_buffer = $session_info['access_end_date'];
$session_info['date_end'] = get_lang('Until').' '.$session_info['date_end']; $session_info['access_end_date'] = get_lang('Until').' '.$session_info['access_end_date'];
} }
if ($start && $stop) { if ($start && $stop) {
$session['dates'] = Display::tag('i', sprintf(get_lang('FromDateXToDateY'), $start_buffer, $stop_buffer)); $session['dates'] = Display::tag('i', sprintf(get_lang('FromDateXToDateY'), $start_buffer, $stop_buffer));
} else { } else {
$session['dates'] = Display::tag('i', $session_info['date_start'].' '.$session_info['date_end']); $session['dates'] = Display::tag('i', $session_info['access_start_date'].' '.$session_info['access_end_date']);
} }
if ( api_get_setting('show_session_coach') === 'true' ) { if ( api_get_setting('show_session_coach') === 'true' ) {

@ -537,14 +537,14 @@ class SocialManager extends UserManager
$session = array(); $session = array();
$session['title'] = $my_course['session_name']; $session['title'] = $my_course['session_name'];
if ($my_course['date_start'] == '0000-00-00') { if ($my_course['access_start_date'] == '0000-00-00') {
$session['dates'] = get_lang('WithoutTimeLimits'); $session['dates'] = get_lang('WithoutTimeLimits');
if (api_get_setting('show_session_coach') === 'true') { if (api_get_setting('show_session_coach') === 'true') {
$session['coach'] = get_lang('GeneralCoach').': '.api_get_person_name($sessioncoach['firstname'], $sessioncoach['lastname']); $session['coach'] = get_lang('GeneralCoach').': '.api_get_person_name($sessioncoach['firstname'], $sessioncoach['lastname']);
} }
$active = true; $active = true;
} else { } else {
$session ['dates'] = ' - '.get_lang('From').' '.$my_course['date_start'].' '.get_lang('To').' '.$my_course['date_end']; $session ['dates'] = ' - '.get_lang('From').' '.$my_course['access_start_date'].' '.get_lang('To').' '.$my_course['access_end_date'];
if (api_get_setting('show_session_coach') === 'true') { if (api_get_setting('show_session_coach') === 'true') {
$session['coach'] = get_lang('GeneralCoach').': '.api_get_person_name($sessioncoach['firstname'], $sessioncoach['lastname']); $session['coach'] = get_lang('GeneralCoach').': '.api_get_person_name($sessioncoach['firstname'], $sessioncoach['lastname']);
} }

@ -2998,8 +2998,8 @@ class Tracking
SELECT DISTINCT SELECT DISTINCT
id, id,
name, name,
date_start, access_start_date,
date_end access_end_date
FROM $tbl_session session INNER JOIN $tbl_session_rel_access_url session_rel_url FROM $tbl_session session INNER JOIN $tbl_session_rel_access_url session_rel_url
ON (session.id = session_rel_url.session_id) ON (session.id = session_rel_url.session_id)
WHERE WHERE
@ -3010,8 +3010,8 @@ class Tracking
SELECT DISTINCT SELECT DISTINCT
session.id, session.id,
session.name, session.name,
session.date_start, session.access_start_date,
session.date_end session.access_end_date
FROM $tbl_session as session FROM $tbl_session as session
INNER JOIN $tbl_session_course_user as session_course_user INNER JOIN $tbl_session_course_user as session_course_user
ON session.id = session_course_user.session_id AND ON session.id = session_course_user.session_id AND
@ -3038,13 +3038,13 @@ class Tracking
if (!empty($sessions)) { if (!empty($sessions)) {
foreach ($sessions as & $session) { foreach ($sessions as & $session) {
if ($session['date_start'] == '0000-00-00') { if ($session['access_start_date'] == '0000-00-00') {
$session['status'] = get_lang('SessionActive'); $session['status'] = get_lang('SessionActive');
} }
else { else {
$date_start = explode('-', $session['date_start']); $date_start = explode('-', $session['access_start_date']);
$time_start = mktime(0, 0, 0, $date_start[1], $date_start[2], $date_start[0]); $time_start = mktime(0, 0, 0, $date_start[1], $date_start[2], $date_start[0]);
$date_end = explode('-', $session['date_end']); $date_end = explode('-', $session['access_end_date']);
$time_end = mktime(0, 0, 0, $date_end[1], $date_end[2], $date_end[0]); $time_end = mktime(0, 0, 0, $date_end[1], $date_end[2], $date_end[0]);
if ($time_start < time() && time() < $time_end) { if ($time_start < time() && time() < $time_end) {
$session['status'] = get_lang('SessionActive'); $session['status'] = get_lang('SessionActive');

@ -2272,7 +2272,7 @@ class UserManager
*/ */
public static function get_sessions_by_category( public static function get_sessions_by_category(
$user_id, $user_id,
$is_time_over = false, $is_time_over = true,
$ignore_visibility_for_admins = false $ignore_visibility_for_admins = false
) { ) {
// Database Table Definitions // Database Table Definitions
@ -2290,14 +2290,14 @@ class UserManager
$sql = "SELECT DISTINCT $sql = "SELECT DISTINCT
session.id, session.id,
session.name, session.name,
session.date_start, session.access_start_date,
session.date_end, session.access_end_date,
session_category_id, session_category_id,
session_category.name as session_category_name, session_category.name as session_category_name,
session_category.date_start session_category_date_start, session_category.date_start session_category_date_start,
session_category.date_end session_category_date_end, session_category.date_end session_category_date_end,
nb_days_access_before_beginning, coach_access_start_date,
nb_days_access_after_end coach_access_end_date
FROM $tbl_session as session FROM $tbl_session as session
LEFT JOIN $tbl_session_category session_category LEFT JOIN $tbl_session_category session_category
@ -2319,13 +2319,13 @@ class UserManager
// User portal filters: // User portal filters:
if ($is_time_over) { if ($is_time_over) {
// History // History
if (isset($row['date_end']) && $row['date_end'] != '0000-00-00') { if (isset($row['access_end_date']) && $row['access_end_date'] != '0000-00-00 00:00:00') {
if ($row['date_end'].' 23:59:59' > $now) { if ($row['access_end_date'] > $now) {
continue; continue;
} }
} }
if ($row['date_end'] == '0000-00-00') { if ($row['access_end_date'] == '0000-00-00 00:00:00') {
continue; continue;
} }
} else { } else {
@ -2333,8 +2333,8 @@ class UserManager
if (api_is_allowed_to_create_course()) { if (api_is_allowed_to_create_course()) {
// Teachers can access the session depending in the access_coach date // Teachers can access the session depending in the access_coach date
} else { } else {
if (isset($row['date_end']) && $row['date_end'] != '0000-00-00') { if (isset($row['access_end_date']) && $row['access_end_date'] != '0000-00-00 00:00:00') {
if ($row['date_end'].' 23:59:59' <= $now) { if ($row['access_end_date'] <= $now) {
continue; continue;
} }
} }
@ -2401,10 +2401,10 @@ class UserManager
$categories[$row['session_category_id']]['sessions'][$row['id']] = array( $categories[$row['session_category_id']]['sessions'][$row['id']] = array(
'session_name' => $row['name'], 'session_name' => $row['name'],
'session_id' => $row['id'], 'session_id' => $row['id'],
'date_start' => $row['date_start'], 'access_start_date' => $row['access_start_date'],
'date_end' => $row['date_end'], 'access_end_date' => $row['access_end_date'],
'nb_days_access_before_beginning' => $row['nb_days_access_before_beginning'], 'coach_access_start_date' => $row['coach_access_start_date'],
'nb_days_access_after_end' => $row['nb_days_access_after_end'], 'coach_access_end_date' => $row['coach_access_end_date'],
'courses' => $courseList 'courses' => $courseList
); );
} }
@ -2500,7 +2500,7 @@ class UserManager
// Get the list of sessions where the user is subscribed // Get the list of sessions where the user is subscribed
// This is divided into two different queries // This is divided into two different queries
$sessions = array(); $sessions = array();
$sql = "SELECT DISTINCT s.id, name, date_start, date_end $sql = "SELECT DISTINCT s.id, name, access_start_date, access_end_date
FROM $tbl_session_user, $tbl_session s FROM $tbl_session_user, $tbl_session s
WHERE ( WHERE (
session_id = s.id AND session_id = s.id AND
@ -2508,7 +2508,7 @@ class UserManager
relation_type <> ".SESSION_RELATION_TYPE_RRHH." relation_type <> ".SESSION_RELATION_TYPE_RRHH."
) )
$coachCourseConditions $coachCourseConditions
ORDER BY date_start, date_end, name"; ORDER BY access_start_date, access_end_date, name";
$result = Database::query($sql); $result = Database::query($sql);
if (Database::num_rows($result)>0) { if (Database::num_rows($result)>0) {
@ -2517,13 +2517,13 @@ class UserManager
} }
} }
$sql = "SELECT DISTINCT id, name, date_start, date_end $sql = "SELECT DISTINCT id, name, access_start_date, access_end_date
FROM $tbl_session FROM $tbl_session
WHERE ( WHERE (
id_coach = $user_id id_coach = $user_id
) )
$coachCourseConditions $coachCourseConditions
ORDER BY date_start, date_end, name"; ORDER BY access_start_date, access_end_date, name";
$result = Database::query($sql); $result = Database::query($sql);
if (Database::num_rows($result)>0) { if (Database::num_rows($result)>0) {
@ -2553,8 +2553,8 @@ class UserManager
email, course.course_language l, email, course.course_language l,
1 sort, 1 sort,
category_code user_course_cat, category_code user_course_cat,
date_start, access_start_date,
date_end, access_end_date,
session.id as session_id, session.id as session_id,
session.name as session_name session.name as session_name
FROM $tbl_session_course_user as session_course_user FROM $tbl_session_course_user as session_course_user
@ -2596,8 +2596,8 @@ class UserManager
course.course_language l, course.course_language l,
1 sort, 1 sort,
category_code user_course_cat, category_code user_course_cat,
date_start, access_start_date,
date_end, access_end_date,
session.id as session_id, session.id as session_id,
session.name as session_name, session.name as session_name,
IF((session_course_user.user_id = 3 AND session_course_user.status=2),'2', '5') IF((session_course_user.user_id = 3 AND session_course_user.status=2),'2', '5')

@ -1158,10 +1158,10 @@ class IndexManager
} }
// Courses inside the current session. // Courses inside the current session.
$date_session_start = $session['date_start']; $date_session_start = $session['access_start_date'];
$date_session_end = $session['date_end']; $date_session_end = $session['access_end_date'];
$days_access_before_beginning = $session['nb_days_access_before_beginning']; $coachAccessStartDate = $session['coach_access_start_date'];
$days_access_after_end = $session['nb_days_access_after_end']; $coachAccessEndDate = $session['coach_access_end_date'];
$session_now = time(); $session_now = time();
$count_courses_session = 0; $count_courses_session = 0;
@ -1174,15 +1174,15 @@ class IndexManager
$is_coach_course = api_is_coach($session_id, $course['real_id']); $is_coach_course = api_is_coach($session_id, $course['real_id']);
$allowed_time = 0; $allowed_time = 0;
$dif_time_after = 0; $dif_time_after = 0;
if ($date_session_start != '0000-00-00') { if ($date_session_start != '0000-00-00 00:00:00') {
if ($is_coach_course) { if ($is_coach_course) {
$allowed_time = api_strtotime($date_session_start.' 00:00:00') - ($days_access_before_beginning * 86400); $allowed_time = api_strtotime($coachAccessStartDate);
} else { } else {
$allowed_time = api_strtotime($date_session_start.' 00:00:00'); $allowed_time = api_strtotime($date_session_start);
} }
if (!isset($_GET['history'])) { if (!isset($_GET['history'])) {
if ($date_session_end != '0000-00-00') { if ($date_session_end != '0000-00-00 00:00:00') {
$endSessionToTms = api_strtotime($date_session_end.' 23:59:59'); $endSessionToTms = api_strtotime($date_session_end);
if ($session_now > $endSessionToTms) { if ($session_now > $endSessionToTms) {
$dif_time_after = $session_now - $endSessionToTms; $dif_time_after = $session_now - $endSessionToTms;
$dif_time_after = round($dif_time_after/86400); $dif_time_after = round($dif_time_after/86400);
@ -1192,7 +1192,7 @@ class IndexManager
} }
if ($session_now > $allowed_time && if ($session_now > $allowed_time &&
$days_access_after_end > $dif_time_after - 1 $coachAccessEndDate > $dif_time_after - 1
) { ) {
// Read only and accessible. // Read only and accessible.
$atLeastOneCourseIsVisible = true; $atLeastOneCourseIsVisible = true;
@ -1294,10 +1294,10 @@ class IndexManager
continue; continue;
} }
$date_session_start = $session['date_start']; $date_session_start = $session['access_start_date'];
$date_session_end = $session['date_end']; $date_session_end = $session['access_end_date'];
$days_access_before_beginning = $session['nb_days_access_before_beginning']; $coachAccessStartDate = $session['coach_access_start_date'];
$days_access_after_end = $session['nb_days_access_after_end']; $coachAccessEndDate = $session['coach_access_end_date'];
$session_now = time(); $session_now = time();
$html_courses_session = ''; $html_courses_session = '';
@ -1313,13 +1313,13 @@ class IndexManager
$allowed_time = 0; $allowed_time = 0;
if ($is_coach_course) { if ($is_coach_course) {
// 24 hours = 86400 // 24 hours = 86400
if ($date_session_start != '0000-00-00') { if ($date_session_start != '0000-00-00 00:00:00') {
$allowed_time = api_strtotime($date_session_start . ' 00:00:00') - ($days_access_before_beginning * 86400); $allowed_time = api_strtotime($coachAccessStartDate);
} }
if (!isset($_GET['history'])) { if (!isset($_GET['history'])) {
if ($date_session_end != '0000-00-00') { if ($date_session_end != '0000-00-00 00:00:00') {
$endSessionToTms = api_strtotime( $endSessionToTms = api_strtotime(
$date_session_end . ' 23:59:59' $date_session_end
); );
if ($session_now > $endSessionToTms) { if ($session_now > $endSessionToTms) {
$dif_time_after = $session_now - $endSessionToTms; $dif_time_after = $session_now - $endSessionToTms;
@ -1331,12 +1331,12 @@ class IndexManager
} }
} else { } else {
$allowed_time = api_strtotime( $allowed_time = api_strtotime(
$date_session_start . ' 00:00:00' $date_session_start
); );
} }
if ($session_now > $allowed_time && if ($session_now > $allowed_time &&
$days_access_after_end > $dif_time_after - 1 $coachAccessEndDate > $dif_time_after - 1
) { ) {
if (api_get_setting('hide_courses_in_sessions') == 'false') { if (api_get_setting('hide_courses_in_sessions') == 'false') {
$c = CourseManager:: get_logged_user_course_html( $c = CourseManager:: get_logged_user_course_html(

@ -7355,4 +7355,6 @@ $GamificationModeTitle = "Gamification mode";
$GamificationModeComment = "Activate the stars achievement in learning paths"; $GamificationModeComment = "Activate the stars achievement in learning paths";
$LevelX = "Level %s"; $LevelX = "Level %s";
$SeeCourse = "View course"; $SeeCourse = "View course";
$XPoints = "%s points";
$FromXUntilY = "From %s until %s";
?> ?>

@ -7234,4 +7234,6 @@ $Readable = "Lisible";
$NotReadable = "Non accessible en lecture"; $NotReadable = "Non accessible en lecture";
$DefaultInstallAdminFirstname = "Jean"; $DefaultInstallAdminFirstname = "Jean";
$DefaultInstallAdminLastname = "Dupont"; $DefaultInstallAdminLastname = "Dupont";
$AttendanceUpdated = "Présences mises à jour";
$FromXUntilY = "Du %s au %s";
?> ?>

@ -7384,4 +7384,6 @@ $GamificationModeTitle = "Modo ludificación";
$GamificationModeComment = "Activar el logro de estrellas en las lecciones"; $GamificationModeComment = "Activar el logro de estrellas en las lecciones";
$LevelX = "Nivel %s"; $LevelX = "Nivel %s";
$SeeCourse = "Ver curso"; $SeeCourse = "Ver curso";
$XPoints = "%s puntos";
$FromXUntilY = "De %s a %s";
?> ?>

@ -614,19 +614,19 @@ if (!empty($student_id)) {
if ($session_info) { if ($session_info) {
$session_name = $session_info['name']; $session_name = $session_info['name'];
} }
$date_start = ''; $access_start_date = '';
if (!empty($session_info['date_start']) && $session_info['date_start'] != '0000-00-00') { if (!empty($session_info['access_start_date']) && $session_info['access_start_date'] != '0000-00-00') {
$date_start = api_format_date($session_info['date_start'], DATE_FORMAT_SHORT); $access_start_date = api_format_date($session_info['access_start_date'], DATE_FORMAT_SHORT);
} }
$date_end = ''; $access_end_date = '';
if (!empty($session_info['date_end']) && $session_info['date_end'] != '0000-00-00') { if (!empty($session_info['access_end_date']) && $session_info['access_end_date'] != '0000-00-00') {
$date_end = api_format_date($session_info['date_end'], DATE_FORMAT_SHORT); $access_end_date = api_format_date($session_info['access_end_date'], DATE_FORMAT_SHORT);
} }
$date_session = ''; $date_session = '';
if (!empty($date_start) && !empty($date_end)) { if (!empty($access_start_date) && !empty($access_end_date)) {
$date_session = get_lang('From') . ' ' . $date_start . ' ' . get_lang('Until') . ' ' . $date_end; $date_session = get_lang('From') . ' ' . $access_start_date . ' ' . get_lang('Until') . ' ' . $access_end_date;
} }
$title = ''; $title = '';
if (empty($sessionId)) { if (empty($sessionId)) {

@ -363,13 +363,13 @@ if (!empty($new_exercises)) {
$start = $end = $start_only = $end_only =''; $start = $end = $start_only = $end_only ='';
if (!empty($session_info['date_start']) && $session_info['date_start'] != '0000-00-00') { if (!empty($session_info['access_start_date']) && $session_info['access_start_date'] != '0000-00-00') {
$start = api_convert_and_format_date($session_info['date_start'], DATE_FORMAT_SHORT); $start = api_convert_and_format_date($session_info['access_start_date'], DATE_FORMAT_SHORT);
$start_only = get_lang('From').' '.$session_info['date_start']; $start_only = get_lang('From').' '.$session_info['access_start_date'];
} }
if (!empty($session_info['date_start']) && $session_info['date_end'] != '0000-00-00') { if (!empty($session_info['access_start_date']) && $session_info['access_end_date'] != '0000-00-00') {
$end = api_convert_and_format_date($session_info['date_end'], DATE_FORMAT_SHORT); $end = api_convert_and_format_date($session_info['access_end_date'], DATE_FORMAT_SHORT);
$end_only = get_lang('Until').' '.$session_info['date_end']; $end_only = get_lang('Until').' '.$session_info['access_end_date'];
} }
if (!empty($start) && !empty($end)) { if (!empty($start) && !empty($end)) {

@ -89,7 +89,7 @@ if (!empty($return)) {
</tr> </tr>
<td colspan="2"> <td colspan="2">
<a href="javascript://" onclick="if(document.getElementById('options').style.display == 'none'){document.getElementById('options').style.display = 'block';}else{document.getElementById('options').style.display = 'none';}"><?php echo get_lang('EditTimeLimit') ?></a> <a href="javascript://" onclick="if(document.getElementById('options').style.display == 'none'){document.getElementById('options').style.display = 'block';}else{document.getElementById('options').style.display = 'none';}"><?php echo get_lang('EditTimeLimit') ?></a>
<div style="display: <?php if($formSent && ($nb_days_acess_before!=0 || $nb_days_acess_after!=0)) echo 'block'; else echo 'none'; ?>;" id="options"> <div style="display: <?php if($formSent && ($coachAccessStartDate!='0000-00-00 00:00:00' || $coachAccessEndDate!='0000-00-00 00:00:00')) echo 'block'; else echo 'none'; ?>;" id="options">
<br> <br>
<div> <div>
<table border="0" cellpadding="5" cellspacing="0" width="100%"> <table border="0" cellpadding="5" cellspacing="0" width="100%">

@ -186,9 +186,9 @@ if (isset($_GET['search']) && $_GET['search'] == 'advanced') {
<tr class="<?php echo $i ? 'row_odd' : 'row_even'; ?>"> <tr class="<?php echo $i ? 'row_odd' : 'row_even'; ?>">
<td><input type="checkbox" id="idChecked_<?php echo $x; ?>" name="idChecked[]" value="<?php echo $enreg['id']; ?>"></td> <td><input type="checkbox" id="idChecked_<?php echo $x; ?>" name="idChecked[]" value="<?php echo $enreg['id']; ?>"></td>
<td><?php echo api_htmlentities($enreg['name'], ENT_QUOTES, $charset); ?></td> <td><?php echo api_htmlentities($enreg['name'], ENT_QUOTES, $charset); ?></td>
<td><?php echo "<a href=\"session_list.php?id_category=".$enreg['id']."\">".$nb_courses." Sesion(es) </a>"; ?></td> <td><?php echo "<a href=\"session_list.php?id_category=".$enreg['id']."\">".$nb_courses." Session(s) </a>"; ?></td>
<td><?php echo api_htmlentities($enreg['date_start'], ENT_QUOTES, $charset); ?></td> <td><?php echo api_htmlentities($enreg['access_start_date'], ENT_QUOTES, $charset); ?></td>
<td><?php echo api_htmlentities($enreg['date_end'], ENT_QUOTES, $charset); ?></td> <td><?php echo api_htmlentities($enreg['access_end_date'], ENT_QUOTES, $charset); ?></td>
<td> <td>
<a href="session_category_edit.php?&id=<?php echo $enreg['id']; ?>"> <a href="session_category_edit.php?&id=<?php echo $enreg['id']; ?>">
<?php Display::display_icon('edit.png', get_lang('Edit'), array(), ICON_SIZE_SMALL); ?> <?php Display::display_icon('edit.png', get_lang('Edit'), array(), ICON_SIZE_SMALL); ?>

@ -49,8 +49,8 @@ if (isset($_POST['formSent'])) {
name, name,
id_coach, id_coach,
username, username,
date_start, access_start_date,
date_end, access_end_date,
visibility, visibility,
session_category_id session_category_id
FROM $tbl_session s FROM $tbl_session s
@ -62,7 +62,7 @@ if (isset($_POST['formSent'])) {
$tbl_session_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION); $tbl_session_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION);
$access_url_id = api_get_current_access_url_id(); $access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1){ if ($access_url_id != -1){
$sql = "SELECT s.id, name,id_coach,username,date_start,date_end,visibility,session_category_id $sql = "SELECT s.id, name,id_coach,username,access_start_date,access_end_date,visibility,session_category_id
FROM $tbl_session s FROM $tbl_session s
INNER JOIN $tbl_session_rel_access_url as session_rel_url INNER JOIN $tbl_session_rel_access_url as session_rel_url
ON (s.id= session_rel_url.session_id) ON (s.id= session_rel_url.session_id)
@ -74,7 +74,7 @@ if (isset($_POST['formSent'])) {
$result = Database::query($sql); $result = Database::query($sql);
} else { } else {
$sql = "SELECT s.id,name,username,date_start,date_end,visibility,session_category_id $sql = "SELECT s.id,name,username,access_start_date,access_end_date,visibility,session_category_id
FROM $tbl_session s FROM $tbl_session s
INNER JOIN $tbl_user INNER JOIN $tbl_user
ON $tbl_user.user_id = s.id_coach ON $tbl_user.user_id = s.id_coach
@ -113,18 +113,18 @@ if (isset($_POST['formSent'])) {
$add = ''; $add = '';
$row['name'] = str_replace(';',',',$row['name']); $row['name'] = str_replace(';',',',$row['name']);
$row['username'] = str_replace(';',',',$row['username']); $row['username'] = str_replace(';',',',$row['username']);
$row['date_start'] = str_replace(';',',',$row['date_start']); $row['access_start_date'] = str_replace(';',',',$row['access_start_date']);
$row['date_end'] = str_replace(';',',',$row['date_end']); $row['access_end_date'] = str_replace(';',',',$row['access_end_date']);
$row['visibility'] = str_replace(';',',',$row['visibility']); $row['visibility'] = str_replace(';',',',$row['visibility']);
$row['session_category'] = str_replace(';',',',$row['session_category_id']); $row['session_category'] = str_replace(';',',',$row['session_category_id']);
if ($cvs) { if ($cvs) {
$add.= $row['name'].';'.$row['username'].';'.$row['date_start'].';'.$row['date_end'].';'.$row['visibility'].';'.$row['session_category'].';'; $add.= $row['name'].';'.$row['username'].';'.$row['access_start_date'].';'.$row['access_end_date'].';'.$row['visibility'].';'.$row['session_category'].';';
} else { } else {
$add = "\t<Session>\n" $add = "\t<Session>\n"
."\t\t<SessionName>$row[name]</SessionName>\n" ."\t\t<SessionName>$row[name]</SessionName>\n"
."\t\t<Coach>$row[username]</Coach>\n" ."\t\t<Coach>$row[username]</Coach>\n"
."\t\t<DateStart>$row[date_start]</DateStart>\n" ."\t\t<DateStart>$row[access_start_date]</DateStart>\n"
."\t\t<DateEnd>$row[date_end]</DateEnd>\n" ."\t\t<DateEnd>$row[access_end_date]</DateEnd>\n"
."\t\t<Visibility>$row[visibility]</Visibility>\n" ."\t\t<Visibility>$row[visibility]</Visibility>\n"
."\t\t<SessionCategory>$row[session_category]</SessionCategory>\n"; ."\t\t<SessionCategory>$row[session_category]</SessionCategory>\n";
} }

@ -261,8 +261,8 @@ if (isset($_POST['formSent']) && $_POST['formSent']) {
$sql_session = "INSERT IGNORE INTO $tbl_session SET $sql_session = "INSERT IGNORE INTO $tbl_session SET
name = '".Database::escape_string($session_name)."', name = '".Database::escape_string($session_name)."',
id_coach = '$coach_id', id_coach = '$coach_id',
date_start = '$date_start', access_start_date = '$date_start',
date_end = '$date_end', access_end_date = '$date_end',
visibility = '$visibility', visibility = '$visibility',
session_category_id = '$session_category_id', session_category_id = '$session_category_id',
session_admin_id=".intval($_user['user_id']); session_admin_id=".intval($_user['user_id']);
@ -278,8 +278,8 @@ if (isset($_POST['formSent']) && $_POST['formSent']) {
$sql_session = "INSERT IGNORE INTO $tbl_session SET $sql_session = "INSERT IGNORE INTO $tbl_session SET
name = '".Database::escape_string($session_name)."', name = '".Database::escape_string($session_name)."',
id_coach = '$coach_id', id_coach = '$coach_id',
date_start = '$date_start', access_start_date = '$date_start',
date_end = '$date_end', access_end_date = '$date_end',
visibility = '$visibility', visibility = '$visibility',
session_category_id = '$session_category_id', session_category_id = '$session_category_id',
session_admin_id=".intval($_user['user_id']); session_admin_id=".intval($_user['user_id']);
@ -290,8 +290,8 @@ if (isset($_POST['formSent']) && $_POST['formSent']) {
// if the session already exists - update it. // if the session already exists - update it.
$sql_session = "UPDATE $tbl_session SET $sql_session = "UPDATE $tbl_session SET
id_coach = '$coach_id', id_coach = '$coach_id',
date_start = '$date_start', access_start_date = '$date_start',
date_end = '$date_end', access_end_date = '$date_end',
visibility = '$visibility', visibility = '$visibility',
session_category_id = '$session_category_id' session_category_id = '$session_category_id'
WHERE name = '$session_name'"; WHERE name = '$session_name'";

@ -112,8 +112,8 @@ $column_model = array(
array('name'=>'nbr_courses', 'index'=>'nbr_courses', 'width'=>'30', 'align'=>'left', 'search' => 'true'), array('name'=>'nbr_courses', 'index'=>'nbr_courses', 'width'=>'30', 'align'=>'left', 'search' => 'true'),
array('name'=>'nbr_users', 'index'=>'nbr_users', 'width'=>'30', 'align'=>'left', 'search' => 'true'), array('name'=>'nbr_users', 'index'=>'nbr_users', 'width'=>'30', 'align'=>'left', 'search' => 'true'),
array('name'=>'category_name', 'index'=>'sc.name', 'width'=>'70', 'align'=>'left', 'search' => 'true'), array('name'=>'category_name', 'index'=>'sc.name', 'width'=>'70', 'align'=>'left', 'search' => 'true'),
array('name'=>'date_start', 'index'=>'s.date_start', 'width'=>'40', 'align'=>'left', 'search' => 'true'), array('name'=>'access_start_date', 'index'=>'s.access_start_date', 'width'=>'40', 'align'=>'left', 'search' => 'true'),
array('name'=>'date_end', 'index'=>'s.date_end', 'width'=>'40', 'align'=>'left', 'search' => 'true'), array('name'=>'access_end_date', 'index'=>'s.access_end_date', 'width'=>'40', 'align'=>'left', 'search' => 'true'),
array('name'=>'coach_name', 'index'=>'coach_name', 'width'=>'80', 'align'=>'left', 'search' => 'false'), array('name'=>'coach_name', 'index'=>'coach_name', 'width'=>'80', 'align'=>'left', 'search' => 'false'),
array('name'=>'status', 'index'=>'session_active','width'=>'50', 'align'=>'left', 'search' => 'true', 'stype'=>'select', array('name'=>'status', 'index'=>'session_active','width'=>'50', 'align'=>'left', 'search' => 'true', 'stype'=>'select',
//for the bottom bar //for the bottom bar

@ -73,10 +73,10 @@ $sql = "SELECT 1
FROM $tbl_session_course_user AS session_course_user FROM $tbl_session_course_user AS session_course_user
INNER JOIN $tbl_session AS session INNER JOIN $tbl_session AS session
ON session_course_user.session_id = session.id ON session_course_user.session_id = session.id
AND ((date_start <= '$now' AND ((access_start_date <= '$now'
AND date_end >= '$now') AND access_end_date >= '$now')
OR (date_start='0000-00-00' AND date_end='0000-00-00')) OR (access_start_date='0000-00-00' AND access_end_date='0000-00-00'))
WHERE session_id='".api_get_session_id()."' AND course_code='$_cid'"; WHERE session_id='".api_get_session_id()."' AND c_id = $courseId";
//echo $sql; //echo $sql;
$result=Database::query($sql); $result=Database::query($sql);
if(!Database::num_rows($result)){ if(!Database::num_rows($result)){

@ -68,10 +68,10 @@ $sql = "SELECT 1
FROM $tbl_session_course_user AS session_course_user FROM $tbl_session_course_user AS session_course_user
INNER JOIN $tbl_session AS session INNER JOIN $tbl_session AS session
ON session_course_user.session_id = session.id ON session_course_user.session_id = session.id
AND ((date_start <= '$now' AND ((access_start_date <= '$now'
AND date_end >= '$now') AND access_end_date >= '$now')
OR (date_start='0000-00-00' AND date_end='0000-00-00')) OR (access_start_date='0000-00-00' AND access_end_date='0000-00-00'))
WHERE session_id='" . $_SESSION['id_session'] . "' AND course_code='$_cid'"; WHERE session_id='" . $_SESSION['id_session'] . "' AND c_id = $courseId";
//echo $sql; //echo $sql;
$result = Database::query($sql); $result = Database::query($sql);
if (!Database::num_rows($result)) { if (!Database::num_rows($result)) {

@ -32,7 +32,21 @@ if($allowTutors == 'true') {
$table_access_url_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER); $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 $sql = 'SELECT
name,
nbr_courses,
nbr_users,
nbr_classes,
DATE_FORMAT(access_start_date,"%d-%m-%Y") as access_start_date,
DATE_FORMAT(access_end_date,"%d-%m-%Y") as access_end_date,
lastname,
firstname,
username,
session_admin_id,
coach_access_start_date,
coach_access_end_date,
session_category_id,
visibility
FROM '.$tbl_session.' LEFT JOIN '.$tbl_user.' ON id_coach = user_id FROM '.$tbl_session.' LEFT JOIN '.$tbl_user.' ON id_coach = user_id
WHERE '.$tbl_session.'.id='.$id_session; WHERE '.$tbl_session.'.id='.$id_session;
@ -40,7 +54,9 @@ if($allowTutors == 'true') {
$session = Database::store_result($rs); $session = Database::store_result($rs);
$session = $session[0]; $session = $session[0];
$sql = 'SELECT name FROM '.$tbl_session_category.' WHERE id = "'.intval($session['session_category_id']).'"'; $sql = 'SELECT name
FROM '.$tbl_session_category.'
WHERE id = '.intval($session['session_category_id']);
$rs = Database::query($sql); $rs = Database::query($sql);
$session_category = ''; $session_category = '';
@ -135,22 +151,22 @@ if($allowTutors == 'true') {
<td><?php echo get_lang('Date'); ?> :</td> <td><?php echo get_lang('Date'); ?> :</td>
<td> <td>
<?php <?php
if ($session['date_start'] == '00-00-0000' && $session['date_end']== '00-00-0000' ) { if ($session['access_start_date'] == '00-00-0000' && $session['access_end_date']== '00-00-0000' ) {
echo get_lang('NoTimeLimits'); echo get_lang('NoTimeLimits');
} }
else { else {
if ($session['date_start'] != '00-00-0000') { if ($session['access_start_date'] != '00-00-0000') {
//$session['date_start'] = Display::tag('i', get_lang('NoTimeLimits')); //$session['date_start'] = Display::tag('i', get_lang('NoTimeLimits'));
$session['date_start'] = get_lang('From').' '.$session['date_start']; $session['access_start_date'] = get_lang('From').' '.$session['access_start_date'];
} else { } else {
$session['date_start'] = ''; $session['access_start_date'] = '';
} }
if ($session['date_end'] == '00-00-0000') { if ($session['access_end_date'] == '00-00-0000') {
$session['date_end'] =''; $session['access_end_date'] ='';
} else { } else {
$session['date_end'] = get_lang('Until').' '.$session['date_end']; $session['access_end_date'] = get_lang('Until').' '.$session['access_end_date'];
} }
echo $session['date_start'].' '.$session['date_end']; echo $session['access_start_date'].' '.$session['access_end_date'];
} }
?> ?>
</td> </td>
@ -158,18 +174,18 @@ if($allowTutors == 'true') {
<!-- show nb_days_before and nb_days_after only if they are different from 0 --> <!-- show nb_days_before and nb_days_after only if they are different from 0 -->
<tr> <tr>
<td> <td>
<?php echo api_ucfirst(get_lang('DaysBefore')) ?> : <?php echo api_ucfirst(get_lang('CoachSessionAccessStartDate')) ?> :
</td> </td>
<td> <td>
<?php echo intval($session['nb_days_access_before_beginning']) ?> <?php echo intval($session['coach_access_start_date']) ?>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<?php echo api_ucfirst(get_lang('DaysAfter')) ?> : <?php echo api_ucfirst(get_lang('CoachSessionAccessEndDate')) ?> :
</td> </td>
<td> <td>
<?php echo intval($session['nb_days_access_after_end']) ?> <?php echo intval($session['coach_session_access_end_date']) ?>
</td> </td>
</tr> </tr>
<tr> <tr>

@ -53,8 +53,8 @@ if($allowTutors == 'true') {
array('name'=>'nbr_courses', 'index'=>'nbr_courses', 'width'=>'30', 'align'=>'left', 'search' => 'true'), array('name'=>'nbr_courses', 'index'=>'nbr_courses', 'width'=>'30', 'align'=>'left', 'search' => 'true'),
array('name'=>'nbr_users', 'index'=>'nbr_users', 'width'=>'30', 'align'=>'left', 'search' => 'true'), array('name'=>'nbr_users', 'index'=>'nbr_users', 'width'=>'30', 'align'=>'left', 'search' => 'true'),
array('name'=>'category_name', 'index'=>'category_name', 'width'=>'70', 'align'=>'left', 'search' => 'true'), array('name'=>'category_name', 'index'=>'category_name', 'width'=>'70', 'align'=>'left', 'search' => 'true'),
array('name'=>'date_start', 'index'=>'date_start', 'width'=>'40', 'align'=>'left', 'search' => 'true'), array('name'=>'access_start_date', 'index'=>'access_start_date', 'width'=>'40', 'align'=>'left', 'search' => 'true'),
array('name'=>'date_end', 'index'=>'date_end', 'width'=>'40', 'align'=>'left', 'search' => 'true'), array('name'=>'access_end_date', 'index'=>'access_end_date', 'width'=>'40', 'align'=>'left', 'search' => 'true'),
array('name'=>'coach_name', 'index'=>'coach_name', 'width'=>'80', 'align'=>'left', 'search' => 'false'), array('name'=>'coach_name', 'index'=>'coach_name', 'width'=>'80', 'align'=>'left', 'search' => 'false'),
array('name'=>'status', 'index'=>'session_active','width'=>'40', 'align'=>'left', 'search' => 'true', 'stype'=>'select', array('name'=>'status', 'index'=>'session_active','width'=>'40', 'align'=>'left', 'search' => 'true', 'stype'=>'select',
//for the bottom bar //for the bottom bar

@ -2666,7 +2666,8 @@ function WSCreateCourse($params)
CourseManager::create_course_extra_field( CourseManager::create_course_extra_field(
$original_course_id_name, $original_course_id_name,
1, 1,
$original_course_id_name $original_course_id_name,
''
); );
// Save the external system's id into user_field_value table. // Save the external system's id into user_field_value table.
@ -2684,7 +2685,8 @@ function WSCreateCourse($params)
CourseManager::create_course_extra_field( CourseManager::create_course_extra_field(
$extra_field_name, $extra_field_name,
1, 1,
$extra_field_name $extra_field_name,
''
); );
// Save the external system's id into course_field_value table. // Save the external system's id into course_field_value table.
CourseManager::update_course_extra_field_value( CourseManager::update_course_extra_field_value(
@ -2888,7 +2890,8 @@ function WSCreateCourseByTitle($params)
CourseManager::create_course_extra_field( CourseManager::create_course_extra_field(
$original_course_id_name, $original_course_id_name,
1, 1,
$original_course_id_name $original_course_id_name,
''
); );
// Save the external system's id into user_field_value table. // Save the external system's id into user_field_value table.
@ -2906,7 +2909,8 @@ function WSCreateCourseByTitle($params)
CourseManager::create_course_extra_field( CourseManager::create_course_extra_field(
$extra_field_name, $extra_field_name,
1, 1,
$extra_field_name $extra_field_name,
''
); );
// Save the external system's id into course_field_value table. // Save the external system's id into course_field_value table.
CourseManager::update_course_extra_field_value( CourseManager::update_course_extra_field_value(
@ -3652,8 +3656,8 @@ function WSCreateSession($params)
$year_end = intval($session_param['year_end']); $year_end = intval($session_param['year_end']);
$month_end = intval($session_param['month_end']); $month_end = intval($session_param['month_end']);
$day_end = intval($session_param['day_end']); $day_end = intval($session_param['day_end']);
$nb_days_acess_before = intval($session_param['nb_days_access_before']); $nb_days_access_before = intval($session_param['nb_days_access_before']);
$nb_days_acess_after = intval($session_param['nb_days_access_after']); $nb_days_access_after = intval($session_param['nb_days_access_after']);
$id_coach = $session_param['user_id']; $id_coach = $session_param['user_id'];
$nolimit = $session_param['nolimit']; $nolimit = $session_param['nolimit'];
$original_session_id_name = $session_param['original_session_id_name']; $original_session_id_name = $session_param['original_session_id_name'];
@ -3672,11 +3676,11 @@ function WSCreateSession($params)
} }
if (empty($nolimit)){ if (empty($nolimit)){
$date_start = "$year_start-".(($month_start < 10)?"0$month_start":$month_start)."-".(($day_start < 10)?"0$day_start":$day_start); $date_start = "$year_start-".(($month_start < 10)?"0$month_start":$month_start)."-".(($day_start < 10)?"0$day_start":$day_start) . ' 00:00:00';
$date_end = "$year_end-".(($month_end < 10)?"0$month_end":$month_end)."-".(($day_end < 10)?"0$day_end":$day_end); $date_end = "$year_end-".(($month_end < 10)?"0$month_end":$month_end)."-".(($day_end < 10)?"0$day_end":$day_end) . ' 23:59:59';
} else { } else {
$date_start = "000-00-00"; $date_start = "000-00-00 00:00:00";
$date_end = "000-00-00"; $date_end = "000-00-00 00:00:00";
} }
if (empty($name)) { if (empty($name)) {
@ -3697,8 +3701,32 @@ function WSCreateSession($params)
$results[] = 0; $results[] = 0;
continue; continue;
} else { } else {
Database::query("INSERT INTO $tbl_session(name,date_start,date_end,id_coach,session_admin_id, nb_days_access_before_beginning, nb_days_access_after_end) $startDate = new DateTime($date_start);
VALUES('".addslashes($name)."','$date_start','$date_end','$id_coach',".intval($_user['user_id']).",".$nb_days_acess_before.", ".$nb_days_acess_after.")"); $endDate = new DateTime($date_end);
$diffStart = new DateInterval($nb_days_access_before);
$diffEnd = new DateInterval($nb_days_access_after);
$coachStartDate = $startDate->sub($diffStart);
$coachEndDate = $endDate->add($diffEnd);
Database::query(
"INSERT INTO $tbl_session(
name,
access_start_date,
access_end_date,
id_coach,
session_admin_id,
coach_access_start_date,
coach_access_end_date
)
VALUES(
'".addslashes($name)."',
'$date_start',
'$date_end',
'$id_coach',
".intval($_user['user_id']).",
'".$coachStartDate->format('Y-m-d H:i:s')."',
'".$coachEndDate->format('Y-m-d H:i:s')."'
)"
);
$id_session = Database::insert_id(); $id_session = Database::insert_id();
// Save new fieldlabel into course_field table. // Save new fieldlabel into course_field table.
@ -3861,8 +3889,8 @@ function WSEditSession($params)
$year_end = intval($session_param['year_end']); $year_end = intval($session_param['year_end']);
$month_end = intval($session_param['month_end']); $month_end = intval($session_param['month_end']);
$day_end = intval($session_param['day_end']); $day_end = intval($session_param['day_end']);
$nb_days_acess_before = intval($session_param['nb_days_access_before']); $nb_days_access_before = intval($session_param['nb_days_access_before']);
$nb_days_acess_after = intval($session_param['nb_days_access_after']); $nb_days_access_after = intval($session_param['nb_days_access_after']);
$original_session_id_value = $session_param['original_session_id_value']; $original_session_id_value = $session_param['original_session_id_value'];
$original_session_id_name = $session_param['original_session_id_name']; $original_session_id_name = $session_param['original_session_id_name'];
$orig_session_id_value[] = $original_session_id_value; $orig_session_id_value[] = $original_session_id_value;
@ -3901,14 +3929,20 @@ function WSEditSession($params)
$results[] = 0; //StartDateShouldBeBeforeEndDate $results[] = 0; //StartDateShouldBeBeforeEndDate
continue; continue;
} else { } else {
$startDate = new DateTime($date_start);
$endDate = new DateTime($date_end);
$diffStart = new DateInterval($nb_days_access_before);
$diffEnd = new DateInterval($nb_days_access_after);
$coachStartDate = $startDate->sub($diffStart);
$coachEndDate = $endDate->add($diffEnd);
$sql = "UPDATE $tbl_session SET " . $sql = "UPDATE $tbl_session SET " .
"name = '".addslashes($name)."', " . "name = '".addslashes($name)."', " .
"date_start = '".$date_start."', " . "date_start = '".$date_start."', " .
"date_end = '".$date_end."', " . "date_end = '".$date_end."', " .
"id_coach = '". $id_coach."', " . "id_coach = '". $id_coach."', " .
"session_admin_id = '". intval($_user['user_id'])."', " . "session_admin_id = '". intval($_user['user_id'])."', " .
"nb_days_access_before_beginning='". $nb_days_acess_before."', " . "coach_access_start_date = '". $coachStartDate->format('Y-m-d H:i:s') . "', " .
"nb_days_access_after_end='". $nb_days_acess_after."'" . "coach_access_end_date = '". $coachEndDate->format('Y-m-d H:i:s') . "'" .
" WHERE id = '".$id."'"; " WHERE id = '".$id."'";
Database::query($sql); Database::query($sql);
@ -4780,7 +4814,7 @@ function WSSuscribeUsersToSession($params)
list($nbr_users) = Database::fetch_array($rs); list($nbr_users) = Database::fetch_array($rs);
// update the session-course relation to add the users total // update the session-course relation to add the users total
$update_sql = "UPDATE $tbl_session_rel_course SET nbr_users=$nbr_users $update_sql = "UPDATE $tbl_session_rel_course SET nbr_users=$nbr_users
WHERE session_id='$id_session' AND c_id='$enreg_course'"; WHERE session_id='$sessionId' AND c_id='$enreg_course'";
Database::query($update_sql); Database::query($update_sql);
} }
@ -5290,7 +5324,7 @@ function WSSuscribeCoursesToSession($params) {
$courseId = $courseInfo['real_id']; $courseId = $courseInfo['real_id'];
$courseInfo = CourseManager::getCourseInfoFromOriginalId( $courseInfo = CourseManager::getCourseInfoFromOriginalId(
$original_course_id_value, $course_code,
$original_course_id_name $original_course_id_name
); );
@ -5796,10 +5830,10 @@ function WSListSessions($params) {
$sql_params = array(); $sql_params = array();
// Dates should be provided in YYYY-MM-DD format, UTC // Dates should be provided in YYYY-MM-DD format, UTC
if (!empty($params['date_start'])) { if (!empty($params['date_start'])) {
$sql_params['s.date_start'] = array('operator' => '>=', 'value' => $params['date_start']); $sql_params['s.access_start_date'] = array('operator' => '>=', 'value' => $params['date_start']);
} }
if (!empty($params['date_end'])) { if (!empty($params['date_end'])) {
$sql_params['s.date_end'] = array('operator' => '<=', 'value' => $params['date_end']); $sql_params['s.access_end_date'] = array('operator' => '<=', 'value' => $params['date_end']);
} }
$sessions_list = SessionManager::get_sessions_list($sql_params); $sessions_list = SessionManager::get_sessions_list($sql_params);
$return_list = array(); $return_list = array();
@ -5808,8 +5842,8 @@ function WSListSessions($params) {
'id' => $session['id'], 'id' => $session['id'],
'title' => $session['name'], 'title' => $session['name'],
'url' => api_get_path(WEB_CODE_PATH).'session/index.php?session_id='.$session['id'], // something like http://my.chamilo.net/main/session/index.php?session_id=5 'url' => api_get_path(WEB_CODE_PATH).'session/index.php?session_id='.$session['id'], // something like http://my.chamilo.net/main/session/index.php?session_id=5
'date_start' => $session['date_start'], 'date_start' => $session['access_start_date'],
'date_end' => $session['date_end'], 'date_end' => $session['access_end_date'],
); );
} }
@ -6191,7 +6225,7 @@ function WSCreateGroup($params)
$userGroup = new UserGroup(); $userGroup = new UserGroup();
$params = [ $params = [
'name' => $params['name'] 'name' => $params['name']
] ];
return $userGroup->save($params); return $userGroup->save($params);
//return GroupPortalManager::add($params['name'], null, null, 1); //return GroupPortalManager::add($params['name'], null, null, 1);
} }

@ -25,7 +25,7 @@ $joinTables = Database::get_main_table(TABLE_MAIN_SESSION) . ' s INNER JOIN ' .
$columns = 's.id AS session_id, uu.friend_user_id AS superior_id, uu.user_id AS student_id, asq.id AS queue_id, asq.status AS status'; $columns = 's.id AS session_id, uu.friend_user_id AS superior_id, uu.user_id AS student_id, asq.id AS queue_id, asq.status AS status';
$conditions = array( $conditions = array(
'where' => array( 'where' => array(
's.date_start >= ? AND uu.relation_type = ? AND asq.updated_at <= ?' => array( 's.access_start_date >= ? AND uu.relation_type = ? AND asq.updated_at <= ?' => array(
$now, $now,
USER_RELATION_TYPE_BOSS, USER_RELATION_TYPE_BOSS,
$weekAgo, $weekAgo,

@ -216,7 +216,7 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
$extra = new ExtraFieldValue('session'); $extra = new ExtraFieldValue('session');
$joinSessionTable = Database::get_main_table(TABLE_MAIN_SESSION_USER) . ' su INNER JOIN ' . $joinSessionTable = Database::get_main_table(TABLE_MAIN_SESSION_USER) . ' su INNER JOIN ' .
Database::get_main_table(TABLE_MAIN_SESSION) . ' s ON s.id = su.session_id'; Database::get_main_table(TABLE_MAIN_SESSION) . ' s ON s.id = su.session_id';
$whereSessionParams = 'su.relation_type = ? AND s.date_start >= ? AND su.user_id = ?'; $whereSessionParams = 'su.relation_type = ? AND s.access_start_date >= ? AND su.user_id = ?';
$whereSessionParamsValues = array( $whereSessionParamsValues = array(
0, 0,
$newYearDate->format('Y-m-d'), $newYearDate->format('Y-m-d'),

@ -549,7 +549,7 @@ class HookAdvancedSubscription extends HookObserver implements
/** /**
* Get a list of sessions (id, coach_id, name, courses_num, users_num, classes_num, * Get a list of sessions (id, coach_id, name, courses_num, users_num, classes_num,
* date_start, date_end, access_days_before_num, session_admin_id, visibility, * access_start_date, access_end_date, access_days_before_num, session_admin_id, visibility,
* session_category_id, promotion_id, * session_category_id, promotion_id,
* validated_user_num, waiting_user_num, * validated_user_num, waiting_user_num,
* extra, course) the validated_usernum and waiting_user_num are * extra, course) the validated_usernum and waiting_user_num are

@ -77,7 +77,7 @@ function sync()
$sql = "UPDATE $tableBuySession SET sync = 0"; $sql = "UPDATE $tableBuySession SET sync = 0";
Database::query($sql); Database::query($sql);
$sql = "SELECT id, name, date_start, date_end FROM $tableSession"; $sql = "SELECT id, name, access_start_date, access_end_date FROM $tableSession";
$res = Database::query($sql); $res = Database::query($sql);
while ($row = Database::fetch_assoc($res)) { while ($row = Database::fetch_assoc($res)) {
$sql = "SELECT 1 FROM $tableBuySession WHERE session_id='" . $row['id'] . "';"; $sql = "SELECT 1 FROM $tableBuySession WHERE session_id='" . $row['id'] . "';";
@ -88,7 +88,7 @@ function sync()
} else { } else {
$sql = "INSERT INTO $tableBuySession (session_id, name, date_start, date_end, visible, sync) $sql = "INSERT INTO $tableBuySession (session_id, name, date_start, date_end, visible, sync)
VALUES ('" . $row['id'] . "', '" . $row['name'] . "', '" . VALUES ('" . $row['id'] . "', '" . $row['name'] . "', '" .
$row['date_start'] . "', '" . $row['date_end'] . "', 0, 1);"; $row['access_start_date'] . "', '" . $row['access_end_date'] . "', 0, 1);";
Database::query($sql); Database::query($sql);
} }
} }

@ -35,12 +35,12 @@ if ($_REQUEST['tab'] == 'sync') {
$aux_code .= $row['code']; $aux_code .= $row['code'];
$aux_title .= $row['title']; $aux_title .= $row['title'];
} }
$sql = "SELECT name, date_start, date_end FROM $tableSession;"; $sql = "SELECT name, access_start_date, access_end_date FROM $tableSession;";
$res = Database::query($sql); $res = Database::query($sql);
while ($row = Database::fetch_assoc($res)) { while ($row = Database::fetch_assoc($res)) {
$aux_name .= $row['name']; $aux_name .= $row['name'];
$aux_date_start .= $row['date_start']; $aux_date_start .= $row['access_start_date'];
$aux_date_end .= $row['date_end']; $aux_date_end .= $row['access_end_date'];
} }
echo json_encode(array("status" => "true", "content" => $content)); echo json_encode(array("status" => "true", "content" => $content));
} }
@ -160,8 +160,8 @@ if ($_REQUEST['tab'] == 'sessions_filter') {
<div class="span4 "> <div class="span4 ">
<div class="categories-course-description"> <div class="categories-course-description">
<h3>'.$session['name'].'</h3> <h3>'.$session['name'].'</h3>
<h5>'.get_lang('From').' '.$session['date_start']. <h5>'.get_lang('From').' '.$session['access_start_date'].
' '.get_lang('Until').' '.$session['date_end'].'</h5>'; ' '.get_lang('Until').' '.$session['access_end_date'].'</h5>';
if ($session['enrolled'] == "YES") { if ($session['enrolled'] == "YES") {
$content .= '<span class="label label-info">'.$plugin->get_lang('TheUserIsAlreadyRegisteredInTheSession').'</span>'; $content .= '<span class="label label-info">'.$plugin->get_lang('TheUserIsAlreadyRegisteredInTheSession').'</span>';
} }

@ -108,8 +108,8 @@ class BlockSession extends Block
$session_id = intval($session['id']); $session_id = intval($session['id']);
$title = $session['name']; $title = $session['name'];
if ($session['date_start'] != '0000-00-00' && $session['date_end'] != '0000-00-00') { if ($session['access_start_date'] != '0000-00-00 00:00:00' && $session['access_end_date'] != '0000-00-00 00:00:00') {
$date = get_lang('From').' '.api_convert_and_format_date($session['date_start'], DATE_FORMAT_SHORT, date_default_timezone_get()).' '.get_lang('To').' '.api_convert_and_format_date($session['date_end'], DATE_FORMAT_SHORT, date_default_timezone_get()); $date = get_lang('From').' '.api_convert_and_format_date($session['access_start_date'], DATE_FORMAT_SHORT, date_default_timezone_get()).' '.get_lang('To').' '.api_convert_and_format_date($session['access_end_date'], DATE_FORMAT_SHORT, date_default_timezone_get());
} else { } else {
$date = ' - '; $date = ' - ';
} }

@ -16,6 +16,14 @@ class Version20150528103216 extends AbstractMigrationChamilo
*/ */
public function up(Schema $schema) public function up(Schema $schema)
{ {
$this->addSql('ALTER TABLE session ADD COLUMN access_start_date datetime');
$this->addSql('ALTER TABLE session ADD COLUMN access_end_date datetime');
$this->addSql('ALTER TABLE session ADD COLUMN coach_access_start_date datetime);
$this->addSql('ALTER TABLE session ADD COLUMN coach_access_end_date datetime');
$this->addSql('ALTER TABLE session ADD COLUMN display_start_date datetime');
$this->addSql('ALTER TABLE session ADD COLUMN display_end_date datetime');
$this->addSql('UPDATE session SET access_start_date = date_start'); $this->addSql('UPDATE session SET access_start_date = date_start');
$this->addSql("UPDATE session SET access_end_date = CONVERT(CONCAT(date_end, ' 23:59:59'), DATETIME)"); $this->addSql("UPDATE session SET access_end_date = CONVERT(CONCAT(date_end, ' 23:59:59'), DATETIME)");
@ -45,6 +53,19 @@ class Version20150528103216 extends AbstractMigrationChamilo
*/ */
public function down(Schema $schema) public function down(Schema $schema)
{ {
$this->addSql('ALTER TABLE session CREATE date_start date NOT NULL');
$this->addSql('ALTER TABLE session CREATE date_end date NOT NULL');
$this->addSql('ALTER TABLE session CREATE nb_days_access_before_beginning TINYINT');
$this->addSql('ALTER TABLE session CREATE nb_days_access_after_end TINYINT');
$this->addSql('UPDATE session SET date_start = access_start_date');
$this->addSql('UPDATE session SET date_end = access_end_date');
$this->addSql('UPDATE session SET nb_days_access_before_beginning = DATEDIFF(access_start_date, coach_access_start_date) WHERE access_start_date != coach_access_start_date AND coach_access_start_date IS NOT NULL');
$this->addSql('UPDATE session SET nb_days_access_after_end = DATEDIFF(coach_access_end_date, coach_access_end_date) WHERE access_end_date != coach_access_end_date AND coach_access_end_date IS NOT NULL');
$this->addSql('UPDATE session SET nb_days_access_before_beginning = 0 WHERE access_start_date = coach_access_start_date OR coach_access_start_date IS NULL');
$this->addSql('UPDATE session SET nb_days_access_after_end = 0 WHERE access_end_date = coach_access_end_date OR coach_access_end_date IS NULL');
$this->addSql('ALTER TABLE session DROP access_start_date'); $this->addSql('ALTER TABLE session DROP access_start_date');
$this->addSql('ALTER TABLE session DROP access_end_date'); $this->addSql('ALTER TABLE session DROP access_end_date');
$this->addSql('ALTER TABLE session DROP coach_access_start_date'); $this->addSql('ALTER TABLE session DROP coach_access_start_date');

@ -24,21 +24,27 @@ class TestSessionManager extends UnitTestCase {
function testcreate_session() { function testcreate_session() {
global $_user; global $_user;
$sname=''; $sname='';
$syear_start=''; $start='';
$smonth_start=''; $end='';
$sday_start=''; $coachStart='';
$syear_end=''; $coachEnd='';
$smonth_end='';
$sday_end='';
$snb_days_acess_before='';
$snb_days_acess_after='';
$nolimit=''; $nolimit='';
$coach_username=''; $coach_username='';
$id_session_category=''; $id_session_category='';
$id_visibility=''; $id_visibility='';
$id_session=Database::insert_id(); $id_session=Database::insert_id();
ob_start(); ob_start();
$res=SessionManager::create_session($sname,$syear_start,$smonth_start,$sday_start,$syear_end,$smonth_end,$sday_end,$snb_days_acess_before,$snb_days_acess_after,$nolimit,$coach_username,$id_session_category,$id_visibility); $res=SessionManager::create_session(
$sname,
$start,
$end,
$coachStart,
$coachEnd,
$nolimit,
$coach_username,
$id_session_category,
$id_visibility
);
$this->assertTrue(is_numeric($id_session)); $this->assertTrue(is_numeric($id_session));
$this->assertTrue(is_string($res)); $this->assertTrue(is_string($res));
ob_end_clean(); ob_end_clean();
@ -75,19 +81,26 @@ class TestSessionManager extends UnitTestCase {
global $_user; global $_user;
$id=1; $id=1;
$name=''; $name='';
$year_start=''; $start='';
$month_start=''; $end='';
$day_start=''; $coachStart='';
$year_end=''; $coachEnd='';
$month_end='';
$day_end='';
$nb_days_acess_before='';
$nb_days_acess_after='';
$nolimit=''; $nolimit='';
$id_coach=''; $id_coach='';
$id_session_category=''; $id_session_category='';
$id_visibility=''; $id_visibility='';
$res=SessionManager::edit_session($id,$name,$year_start,$month_start,$day_start,$year_end,$month_end,$day_end,$nb_days_acess_before,$nb_days_acess_after,$nolimit,$id_coach, $id_session_category, $id_visibility); $res=SessionManager::edit_session(
$id,
$name,
$start,
$end,
$coachStart,
$coachEnd,
$nolimit,
$id_coach,
$id_session_category,
$id_visibility
);
$this->assertTrue(is_numeric($id)); $this->assertTrue(is_numeric($id));
$this->assertTrue(is_string($res)); $this->assertTrue(is_string($res));
//var_dump($id); //var_dump($id);

@ -46,13 +46,13 @@ Display::display_header(get_lang('UserOnlineListSession'));
$_user['user_id'] = intval($_user['user_id']); $_user['user_id'] = intval($_user['user_id']);
$sql = "SELECT DISTINCT session.id, $sql = "SELECT DISTINCT session.id,
name, name,
date_start, access_start_date,
date_end access_end_date
FROM $tbl_session as session FROM $tbl_session as session
INNER JOIN $tbl_session_course_user as srcru INNER JOIN $tbl_session_course_user as srcru
ON srcru.user_id = ".$_user['user_id']." AND srcru.status=2 ON srcru.user_id = ".$_user['user_id']." AND srcru.status=2
AND session.id = srcru.session_id AND session.id = srcru.session_id
ORDER BY date_start, date_end, name"; ORDER BY access_start_date, access_end_date, name";
$result = Database::query($sql); $result = Database::query($sql);
while ($session = Database:: fetch_array($result)) { while ($session = Database:: fetch_array($result)) {
@ -61,11 +61,11 @@ Display::display_header(get_lang('UserOnlineListSession'));
$sql = "SELECT DISTINCT session.id, $sql = "SELECT DISTINCT session.id,
name, name,
date_start, access_start_date,
date_end access_end_date
FROM $tbl_session as session FROM $tbl_session as session
WHERE session.id_coach = ".$_user['user_id']." WHERE session.id_coach = ".$_user['user_id']."
ORDER BY date_start, date_end, name"; ORDER BY access_start_date, access_end_date, name";
$result = Database::query($sql); $result = Database::query($sql);
while ($session = Database:: fetch_array($result)) { while ($session = Database:: fetch_array($result)) {
$session_is_coach[$session['id']] = $session; $session_is_coach[$session['id']] = $session;

Loading…
Cancel
Save