diff --git a/main/inc/ajax/course_home.ajax.php b/main/inc/ajax/course_home.ajax.php index 9d15e4dc26..359e8e198a 100755 --- a/main/inc/ajax/course_home.ajax.php +++ b/main/inc/ajax/course_home.ajax.php @@ -84,7 +84,8 @@ switch ($action) { $libpath = api_get_path(LIBRARY_PATH); require_once $libpath.'course.lib.php'; require_once $libpath.'sessionmanager.lib.php'; - require_once $libpath.'usermanager.lib.php'; + require_once $libpath.'usermanager.lib.php'; + require_once $libpath.'tracking.lib.php'; require_once api_get_path(SYS_CODE_PATH).'newscorm/learnpathList.class.php'; @@ -109,6 +110,7 @@ switch ($action) { break; } } + if(!$sidx) $sidx =1; @@ -125,7 +127,20 @@ switch ($action) { foreach($flat_list as $lp_id => $lp_item) { $temp[$count]['id']= $lp_id; $lp_url = api_get_path(WEB_CODE_PATH).'newscorm/lp_controller.php?cidReq='.$item['code'].'&id_session='.$session_id.'&lp_id='.$lp_id.'&action=view'; - $temp[$count]['cell']=array(substr($lp_item['publicated_on'], 0,10), $item['title'], Display::url($lp_item['lp_name'],$lp_url, array('target'=>'_blank'))); + $last_date = Tracking::get_last_connection_date_on_the_course(api_get_user_id(),$item['code'], $session_id, false); + if ($lp_item['modified_on'] == '0000-00-00 00:00:00' || empty($lp_item['modified_on'])) { + $lp_date = api_get_local_time($lp_item['created_on'], null, date_default_timezone_get()); + $image = 'new.gif'; + $label = get_lang('LearnpathAdded'); + } else { + $lp_date = api_get_local_time($lp_item['modified_on'], null, date_default_timezone_get()); + $image = 'moderator_star.png'; + $label = get_lang('LearnpathUpdated'); + } + if (strtotime($last_date) < strtotime($lp_date)) { + $icons = ' '.Display::return_icon($image, get_lang('_title_notification').': '.$label.' - '.$lp_date); + } + $temp[$count]['cell']=array(substr($lp_item['publicated_on'], 0,10), $item['title'], Display::url($lp_item['lp_name'].$icons,$lp_url, array('target'=>'_blank'))); $count++; } } @@ -138,8 +153,7 @@ switch ($action) { $responce->rows[$i]['cell']=array($row[0], $row[1], $row[2]); $i++; } - } - + } if($count > 0 && $limit > 0) { $total_pages = ceil($count/$limit); @@ -163,6 +177,7 @@ switch ($action) { $libpath = api_get_path(LIBRARY_PATH); require_once $libpath.'course.lib.php'; require_once $libpath.'usermanager.lib.php'; + require_once $libpath.'tracking.lib.php'; require_once $libpath.'sessionmanager.lib.php'; require_once api_get_path(SYS_CODE_PATH).'newscorm/learnpathList.class.php'; @@ -207,7 +222,22 @@ switch ($action) { foreach($flat_list as $lp_id => $lp_item) { $temp[$count]['id']= $lp_id; $lp_url = api_get_path(WEB_CODE_PATH).'newscorm/lp_controller.php?cidReq='.$item['code'].'&id_session='.$session_id.'&lp_id='.$lp_id.'&action=view'; - $temp[$count]['cell']=array(get_week_from_day($lp_item['publicated_on']), substr($lp_item['publicated_on'], 0,10), $item['title'], Display::url($lp_item['lp_name'], $lp_url, array('target'=>'_blank'))); + + $last_date = Tracking::get_last_connection_date_on_the_course(api_get_user_id(),$item['code'], $session_id, false); + if ($lp_item['modified_on'] == '0000-00-00 00:00:00' || empty($lp_item['modified_on'])) { + $lp_date = api_get_local_time($lp_item['created_on'], null, date_default_timezone_get()); + $image = 'new.gif'; + $label = get_lang('LearnpathAdded'); + } else { + $lp_date = api_get_local_time($lp_item['modified_on'], null, date_default_timezone_get()); + $image = 'moderator_star.png'; + $label = get_lang('LearnpathUpdated'); + } + if (strtotime($last_date) < strtotime($lp_date)) { + $icons = ' '.Display::return_icon($image, get_lang('_title_notification').': '.$label.' - '.$lp_date); + } + + $temp[$count]['cell']=array(get_week_from_day($lp_item['publicated_on']), substr($lp_item['publicated_on'], 0,10), $item['title'], Display::url($lp_item['lp_name'].$icons, $lp_url, array('target'=>'_blank'))); $count++; } } @@ -245,6 +275,7 @@ switch ($action) { $libpath = api_get_path(LIBRARY_PATH); require_once $libpath.'course.lib.php'; require_once $libpath.'usermanager.lib.php'; + require_once $libpath.'tracking.lib.php'; require_once $libpath.'sessionmanager.lib.php'; require_once api_get_path(SYS_CODE_PATH).'newscorm/learnpathList.class.php'; @@ -283,11 +314,24 @@ switch ($action) { $list = new LearnpathList(api_get_user_id(),$item['code']); $flat_list = $list->get_flat_list(); $lps[$item['code']] = $flat_list; - $item['title'] = Display::url($item['title'],api_get_path(WEB_COURSE_PATH).$item['directory'].'/?id_session='.$session_id, array('target'=>'_blank')); + $item['title'] = Display::url($item['title'],api_get_path(WEB_COURSE_PATH).$item['directory'].'/?id_session='.$session_id, array('target'=>'_blank')); foreach($flat_list as $lp_id => $lp_item) { $temp[$count]['id']= $lp_id; $lp_url = api_get_path(WEB_CODE_PATH).'newscorm/lp_controller.php?cidReq='.$item['code'].'&id_session='.$session_id.'&lp_id='.$lp_id.'&action=view'; - $temp[$count]['cell']=array(substr($lp_item['publicated_on'], 0,10), $item['title'], Display::url($lp_item['lp_name'], $lp_url, array('target'=>'_blank'))); + Tracking::get_last_connection_date_on_the_course(api_get_user_id(),$item['code'], $session_id, false); + if ($lp_item['modified_on'] == '0000-00-00 00:00:00' || empty($lp_item['modified_on'])) { + $lp_date = api_get_local_time($lp_item['created_on'], null, date_default_timezone_get()); + $image = 'new.gif'; + $label = get_lang('LearnpathAdded'); + } else { + $lp_date = api_get_local_time($lp_item['modified_on'], null, date_default_timezone_get()); + $image = 'moderator_star.png'; + $label = get_lang('LearnpathUpdated'); + } + if (strtotime($last_date) < strtotime($lp_date)) { + $icons = ' '.Display::return_icon($image, get_lang('_title_notification').': '.$label.' - '.$lp_date); + } + $temp[$count]['cell']=array(substr($lp_item['publicated_on'], 0,10), $item['title'], Display::url($lp_item['lp_name'].$icons, $lp_url, array('target'=>'_blank'))); $count++; } } diff --git a/main/session/index.php b/main/session/index.php index 9781efca85..634823a413 100644 --- a/main/session/index.php +++ b/main/session/index.php @@ -195,9 +195,9 @@ echo Display::tag('h1', $session_info['name']); $url = api_get_path(WEB_AJAX_PATH).'course_home.ajax.php?a=session_courses_lp_default&session_id='.$session_id; $columns = array(get_lang('Date'),get_lang('Course'), get_lang('LearningPath')); -$column_model = array(array('name'=>'date', 'index'=>'date', 'width'=>'80', 'align'=>'left'), - array('name'=>'course', 'index'=>'course', 'width'=>'500', 'align'=>'left'), - array('name'=>'lp', 'index'=>'lp', 'width'=>'200', 'align'=>'center')); +$column_model = array(array('name'=>'date', 'index'=>'date', 'width'=>'80', 'align'=>'left', 'sortable'=>'false'), + array('name'=>'course', 'index'=>'course', 'width'=>'500', 'align'=>'left', 'sortable'=>'false'), + array('name'=>'lp', 'index'=>'lp', 'width'=>'200', 'align'=>'center','sortable'=>'false')); $extra_params['autowidth'] = 'true'; //use the width of the parent //$extra_params['forceFit'] = 'true'; //use the width of the parent @@ -215,10 +215,10 @@ $extra_params_course['autowidth'] = 'true'; //use the width of the parent $url_week = api_get_path(WEB_AJAX_PATH).'course_home.ajax.php?a=session_courses_lp_by_week&session_id='.$session_id; $column_week = array(get_lang('PeriodWeek'), get_lang('Date'),get_lang('Course'), get_lang('LearningPath')); $column_week_model = array( - array('name'=>'week', 'index'=>'week', 'width'=>'80', 'align'=>'left'), - array('name'=>'date', 'index'=>'date', 'width'=>'80', 'align'=>'right'), - array('name'=>'course', 'index'=>'course', 'width'=>'500', 'align'=>'left'), - array('name'=>'lp', 'index'=>'lp', 'width'=>'200', 'align'=>'center')); + array('name'=>'week', 'index'=>'week', 'width'=>'80', 'align'=>'left', 'sortable'=>'false'), + array('name'=>'date', 'index'=>'date', 'width'=>'80', 'align'=>'right','sortable'=>'false'), + array('name'=>'course', 'index'=>'course', 'width'=>'500','align'=>'left', 'sortable'=>'false'), + array('name'=>'lp', 'index'=>'lp', 'width'=>'200','align'=>'center','sortable'=>'false')); $extra_params_week['grouping'] = 'true'; @@ -229,8 +229,8 @@ $extra_params_week['autowidth'] = 'true'; //use the width of the parent //MyQCM grid $column_exercise = array(get_lang('Course'),get_lang('Exercise'), get_lang('Attempts'), get_lang('Result'), get_lang('Score'), get_lang('Position')); -$column_exercise_model = array(array('name'=>'course', 'index'=>'course', 'width'=>'450', 'align'=>'left','sortable'=>'false'), - array('name'=>'exercise', 'index'=>'exercise', 'width'=>'250', 'align'=>'left', 'sortable'=>'false'), +$column_exercise_model = array(array('name'=>'course', 'index'=>'course', 'width'=>'450', 'align'=>'left', 'sortable'=>'false'), + array('name'=>'exercise', 'index'=>'exercise', 'width'=>'250', 'align'=>'left', 'sortable'=>'false'), array('name'=>'attempt', 'index'=>'attempt', 'width'=>'50', 'align'=>'center', 'sortable'=>'false'), array('name'=>'result', 'index'=>'result', 'width'=>'50', 'align'=>'center', 'sortable'=>'false'), array('name'=>'note', 'index'=>'note', 'width'=>'50', 'align'=>'center', 'sortable'=>'false'),