"MDL-20587, chat module, show sessions with just one users, credits to Daniel Neis"
This commit is contained in:
@@ -33,6 +33,9 @@ $string['explainmethodnormal'] = 'These settings matter <strong>only</strong> 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['messagebeepseveryone'] = '$a beeps everyone!';
|
||||
$string['messagebeepsyou'] = '$a has just beeped you!';
|
||||
$string['messageenter'] = '$a has just entered this chat';
|
||||
@@ -45,6 +48,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['noguests'] = 'The chat is not open to guests';
|
||||
$string['nomessages'] = 'No messages yet';
|
||||
$string['normalkeepalive'] = 'KeepAlive';
|
||||
|
||||
+26
-6
@@ -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);
|
||||
|
||||
if (! $cm = get_coursemodule_from_id('chat', $id)) {
|
||||
error('Course Module ID was incorrect');
|
||||
@@ -132,13 +133,21 @@
|
||||
}
|
||||
}
|
||||
|
||||
if ($show_all) {
|
||||
print_heading(get_string('listing_all_sessions', 'chat') .
|
||||
' <a href="report.php?id='.$cm->id.'&show_all=0">'.
|
||||
get_string('list_complete_sessions', 'chat').
|
||||
'</a>', '', 3);
|
||||
}
|
||||
|
||||
/// 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);
|
||||
|
||||
@@ -163,7 +172,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 '<p align="center">'.userdate($sessionstart).' --> '. userdate($sessionend).'</p>';
|
||||
|
||||
@@ -186,6 +196,9 @@
|
||||
echo '</p>';
|
||||
print_simple_box_end();
|
||||
}
|
||||
if ($is_complete) {
|
||||
$complete_sessions++;
|
||||
}
|
||||
|
||||
$sessionend = $message->timestamp;
|
||||
$sessionusers = array();
|
||||
@@ -194,6 +207,13 @@
|
||||
$lasttime = $message->timestamp;
|
||||
}
|
||||
|
||||
if (!$show_all and $complete_sessions == 0) {
|
||||
print_heading(get_string('no_complete_sessions_found', 'chat') .
|
||||
' <a href="report.php?id='.$cm->id.'&show_all=1">'.
|
||||
get_string('list_all_sessions', 'chat').
|
||||
'</a>', '', 3);
|
||||
}
|
||||
|
||||
/// Finish the page
|
||||
print_footer($course);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user