aboutsummaryrefslogtreecommitdiff
path: root/lib/classes/StudygroupModel.php
diff options
context:
space:
mode:
authorMoritz Strohm <strohm@data-quest.de>2024-09-02 07:50:49 +0000
committerMoritz Strohm <strohm@data-quest.de>2024-09-02 07:50:49 +0000
commitf00164f6f8b823872d0934830a466aeb2af7114b (patch)
treee810d56f7ad1ec8f1e1dd17affd0954f5a54aaf0 /lib/classes/StudygroupModel.php
parentafadde64a6a2017eabb36a3bdef412bb2d2692ba (diff)
StEP 3209, re #3209
Merge request studip/studip!2179
Diffstat (limited to 'lib/classes/StudygroupModel.php')
-rw-r--r--lib/classes/StudygroupModel.php49
1 files changed, 28 insertions, 21 deletions
diff --git a/lib/classes/StudygroupModel.php b/lib/classes/StudygroupModel.php
index 051ada7..9fd44b3 100644
--- a/lib/classes/StudygroupModel.php
+++ b/lib/classes/StudygroupModel.php
@@ -87,7 +87,7 @@ class StudygroupModel
);
// Post equivalent notifications to a regular course
- $seminar = Seminar::getInstance($sem_id);
+ $seminar = Course::find($sem_id);
NotificationCenter::postNotification(
'CourseDidGetMember', $seminar, $accept_user_id
);
@@ -154,7 +154,7 @@ class StudygroupModel
);
// Post equivalent notifications to a regular course
- $seminar = Seminar::getInstance($sem_id);
+ $seminar = Course::find($sem_id);
NotificationCenter::postNotification('CourseDidChangeMember', $seminar, $user->id);
NotificationCenter::postNotification('UserDidLeaveCourse', $sem_id, $user->id);
}
@@ -514,30 +514,37 @@ class StudygroupModel
*/
public static function applicationNotice($sem_id, $user_id)
{
- $sem = new Seminar($sem_id);
- $dozenten = $sem->getMembers();
- $tutors = $sem->getMembers('tutor');
- $recipients = [];
- $msging = new messaging();
-
- foreach (array_merge($dozenten, $tutors) as $uid => $user) {
- $recipients[] = $user['username'];
- }
+ $course = Course::find($sem_id);
+ $msging = new messaging();
+
+ //Get all those with tutor and dozent status to inform them
+ //about the application:
+ $stmt = DBManager::get()->prepare(
+ "SELECT `username`
+ FROM `auth_user_md5`
+ JOIN `seminar_user` USING (`user_id`)
+ WHERE `seminar_user`.`seminar_id` = :course_id
+ AND `seminar_user`.`status` IN ('dozent', 'tutor')"
+ );
+ $stmt->execute(['course_id' => $course->id]);
+ $recipients = $stmt->fetchAll();
- if (mb_strlen($sem->getName()) > 32) //cut subject if to long
- $subject = sprintf(_('[Studiengruppe: %s...]'), mb_substr($sem->getName(), 0, 30));
- else
- $subject = sprintf(_('[Studiengruppe: %s]'), $sem->getName());
+ //Limit the subject prefix size in case of a long course name:
+ if (mb_strlen($course->name) > 32) {
+ $subject = sprintf(_('[Studiengruppe: %s...]'), mb_substr($course->name, 0, 30));
+ } else {
+ $subject = sprintf(_('[Studiengruppe: %s]'), $course->name);
+ }
if (StudygroupModel::isInvited($user_id, $sem_id)) {
$subject .= ' ' . _('Einladung akzeptiert');
$message = sprintf(
_("%s hat die Einladung zur Studiengruppe %s akzeptiert. Klicken Sie auf den folgenden Link, um direkt zur Studiengruppe zu gelangen.\n\n [Direkt zur Studiengruppe]%s"),
get_fullname($user_id),
- $sem->getName(),
+ $course->name,
URLHelper::getlink(
- "{$GLOBALS['ABSOLUTE_URI_STUDIP']}dispatch.php/course/studygroup/members/?cid={$sem->id}",
- ['cid' => $sem->id]
+ "{$GLOBALS['ABSOLUTE_URI_STUDIP']}dispatch.php/course/studygroup/members",
+ ['cid' => $course->id]
)
);
} else {
@@ -545,10 +552,10 @@ class StudygroupModel
$message = sprintf(
_("%s möchte der Studiengruppe %s beitreten. Klicken Sie auf den folgenden Link, um direkt zur Studiengruppe zu gelangen.\n\n [Direkt zur Studiengruppe]%s"),
get_fullname($user_id),
- $sem->getName(),
+ $course->name,
URLHelper::getlink(
- "{$GLOBALS['ABSOLUTE_URI_STUDIP']}dispatch.php/course/studygroup/members/?cid={$sem->id}",
- ['cid' => $sem->id]
+ "{$GLOBALS['ABSOLUTE_URI_STUDIP']}dispatch.php/course/studygroup/members",
+ ['cid' => $course->id]
)
);
}