diff options
| author | Philipp Schüttlöffel <schuettloeffel@zqs.uni-hannover.de> | 2024-09-24 10:53:31 +0200 |
|---|---|---|
| committer | Philipp Schüttlöffel <schuettloeffel@zqs.uni-hannover.de> | 2024-09-24 10:53:31 +0200 |
| commit | 4459dd7917f4d1c34f40bb68f0e991e9c3d53e4c (patch) | |
| tree | 5c07151ae61276d334e88f6309c30d439a85c12e /lib/modules/CoreSchedule.class.php | |
| parent | da0022e5c1abbf9825ae76debaabdff7e8623bb4 (diff) | |
| parent | 97a188592c679890a25c37ab78463add76a52ff7 (diff) | |
Merge branch 'main' into issue-3911issue-3911
Diffstat (limited to 'lib/modules/CoreSchedule.class.php')
| -rw-r--r-- | lib/modules/CoreSchedule.class.php | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/lib/modules/CoreSchedule.class.php b/lib/modules/CoreSchedule.class.php deleted file mode 100644 index 601b618..0000000 --- a/lib/modules/CoreSchedule.class.php +++ /dev/null @@ -1,130 +0,0 @@ -<?php - -/* - * Copyright (c) 2012 Rasmus Fuhse <fuhse@data-quest.de> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - */ - -class CoreSchedule extends CorePlugin implements StudipModule -{ - /** - * {@inheritdoc} - */ - public function getIconNavigation($course_id, $last_visit, $user_id) - { - $query = "SELECT COUNT(termin_id) AS count, - COUNT(IF((chdate > IFNULL(ouv.visitdate, :threshold) AND autor_id != :user_id), termin_id, NULL)) AS neue - FROM termine - LEFT JOIN object_user_visits AS ouv - ON ouv.object_id = range_id - AND ouv.user_id = :user_id - AND ouv.plugin_id = :plugin_id - WHERE range_id = :course_id"; - $statement = DBManager::get()->prepare($query); - $statement->bindValue(':user_id', $user_id); - $statement->bindValue(':course_id', $course_id); - $statement->bindValue(':threshold', $last_visit); - $statement->bindValue(':plugin_id', $this->getPluginId()); - $statement->execute(); - $result = $statement->fetch(PDO::FETCH_ASSOC); - - if (!$result || (!$result['neue'] && !$result['count'])) { - return null; - } - - $nav = new Navigation(_('Ablaufplan'), 'dispatch.php/course/dates'); - if ($result['neue']) { - $nav->setImage(Icon::create('schedule', Icon::ROLE_ATTENTION), [ - 'title' => sprintf( - ngettext( - '%1$d Termin, %2$d neuer', - '%1$d Termine, %2$d neue', - $result['count'] - ), - $result['count'], - $result['neue'] - ) - ]); - $nav->setBadgeNumber($result['neue']); - } else { - $nav->setImage(Icon::create('schedule', Icon::ROLE_CLICKABLE), [ - 'title' => sprintf( - ngettext( - '%d Termin', - '%d Termine', - $result['count'] - ), - $result['count'] - ) - ]); - } - return $nav; - } - - /** - * {@inheritdoc} - */ - public function getTabNavigation($course_id) - { - $navigation = new Navigation(_('Ablaufplan')); - $navigation->setImage(Icon::create('schedule', Icon::ROLE_INFO_ALT)); - $navigation->setActiveImage(Icon::create('schedule', Icon::ROLE_INFO)); - - $navigation->addSubNavigation('dates', new Navigation(_('Termine'), 'dispatch.php/course/dates')); - $navigation->addSubNavigation('topics', new Navigation(_('Themen'), 'dispatch.php/course/topics')); - - return ['schedule' => $navigation]; - } - - /** - * {@inheritdoc} - */ - public function getMetadata() - { - return [ - 'summary' => _('Anzeige aller Termine der Veranstaltung'), - 'description' => _('Der Ablaufplan listet alle Präsenz-, '. - 'E-Learning-, Klausur-, Exkursions- und sonstige '. - 'Veranstaltungstermine auf. Zur besseren Orientierung und zur '. - 'inhaltlichen Einstimmung der Studierenden können Lehrende den '. - 'Terminen Themen hinzufügen, die z. B. eine Kurzbeschreibung '. - 'der Inhalte darstellen.'), - 'displayname' => _('Ablaufplan'), - 'category' => _('Lehr- und Lernorganisation'), - 'keywords' => _('Inhaltliche und räumliche Orientierung für Studierende; - Beschreibung der Inhalte einzelner Termine; - Raumangabe; - Themenzuordnung zu Terminen; - Terminzuordnung zu Themen'), - 'descriptionshort' => _('Anzeige aller Termine der Veranstaltung, ggf. mit Themenansicht'), - 'descriptionlong' => _('Der Ablaufplan listet alle Präsenz-, E-Learning-, Klausur-, Exkursions- ' . - 'und sonstige Veranstaltungstermine auf. Zur besseren Orientierung und zur ' . - 'inhaltlichen Einstimmung der Studierenden können Lehrende den Terminen ' . - 'Themen hinzufügen, die z. B. eine Kurzbeschreibung der Inhalte darstellen.'), - 'icon' => Icon::create('schedule', Icon::ROLE_INFO), - 'icon_clickable' => Icon::create('schedule', Icon::ROLE_CLICKABLE), - 'screenshots' => [ - 'path' => 'assets/images/plus/screenshots/Ablaufplan', - 'pictures' => [ - 0 => ['source' => 'Termine_mit_Themen.jpg', 'title' => _('Termine mit Themen')], - 1 => [ 'source' => 'Thema_bearbeiten_und_einem_Termin_zuordnen.jpg', 'title' => _('Thema bearbeiten und einem Termin zuordnen')] - ] - ] - ]; - } - - public function getInfoTemplate($course_id) - { - // TODO: Implement getInfoTemplate() method. - return null; - } - - public function isActivatableForContext(Range $context) - { - return $context->getRangeType() === 'course'; - } -} |
