Fix session dates see #7719

1.10.x
Julio Montoya 11 years ago
parent 9b556bae21
commit 2733cbb17d
  1. 4
      main/auth/courses_controller.php
  2. 27
      main/cron/remind_course_expiration.php
  3. 8
      main/inc/lib/api.lib.php
  4. 154
      main/inc/lib/sessionmanager.lib.php
  5. 111
      main/inc/lib/social.lib.php
  6. 5
      main/inc/lib/system_announcements.lib.php
  7. 9
      main/inc/lib/tracking.lib.php
  8. 22
      main/inc/lib/userportal.lib.php
  9. 1
      main/session/session_add.php
  10. 19
      main/session/session_edit.php
  11. 25
      main/social/profile.php
  12. 6
      main/template/default/export/table_pdf.tpl
  13. 4
      plugin/buycourses/view/configuration.tpl
  14. 2
      plugin/buycourses/view/list.tpl
  15. 2
      plugin/buycourses/view/process.tpl
  16. 2
      plugin/buycourses/view/success.tpl
  17. 4
      src/Chamilo/CoreBundle/Migrations/Schema/V110/Version20150528103216.php

@ -578,6 +578,8 @@ class CoursesController
}
foreach ($sessions as $session) {
$sessionDates = SessionManager::parseSessionDates($session);
$sessionsBlock = array(
'id' => $session['id'],
'name' => $session['name'],
@ -586,7 +588,7 @@ class CoursesController
'coach_name' => $session['coach_name'],
'is_subscribed' => $session['is_subscribed'],
'icon' => $this->getSessionIcon($session['name']),
'date' => SessionManager::getSessionFormattedDate($session),
'date' => $sessionDates['display'],
'subscribe_button' => $this->getRegisteredInSessionButton(
$session[$key],
$catalogSessionAutoSubscriptionAllowed

@ -19,13 +19,16 @@ define("OFFSET", 2);
$today = gmdate("Y-m-d");
$expirationDate = gmdate("Y-m-d", strtotime($today." + ".OFFSET." day"));
$query = "SELECT DISTINCT category.session_id, certificate.user_id FROM ".
Database::get_main_table(TABLE_MAIN_GRADEBOOK_CATEGORY)." AS category
LEFT JOIN ".Database::get_main_table(TABLE_MAIN_GRADEBOOK_CERTIFICATE).
" AS certificate ON category.id = certificate.cat_id
INNER JOIN ".Database::get_main_table(TABLE_MAIN_SESSION).
" AS session ON category.session_id = session.id
WHERE session.date_end BETWEEN '$today' AND '$expirationDate' AND category.session_id IS NOT NULL";
$query = "SELECT DISTINCT category.session_id, certificate.user_id
FROM ".Database::get_main_table(TABLE_MAIN_GRADEBOOK_CATEGORY)." AS category
LEFT JOIN ".Database::get_main_table(TABLE_MAIN_GRADEBOOK_CERTIFICATE)." AS certificate
ON category.id = certificate.cat_id
INNER JOIN ".Database::get_main_table(TABLE_MAIN_SESSION)." AS session
ON category.session_id = session.id
WHERE
session.access_end_date BETWEEN '$today' AND
'$expirationDate' AND
category.session_id IS NOT NULL";
$sessionId = 0;
$userIds = array();
@ -48,7 +51,7 @@ $usersToBeReminded = array();
foreach ($sessions as $sessionId => $userIds) {
$userId = 0;
$userIds = $userIds ? " AND sessionUser.user_id NOT IN (".implode(",", $userIds).")" : null;
$query = "SELECT sessionUser.session_id, sessionUser.user_id, session.name, session.date_end FROM ".
$query = "SELECT sessionUser.session_id, sessionUser.user_id, session.name, session.access_end_date FROM ".
Database::get_main_table(TABLE_MAIN_SESSION_USER)." AS sessionUser
INNER JOIN ".Database::get_main_table(TABLE_MAIN_SESSION)." AS session
ON sessionUser.session_id = session.id
@ -58,7 +61,7 @@ foreach ($sessions as $sessionId => $userIds) {
$usersToBeReminded[$row['user_id']][$row['session_id']] =
array(
'name' => $row['name'],
'date_end' => $row['date_end']
'access_end_date' => $row['access_end_date']
);
}
}
@ -89,7 +92,7 @@ if ($usersToBeReminded) {
PERSON_NAME_EMAIL_ADDRESS
);
foreach ($sessions as $sessionId => $session) {
$daysRemaining = date_diff($today, date_create($session['date_end']));
$daysRemaining = date_diff($today, date_create($session['access_end_date']));
$join = " INNER JOIN ".Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION)."ON id = access_url_id";
$result = Database::select(
'url',
@ -107,7 +110,7 @@ if ($usersToBeReminded) {
get_lang('MailCronCourseExpirationReminderBody', null, $platformLanguage),
$userCompleteName,
$session['name'],
$session['date_end'],
$session['access_end_date'],
$daysRemaining->format("%d"),
$result[0]['url'],
api_get_setting("siteName")
@ -122,7 +125,7 @@ if ($usersToBeReminded) {
);
echo "Email sent to $userCompleteName (".$user['email'].")\n";
echo "Session: ".$session['name']."\n";
echo "Date end: ".$session['date_end']."\n";
echo "Date end: ".$session['access_end_date']."\n";
echo "Days remaining: ".$daysRemaining->format("%d")."\n\n";
}
echo "======================================================================\n\n";

@ -2777,7 +2777,7 @@ function api_is_coach($session_id = 0, $courseId = null, $check_student_view = t
$sessionIsCoach = null;
if (!empty($course_code)) {
$sql = "SELECT DISTINCT s.id, name, date_start, date_end
$sql = "SELECT DISTINCT s.id, name, access_start_date, access_end_date
FROM $session_table s
INNER JOIN $session_rel_course_rel_user_table session_rc_ru
ON session_rc_ru.session_id = s.id AND session_rc_ru.user_id = '".$userId."'
@ -2790,18 +2790,18 @@ function api_is_coach($session_id = 0, $courseId = null, $check_student_view = t
}
if (!empty($session_id)) {
$sql = "SELECT DISTINCT id, name, date_start, date_end
$sql = "SELECT DISTINCT id, name, access_start_date, access_end_date
FROM $session_table
WHERE session.id_coach = '".$userId."' AND id = '$session_id'
ORDER BY date_start, date_end, name";
ORDER BY access_start_date, access_end_date, name";
$result = Database::query($sql);
if (!empty($sessionIsCoach)) {
$sessionIsCoach = array_merge($sessionIsCoach , Database::store_result($result));
} else {
$sessionIsCoach = Database::store_result($result);
}
}
return (count($sessionIsCoach) > 0);
}

@ -311,8 +311,10 @@ class SessionManager
if (strpos($where_condition, 'c.id')) {
$table = Database::get_main_table(TABLE_MAIN_SESSION_COURSE);
$tableCourse = Database::get_main_table(TABLE_MAIN_COURSE);
$courseCondition = " INNER JOIN $table course_rel_session ON (s.id = course_rel_session.session_id)
INNER JOIN $tableCourse c ON (course_rel_session.c_id = c.id)
$courseCondition = " INNER JOIN $table course_rel_session
ON (s.id = course_rel_session.session_id)
INNER JOIN $tableCourse c
ON (course_rel_session.c_id = c.id)
";
}
@ -320,16 +322,16 @@ class SessionManager
SELECT DISTINCT
IF (
(s.access_start_date <= '$today' AND '$today' <= s.access_end_date) OR
(s.nb_days_access_before_beginning > 0 AND DATEDIFF(s.date_start, '$today') <= s.nb_days_access_before_beginning) OR
(s.nb_days_access_after_end > 0 AND DATEDIFF('$today',s.date_end) <= s.nb_days_access_after_end) OR
(s.date_start = '0000-00-00' AND s.date_end = '0000-00-00' ) OR
(s.date_start <= '$today' AND '0000-00-00' = s.date_end) OR
('$today' <= s.date_end AND '0000-00-00' = s.date_start)
(s.access_start_date IS NULL AND s.access_end_date = IS NULL ) OR
(s.access_start_date <= '$today' AND s.access_end_date IS NULL) OR
('$today' <= s.access_end_date AND s.access_start_date IS NULL)
, 1, 0) as session_active,
s.id
FROM $tbl_session s
LEFT JOIN $tbl_session_category sc ON s.session_category_id = sc.id
INNER JOIN $tbl_user u ON s.id_coach = u.user_id
LEFT JOIN $tbl_session_category sc
ON s.session_category_id = sc.id
INNER JOIN $tbl_user u
ON s.id_coach = u.user_id
$courseCondition
$extraJoin
$where $where_condition ) as session_table";
@ -343,19 +345,19 @@ class SessionManager
$sql = "SELECT count(id) as total_rows FROM (
SELECT DISTINCT
IF (
(s.date_start <= '$today' AND '$today' <= s.date_end) OR
(s.nb_days_access_before_beginning > 0 AND DATEDIFF(s.date_start, '$today') <= s.nb_days_access_before_beginning) OR
(s.nb_days_access_after_end > 0 AND DATEDIFF('$today',s.date_end) <= s.nb_days_access_after_end) OR
(s.date_start = '0000-00-00' AND s.date_end = '0000-00-00' ) OR
(s.date_start <= '$today' AND '0000-00-00' = s.date_end) OR
('$today' <= s.date_end AND '0000-00-00' = s.date_start)
(s.access_start_date <= '$today' AND '$today' <= s.access_end_date) OR
(s.access_start_date IS NULL AND s.access_end_date IS NULL) OR
(s.access_start_date <= '$today' AND s.access_end_date IS NULL) OR
('$today' <= s.access_end_date AND s.access_start_date IS NULL)
, 1, 0)
as session_active,
s.id
FROM $tbl_session s
LEFT JOIN $tbl_session_category sc ON s.session_category_id = sc.id
LEFT JOIN $tbl_session_category sc
ON s.session_category_id = sc.id
INNER JOIN $tbl_user u ON s.id_coach = u.user_id
INNER JOIN $table_access_url_rel_session ar ON ar.session_id = s.id
INNER JOIN $table_access_url_rel_session ar
ON ar.session_id = s.id
$courseCondition
$extraJoin
$where $where_condition) as session_table";
@ -384,12 +386,16 @@ class SessionManager
$user_id = api_get_user_id();
if (!api_is_platform_admin()) {
if (api_is_session_admin() && api_get_setting('allow_session_admins_to_manage_all_sessions') == 'false') {
if (api_is_session_admin() &&
api_get_setting('allow_session_admins_to_manage_all_sessions') == 'false'
) {
$where .=" AND s.session_admin_id = $user_id ";
}
}
if (!api_is_platform_admin() && api_is_teacher() && api_get_setting('allow_teachers_to_create_sessions') == 'true') {
if (!api_is_platform_admin() && api_is_teacher() &&
api_get_setting('allow_teachers_to_create_sessions') == 'true'
) {
$where .=" AND s.id_coach = $user_id ";
}
@ -425,7 +431,10 @@ class SessionManager
$access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1) {
$where.= " AND ar.access_url_id = $access_url_id ";
$query = "$select FROM $tbl_session s $inject_joins INNER JOIN $table_access_url_rel_session ar ON (ar.session_id = s.id) $where";
$query = "$select
FROM $tbl_session s $inject_joins
INNER JOIN $table_access_url_rel_session ar
ON (ar.session_id = s.id) $where";
}
}
@ -2282,11 +2291,18 @@ class SessionManager
return $msg;
}
if ($date_end <> null) {
$sql = "UPDATE $tbl_session_category SET name = '" . Database::escape_string($name) . "', date_start = '$date_start' " .
", date_end = '$date_end' WHERE id= $id";
$sql = "UPDATE $tbl_session_category
SET
name = '" . Database::escape_string($name) . "',
date_start = '$date_start' ,
date_end = '$date_end'
WHERE id= $id";
} else {
$sql = "UPDATE $tbl_session_category SET name = '" . Database::escape_string($name) . "', date_start = '$date_start' " .
", date_end = NULL WHERE id= $id";
$sql = "UPDATE $tbl_session_category SET
name = '" . Database::escape_string($name) . "',
date_start = '$date_start',
date_end = NULL
WHERE id= $id";
}
$result = Database::query($sql);
return ($result ? true : false);
@ -3933,8 +3949,8 @@ class SessionManager
// Updating the session.
$params = array(
'id_coach' => $coach_id,
'date_start' => $date_start,
'date_end' => $date_end,
'access_start_date' => $date_start,
'access_end_date' => $date_end,
'visibility' => $visibilityAfterExpirationPerSession,
'session_category_id' => $session_category_id
);
@ -5339,32 +5355,6 @@ class SessionManager
return false;
}
/**
* Get the formatted date of a session by its start and end date
* @param array $sessionInfo The session information containing the start and end date
* @return string The formatted date
*/
public static function getSessionFormattedDate($sessionInfo)
{
if ($sessionInfo['date_start'] == '0000-00-00' && $sessionInfo['date_end'] == '0000-00-00') {
return get_lang('NoTimeLimits');
} else {
if ($sessionInfo['date_start'] != '0000-00-00') {
$startDate = get_lang('From') . ' ' . api_format_date($sessionInfo['date_start'], DATE_FORMAT_LONG_NO_DAY);
} else {
$startDate = '';
}
if ($sessionInfo['date_end'] == '0000-00-00') {
$endDate = '';
} else {
$endDate = get_lang('Until') . ' ' . api_format_date($sessionInfo['date_end'], DATE_FORMAT_LONG_NO_DAY);
}
return "$startDate $endDate";
}
}
/**
* Get the session coached by a user (general coach and course-session coach)
* @param int $coachId The coach id
@ -5599,7 +5589,7 @@ class SessionManager
$extraFieldType = \Chamilo\CoreBundle\Entity\ExtraField::SESSION_FIELD_TYPE;
// Get the session list from session category and target
$sessionList = Database::select(
'id, name, date_start, date_end',
'id, name, access_start_date, access_end_date',
$sTable,
array(
'where' => array(
@ -6068,33 +6058,38 @@ class SessionManager
* Converts "start date" and "end date" to "From start date to end date" string
* @param string $startDate
* @param string $endDate
* @return null|string
*
* @return string
*/
private static function convertSessionDateToString($startDate, $endDate)
{
//This will clean the variables if 0000-00-00 00:00:00 the variable will be empty
$start_date = null;
$end_date = null;
if (isset($startDate)) {
$start_date = api_get_local_time($startDate, null, null, true);
$startDateToLocal = '';
$endDateToLocal = '';
// This will clean the variables if 0000-00-00 00:00:00 the variable will be empty
if (isset($startDateToLocal)) {
$startDateToLocal = api_get_local_time($startDate, null, null, true);
}
if (isset($endDate)) {
$end_date = api_get_local_time($endDate, null, null, true);
if (isset($endDateToLocal)) {
$endDateToLocal = api_get_local_time($endDate, null, null, true);
}
$msg_date = null;
if (!empty($start_date) && !empty($end_date)) {
$msg_date = sprintf(get_lang('FromDateXToDateY'), $start_date, $end_date);
$result = '';
if (!empty($startDateToLocal) && !empty($endDateToLocal)) {
$result = sprintf(get_lang('FromDateXToDateY'), $startDateToLocal, $endDateToLocal);
} else {
if (!empty($start_date)) {
$msg_date = get_lang('From').' '.$start_date;
if (!empty($startDateToLocal)) {
$result = get_lang('From').' '.$startDateToLocal;
}
if (!empty($end_date)) {
$msg_date = get_lang('Until').' '.$end_date;
if (!empty($endDateToLocal)) {
$result = get_lang('Until').' '.$endDateToLocal;
}
}
return $msg_date;
if (empty($result)) {
$result = get_lang('NoTimeLimits');
}
return $result;
}
/**
@ -6260,25 +6255,6 @@ class SessionManager
$form->addElement('checkbox', 'show_description', null, get_lang('ShowDescription'));
/*
$form->addElement('checkbox', 'start_limit', '', get_lang('DateStartSession'), array(
'onchange' => 'disable_starttime(this)',
'id' => 'start_limit'
));
$form->addElement('html','<div id="start_date" style="display:none">');
$form->addElement('date_picker', 'date_start');
$form->addElement('html','</div>');
$form->addElement('checkbox', 'end_limit', '', get_lang('DateEndSession'), array(
'onchange' => 'disable_endtime(this)',
'id' => 'end_limit'
));
$form->addElement('html', '<div id="end_date" style="display:none">');
$form->addElement('date_picker', 'date_end');*/
$visibilityGroup = array();
$visibilityGroup[] = $form->createElement('select', 'session_visibility', null, array(
SESSION_VISIBLE_READ_ONLY => get_lang('SessionReadOnly'),
@ -6287,8 +6263,6 @@ class SessionManager
));
$form->addGroup($visibilityGroup, 'visibility_group', get_lang('SessionVisibility'), null, false);
$options = [
0 => get_lang('ByDuration'),
1 => get_lang('ByDates')

@ -445,11 +445,6 @@ class SocialManager extends UserManager
*/
public static function get_logged_user_course_html($my_course, $count)
{
global $nosession, $nbDigestEntries, $orderKey, $digest, $thisCourseSysCode;
if (!$nosession) {
global $now, $date_start, $date_end;
}
//initialise
$result = '';
// Table definitions
$main_user_table = Database :: get_main_table(TABLE_MAIN_USER);
@ -467,95 +462,51 @@ class SocialManager extends UserManager
//display course entry
$result .= '<div id="div_'.$count.'">';
//$result .= '<h3><img src="../img/nolines_plus.gif" id="btn_'.$count.'" onclick="toogle_course(this,\''.$course_id.'\' )">';
$result .= $s_htlm_status_icon;
//show a hyperlink to the course, unless the course is closed and user is not course admin
if ($course_visibility != COURSE_VISIBILITY_HIDDEN && ($course_visibility != COURSE_VISIBILITY_CLOSED || $user_in_course_status == COURSEMANAGER)) {
//$result .= '<a href="javascript:void(0)" id="ln_'.$count.'" onclick=toogle_course(this,\''.$course_id.'\');>&nbsp;'.$course_title.'</a>';
if ($course_visibility != COURSE_VISIBILITY_HIDDEN &&
($course_visibility != COURSE_VISIBILITY_CLOSED || $user_in_course_status == COURSEMANAGER)
) {
$result .= $course_title;
} else {
$result .= $course_title." "." ".get_lang('CourseClosed')."";
}
$result .= '</h3>';
//$current_course_settings = CourseManager :: get_access_settings($my_course['k']);
// display the what's new icons
/*if ($nbDigestEntries > 0) {
reset($digest);
$result .= '<ul>';
while (list ($key2) = each($digest[$thisCourseSysCode])) {
$result .= '<li>';
if ($orderKey[1] == 'keyTools') {
$result .= "<a href=\"$toolsList[$key2] [\"path\"] $thisCourseSysCode \">";
$result .= "$toolsList[$key2][\"name\"]</a>";
} else {
$result .= api_convert_and_format_date($key2, DATE_FORMAT_LONG, date_default_timezone_get());
}
$result .= '</li>';
$result .= '<ul>';
reset($digest[$thisCourseSysCode][$key2]);
while (list ($key3, $dataFromCourse) = each($digest[$thisCourseSysCode][$key2])) {
$result .= '<li>';
if ($orderKey[2] == 'keyTools') {
$result .= "<a href=\"$toolsList[$key3] [\"path\"] $thisCourseSysCode \">";
$result .= "$toolsList[$key3][\"name\"]</a>";
} else {
$result .= api_convert_and_format_date($key3, DATE_FORMAT_LONG, date_default_timezone_get());
}
$result .= '<ul compact="compact">';
reset($digest[$thisCourseSysCode][$key2][$key3]);
while (list ($key4, $dataFromCourse) = each($digest[$thisCourseSysCode][$key2][$key3])) {
$result .= '<li>';
$result .= htmlspecialchars(substr(strip_tags($dataFromCourse), 0, CONFVAL_NB_CHAR_FROM_CONTENT));
$result .= '</li>';
}
$result .= '</ul>';
$result .= '</li>';
}
$result .= '</ul>';
$result .= '</li>';
}
$result .= '</ul>';
}*/
$result .= '</li>';
$result .= '</div>';
if (!$nosession) {
$session = '';
$active = false;
if (!empty($my_course['session_name']) && !empty($my_course['id_session'])) {
// Request for the name of the general coach
$sql = 'SELECT lastname, firstname
FROM '.$tbl_session.' ts
LEFT JOIN '.$main_user_table.' tu
ON ts.id_coach = tu.user_id
WHERE ts.id='.(int) $my_course['id_session'].' LIMIT 1';
$rs = Database::query($sql);
$sessioncoach = Database::store_result($rs);
$sessioncoach = $sessioncoach[0];
$session = array();
$session['title'] = $my_course['session_name'];
if ($my_course['access_start_date'] == '0000-00-00') {
$session['dates'] = get_lang('WithoutTimeLimits');
if (api_get_setting('show_session_coach') === 'true') {
$session['coach'] = get_lang('GeneralCoach').': '.api_get_person_name($sessioncoach['firstname'], $sessioncoach['lastname']);
}
$active = true;
} else {
$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') {
$session['coach'] = get_lang('GeneralCoach').': '.api_get_person_name($sessioncoach['firstname'], $sessioncoach['lastname']);
}
$active = ($date_start <= $now && $date_end >= $now) ? true : false;
$session = '';
$active = false;
if (!empty($my_course['session_name']) && !empty($my_course['id_session'])) {
// Request for the name of the general coach
$sql = 'SELECT lastname, firstname
FROM '.$tbl_session.' ts
LEFT JOIN '.$main_user_table.' tu
ON ts.id_coach = tu.user_id
WHERE ts.id='.(int) $my_course['id_session'].' LIMIT 1';
$rs = Database::query($sql);
$sessioncoach = Database::store_result($rs);
$sessioncoach = $sessioncoach[0];
$session = array();
$session['title'] = $my_course['session_name'];
if ($my_course['access_start_date'] == '0000-00-00') {
$session['dates'] = get_lang('WithoutTimeLimits');
if (api_get_setting('show_session_coach') === 'true') {
$session['coach'] = get_lang('GeneralCoach').': '.api_get_person_name($sessioncoach['firstname'], $sessioncoach['lastname']);
}
$active = true;
} else {
$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') {
$session['coach'] = get_lang('GeneralCoach').': '.api_get_person_name($sessioncoach['firstname'], $sessioncoach['lastname']);
}
}
$my_course['id_session'] = isset($my_course['id_session']) ? $my_course['id_session'] : 0;
$output = array($my_course['user_course_cat'], $result, $my_course['id_session'], $session, 'active' => $active);
} else {
$output = array($my_course['user_course_cat'], $result);
}
$my_course['id_session'] = isset($my_course['id_session']) ? $my_course['id_session'] : 0;
$output = array($my_course['user_course_cat'], $result, $my_course['id_session'], $session);
return $output;
}

@ -273,9 +273,10 @@ class SystemAnnouncementManager
*/
public static function get_all_announcements()
{
$db_table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
$table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
$now = api_get_utc_datetime();
$sql = "SELECT *, IF( '$now' >= date_start AND '$now' <= date_end, '1', '0') AS visible FROM $db_table";
$sql = "SELECT *, IF ( '$now' >= date_start AND '$now' <= date_end, '1', '0') AS visible
FROM $table";
$current_access_url_id = 1;
if (api_is_multiple_url_enabled()) {

@ -3038,14 +3038,13 @@ class Tracking
if (!empty($sessions)) {
foreach ($sessions as & $session) {
if ($session['access_start_date'] == '0000-00-00') {
if ($session['access_start_date'] == '0000-00-00 00:00:00' || empty($session['access_start_date'])
) {
$session['status'] = get_lang('SessionActive');
}
else {
$date_start = explode('-', $session['access_start_date']);
$time_start = mktime(0, 0, 0, $date_start[1], $date_start[2], $date_start[0]);
$date_end = explode('-', $session['access_end_date']);
$time_end = mktime(0, 0, 0, $date_end[1], $date_end[2], $date_end[0]);
$time_start = api_strtotime($session['access_start_date'], 'UTC');
$time_end = api_strtotime($session['access_end_date'], 'UTC');
if ($time_start < time() && time() < $time_end) {
$session['status'] = get_lang('SessionActive');
} else {

@ -1429,13 +1429,26 @@ class IndexManager
$session_category_start_date = $session_category['session_category']['date_start'];
$session_category_end_date = $session_category['session_category']['date_end'];
if (!empty($session_category_start_date) && $session_category_start_date != '0000-00-00' && !empty($session_category_end_date) && $session_category_end_date != '0000-00-00' ) {
$params['subtitle'] = sprintf(get_lang('FromDateXToDateY'), $session_category['session_category']['date_start'], $session_category['session_category']['date_end']);
if (!empty($session_category_start_date) &&
$session_category_start_date != '0000-00-00' &&
!empty($session_category_end_date) &&
$session_category_end_date != '0000-00-00'
) {
$params['subtitle'] = sprintf(
get_lang('FromDateXToDateY'),
$session_category['session_category']['date_start'],
$session_category['session_category']['date_end']
);
} else {
if (!empty($session_category_start_date) && $session_category_start_date != '0000-00-00') {
if (!empty($session_category_start_date) &&
$session_category_start_date != '0000-00-00'
) {
$params['subtitle'] = get_lang('From').' '.$session_category_start_date;
}
if (!empty($session_category_end_date) && $session_category_end_date != '0000-00-00') {
if (!empty($session_category_end_date) &&
$session_category_end_date != '0000-00-00'
) {
$params['subtitle'] = get_lang('Until').' '.$session_category_end_date;
}
}
@ -1444,7 +1457,6 @@ class IndexManager
$html_sessions
);
}
}
}
}

@ -148,7 +148,6 @@ $(function() {
$form->addButtonNext(get_lang('NextStep'));
if (!$formSent) {
$formDefaults['access_start_date'] = $formDefaults['display_start_date'] = api_get_local_time();
} else {

@ -31,9 +31,6 @@ $tool_name = get_lang('EditSession');
$interbreadcrumb[] = array('url' => "session_list.php","name" => get_lang('SessionList'));
$interbreadcrumb[] = array('url' => "resume_session.php?id_session=".$id,"name" => get_lang('SessionOverview'));
list($year_start, $month_start, $day_start) = explode('-', $sessionInfo['date_start']);
list($year_end, $month_end, $day_end) = explode('-', $sessionInfo['date_end']);
if (isset($_POST['formSent']) && $_POST['formSent']) {
$formSent = 1;
}
@ -51,7 +48,8 @@ if (api_is_multiple_url_enabled()) {
if ($access_url_id != -1) {
$sql = "SELECT DISTINCT u.user_id,lastname,firstname,username
FROM $tbl_user u
INNER JOIN $table_access_url_rel_user url_rel_user ON (url_rel_user.user_id = u.user_id)
INNER JOIN $table_access_url_rel_user url_rel_user
ON (url_rel_user.user_id = u.user_id)
WHERE status='1' AND access_url_id = '$access_url_id' $order_clause";
}
}
@ -165,14 +163,10 @@ if ($form->validate()) {
// display the header
Display::display_header($tool_name);
if (!empty($return)) {
Display::display_error_message($return,false);
}
$form->display();
?>
<script type="text/javascript">
<script>
$(document).ready( function() {
<?php
@ -184,13 +178,6 @@ $(document).ready( function() {
?>
});
function setDisable(select) {
document.forms['edit_session'].elements['session_visibility'].disabled = (select.checked) ? true : false;
document.forms['edit_session'].elements['session_visibility'].selectedIndex = 0;
}
function accessSwitcher(accessFromReady) {
var access = $('#access option:selected').val();

@ -474,42 +474,31 @@ if ($show_full_profile) {
$my_courses = null;
// COURSES LIST
if (is_array($list)) {
$my_courses .= '<div class="panel panel-default">';
$my_courses .= '<div class="panel-heading">'.api_ucfirst(get_lang('MyCourses')).'</div>';
$my_courses .= '<div class="panel-body">';
//Courses without sessions
$i=1;
// Courses without sessions
$my_course = '';
$i = 1;
foreach ($list as $key => $value) {
if ( empty($value[2]) ) { //if out of any session
$my_courses .= $value[1];
$my_courses .= '<div id="social_content'.$i.'"'
.' class="course_social_content" style="display:none" >s</div>';
$my_courses .= '<div id="social_content'.$i.'" class="course_social_content" style="display:none" >s</div>';
$i++;
}
}
$my_courses .= '</div></div>';
$social_course_block .= $my_courses;
$social_course_block = Display::panel($my_courses, get_lang('MyCourses'));
}
//Block Social Sessions
if (count($sessionList) > 0) {
$sessions = '<div class="panel panel-default">';
$sessions .= '<div class="panel-heading">'.api_ucfirst(get_lang('MySessions')).'</div>';
$sessions .= '<div class="panel-body">'.$htmlSessionList.'</div>';
$sessions .= '</div>';
$social_session_block = $sessions;
$social_session_block = Display::panel($htmlSessionList, get_lang('MySessions'));
}
// Block Social User Feeds
$user_feeds = SocialManager::get_user_feeds($user_id);
if (!empty($user_feeds)) {
$rss = '<div class="panel panel-default social-rss">';
$rss .= '<div class="panel-heading">'.get_lang('RSSFeeds').'</div>';
$rss .= '<div class="panel-body">'.$user_feeds.'</div></div>';
$social_rss_block = $rss;
$social_rss_block = Display::panel($user_feeds, get_lang('RSSFeeds'));
}
//BLock Social Skill

@ -27,10 +27,10 @@
{% endif %}
</tr>
{% if pdf_session_info.date_start != '0000-00-00' and pdf_session_info.date_end != '0000-00-00' %}
{% if pdf_session_info.access_start_date != '' and pdf_session_info.access_end_date != '0000-00-00' %}
<tr>
<td>
<strong>{{ "PeriodToDisplay" | get_lang }}:</strong> {{ "FromDateXToDateY"| get_lang | format(pdf_session_info.date_start, pdf_session_info.date_end ) }}
<strong>{{ "PeriodToDisplay" | get_lang }}:</strong> {{ "FromDateXToDateY"| get_lang | format(pdf_session_info.access_start_date, pdf_session_info.access_end_date ) }}
</td>
</tr>
{% endif %}
@ -39,7 +39,7 @@
{% if pdf_course_info %}
<tr>
<td>
<strong>{{ "Course" | get_lang }}:</strong> {{ pdf_course_info.title }} ({{ pdf_course_info.code }})
<strong>{{ "Course" | get_lang }}:</strong> {{ pdf_course_info.title }} ({{ pdf_course_info.code }})
{% if pdf_course_category %}
<strong>{{ "Category" | get_lang }}:</strong> {{ pdf_course_category }}

@ -81,10 +81,10 @@ $(function() {
<a href="{{ server }}main/session/index.php?session_id={{ session.id }}">{{session.name}}</a>
</td>
<td>
{{session.date_start}}
{{ session.access_start_date }}
</td>
<td>
{{session.date_end}}
{{ session.access_end_date }}
</td>
<td class="ta-center">
{% if session.visible == 1 %}

@ -128,7 +128,7 @@ $(function() {
<div class="span4 ">
<div class="categories-course-description">
<h3>{{ session.name }}</h3>
<h5>{{ 'From'|get_lang }} {{ session.date_start }} {{ 'Until'|get_lang }} {{ session.date_end }}</h5>
<h5>{{ 'From'|get_lang }} {{ session.access_start_date }} {{ 'Until'|get_lang }} {{ session.access_end_date }}</h5>
{% if session.enrolled == "YES" %}
<span class="label label-info">{{ 'TheUserIsAlreadyRegisteredInTheSession'|get_plugin_lang('BuyCoursesPlugin') }}</span>
{% endif %}

@ -24,7 +24,7 @@
<div class="span4">
<div class="categories-course-description">
<h3>{{ title }}</h3>
<h5>{{ 'From'|get_lang }} {{ session.date_start }} {{ 'To'|get_lang }} {{ session.date_end }}</h5>
<h5>{{ 'From'|get_lang }} {{ session.access_start_date }} {{ 'To'|get_lang }} {{ session.access_end_date }}</h5>
</div>
</div>
<div class="span right">

@ -25,7 +25,7 @@
<div class="span4">
<div class="categories-course-description">
<h3>{{ session.name }}</h3>
<h5>{{ 'From'|get_lang }} {{ session.date_start }} {{ 'To'|get_lang }} {{ session.date_end }}</h5>
<h5>{{ 'From'|get_lang }} {{ session.access_start_date }} {{ 'To'|get_lang }} {{ session.access_end_date }}</h5>
</div>
</div>
<div class="span right">

@ -16,9 +16,9 @@ class Version20150528103216 extends AbstractMigrationChamilo
*/
public function up(Schema $schema)
{
$this->addSql('ALTER TABLE session ADD COLUMN access_start_date datetime');
$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_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');

Loading…
Cancel
Save