mirror of
https://git.sekbaer.de/Friendica/friendica.git
synced 2025-06-09 16:44:26 +02:00
Get rid of the "item" table, enhanced "post" tables
This commit is contained in:
parent
c918e83aa2
commit
ce6ad1aa73
23 changed files with 736 additions and 235 deletions
|
@ -35,6 +35,7 @@ use Friendica\Util\Network;
|
|||
use Friendica\Core\Worker;
|
||||
use Friendica\Model\Conversation;
|
||||
use Friendica\Model\FContact;
|
||||
use Friendica\Model\Item;
|
||||
use Friendica\Protocol\Relay;
|
||||
|
||||
class Delivery
|
||||
|
@ -80,9 +81,9 @@ class Delivery
|
|||
}
|
||||
$parent_id = intval($item['parent']);
|
||||
|
||||
$condition = ['id' => [$target_id, $parent_id], 'visible' => true, 'moderated' => false];
|
||||
$condition = ['id' => [$target_id, $parent_id], 'visible' => true];
|
||||
$params = ['order' => ['id']];
|
||||
$itemdata = Model\Post::select([], $condition, $params);
|
||||
$itemdata = Model\Post::select(Item::DELIVER_FIELDLIST, $condition, $params);
|
||||
|
||||
while ($item = Model\Post::fetch($itemdata)) {
|
||||
if ($item['verb'] == Activity::ANNOUNCE) {
|
||||
|
|
|
@ -100,8 +100,8 @@ class Notifier
|
|||
$delivery_contacts_stmt = DBA::select('contact', ['id', 'url', 'addr', 'network', 'protocol', 'batch'], $condition);
|
||||
} else {
|
||||
// find ancestors
|
||||
$condition = ['id' => $target_id, 'visible' => true, 'moderated' => false];
|
||||
$target_item = Post::selectFirst([], $condition);
|
||||
$condition = ['id' => $target_id, 'visible' => true];
|
||||
$target_item = Post::selectFirst(Item::DELIVER_FIELDLIST, $condition);
|
||||
|
||||
if (!DBA::isResult($target_item) || !intval($target_item['parent'])) {
|
||||
Logger::info('No target item', ['cmd' => $cmd, 'target' => $target_id]);
|
||||
|
@ -117,9 +117,9 @@ class Notifier
|
|||
return;
|
||||
}
|
||||
|
||||
$condition = ['parent' => $target_item['parent'], 'visible' => true, 'moderated' => false];
|
||||
$condition = ['parent' => $target_item['parent'], 'visible' => true];
|
||||
$params = ['order' => ['id']];
|
||||
$items_stmt = Post::select([], $condition, $params);
|
||||
$items_stmt = Post::select(Item::DELIVER_FIELDLIST, $condition, $params);
|
||||
if (!DBA::isResult($items_stmt)) {
|
||||
Logger::info('No item found', ['cmd' => $cmd, 'target' => $target_id]);
|
||||
return;
|
||||
|
@ -792,6 +792,6 @@ class Notifier
|
|||
*/
|
||||
public static function isForumPost(array $item)
|
||||
{
|
||||
return !empty($item['forum_mode']);
|
||||
return ($item['gravity'] == GRAVITY_PARENT) && !empty($item['forum_mode']);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,13 +47,14 @@ class RemoveContact {
|
|||
$condition = ['uid' => $contact['uid'], 'contact-id' => $id];
|
||||
}
|
||||
do {
|
||||
$items = Post::select(['id', 'guid', 'uri-id', 'uid'], $condition, ['limit' => 100]);
|
||||
$items = Post::select(['id', 'post-user-id', 'uri-id', 'guid'], $condition, ['limit' => 100]);
|
||||
while ($item = Post::fetch($items)) {
|
||||
Logger::info('Delete removed contact item', ['id' => $item['id'], 'guid' => $item['guid']]);
|
||||
Logger::info('Delete removed contact item', ['id' => $item['id'], 'uri-id' => $item['uri-id'], 'guid' => $item['guid']]);
|
||||
DBA::delete('item', ['id' => $item['id']]);
|
||||
Post\User::delete(['uri-id' => $item['uri-id'], 'uid' => $item['uid']]);
|
||||
Post::delete(['uri-id' => $item['uri-id']]);
|
||||
Post\ThreadUser::delete(['post-user-id' => $item['post-user-id']]);
|
||||
Post\Thread::delete(['uri-id' => $item['uri-id']]);
|
||||
Post\ThreadUser::delete(['uri-id' => $item['uri-id'], 'uid' => $item['uid']]);
|
||||
Post\User::delete(['id' => $item['post-user-id']]);
|
||||
}
|
||||
DBA::close($items);
|
||||
} while (Post::exists($condition));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue