From 236779567457cc9a1d3418aebf3ef426a07b1fd8 Mon Sep 17 00:00:00 2001
From: Dongsheng Cai
Date: Fri, 4 Dec 2009 03:57:48 +0000
Subject: [PATCH] "MDL-20587, chat module, show sessions with just one users,
based on Daniel Neis' patch, thanks"
---
lang/en_utf8/chat.php | 4 ++++
mod/chat/report.php | 32 +++++++++++++++++++++++++-------
2 files changed, 29 insertions(+), 7 deletions(-)
diff --git a/lang/en_utf8/chat.php b/lang/en_utf8/chat.php
index ea1cf3bc71..a1a78ab0d8 100644
--- a/lang/en_utf8/chat.php
+++ b/lang/en_utf8/chat.php
@@ -38,6 +38,9 @@ $string['explainmethodnormal'] = 'These settings matter only if
$string['generalconfig'] = 'General configuration';
$string['helpchatting'] = 'Help with chatting';
$string['idle'] = 'Idle';
+$string['list_complete_sessions'] = 'List just complete sessions.';
+$string['list_all_sessions'] = 'List all sessions.';
+$string['listing_all_sessions'] = 'Listing all sessions.';
$string['invalidid'] = 'Could not find that chat room!';
$string['inputarea'] = 'Input area';
$string['messageyoubeep'] = 'You beeped $a';
@@ -53,6 +56,7 @@ $string['modulename'] = 'Chat';
$string['modulenameplural'] = 'Chats';
$string['neverdeletemessages'] = 'Never delete messages';
$string['nextsession'] = 'Next scheduled session';
+$string['no_complete_sessions_found'] = 'No complete sessions found.';
$string['nochat'] = 'No chat found';
$string['noguests'] = 'The chat is not open to guests';
$string['nomessages'] = 'No messages yet';
diff --git a/mod/chat/report.php b/mod/chat/report.php
index 85337c76a8..6d4f3abb52 100644
--- a/mod/chat/report.php
+++ b/mod/chat/report.php
@@ -10,6 +10,7 @@
$end = optional_param('end', 0, PARAM_INT); // End of period
$deletesession = optional_param('deletesession', 0, PARAM_BOOL);
$confirmdelete = optional_param('confirmdelete', 0, PARAM_BOOL);
+ $show_all = optional_param('show_all', 0, PARAM_BOOL);
$url = new moodle_url($CFG->wwwroot.'/mod/chat/report.php', array('id'=>$id));
if ($start !== 0) {
@@ -155,7 +156,6 @@
/// Get the messages
-
if (empty($messages)) { /// May have already got them above
if (!$messages = $DB->get_records_select('chat_messages', "chatid = :chatid $groupselect", $params, "timestamp DESC")) {
echo $OUTPUT->heading(get_string('nomessages', 'chat'));
@@ -164,13 +164,20 @@
}
}
+ if ($show_all) {
+ echo $OUTPUT->heading(get_string('listing_all_sessions', 'chat') .
+ ' ' .
+ get_string('list_complete_sessions', 'chat') . '');
+ }
+
/// Show all the sessions
- $sessiongap = 5 * 60; // 5 minutes silence means a new session
- $sessionend = 0;
- $sessionstart = 0;
- $sessionusers = array();
- $lasttime = 0;
+ $sessiongap = 5 * 60; // 5 minutes silence means a new session
+ $sessionend = 0;
+ $sessionstart = 0;
+ $sessionusers = array();
+ $lasttime = 0;
+ $complete_sessions = 0;
$messagesleft = count($messages);
@@ -195,7 +202,8 @@
} else {
$sessionstart = $lasttime;
- if ($sessionend - $sessionstart > 60 and count($sessionusers) > 1) {
+ $is_complete = ($sessionend - $sessionstart > 60 and count($sessionusers) > 1);
+ if ($show_all or $is_complete) {
echo ''.userdate($sessionstart).' --> '. userdate($sessionend).'
';
@@ -231,6 +239,9 @@
echo '
';
echo $OUTPUT->box_end();
}
+ if ($is_complete) {
+ $complete_sessions++;
+ }
$sessionend = $message->timestamp;
$sessionusers = array();
@@ -247,6 +258,13 @@
}
+ if (!$show_all and $complete_sessions == 0) {
+ echo $OUTPUT->heading(get_string('no_complete_sessions_found', 'chat') .
+ ' ' .
+ get_string('list_all_sessions', 'chat') .
+ '');
+ }
+
/// Finish the page
echo $OUTPUT->footer();
--
2.39.5