/** * Returns a navigation-object with the grey/red icon for displaying in the * my_courses.php page. * @param string $course_id * @param int $last_visit * @param string|null $user_id * @return \AutoNavigation */ public function getIconNavigation($course_id, $last_visit, $user_id = null) { if (!$user_id) { $user_id = $GLOBALS['user']->id; } $icon = new AutoNavigation($this->getDisplayTitle(), PluginEngine::getLink($this, array(), "streams/forum")); $db = DBManager::get(); $last_own_posting_time = (int) $db->query("SELECT mkdate " . "FROM blubber " . "WHERE user_id = " . $db->quote($user_id) . " " . "AND Seminar_id = " . $db->quote($course_id) . " " . "AND context_type = 'course' " . "ORDER BY mkdate DESC " . "")->fetch(PDO::FETCH_COLUMN, 0); $new_ones = $db->query("SELECT COUNT(*) " . "FROM blubber " . "WHERE chdate > " . $db->quote(max($last_visit, $last_own_posting_time)) . " " . "AND user_id != " . $db->quote($user_id) . " " . "AND Seminar_id = " . $db->quote($course_id) . " " . "AND context_type = 'course' " . "")->fetch(PDO::FETCH_COLUMN, 0); if ($new_ones) { $title = $new_ones > 1 ? sprintf(_("%s neue Blubber"), $new_ones) : _("1 neuer Blubber"); $icon->setImage(Icon::create('blubber', 'attention', compact('title'))); $icon->setTitle($title); $icon->setBadgeNumber($new_ones); } else { $icon->setImage(Icon::create('blubber', 'inactive', ["title" => $this->getDisplayTitle()])); } return $icon; }