diff --git a/src/Model/Contact.php b/src/Model/Contact.php index ae5c6483c..bc8a6cbe7 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -994,7 +994,6 @@ class Contact $pm_url = ''; $status_link = ''; $photos_link = ''; - $contact_drop_link = ''; $poke_link = ''; if ($uid == 0) { @@ -1046,10 +1045,6 @@ class Contact $posts_link = DI::baseUrl() . '/contact/' . $contact['id'] . '/conversations'; - if (!$contact['self']) { - $contact_drop_link = DI::baseUrl() . '/contact/' . $contact['id'] . '/drop?confirm=1'; - } - $follow_link = ''; $unfollow_link = ''; if (!$contact['self'] && Protocol::supportsFollow($contact['network'])) { @@ -1060,10 +1055,6 @@ class Contact } } - if (!empty($follow_link) || !empty($unfollow_link)) { - $contact_drop_link = ''; - } - /** * Menu array: * "name" => [ "Label", "link", (bool)Should the link opened in a new tab? ] @@ -1083,7 +1074,6 @@ class Contact 'photos' => [DI::l10n()->t('View Photos') , $photos_link , true], 'network' => [DI::l10n()->t('Network Posts') , $posts_link , false], 'edit' => [DI::l10n()->t('View Contact') , $contact_url , false], - 'drop' => [DI::l10n()->t('Drop Contact') , $contact_drop_link, false], 'pm' => [DI::l10n()->t('Send PM') , $pm_url , false], 'poke' => [DI::l10n()->t('Poke') , $poke_link , false], 'follow' => [DI::l10n()->t('Connect/Follow'), $follow_link , true], diff --git a/src/Module/Contact.php b/src/Module/Contact.php index 37569ee77..3b253b85c 100644 --- a/src/Module/Contact.php +++ b/src/Module/Contact.php @@ -87,12 +87,6 @@ class Contact extends BaseModule self::toggleIgnoreContact($cdata['public']); $count_actions++; } - - if (!empty($_POST['contacts_batch_drop']) && $cdata['user'] - && self::dropContact($cdata['user'], local_user()) - ) { - $count_actions++; - } } if ($count_actions > 0) { info(DI::l10n()->tt('%d contact edited.', '%d contacts edited.', $count_actions)); @@ -230,31 +224,6 @@ class Contact extends BaseModule Model\Contact\User::setIgnored($contact_id, local_user(), $ignored); } - /** - * @param int $contact_id Id for contact with uid != 0 - * @param int $uid Id for user we want to drop the contact for - * @return bool - * @throws \Friendica\Network\HTTPException\InternalServerErrorException - * @throws \ImagickException - */ - private static function dropContact(int $contact_id, int $uid): bool - { - $contact = Model\Contact::getContactForUser($contact_id, $uid); - if (!DBA::isResult($contact)) { - return false; - } - - $owner = Model\User::getOwnerDataById($uid); - if (!DBA::isResult($owner)) { - return false; - } - - Model\Contact::terminateFriendship($owner, $contact, true); - Model\Contact::remove($contact['id']); - - return true; - } - public static function content(array $parameters = [], $update = 0) { if (!local_user()) { @@ -426,38 +395,6 @@ class Contact extends BaseModule DI::baseUrl()->redirect('contact/' . $cdata['public']); // NOTREACHED } - - if ($cmd === 'drop' && $cdata['user']) { - // Check if we should do HTML-based delete confirmation - if (!empty($_REQUEST['confirm'])) { - DI::page()['aside'] = ''; - - return Renderer::replaceMacros(Renderer::getMarkupTemplate('contact_drop_confirm.tpl'), [ - '$l10n' => [ - 'header' => DI::l10n()->t('Drop contact'), - 'message' => DI::l10n()->t('Do you really want to delete this contact?'), - 'confirm' => DI::l10n()->t('Yes'), - 'cancel' => DI::l10n()->t('Cancel'), - ], - '$contact' => self::getContactTemplateVars($orig_record), - '$method' => 'get', - '$confirm_url' => DI::args()->getCommand(), - '$confirm_name' => 't', - '$confirm_value' => BaseModule::getFormSecurityToken('contact_action'), - ]); - } - // Now check how the user responded to the confirmation query - if (!empty($_REQUEST['canceled'])) { - DI::baseUrl()->redirect('contact'); - } - - if (self::dropContact($cdata['user'], local_user())) { - info(DI::l10n()->t('Contact has been removed.')); - } - - DI::baseUrl()->redirect('contact'); - // NOTREACHED - } } $_SESSION['return_path'] = DI::args()->getQueryString(); @@ -859,13 +796,11 @@ class Contact extends BaseModule '$cmd' => DI::args()->getCommand(), '$contacts' => $contacts, '$form_security_token' => BaseModule::getFormSecurityToken('contact_batch_actions'), - '$contact_drop_confirm' => DI::l10n()->t('Do you really want to delete this contact?'), 'multiselect' => 1, '$batch_actions' => [ 'contacts_batch_update' => DI::l10n()->t('Update'), 'contacts_batch_block' => DI::l10n()->t('Block') . '/' . DI::l10n()->t('Unblock'), 'contacts_batch_ignore' => DI::l10n()->t('Ignore') . '/' . DI::l10n()->t('Unignore'), - 'contacts_batch_drop' => DI::l10n()->t('Delete'), ], '$h_batch_actions' => DI::l10n()->t('Batch Actions'), '$paginate' => $pager->renderFull($total), @@ -1156,23 +1091,13 @@ class Contact extends BaseModule 'id' => 'toggle-ignore', ]; - if ($contact['uid'] != 0) { - if (Protocol::supportsRevokeFollow($contact['network']) && in_array($contact['rel'], [Model\Contact::FOLLOWER, Model\Contact::FRIEND])) { - $contact_actions['revoke_follow'] = [ - 'label' => DI::l10n()->t('Revoke Follow'), - 'url' => 'contact/' . $contact['id'] . '/revoke', - 'title' => DI::l10n()->t('Revoke the follow from this contact'), - 'sel' => '', - 'id' => 'revoke_follow', - ]; - } - - $contact_actions['delete'] = [ - 'label' => DI::l10n()->t('Delete'), - 'url' => 'contact/' . $contact['id'] . '/drop?t=' . $formSecurityToken, - 'title' => DI::l10n()->t('Delete contact'), + if ($contact['uid'] != 0 && Protocol::supportsRevokeFollow($contact['network']) && in_array($contact['rel'], [Model\Contact::FOLLOWER, Model\Contact::FRIEND])) { + $contact_actions['revoke_follow'] = [ + 'label' => DI::l10n()->t('Revoke Follow'), + 'url' => 'contact/' . $contact['id'] . '/revoke', + 'title' => DI::l10n()->t('Revoke the follow from this contact'), 'sel' => '', - 'id' => 'delete', + 'id' => 'revoke_follow', ]; } diff --git a/static/routes.config.php b/static/routes.config.php index a7b27fcb5..2c9765b3c 100644 --- a/static/routes.config.php +++ b/static/routes.config.php @@ -236,7 +236,6 @@ return [ '/{id:\d+}/block' => [Module\Contact::class, [R::GET]], '/{id:\d+}/conversations' => [Module\Contact::class, [R::GET]], '/{id:\d+}/contacts[/{type}]' => [Module\Contact\Contacts::class, [R::GET]], - '/{id:\d+}/drop' => [Module\Contact::class, [R::GET]], '/{id:\d+}/ignore' => [Module\Contact::class, [R::GET]], '/{id:\d+}/media' => [Module\Contact\Media::class, [R::GET]], '/{id:\d+}/poke' => [Module\Contact\Poke::class, [R::GET, R::POST]], diff --git a/view/templates/contact_edit.tpl b/view/templates/contact_edit.tpl index 05779f3a4..84384c479 100644 --- a/view/templates/contact_edit.tpl +++ b/view/templates/contact_edit.tpl @@ -22,7 +22,6 @@