diff --git a/lib/classes/searchtypes/NewsRangesSearch.php b/lib/classes/searchtypes/NewsRangesSearch.php index 6cb7a2ff9f428cd319bf0a43bf00610b3e4d238b..a009c64b119dac922625f218ba05d5a364bdaf5d 100644 --- a/lib/classes/searchtypes/NewsRangesSearch.php +++ b/lib/classes/searchtypes/NewsRangesSearch.php @@ -42,7 +42,7 @@ class NewsRangesSearch extends SearchType LEFT JOIN `semester_data` USING (`semester_id`) WHERE s.`name` LIKE :input GROUP BY s.`Seminar_id` - ORDER BY s.`start_time` DESC + ORDER BY `semester_data`.`beginn` DESC ) AS course_select"; } elseif ($GLOBALS['perm']->have_perm('admin')) { $sem_inst = Config::get()->ALLOW_ADMIN_RELATED_INST ? 'si' : 's'; @@ -58,7 +58,7 @@ class NewsRangesSearch extends SearchType WHERE {$sem_inst}.`institut_id` IN (:institutes) AND s.`name` LIKE :input GROUP BY s.`Seminar_id` - ORDER BY s.`start_time` DESC + ORDER BY `semester_data`.`beginn` DESC ) AS course_select"; $parameters[':institutes'] = $this->getAdminInstitutes($user); @@ -68,14 +68,14 @@ class NewsRangesSearch extends SearchType SELECT CONCAT(s.`Seminar_id`, '__seminar') AS `range_id`, TRIM(CONCAT({$number_sql} s.`name`, {$semester_sql})) AS `name` FROM `seminare` AS s - JOIN `seminar_user` AS su USING (`Seminar_id`) + JOIN `seminar_user` AS su USING (`Seminar_id`) LEFT JOIN `semester_courses` AS sc ON s.`Seminar_id` = sc.`course_id` LEFT JOIN `semester_data` USING (`semester_id`) WHERE s.`name` LIKE :input AND su.`user_id` = :user_id AND su.`status` IN ('tutor', 'dozent') GROUP BY s.`Seminar_id` - ORDER BY s.`start_time` DESC + ORDER BY `semester_data`.`start_time` DESC ) AS course_select "; $parameters[':user_id'] = $user->id; } @@ -209,8 +209,8 @@ class NewsRangesSearch extends SearchType { $query = "SELECT DISTINCT i.`Institut_id` FROM `user_inst` AS ui - JOIN `Institute` AS i - ON ui.`Institut_id` IN (i.`Institut_id`, i.`fakultaets_id`) + JOIN `Institute` AS i + ON ui.`Institut_id` IN (i.`Institut_id`, i.`fakultaets_id`) WHERE ui.`user_id` = :user_id AND ui.`inst_perms` = 'admin'"; return DBManager::get()->fetchFirst($query, [ diff --git a/lib/classes/searchtypes/SeminarSearch.php b/lib/classes/searchtypes/SeminarSearch.php index 0cefedf0f477c869dc1d736c0f7d8343c5c4a9c6..a8ac22da1099e7e918623d960c5a0e0cfee15829 100644 --- a/lib/classes/searchtypes/SeminarSearch.php +++ b/lib/classes/searchtypes/SeminarSearch.php @@ -74,9 +74,9 @@ class SeminarSearch extends SearchType WHERE s.Seminar_id IN (?) GROUP BY s.Seminar_id"; if (Config::get()->IMPORTANT_SEMNUMBER) { - $query .= " ORDER BY IFNULL(MAX(sem1.beginn), s.start_time) DESC, s.VeranstaltungsNummer, s.Name"; + $query .= " ORDER BY sem1.`beginn` DESC, s.`VeranstaltungsNummer`, s.`Name`"; } else { - $query .= " ORDER BY IFNULL(MAX(sem1.beginn), s.start_time) DESC, s.Name"; + $query .= " ORDER BY sem1.`beginn` DESC, s.`Name`"; } $statement = DBManager::get()->prepare($query); $statement->execute([ diff --git a/lib/models/Lvgruppe.php b/lib/models/Lvgruppe.php index 19fc373b0f4c57d0a38ff7a7f1b1b30f1b19683b..5e9eb7bef4780404d94bbd6d720c5cd08cdcdcbd 100644 --- a/lib/models/Lvgruppe.php +++ b/lib/models/Lvgruppe.php @@ -432,25 +432,19 @@ class Lvgruppe extends ModuleManagementModelTreeItem . 'LEFT JOIN mvv_lvgruppe_seminar mls USING(seminar_id) ' . 'LEFT JOIN semester_courses ON (semester_courses.course_id = sem.Seminar_id) ' . 'WHERE mls.lvgruppe_id = :id ' - . 'AND ((sem.start_time <= :semester_beginn ' - . 'AND semester_courses.semester_id = :semester_id) ' - . 'OR (sem.start_time BETWEEN :semester_beginn AND :semester_ende) ' - . 'OR (sem.start_time <= :semester_beginn AND semester_courses.semester_id IS NULL)) '; + . 'AND (semester_courses.semester_id = :semester_id ' + . 'OR semester_courses.semester_id IS NULL) '; if ($only_visible === false) { $stmt = DBManager::get()->prepare($sql); $stmt->execute([ ':id' => $this->getId(), - ':semester_id' => $semester->semester_id, - ':semester_beginn' => $semester->beginn, - ':semester_ende' => $semester->ende + ':semester_id' => $semester->semester_id ]); } else if ($only_visible === true) { $stmt = DBManager::get()->prepare($sql . ' AND sem.visible = 1 '); $stmt->execute([ ':id' => $this->getId(), - ':semester_id' => $semester->semester_id, - ':semester_beginn' => $semester->beginn, - ':semester_ende' => $semester->ende + ':semester_id' => $semester->semester_id ]); } else { $user_perm = $GLOBALS['perm']->get_perm($only_visible); @@ -458,9 +452,7 @@ class Lvgruppe extends ModuleManagementModelTreeItem $stmt = DBManager::get()->prepare($sql); $stmt->execute([ ':id' => $this->getId(), - ':semester_id' => $semester->semester_id, - ':semester_beginn' => $semester->beginn, - ':semester_ende' => $semester->ende + ':semester_id' => $semester->semester_id ]); } else if ($user_perm == 'admin') { $perm_institute_ids = []; @@ -473,8 +465,6 @@ class Lvgruppe extends ModuleManagementModelTreeItem $stmt->execute([ ':id' => $this->getId(), ':semester_id' => $semester->semester_id, - ':semester_beginn' => $semester->beginn, - ':semester_ende' => $semester->ende, ':perm_institutes' => $perm_institute_ids ]); } else { @@ -485,16 +475,12 @@ class Lvgruppe extends ModuleManagementModelTreeItem . 'LEFT JOIN semester_courses ON (semester_courses.course_id = sem.Seminar_id) ' . 'INNER JOIN seminar_user USING(seminar_id) ' . 'WHERE mls.lvgruppe_id = :id ' - . 'AND ((sem.start_time <= :semester_beginn ' - . 'AND semester_courses.semester_id = :semester_id) ' - . 'OR (sem.start_time BETWEEN :semester_beginn AND :semester_ende) ' - . 'OR (sem.start_time <= :semester_beginn AND semester_courses.semester_id IS NULL)) ' + . 'AND (semester_courses.semester_id = :semester_id ' + . 'OR semester_courses.semester_id IS NULL) ' . 'AND (sem.visible = 1 OR (sem.visible = 0 AND seminar_user.user_id = :user_id))'); $stmt->execute([ ':id' => $this->getId(), ':semester_id' => $semester->semester_id, - ':semester_beginn' => $semester->beginn, - ':semester_ende' => $semester->ende, ':user_id' => $only_visible ]); } diff --git a/lib/models/MvvCourse.php b/lib/models/MvvCourse.php index 4d7c380175754cc44eae0e35d4abd65e84ae1adb..148b8db2493fb601c1282f717ee796bbacef3fac 100644 --- a/lib/models/MvvCourse.php +++ b/lib/models/MvvCourse.php @@ -25,8 +25,6 @@ * @property string|null $sonstiges database column * @property int $lesezugriff database column * @property int $schreibzugriff database column - * @property int|null $start_time database column - * @property int|null $duration_time database column * @property string|null $art database column * @property string|null $teilnehmer database column * @property string|null $vorrausetzungen database column diff --git a/lib/models/MvvOverlappingSelection.php b/lib/models/MvvOverlappingSelection.php index b3fcc15a701a45f7f56bf6b3542de3a00399f935..525076ccc1427ffb6e8ec74711084f81df109a88 100644 --- a/lib/models/MvvOverlappingSelection.php +++ b/lib/models/MvvOverlappingSelection.php @@ -168,7 +168,6 @@ class MvvOverlappingSelection extends SimpleORMap AND ((`start_sem`.`beginn` < :sem_end OR ISNULL(`start_sem`.`beginn`)) AND (`end_sem`.`ende` > :sem_start OR ISNULL(`end_sem`.`ende`))) AND `seminare`.`status` IN (:typ) - AND `seminare`.`start_time` <= :sem_end AND (`semester_courses`.`semester_id` IS NULL OR `semester_courses`.`semester_id` = :semester_id) ) AS `sembase` ON (`sembase`.`seminar_id` = `cbase`.`seminar_id`) INNER JOIN `seminar_cycle_dates` AS `ccomp` @@ -194,7 +193,8 @@ class MvvOverlappingSelection extends SimpleORMap FROM `mvv_stgteilabschnitt` INNER JOIN `mvv_stgteilabschnitt_modul` USING (`abschnitt_id`) INNER JOIN `mvv_modul` USING (`modul_id`) - INNER JOIN `mvv_modulteil` USING (`modul_id`) + INNER JOIN `mv" . + "v_modulteil` USING (`modul_id`) INNER JOIN `mvv_lvgruppe_modulteil` USING (`modulteil_id`) INNER JOIN `mvv_lvgruppe_seminar` USING (`lvgruppe_id`) INNER JOIN `seminare` USING (`seminar_id`) @@ -213,7 +213,6 @@ class MvvOverlappingSelection extends SimpleORMap AND ((`start_sem`.`beginn` < :sem_end OR ISNULL(`start_sem`.`beginn`)) AND (`end_sem`.`ende` > :sem_start OR ISNULL(`end_sem`.`ende`))) AND `seminare`.`status` IN (:typ) - AND `seminare`.`start_time` <= :sem_end AND (`semester_courses`.`semester_id` IS NULL OR `semester_courses`.`semester_id` = :semester_id) ) AS `semcomp` ON (`semcomp`.`seminar_id` = `ccomp`.`seminar_id`) INNER JOIN `mvv_modulteil_stgteilabschnitt` AS `mms1`