Skip to content
Snippets Groups Projects
Commit aef2b4af authored by David Siegfried's avatar David Siegfried Committed by Jan-Hendrik Willms
Browse files

cleanup showNews.inc.php, fixes #4001

Closes #4001

Merge request studip/studip!2850
parent b4f508cf
No related branches found
No related tags found
No related merge requests found
...@@ -25,51 +25,6 @@ ...@@ -25,51 +25,6 @@
require_once 'lib/object.inc.php'; 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 * generates proper text for confirmation question and deletes news
...@@ -89,6 +44,7 @@ function delete_news($delete_news_array) ...@@ -89,6 +44,7 @@ function delete_news($delete_news_array)
CSRFProtection::verifySecurityToken(); CSRFProtection::verifySecurityToken();
$confirmed = true; $confirmed = true;
} }
$delete_news_titles = [];
foreach ($delete_news_array as $news_id) { foreach ($delete_news_array as $news_id) {
if ($news_id) { if ($news_id) {
$delete_news = new StudipNews($news_id); $delete_news = new StudipNews($news_id);
...@@ -103,10 +59,10 @@ function delete_news($delete_news_array) ...@@ -103,10 +59,10 @@ function delete_news($delete_news_array)
if ($delete_news->getValue('user_id') != $GLOBALS['auth']->auth['uid']) { if ($delete_news->getValue('user_id') != $GLOBALS['auth']->auth['uid']) {
setTempLanguage($delete_news->getValue('user_id')); setTempLanguage($delete_news->getValue('user_id'));
$msg = sprintf( $msg = sprintf(
_('Ihre Ankündigung "%s" wurde von der Administration gelöscht!.'), _('Ihre Ankündigung "%s" wurde von der Administration gelöscht!.'),
(string) $delete_news->topic, (string) $delete_news->topic,
get_fullname() . ' (' . get_username() . ')' get_fullname() . ' (' . get_username() . ')'
). "\n"; ). "\n";
$msg_object->insert_message( $msg_object->insert_message(
$msg, $msg,
get_username($delete_news->user_id), get_username($delete_news->user_id),
...@@ -132,15 +88,15 @@ function delete_news($delete_news_array) ...@@ -132,15 +88,15 @@ function delete_news($delete_news_array)
if (! $confirmed) { if (! $confirmed) {
if (count($delete_news_titles) === 1) { if (count($delete_news_titles) === 1) {
$text = sprintf( $text = sprintf(
_('- Die Ankündigung "%s" wird unwiderruflich gelöscht.'), _('- Die Ankündigung "%s" wird unwiderruflich gelöscht.'),
$delete_news_titles[0] $delete_news_titles[0]
) . "\n"; ) . "\n";
} elseif (count($delete_news_titles) > 1) { } elseif (count($delete_news_titles) > 1) {
$text = sprintf( $text = sprintf(
_('- Die %s Ankündigungen "%s" werden unwiderruflich gelöscht.'), _('- Die %s Ankündigungen "%s" werden unwiderruflich gelöscht.'),
count($delete_news_titles), count($delete_news_titles),
implode('", "', $delete_news_titles) implode('", "', $delete_news_titles)
) . "\n"; ) . "\n";
} }
} }
return $text; return $text;
...@@ -176,7 +132,7 @@ function remove_news($remove_array) ...@@ -176,7 +132,7 @@ function remove_news($remove_array)
if ($text) { if ($text) {
$question_text[] = $text; $question_text[] = $text;
} }
// or just remove range_id(s)? // or just remove range_id(s)?
} else { } else {
$text = ''; $text = '';
if ($confirmed && ! $remove_news->isNew() && count($ranges)) { if ($confirmed && ! $remove_news->isNew() && count($ranges)) {
...@@ -209,10 +165,10 @@ function remove_news($remove_array) ...@@ -209,10 +165,10 @@ function remove_news($remove_array)
} elseif (!$confirmed) { } elseif (!$confirmed) {
if (count($ranges) === 1) { if (count($ranges) === 1) {
$text = sprintf(_('- Die Ankündigung "%s" wird aus dem aktiven Bereich entfernt. ' $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) { } elseif (count($ranges) > 1) {
$text = sprintf(_('- Die Ankündigung "%s" wird aus den %s gewählten Bereichen entfernt. ' $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) { if ($text) {
...@@ -232,19 +188,21 @@ function remove_news($remove_array) ...@@ -232,19 +188,21 @@ function remove_news($remove_array)
/** /**
* *
* @param unknown_type $range_id * @param string $range_id
* @param unknown_type $type * @param string $type
*/ */
function show_rss_news($range_id, $type) function show_rss_news($range_id, $type)
{ {
$item_url_fmt = '%1$s&contentbox_open=%2$s#%2$s'; $item_url_fmt = '%1$s&contentbox_open=%2$s#%2$s';
$title = '';
$studip_url = '';
$description = '';
switch ($type){ switch ($type){
case 'user': case 'user':
$studip_url = $GLOBALS['ABSOLUTE_URI_STUDIP'] . 'dispatch.php/profile?again=yes&username=' . get_username($range_id); $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 . ')'; $title = get_fullname($range_id) . ' (Stud.IP - ' . Config::get()->UNI_NAME_CLEAN . ')';
$description = _('Persönliche Neuigkeiten') . ' ' . $title; $description = _('Persönliche Neuigkeiten') . ' ' . $title;
break; break;
case 'sem': case 'sem':
$studip_url = $GLOBALS['ABSOLUTE_URI_STUDIP'] . 'dispatch.php/course/overview?cid=' . $range_id; $studip_url = $GLOBALS['ABSOLUTE_URI_STUDIP'] . 'dispatch.php/course/overview?cid=' . $range_id;
$sem_obj = Seminar::GetInstance($range_id); $sem_obj = Seminar::GetInstance($range_id);
...@@ -254,7 +212,7 @@ function show_rss_news($range_id, $type) ...@@ -254,7 +212,7 @@ function show_rss_news($range_id, $type)
$title = $sem_obj->getName() . ' (Stud.IP - ' . Config::get()->UNI_NAME_CLEAN . ')'; $title = $sem_obj->getName() . ' (Stud.IP - ' . Config::get()->UNI_NAME_CLEAN . ')';
$description = _('Neuigkeiten der Veranstaltung') . ' ' . $title; $description = _('Neuigkeiten der Veranstaltung') . ' ' . $title;
break; break;
case 'inst': case 'inst':
$studip_url = $GLOBALS['ABSOLUTE_URI_STUDIP'] . 'dispatch.php/institute/overview?auswahl=' . $range_id; $studip_url = $GLOBALS['ABSOLUTE_URI_STUDIP'] . 'dispatch.php/institute/overview?auswahl=' . $range_id;
$object_name = get_object_name($range_id, $type); $object_name = get_object_name($range_id, $type);
...@@ -264,12 +222,12 @@ function show_rss_news($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 . ')'; $title = $object_name['name'] . ' (Stud.IP - ' . Config::get()->UNI_NAME_CLEAN . ')';
$description = _('Neuigkeiten der Einrichtung') . ' ' . $title; $description = _('Neuigkeiten der Einrichtung') . ' ' . $title;
break; break;
case 'global': case 'global':
$studip_url = $GLOBALS['ABSOLUTE_URI_STUDIP'] . 'dispatch.php/start?again=yes'; $studip_url = $GLOBALS['ABSOLUTE_URI_STUDIP'] . 'dispatch.php/start?again=yes';
$title = 'Stud.IP - ' . Config::get()->UNI_NAME_CLEAN; $title = 'Stud.IP - ' . Config::get()->UNI_NAME_CLEAN;
$description = _('Allgemeine Neuigkeiten') . ' ' . $title; $description = _('Allgemeine Neuigkeiten') . ' ' . $title;
break; break;
} }
$items = StudipNews::GetNewsByRange($range_id, true, true); $items = StudipNews::GetNewsByRange($range_id, true, true);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment