]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-15758 - make sure there's a break between mutliple-session chat export
authormjollnir_ <mjollnir_>
Tue, 16 Sep 2008 20:42:59 +0000 (20:42 +0000)
committermjollnir_ <mjollnir_>
Tue, 16 Sep 2008 20:42:59 +0000 (20:42 +0000)
mod/chat/lib.php

index 9189a8294fdb6fb13ba9fd48e8ee02b04dda17e1..17a4f1489b43975e504c7920458ed69d0469a37f 100644 (file)
@@ -889,13 +889,20 @@ class chat_portfolio_caller extends portfolio_module_caller_base {
 
     public function prepare_package() {
         $content = '';
+        $lasttime = 0;
+        $sessiongap = 5 * 60;    // 5 minutes silence means a new session
         foreach ($this->messages as $message) {  // We are walking FORWARDS through messages
-            $m = clone $message; // grrrrrr
+            $m = clone $message; // grrrrrr - this causes the sha1 to change as chat_format_message changes what it's passed.
             $formatmessage = chat_format_message($m, null, $this->user);
             if (!isset($formatmessage->html)) {
                 continue;
             }
+            if (empty($lasttime) || (($message->timestamp - $lasttime) > $sessiongap)) {
+                $content .= '<hr />';
+                $content .= userdate($message->timestamp);
+            }
             $content .= $formatmessage->html;
+            $lasttime = $message->timestamp;
         }
         $content = preg_replace('/\<img[^>]*\>/', '', $content);