aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDavid Siegfried <david.siegfried@uni-vechta.de>2024-04-15 12:17:14 +0000
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2024-04-15 12:17:14 +0000
commitaef2b4af131f08cdabf78b447dceb7d74948809b (patch)
tree7fe85cacc5201543adad67d1487d965c522df248 /lib
parentb4f508cfda9d8233912059a72a51217c438f8e0e (diff)
cleanup showNews.inc.php, fixes #4001
Closes #4001 Merge request studip/studip!2850
Diffstat (limited to 'lib')
-rw-r--r--lib/showNews.inc.php90
1 files changed, 24 insertions, 66 deletions
diff --git a/lib/showNews.inc.php b/lib/showNews.inc.php
index c000713..882e9d4 100644
--- a/lib/showNews.inc.php
+++ b/lib/showNews.inc.php
@@ -25,51 +25,6 @@
require_once 'lib/object.inc.php';
-/**
- * generates proper text for confirmation question and deletes comments
- *
- *
- * @param mixed $comment_id (single or array)
- * @return string text for confirmation question or empty string after deletion
- */
-function delete_comments($delete_comments_array = '')
-{
- $text = '';
- $confirmed = false;
- if (! is_array($delete_comments_array))
- $delete_comments_array = [$delete_comments_array];
- if (Request::submitted('yes') AND Request::isPost()) {
- CSRFProtection::verifySecurityToken();
- $confirmed = true;
- }
- if ($confirmed) {
- foreach ($delete_comments_array as $comment_id) {
- $delete_comment = new StudipComment($comment_id);
- if (!$delete_comment->isNew()) {
- if (!is_object($news[$delete_comment->getValue("object_id")]))
- $news[$delete_comment->getValue("object_id")] = new StudipNews($delete_comment->getValue("object_id"));
- // user has to have delete permission for news
- if ($news[$delete_comment->getValue("object_id")]->havePermission('delete')) {
- $delete_comment->delete();
- $delete_counter++;
- }
- else
- PageLayout::postMessage(MessageBox::error(_('Keine Berechtigung zum Löschen des Kommentars.')));
- }
- }
- if ($delete_counter > 1)
- PageLayout::postMessage(MessageBox::success(sprintf(_('%s Kommentare wurden gelöscht.'), $delete_counter)));
- elseif ($delete_counter == 1)
- PageLayout::postMessage(MessageBox::success(_('Kommentar wurde gelöscht.')));
- } else {
- if (count($delete_comments_array) > 1) {
- $text = sprintf(_('Wollen Sie die %s Komentare jetzt löschen?'), count($delete_comments_array));
- } elseif (count($delete_comments_array) == 1) {
- $text = _('Wollen Sie den Kommentar jetzt löschen?');
- }
- }
- return $text;
-}
/**
* generates proper text for confirmation question and deletes news
@@ -89,6 +44,7 @@ function delete_news($delete_news_array)
CSRFProtection::verifySecurityToken();
$confirmed = true;
}
+ $delete_news_titles = [];
foreach ($delete_news_array as $news_id) {
if ($news_id) {
$delete_news = new StudipNews($news_id);
@@ -103,10 +59,10 @@ function delete_news($delete_news_array)
if ($delete_news->getValue('user_id') != $GLOBALS['auth']->auth['uid']) {
setTempLanguage($delete_news->getValue('user_id'));
$msg = sprintf(
- _('Ihre Ankündigung "%s" wurde von der Administration gelöscht!.'),
- (string) $delete_news->topic,
- get_fullname() . ' (' . get_username() . ')'
- ). "\n";
+ _('Ihre Ankündigung "%s" wurde von der Administration gelöscht!.'),
+ (string) $delete_news->topic,
+ get_fullname() . ' (' . get_username() . ')'
+ ). "\n";
$msg_object->insert_message(
$msg,
get_username($delete_news->user_id),
@@ -132,15 +88,15 @@ function delete_news($delete_news_array)
if (! $confirmed) {
if (count($delete_news_titles) === 1) {
$text = sprintf(
- _('- Die Ankündigung "%s" wird unwiderruflich gelöscht.'),
- $delete_news_titles[0]
- ) . "\n";
+ _('- Die Ankündigung "%s" wird unwiderruflich gelöscht.'),
+ $delete_news_titles[0]
+ ) . "\n";
} elseif (count($delete_news_titles) > 1) {
$text = sprintf(
- _('- Die %s Ankündigungen "%s" werden unwiderruflich gelöscht.'),
- count($delete_news_titles),
- implode('", "', $delete_news_titles)
- ) . "\n";
+ _('- Die %s Ankündigungen "%s" werden unwiderruflich gelöscht.'),
+ count($delete_news_titles),
+ implode('", "', $delete_news_titles)
+ ) . "\n";
}
}
return $text;
@@ -176,7 +132,7 @@ function remove_news($remove_array)
if ($text) {
$question_text[] = $text;
}
- // or just remove range_id(s)?
+ // or just remove range_id(s)?
} else {
$text = '';
if ($confirmed && ! $remove_news->isNew() && count($ranges)) {
@@ -209,10 +165,10 @@ function remove_news($remove_array)
} elseif (!$confirmed) {
if (count($ranges) === 1) {
$text = sprintf(_('- Die Ankündigung "%s" wird aus dem aktiven Bereich entfernt. '
- .'Sie wird dadurch nicht endgültig gelöscht. Es wird nur die Zuordnung entfernt.'), $remove_news_title)."\n";
+ .'Sie wird dadurch nicht endgültig gelöscht. Es wird nur die Zuordnung entfernt.'), $remove_news_title)."\n";
} elseif (count($ranges) > 1) {
$text = sprintf(_('- Die Ankündigung "%s" wird aus den %s gewählten Bereichen entfernt. '
- .'Sie wird dadurch nicht endgültig gelöscht. Es werden nur die Zuordnungen entfernt.'), $remove_news_title, count($ranges))."\n";
+ .'Sie wird dadurch nicht endgültig gelöscht. Es werden nur die Zuordnungen entfernt.'), $remove_news_title, count($ranges))."\n";
}
}
if ($text) {
@@ -232,19 +188,21 @@ function remove_news($remove_array)
/**
*
- * @param unknown_type $range_id
- * @param unknown_type $type
+ * @param string $range_id
+ * @param string $type
*/
function show_rss_news($range_id, $type)
{
$item_url_fmt = '%1$s&contentbox_open=%2$s#%2$s';
-
+ $title = '';
+ $studip_url = '';
+ $description = '';
switch ($type){
case 'user':
$studip_url = $GLOBALS['ABSOLUTE_URI_STUDIP'] . 'dispatch.php/profile?again=yes&username=' . get_username($range_id);
$title = get_fullname($range_id) . ' (Stud.IP - ' . Config::get()->UNI_NAME_CLEAN . ')';
$description = _('Persönliche Neuigkeiten') . ' ' . $title;
- break;
+ break;
case 'sem':
$studip_url = $GLOBALS['ABSOLUTE_URI_STUDIP'] . 'dispatch.php/course/overview?cid=' . $range_id;
$sem_obj = Seminar::GetInstance($range_id);
@@ -254,7 +212,7 @@ function show_rss_news($range_id, $type)
$title = $sem_obj->getName() . ' (Stud.IP - ' . Config::get()->UNI_NAME_CLEAN . ')';
$description = _('Neuigkeiten der Veranstaltung') . ' ' . $title;
- break;
+ break;
case 'inst':
$studip_url = $GLOBALS['ABSOLUTE_URI_STUDIP'] . 'dispatch.php/institute/overview?auswahl=' . $range_id;
$object_name = get_object_name($range_id, $type);
@@ -264,12 +222,12 @@ function show_rss_news($range_id, $type)
}
$title = $object_name['name'] . ' (Stud.IP - ' . Config::get()->UNI_NAME_CLEAN . ')';
$description = _('Neuigkeiten der Einrichtung') . ' ' . $title;
- break;
+ break;
case 'global':
$studip_url = $GLOBALS['ABSOLUTE_URI_STUDIP'] . 'dispatch.php/start?again=yes';
$title = 'Stud.IP - ' . Config::get()->UNI_NAME_CLEAN;
$description = _('Allgemeine Neuigkeiten') . ' ' . $title;
- break;
+ break;
}
$items = StudipNews::GetNewsByRange($range_id, true, true);