Fixing session date when entering to the portal as a coach see #5353

skala
Julio Montoya 13 years ago
parent e386fd0c4a
commit ab48039063
  1. 2
      main/inc/lib/social.lib.php
  2. 20
      main/inc/lib/usermanager.lib.php
  3. 3
      main/inc/lib/userportal.lib.php
  4. 8
      main/session/index.php
  5. 12
      main/webservices/cm_webservice_courses.php
  6. 2
      user_portal.php

@ -688,7 +688,7 @@ class SocialManager extends UserManager {
foreach ($personal_course_list as $my_course) {
if ($i<=10) {
//$list[] = SocialManager::get_logged_user_course_html($my_course,$i);
$course_list_code[] = array('code'=>$my_course['k']);
$course_list_code[] = array('code' => $my_course['code']);
} else {
break;
}

@ -1949,7 +1949,8 @@ class UserManager {
$sql = "SELECT DISTINCT session.id, session.name, session.date_start, session.date_end, session_category_id,
session_category.name as session_category_name,
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
FROM $tbl_session as session LEFT JOIN $tbl_session_category session_category ON (session_category_id = session_category.id)
INNER JOIN $tbl_session_course_user as session_rel_course_user ON (session_rel_course_user.id_session = session.id)
@ -2034,24 +2035,26 @@ class UserManager {
// Get the list of sessions where the user is subscribed
$sessions_sql = "SELECT DISTINCT id, name, date_start, date_end
FROM $tbl_session_user, $tbl_session
WHERE id_session=id AND
WHERE (id_session=id AND
id_user=$user_id AND
relation_type<>".SESSION_RELATION_TYPE_RRHH."
relation_type<>".SESSION_RELATION_TYPE_RRHH.") OR
(id_coach = $user_id)
ORDER BY date_start, date_end, name";
$result = Database::query($sessions_sql);
$sessions = Database::store_result($result, 'ASSOC');
if (api_is_allowed_to_create_course()) {
foreach ($sessions as $enreg) {
foreach ($sessions as $enreg) {
$session_id = $enreg['id'];
$session_visibility = api_get_session_visibility($session_id);
if ($session_visibility == SESSION_INVISIBLE) {
continue;
}
$id_session = $enreg['id'];
$personal_course_list_sql = "SELECT DISTINCT course.code k, course.title i,
$personal_course_list_sql = "SELECT DISTINCT course.code code, course.title i,
".(api_is_western_name_order() ? "CONCAT(user.firstname,' ',user.lastname)" : "CONCAT(user.lastname,' ',user.firstname)")." t, email, course.course_language l, 1 sort,
category_code user_course_cat, date_start, date_end, session.id as id_session, session.name as session_name
FROM $tbl_session_course_user as session_course_user
@ -2060,7 +2063,7 @@ class UserManager {
INNER JOIN $tbl_session as session
ON session.id = session_course_user.id_session
LEFT JOIN $tbl_user as user
ON user.user_id = session_course_user.id_user
ON user.user_id = session_course_user.id_user OR session.id_coach = user.user_id
WHERE session_course_user.id_session = $id_session
AND ((session_course_user.id_user=$user_id AND session_course_user.status = 2) OR session.id_coach = $user_id)
ORDER BY i";
@ -2083,7 +2086,7 @@ class UserManager {
}
// this query is very similar to the above query, but it will check the session_rel_course_user table if there are courses registered to our user or not
$personal_course_list_sql = "SELECT DISTINCT course.code k, course.title i, CONCAT(user.lastname,' ',user.firstname) t, email,
$personal_course_list_sql = "SELECT DISTINCT course.code code, course.title i, CONCAT(user.lastname,' ',user.firstname) t, email,
course.course_language l, 1 sort, category_code user_course_cat, date_start, date_end, session.id as id_session, session.name as session_name, " .
"IF((session_course_user.id_user = 3 AND session_course_user.status=2),'2', '5')
FROM $tbl_session_course_user as session_course_user
@ -2098,7 +2101,7 @@ class UserManager {
while ($result_row = Database::fetch_array($course_list_sql_result, 'ASSOC')) {
$result_row['course_info'] = api_get_course_info($result_row['code']);
$key = $result_row['id_session'].' - '.$result_row['k'];
$key = $result_row['id_session'].' - '.$result_row['code'];
if (!isset($personal_course_list[$key])) {
$personal_course_list[$key] = $result_row;
}
@ -2106,6 +2109,7 @@ class UserManager {
}
return $personal_course_list;
}
/**
* Gives a list of courses for the given user in the given session
* @param integer $user_id

@ -942,7 +942,7 @@ class IndexManager {
$params['icon'] = Display::return_icon('window_list.png', $session_box['title'], array('id' => 'session_img_'.$session_id), ICON_SIZE_LARGE);
$extra_info = !empty($session_box['coach']) ? $session_box['coach'] : null;
$extra_info .= !empty($session_box['dates']) ? ' - '.$session_box['dates'] : null;
$extra_info .= !empty($session_box['coach']) ? ' - '.$session_box['dates'] : $session_box['dates'];
if (api_is_drh()) {
$session_link = $session_box['title'];
@ -987,6 +987,7 @@ class IndexManager {
foreach ($session['courses'] as $course) {
$is_coach_course = api_is_coach($session_id, $course['code']);
if ($is_coach_course) {
$allowed_time = api_strtotime($date_session_start) - $days_access_before_beginning;
} else {

@ -48,7 +48,7 @@ $new_session_list = UserManager::get_personal_session_course_list(api_get_user_i
$user_course_list = array();
foreach ($new_session_list as $session_item) {
$user_course_list[] = $session_item['k'];
$user_course_list[] = $session_item['code'];
}
$my_session_list = array();
@ -114,7 +114,6 @@ if (!empty($course_list)) {
$last_date = Tracking::get_last_connection_date_on_the_course(api_get_user_id(), $course_data['code'], $session_id, false);
$icons = '';
foreach ($lp_list as $item) {
if ($item['modified_on'] == '0000-00-00 00:00:00' || empty($item['modified_on'])) {
$lp_date_original = $item['created_on'];
$image = 'new.gif';
@ -131,13 +130,13 @@ if (!empty($course_list)) {
$max_mutation_date = $mutation_date;
}
if (strtotime($last_date) < strtotime($lp_date_original)) {
if (empty($icons)) {
$icons .= ' '.Display::return_icon($image, get_lang('TitleNotification').': '.$label.' - '.$lp_date_original).' ';
}
}
}
$new_course_list[] = array('title'=> $course_data['title'].$icons,
// 'recent_lps' => $icons,
//'max_mutation_date' => substr(api_get_local_time($max_mutation_date),0,10),
@ -149,7 +148,7 @@ if (!empty($course_list)) {
//If the requested session does not exist in my list we stop the script
if (!api_is_platform_admin()) {
if (!in_array($session_id, $my_session_list)) {
api_not_allowed();
api_not_allowed(true);
}
}
@ -417,7 +416,6 @@ $(function() {
<?php
//Displays js code to use a jqgrid
echo Display::grid_js('courses', '', $columns_courses, $column_model_courses, $extra_params_courses, $new_course_list);
echo Display::grid_js('list_default', $url, $columns, $column_model,$extra_params,array(), '');

@ -15,21 +15,19 @@ require_once(dirname(__FILE__).'/cm_webservice.php');
*/
class WSCMCourses extends WSCM {
public function get_courses_code($username, $password)
{
if($this->verifyUserPass($username, $password) == "valid")
{
public function get_courses_code($username, $password) {
if($this->verifyUserPass($username, $password) == "valid") {
$user_id = UserManager::get_user_id_from_username($username);
$listOfCourses = UserManager::get_personal_session_course_list($user_id);
$courses_id = "#";
foreach ($listOfCourses as $course){
$courses_id .= $course['c']."#";
$courses_id .= $course['code']."#";
}
return $courses_id;
} else
} else {
return get_lang('InvalidId');
}
}
public function get_course_title($username, $password, $course_code)

@ -65,7 +65,7 @@ if (api_get_setting('go_to_course_after_login') == 'true') {
$key = array_keys($personal_course_list);
$course_info = $personal_course_list[$key[0]];
$course_directory = $course_info['d'];
$course_directory = $course_info['course_info']['path'];
$id_session = isset($course_info['id_session']) ? $course_info['id_session'] : 0;
$url = api_get_path(WEB_CODE_PATH).'session/?session_id='.$id_session;

Loading…
Cancel
Save