public function test_relative_time()
 {
     $timetag = array('tag' => 'time', 'attributes' => array('is' => 'relative-time'));
     $actual = local::relative_time(time());
     $this->assertTag($timetag + ['content' => 'now'], $actual);
     $onesecbeforenow = time() - 1;
     $actual = local::relative_time($onesecbeforenow);
     $this->assertTag($timetag + ['content' => '1 sec ago'], $actual);
     $relativeto = date_timestamp_get(date_create("01/01/2001"));
     $onesecago = $relativeto - 1;
     $actual = local::relative_time($onesecago, $relativeto);
     $this->assertTag($timetag + ['content' => '1 sec ago'], $actual);
     $oneminago = $relativeto - 60;
     $actual = local::relative_time($oneminago, $relativeto);
     $this->assertTag($timetag + ['content' => '1 min ago'], $actual);
 }
 /**
  * Render recent forum activity.
  *
  * @param array $activities
  * @return string
  */
 public function recent_forum_activity(array $activities)
 {
     global $OUTPUT;
     $output = '';
     if (empty($activities)) {
         return '';
     }
     $formatoptions = new stdClass();
     $formatoptions->filter = false;
     foreach ($activities as $activity) {
         if (!empty($activity->user)) {
             $userpicture = new user_picture($activity->user);
             $userpicture->link = false;
             $userpicture->alttext = false;
             $userpicture->size = 32;
             $picture = $OUTPUT->render($userpicture);
         } else {
             $picture = '';
         }
         $url = new moodle_url('/mod/' . $activity->type . '/discuss.php', ['d' => $activity->content->discussion], 'p' . $activity->content->id);
         $fullname = fullname($activity->user);
         $forumpath = $activity->courseshortname . ' / ' . $activity->forumname;
         $meta = [local::relative_time($activity->timestamp), format_text($forumpath, FORMAT_HTML, $formatoptions)];
         $formattedsubject = '<p>' . format_text($activity->content->subject, FORMAT_HTML, $formatoptions) . '</p>';
         $output .= $this->snap_media_object($url, $picture, $fullname, $meta, $formattedsubject);
     }
     return $output;
 }