diff --git a/include/items.php b/include/items.php index 887bbb5b68..961a20b240 100644 --- a/include/items.php +++ b/include/items.php @@ -345,7 +345,7 @@ function drop_items(array $items) } } -function drop_item($id) +function drop_item($id, $return = '') { $a = BaseObject::getApp(); @@ -409,8 +409,15 @@ function drop_item($id) // delete the item Item::deleteForUser(['id' => $item['id']], local_user()); - $a->internalRedirect('network'); - //NOTREACHED + $return_url = hex2bin($return); + if (empty($return_url) || strpos($return_url, 'display') !== false) { + $a->internalRedirect('network'); + //NOTREACHED + } + else { + $a->internalRedirect($return_url); + //NOTREACHED + } } else { notice(L10n::t('Permission denied.') . EOL); $a->internalRedirect('display/' . $item['guid']); diff --git a/mod/item.php b/mod/item.php index c7dbfd21c6..54ef53a4b8 100644 --- a/mod/item.php +++ b/mod/item.php @@ -881,11 +881,16 @@ function item_content(App $a) $o = ''; - if (($a->argc == 3) && ($a->argv[1] === 'drop') && intval($a->argv[2])) { + if (($a->argc >= 3) && ($a->argv[1] === 'drop') && intval($a->argv[2])) { if ($a->isAjax()) { $o = Item::deleteForUser(['id' => $a->argv[2]], local_user()); } else { - $o = drop_item($a->argv[2]); + if (!empty($a->argv[3])) { + $o = drop_item($a->argv[2], $a->argv[3]); + } + else { + $o = drop_item($a->argv[2]); + } } if ($a->isAjax()) { diff --git a/src/Object/Post.php b/src/Object/Post.php index 086b78960a..e2c1ea03c3 100644 --- a/src/Object/Post.php +++ b/src/Object/Post.php @@ -414,6 +414,7 @@ class Post extends BaseObject 'received' => $item['received'], 'commented' => $item['commented'], 'created_date' => $item['created'], + 'return' => ($a->cmd) ? bin2hex($a->cmd) : '', ]; $arr = ['item' => $item, 'output' => $tmp_item]; diff --git a/view/theme/frio/templates/wall_thread.tpl b/view/theme/frio/templates/wall_thread.tpl index 53efacda70..c46fc339dd 100644 --- a/view/theme/frio/templates/wall_thread.tpl +++ b/view/theme/frio/templates/wall_thread.tpl @@ -141,7 +141,7 @@ as the value of $top_child_total (this is done at the end of this file) {{if $item.drop.dropping}}
  • - +
  • {{/if}} diff --git a/view/theme/quattro/templates/wall_thread.tpl b/view/theme/quattro/templates/wall_thread.tpl index 79bf1d6b6f..fda871b196 100644 --- a/view/theme/quattro/templates/wall_thread.tpl +++ b/view/theme/quattro/templates/wall_thread.tpl @@ -140,7 +140,7 @@ {{/if}} {{if $item.drop.dropping}} - {{$item.drop.delete}} + {{$item.drop.delete}} {{/if}} {{if $item.edpost}} diff --git a/view/theme/vier/templates/wall_thread.tpl b/view/theme/vier/templates/wall_thread.tpl index 6c636d53b6..8debce3649 100644 --- a/view/theme/vier/templates/wall_thread.tpl +++ b/view/theme/vier/templates/wall_thread.tpl @@ -1,4 +1,3 @@ - {{if $mode == display}} {{else}} {{if $item.comment_firstcollapsed}} @@ -146,7 +145,7 @@ {{/if}} {{if $item.drop.dropping}} - {{$item.drop.delete}} + {{$item.drop.delete}} {{/if}} {{if $item.edpost}} {{$item.edpost.1}}