Merge pull request #6056 from JonnyTischbein/issue_post_delete_return

Return correctly after post deletion (Non-Ajax)
This commit is contained in:
Hypolite Petovan 2018-10-31 15:39:33 -04:00 committed by GitHub
commit 91a221caa2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 21 additions and 9 deletions

View file

@ -345,7 +345,7 @@ function drop_items(array $items)
} }
} }
function drop_item($id) function drop_item($id, $return = '')
{ {
$a = BaseObject::getApp(); $a = BaseObject::getApp();
@ -409,8 +409,15 @@ function drop_item($id)
// delete the item // delete the item
Item::deleteForUser(['id' => $item['id']], local_user()); Item::deleteForUser(['id' => $item['id']], local_user());
$a->internalRedirect('network'); $return_url = hex2bin($return);
//NOTREACHED if (empty($return_url) || strpos($return_url, 'display') !== false) {
$a->internalRedirect('network');
//NOTREACHED
}
else {
$a->internalRedirect($return_url);
//NOTREACHED
}
} else { } else {
notice(L10n::t('Permission denied.') . EOL); notice(L10n::t('Permission denied.') . EOL);
$a->internalRedirect('display/' . $item['guid']); $a->internalRedirect('display/' . $item['guid']);

View file

@ -881,11 +881,16 @@ function item_content(App $a)
$o = ''; $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()) { if ($a->isAjax()) {
$o = Item::deleteForUser(['id' => $a->argv[2]], local_user()); $o = Item::deleteForUser(['id' => $a->argv[2]], local_user());
} else { } 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()) { if ($a->isAjax()) {

View file

@ -414,6 +414,7 @@ class Post extends BaseObject
'received' => $item['received'], 'received' => $item['received'],
'commented' => $item['commented'], 'commented' => $item['commented'],
'created_date' => $item['created'], 'created_date' => $item['created'],
'return' => ($a->cmd) ? bin2hex($a->cmd) : '',
]; ];
$arr = ['item' => $item, 'output' => $tmp_item]; $arr = ['item' => $item, 'output' => $tmp_item];

View file

@ -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 $item.drop.dropping}}
<li role="menuitem"> <li role="menuitem">
<button type="button" class="btn-link navicon delete" onclick="dropItem('item/drop/{{$item.id}}', 'item-{{$item.guid}}');" title="{{$item.drop.delete}}"><i class="fa fa-trash" aria-hidden="true"></i> {{$item.drop.delete}}</button> <button type="button" class="btn-link navicon delete" onclick="dropItem('item/drop/{{$item.id}}/{{$item.return}}', 'item-{{$item.guid}}');" title="{{$item.drop.delete}}"><i class="fa fa-trash" aria-hidden="true"></i> {{$item.drop.delete}}</button>
</li> </li>
{{/if}} {{/if}}
</ul> </ul>

View file

@ -140,7 +140,7 @@
<input type="checkbox" title="{{$item.drop.select}}" name="itemselected[]" class="item-select" value="{{$item.id}}" /> <input type="checkbox" title="{{$item.drop.select}}" name="itemselected[]" class="item-select" value="{{$item.id}}" />
{{/if}} {{/if}}
{{if $item.drop.dropping}} {{if $item.drop.dropping}}
<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="icon delete s16" title="{{$item.drop.delete}}">{{$item.drop.delete}}</a> <a href="item/drop/{{$item.id}}/{{$item.return}}" onclick="return confirmDelete();" class="icon delete s16" title="{{$item.drop.delete}}">{{$item.drop.delete}}</a>
{{/if}} {{/if}}
{{if $item.edpost}} {{if $item.edpost}}
<a class="icon edit s16" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"></a> <a class="icon edit s16" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"></a>

View file

@ -1,4 +1,3 @@
{{if $mode == display}} {{if $mode == display}}
{{else}} {{else}}
{{if $item.comment_firstcollapsed}} {{if $item.comment_firstcollapsed}}
@ -146,7 +145,7 @@
<input type="checkbox" title="{{$item.drop.select}}" name="itemselected[]" class="item-select" value="{{$item.id}}" /> <input type="checkbox" title="{{$item.drop.select}}" name="itemselected[]" class="item-select" value="{{$item.id}}" />
{{/if}} {{/if}}
{{if $item.drop.dropping}} {{if $item.drop.dropping}}
<a role="button" href="item/drop/{{$item.id}}" onclick="return confirmDelete();" title="{{$item.drop.delete}}"><i class="icon-trash icon-large"><span class="sr-only">{{$item.drop.delete}}</span></i></a> <a role="button" href="item/drop/{{$item.id}}/{{$item.return}}" onclick="return confirmDelete();" title="{{$item.drop.delete}}"><i class="icon-trash icon-large"><span class="sr-only">{{$item.drop.delete}}</span></i></a>
{{/if}} {{/if}}
{{if $item.edpost}} {{if $item.edpost}}
<a role="button" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"><i class="icon-edit icon-large"><span class="sr-only">{{$item.edpost.1}}</span></i></a> <a role="button" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"><i class="icon-edit icon-large"><span class="sr-only">{{$item.edpost.1}}</span></i></a>