mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-20 06:35:15 +00:00
do not re-import manually deleted posts (but do update expired posts that have new content)
This commit is contained in:
parent
c146cd0f0b
commit
8c76acc132
3 changed files with 19 additions and 3 deletions
|
@ -3678,6 +3678,11 @@ class Activity
|
||||||
$item['item_private'] = 2;
|
$item['item_private'] = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Tombstone::check($item['mid'], $channel['channel_id'])) {
|
||||||
|
logger('tombstone: post was deleted. Ignoring update.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if ($item['parent_mid'] && $item['parent_mid'] !== $item['mid']) {
|
if ($item['parent_mid'] && $item['parent_mid'] !== $item['mid']) {
|
||||||
$is_child_node = true;
|
$is_child_node = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1654,6 +1654,12 @@ class Libzot
|
||||||
|
|
||||||
$DR->set_name($channel['channel_name'] . ' <' . Channel::get_webfinger($channel) . '>');
|
$DR->set_name($channel['channel_name'] . ' <' . Channel::get_webfinger($channel) . '>');
|
||||||
|
|
||||||
|
if (Tombstone::check($arr['mid'], $channel['channel_id'])) {
|
||||||
|
$DR->update('update ignored');
|
||||||
|
$result[] = $DR->get();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (($act) && ($act->obj) && (!is_array($act->obj))) {
|
if (($act) && ($act->obj) && (!is_array($act->obj))) {
|
||||||
// The initial object fetch failed using the sys channel credentials.
|
// The initial object fetch failed using the sys channel credentials.
|
||||||
// Try again using the delivery channel credentials.
|
// Try again using the delivery channel credentials.
|
||||||
|
|
|
@ -21,6 +21,7 @@ use Code\Lib\ObjCache;
|
||||||
use Code\Lib\PConfig;
|
use Code\Lib\PConfig;
|
||||||
use Code\Lib\LibBlock;
|
use Code\Lib\LibBlock;
|
||||||
use Code\Lib\ThreadListener;
|
use Code\Lib\ThreadListener;
|
||||||
|
use Code\Lib\Tombstone;
|
||||||
use Code\Access\PermissionLimits;
|
use Code\Access\PermissionLimits;
|
||||||
use Code\Access\PermissionRoles;
|
use Code\Access\PermissionRoles;
|
||||||
use Code\Access\AccessControl;
|
use Code\Access\AccessControl;
|
||||||
|
@ -3621,11 +3622,11 @@ function drop_item($id, $stage = DROPITEM_NORMAL, $force = false, $uid = 0, $obs
|
||||||
);
|
);
|
||||||
if ($items) {
|
if ($items) {
|
||||||
foreach ($items as $i) {
|
foreach ($items as $i) {
|
||||||
delete_item_lowlevel($i, $stage, $force);
|
delete_item_lowlevel($i, $stage, $force, $expire);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
delete_item_lowlevel($item, $stage, $force);
|
delete_item_lowlevel($item, $stage, $force, $expire);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -3646,11 +3647,15 @@ function drop_item($id, $stage = DROPITEM_NORMAL, $force = false, $uid = 0, $obs
|
||||||
* @param bool $force
|
* @param bool $force
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
function delete_item_lowlevel($item, $stage = DROPITEM_NORMAL, $force = false) {
|
function delete_item_lowlevel($item, $stage = DROPITEM_NORMAL, $force = false, $expire = false) {
|
||||||
|
|
||||||
|
|
||||||
logger('item: ' . $item['id'] . ' stage: ' . $stage . ' force: ' . ($force) ? 'true' : 'false', LOGGER_DATA);
|
logger('item: ' . $item['id'] . ' stage: ' . $stage . ' force: ' . ($force) ? 'true' : 'false', LOGGER_DATA);
|
||||||
|
|
||||||
|
if (!$expire) {
|
||||||
|
Tombstone::store($item['mid'], $item['uid']);
|
||||||
|
}
|
||||||
|
|
||||||
match ($stage) {
|
match ($stage) {
|
||||||
DROPITEM_PHASE2 => q("UPDATE item SET item_pending_remove = 1, body = '', title = '',
|
DROPITEM_PHASE2 => q("UPDATE item SET item_pending_remove = 1, body = '', title = '',
|
||||||
changed = '%s', edited = '%s' WHERE id = %d",
|
changed = '%s', edited = '%s' WHERE id = %d",
|
||||||
|
|
Loading…
Reference in a new issue