aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/news.php
diff options
context:
space:
mode:
authorMoritz Strohm <strohm@data-quest.de>2024-09-18 08:33:26 +0000
committerMoritz Strohm <strohm@data-quest.de>2024-09-18 08:33:26 +0000
commitfbf008efa11f009d2b89109e99c213c44c62e024 (patch)
treeee3379b5b28c6ebf4389a3809700b25a4bfa7626 /app/controllers/news.php
parent1efacbf3fd32325da48d09eabaf4a8d34d4e0de5 (diff)
TIC 4391, closes #4391
Closes #4391 Merge request studip/studip!3211
Diffstat (limited to 'app/controllers/news.php')
-rw-r--r--app/controllers/news.php144
1 files changed, 0 insertions, 144 deletions
diff --git a/app/controllers/news.php b/app/controllers/news.php
index 375f48b..973646e 100644
--- a/app/controllers/news.php
+++ b/app/controllers/news.php
@@ -621,150 +621,6 @@ class NewsController extends StudipController
return strtotime($date);
}
- /**
- * Searchs for studip areas using given search term
- *
- * @param string $term search term
- * @return array area data
- */
- private function search_area($term)
- {
- global $perm;
- $result = $tmp_result = [];
- if (mb_strlen($term) < 3) {
- PageLayout::postError(_('Der Suchbegriff muss mindestens drei Zeichen lang sein.'));
- return $result;
- }
-
- if ($term === '__THIS_SEMESTER__') {
- $current_semester = Semester::findCurrent();
- $query = "SELECT seminare.Name AS sem_name, seminare.Seminar_id, seminare.visible
- FROM seminar_user
- LEFT JOIN seminare USING (Seminar_id)
- LEFT JOIN semester_courses ON (semester_courses.course_id = seminar_user.Seminar_id)
- WHERE seminar_user.user_id = :user_id
- AND seminar_user.status IN('tutor', 'dozent')
- AND (semester_courses.semester_id = :semester_id OR semester_courses.semester_id IS NULL)
- ";
- if (Config::get()->DEPUTIES_ENABLE) {
- $query .= " UNION SELECT CONCAT(seminare.Name, ' ["._("Vertretung")."]') AS sem_name, seminare.Seminar_id,
- seminare.visible
- FROM deputies
- LEFT JOIN seminare ON (deputies.range_id=seminare.Seminar_id)
- LEFT JOIN semester_courses ON (semester_courses.course_id = deputies.range_id)
- WHERE deputies.user_id = :user_id
- AND (semester_courses.semester_id = :semester_id OR semester_courses.semester_id IS NULL)";
- }
- $query .= " ORDER BY sem_name ASC";
- $statement = DBManager::get()->prepare($query);
- $statement->bindValue(':user_id', $GLOBALS['user']->id);
- $statement->bindValue(':semester_id', $current_semester->semester_id);
- $statement->execute();
- $seminars = $statement->fetchAll(PDO::FETCH_ASSOC);
- foreach($seminars as $sem) {
- $tmp_result[$sem['Seminar_id']] = [
- 'name' => $sem['sem_name'],
- 'type' => 'sem',
- ];
- }
- $term = '';
- } elseif ($term === '__NEXT_SEMESTER__') {
- $next_semester = Semester::findNext();
- $query = "SELECT seminare.Name AS sem_name, seminare.Seminar_id, seminare.visible
- FROM seminar_user
- LEFT JOIN seminare USING (Seminar_id)
- LEFT JOIN semester_courses ON (semester_courses.course_id = seminar_user.Seminar_id)
- WHERE seminar_user.user_id = :user_id
- AND seminar_user.status IN('tutor', 'dozent')
- AND (semester_courses.semester_id = :semester_id OR semester_courses.semester_id IS NULL)";
- if (Config::get()->DEPUTIES_ENABLE) {
- $query .= " UNION SELECT CONCAT(seminare.Name, ' ["._("Vertretung")."]') AS sem_name, seminare.Seminar_id,
- seminare.visible
- FROM deputies
- LEFT JOIN seminare ON (deputies.range_id=seminare.Seminar_id)
- LEFT JOIN semester_courses ON (semester_courses.course_id = deputies.range_id)
- WHERE deputies.user_id = :user_id
- AND (semester_courses.semester_id = :semester_id OR semester_courses.semester_id IS NULL)";
- }
- $query .= " ORDER BY sem_name ASC";
- $statement = DBManager::get()->prepare($query);
- $statement->bindValue(':user_id', $GLOBALS['user']->id);
- $statement->bindValue(':semester_id', $next_semester->semester_id);
- $statement->execute();
- $seminars = $statement->fetchAll(PDO::FETCH_ASSOC);
- foreach($seminars as $sem) {
- $tmp_result[$sem['Seminar_id']] = [
- 'name' => $sem['sem_name'],
- 'type' => 'sem',
- ];
- }
- $term = '';
- } elseif ($term === '__MY_INSTITUTES__') {
- $term = '';
- if ($perm->have_perm('root')) {
- $tmp_result['studip'] = [
- 'name' => 'Stud.IP',
- 'type' => 'global'
- ];
- }
- $inst_list = Institute::getMyInstitutes();
- if (count($inst_list)) {
- foreach($inst_list as $data) {
- $tmp_result[$data['Institut_id']] = [
- 'name' => $data['Name'],
- 'type' => $data['is_fak'] ? 'fak' : 'inst'
- ];
- }
- }
- } else {
- $tmp_result = search_range($term, true) ?: [];
- // add users
- if (mb_stripos(get_fullname(), $term) !== false) {
- $tmp_result[$GLOBALS['user']->id] = [
- 'name' => get_fullname(),
- 'type' => 'user'
- ];
- }
- if (Deputy::isEditActivated()) {
- $query = "SELECT DISTINCT a.user_id
- FROM deputies d
- JOIN auth_user_md5 a ON (d.range_id = a.user_id)
- JOIN user_info u ON (a.user_id=u.user_id)
- WHERE d.user_id = ?
- AND CONCAT(u.title_front, ' ', a.Vorname, ' ', a.Nachname, ', ', u.title_rear) LIKE CONCAT('%',?,'%')";
- $statement = DBManager::get()->prepare($query);
- $statement->execute([$GLOBALS['user']->id, $term]);
- while ($data = $statement->fetch(PDO::FETCH_ASSOC)) {
- $tmp_result[$data['user_id']] = [
- 'name' => get_fullname($data['user_id']),
- 'type' => 'user',
- ];
- }
- }
- }
- // workaround: apply search term (ignored by search_range below admin)
- if (count($tmp_result) && !$GLOBALS['perm']->have_perm('admin') && $term) {
- foreach ($tmp_result as $id => $data) {
- if (mb_stripos($data['name'], $term) === false) {
- unset($tmp_result[$id]);
- }
- }
- }
- // prepare result
-
- if (count($tmp_result)) {
- foreach ($tmp_result as $id => $data) {
- $index = $data['type'] === 'fak'
- ? 'inst'
- : $data['type'];
- $result[$index][$id] = $data['name'];
- }
- } elseif ($term) {
- PageLayout::postError(_('Zu diesem Suchbegriff wurden keine Bereiche gefunden.'));
- }
- return $result;
- }
-
public function rss_config_action($range_id)
{
if (!Config::get()->NEWS_RSS_EXPORT_ENABLE || !StudipNews::haveRangePermission('edit', $range_id)) {