Fix notifications.

1.10.x
Julio Montoya 10 years ago
parent 0a6cd23403
commit 101a4f0887
  1. 41
      main/inc/lib/display.lib.php

@ -1290,6 +1290,10 @@ class Display
*/
public static function show_notification($course_info)
{
if (empty($course_info)) {
return '';
}
$t_track_e_access = Database::get_main_table(TABLE_STATISTIC_TRACK_E_LASTACCESS);
$course_tool_table = Database::get_course_table(TABLE_TOOL_LIST);
$tool_edit_table = Database::get_course_table(TABLE_ITEM_PROPERTY);
@ -1297,7 +1301,7 @@ class Display
$user_id = api_get_user_id();
$course_id = intval($course_info['real_id']);
$course_info['id_session'] = intval($course_info['id_session']);
$sessionId = intval($course_info['id_session']);
// Get the user's last access dates to all tools of this course
$sql = "SELECT *
@ -1305,7 +1309,7 @@ class Display
WHERE
c_id = $course_id AND
access_user_id = '$user_id' AND
access_session_id ='".$course_info['id_session']."'";
access_session_id ='".$sessionId."'";
$resLastTrackInCourse = Database::query($sql);
$oldestTrackDate = $oldestTrackDateOrig = '3000-01-01 00:00:00';
@ -1322,6 +1326,13 @@ class Display
$oldestTrackDate = $course_info['creation_date'];
}
$sessionCondition = api_get_session_condition(
$sessionId,
true,
false,
'tet.session_id'
);
// Get the last edits of all tools of this course.
$sql = "SELECT
tet.*,
@ -1332,15 +1343,15 @@ class Display
tet.to_group_id group_id,
ctt.image image,
ctt.link link
FROM $tool_edit_table tet, $course_tool_table ctt
FROM $tool_edit_table tet INNER JOIN $course_tool_table ctt
ON tet.c_id = ctt.c_id
WHERE
tet.c_id = $course_id AND
ctt.c_id = $course_id AND
tet.lastedit_date > '$oldestTrackDate' ".
// Special hack for work tool, which is called student_publication in c_tool and work in c_item_property :-/ BT#7104
" AND (ctt.name = tet.tool OR (ctt.name = 'student_publication' AND tet.tool = 'work')) ".
" AND ctt.visibility = '1' ".
" AND tet.lastedit_user_id != $user_id AND tet.session_id = '".$course_info['id_session']."'
" AND (ctt.name = tet.tool OR (ctt.name = 'student_publication' AND tet.tool = 'work'))
AND ctt.visibility = '1'
AND tet.lastedit_user_id != $user_id $sessionCondition
ORDER BY tet.lastedit_date";
$res = Database::query($sql);
@ -1412,13 +1423,8 @@ class Display
while (list($key, $notification) = each($notifications)) {
$lastDate = date('d/m/Y H:i', convert_sql_date($notification['lastedit_date']));
$type = $notification['lastedit_type'];
if (empty($course_info['id_session'])) {
$my_course['id_session'] = 0;
} else {
$my_course['id_session'] = $course_info['id_session'];
}
$label = get_lang('TitleNotification').": ".get_lang($type)." ($lastDate)";
$retvalue .= '<a href="'.api_get_path(WEB_CODE_PATH).$notification['link'].'?cidReq='.$course_code.'&ref='.$notification['ref'].'&gidReq='.$notification['to_group_id'].'&id_session='.$my_course['id_session'].'">'.
$retvalue .= '<a href="'.api_get_path(WEB_CODE_PATH).$notification['link'].'?cidReq='.$course_code.'&ref='.$notification['ref'].'&gidReq='.$notification['to_group_id'].'&id_session='.$sessionId.'">'.
Display::return_icon($notification['image'], $label).'</a>&nbsp;';
}
@ -1854,6 +1860,9 @@ class Display
/**
* Prints a tooltip
* @param string $text
* @param string $tip
* @return string
*/
public static function tip($text, $tip)
{
@ -1863,6 +1872,12 @@ class Display
return self::span($text, array('class' => 'boot-tooltip', 'title' => strip_tags($tip)));
}
/**
* @param array $items
* @param string $type
* @param null $id
* @return null|string
*/
public static function generate_accordion($items, $type = 'jquery', $id = null)
{
$html = null;

Loading…
Cancel
Save