<?php
/**
- * @copyright Copyright (C) 2010-2021, the Friendica project
+ * @copyright Copyright (C) 2010-2022, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
use Friendica\Core\Logger;
use Friendica\Database\DBA;
use Friendica\Database\DBStructure;
+use Friendica\DI;
use Friendica\Model\Photo;
use Friendica\Model\Post;
*/
class RemoveContent
{
- public static function execute(int $id): array
+ public static function execute(int $id): bool
{
if (empty($id)) {
- return [];
+ return false;
}
- // Only delete if the contact is to be deleted
- $contact = DBA::selectFirst('contact', ['id', 'uid', 'url', 'nick', 'name'], ['deleted' => true, 'id' => $id]);
- if (!DBA::isResult($contact)) {
- return [];
- }
-
- Logger::info('Start deleting contact content', ['contact' => $contact]);
+ Logger::info('Start deleting contact content', ['cid' => $id]);
// Now we delete the contact and all depending tables
DBA::delete('post-tag', ['cid' => $id]);
Photo::delete(['contact-id' => $id]);
- DBA::delete('contact-relation', ['contact-id = ? OR cid = ?', $id, $id]);
+ DBA::delete('contact-relation', ['relation-cid' => $id]);
+ DBA::delete('contact-relation', ['cid' => $id]);
DBA::delete('event', ['cid' => $id]);
- DBA::delete('fsuggest', ['cid' => $id]);
+ DI::fsuggest()->delete(DI::fsuggest()->selectForContact($id));
DBA::delete('post-tag', ['cid' => $id]);
DBA::delete('user-contact', ['cid' => $id]);
DBA::delete('group_member', ['contact-id' => $id]);
- DBA::delete('intro', ['contact-id' => $id]);
+ DI::intro()->delete(DI::introFactory()->createDummy($id));
- return $contact;
+ return true;
}
}