diff --git a/app/controllers/course/overview.php b/app/controllers/course/overview.php index 96e7f5abefc6d861851369ece0bd1d48c70981bb..e0315a8dddccfdbf7d8c7a2615d33812faf794d8 100644 --- a/app/controllers/course/overview.php +++ b/app/controllers/course/overview.php @@ -75,7 +75,7 @@ class Course_OverviewController extends AuthenticatedController $show_link = $GLOBALS["perm"]->have_studip_perm('autor', $this->course_id) && $this->course->isToolActive('schedule'); $this->times_rooms = $this->sem->getDatesTemplate('dates/seminar_html', ['link_to_dates' => $show_link, 'show_room' => true]); - // Fettch teachers + // Fetch teachers $dozenten = $this->sem->getMembers('dozent'); $this->num_dozenten = count($dozenten); $show_dozenten = []; diff --git a/app/views/news/display.php b/app/views/news/display.php index 356ec1f12494c860ccb5318b95d40b0a8a39d666..042b9123569ffa4bffdf4311fa3dececc5aae647 100644 --- a/app/views/news/display.php +++ b/app/views/news/display.php @@ -25,35 +25,41 @@ </nav> </header> <? foreach ($news as $new): ?> - <? $is_new = ($new['chdate'] >= object_get_visit($new->id, 'news', false, false)) + <? $is_new = ($new['chdate'] >= object_get_visit($new->id, 'news', false, false)) && ($new['user_id'] != $GLOBALS['user']->id); ?> - <article class="studip toggle <?= ContentBoxHelper::classes($new->id, $is_new) ?>" id="<?= $new->id ?>" data-visiturl="<?=URLHelper::getScriptLink('dispatch.php/news/visit')?>"> - <header> - <h1> - <a href="<?= ContentBoxHelper::href($new->id, ['contentbox_type' => 'news']) ?>"> - <?= Icon::create('news') ?> - <?= htmlReady($new['topic']); ?> - </a> - </h1> - <nav> - <?= $this->render_partial('news/_actions.php', ['new' => $new, 'range' => $range]) ?> - </nav> - </header> - <section> - <article> - <?= formatReady($new['body']) ?> - </article> - </section> - <?= $this->render_partial('news/_comments.php', ['new' => $new, 'range' => $range]) ?> - </article> + <? if ($is_new && Request::get('unread_news') === 'yes') : ?> + <? object_add_view($new->id); + object_set_visit($new->id, 'news');?> + <? endif ?> + <article class="studip toggle <?= ContentBoxHelper::classes($new->id, $is_new) ?>" + id="<?= $new->id ?>" + data-visiturl="<?=URLHelper::getScriptLink('dispatch.php/news/visit')?>"> + <header> + <h1> + <a href="<?= ContentBoxHelper::href($new->id, ['contentbox_type' => 'news']) ?>"> + <?= Icon::create('news') ?> + <?= htmlReady($new['topic']); ?> + </a> + </h1> + <nav> + <?= $this->render_partial('news/_actions.php', ['new' => $new, 'range' => $range]) ?> + </nav> + </header> + <section> + <article> + <?= formatReady($new['body']) ?> + </article> + </section> + <?= $this->render_partial('news/_comments.php', ['new' => $new, 'range' => $range]) ?> + </article> <? endforeach; ?> <? if (!$news): ?> - <section> - <?= _('Es sind keine aktuellen Ankündigungen vorhanden. Um neue Ankündigungen zu erstellen, klicken Sie rechts auf das Plus-Zeichen.') ?> - </section> + <section> + <?= _('Es sind keine aktuellen Ankündigungen vorhanden. Um neue Ankündigungen zu erstellen, klicken Sie rechts auf das Plus-Zeichen.') ?> + </section> <? if ($perm && $count_all_news) : ?> <footer> - <a href="<?=URLHelper::getLink('?nshow_all=1')?>"><?=sprintf(_("Abgelaufene und unveröffentlichte Ankündigungen anzeigen (%s)"), $count_all_news)?></a> + <a href="<?=URLHelper::getLink('?nshow_all=1')?>"><?=sprintf(_("Abgelaufene und unveröffentlichte Ankündigungen anzeigen (%s)"), $count_all_news)?></a> </footer> <? endif; ?> <? elseif ($perm) : ?> diff --git a/lib/classes/ContentBoxHelper.php b/lib/classes/ContentBoxHelper.php index b7767143614afe364b5f28ea5f38299c71069f1d..99c0482e30ca7bc2edf194481354180126da1ffc 100644 --- a/lib/classes/ContentBoxHelper.php +++ b/lib/classes/ContentBoxHelper.php @@ -37,6 +37,7 @@ class ContentBoxHelper { // Check if new if ($is_new) { $classes[] = 'new'; + $classes[] = 'open'; } // Return classes diff --git a/lib/modules/CoreOverview.class.php b/lib/modules/CoreOverview.class.php index 9092af57d1ec103dac14177d58452ebe7b2ddb93..aa24883525d07e289b5b039e8edcf92de77d2d0c 100644 --- a/lib/modules/CoreOverview.class.php +++ b/lib/modules/CoreOverview.class.php @@ -41,9 +41,8 @@ class CoreOverview extends CorePlugin implements StudipModule } $nav = new Navigation(_('Ankündigungen'), ''); - $url_params = ['redirect_to' => 'dispatch.php/course/overview']; if ($result['neue']) { - $url_params['new_news'] = true; + $url_params = ['unread_news' => 'yes']; $nav->setImage(Icon::create('news', Icon::ROLE_ATTENTION), [ 'title' => sprintf( ngettext( @@ -68,7 +67,8 @@ class CoreOverview extends CorePlugin implements StudipModule ) ]); } - $nav->setURL(URLHelper::getURL('', $url_params)); + $nav->setURL('dispatch.php/course/overview', $url_params); + return $nav; }