X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FConsole%2FContact.php;h=f051d870a295c8710a72f21a7b7c57992fc3f486;hb=7d958e8804f5fabc9b748c68c7b8f55d8885360c;hp=57f64fd9acf4581d7e5a8062403ab4a956de5ab4;hpb=312de957f43f6d3b2c17eb935cca06d9132ff034;p=friendica.git diff --git a/src/Console/Contact.php b/src/Console/Contact.php index 57f64fd9ac..f051d870a2 100644 --- a/src/Console/Contact.php +++ b/src/Console/Contact.php @@ -1,6 +1,6 @@ getArgument(3); - if (empty($network) && $network !== '') { + if ($network === null) { $this->out('Enter network, or leave blank: '); $network = CliPrompt::prompt(); } - $result = ContactModel::createFromProbe($user, $url, false, $network); + $result = ContactModel::createFromProbeForUser($user['uid'], $url, $network); if ($result['success']) { $this->out('User ' . $user['nickname'] . ' now connected to ' . $url . ', contact ID ' . $result['cid']); @@ -174,11 +178,12 @@ HELP; } /** - * Sends an unfriend message. Does not remove the contact + * Sends an unfriend message. * * @return bool True, if the command was successful + * @throws \Exception */ - private function terminateContact() + private function terminateContact(): bool { $cid = $this->getArgument(1); if (empty($cid)) { @@ -194,15 +199,24 @@ HELP; throw new RuntimeException('Contact not found'); } - $user = UserModel::getById($contact['uid']); + if (empty($contact['uid'])) { + throw new RuntimeException('Contact must be user-specific (uid != 0)'); + } + + try { + ContactModel::unfollow($contact); + + $this->out('Contact was successfully unfollowed'); - $result = ContactModel::terminateFriendship($user, $contact); + return true; + } catch (\Exception $e) { + DI::logger()->error($e->getMessage(), ['contact' => $contact]); + throw new RuntimeException('Unable to unfollow this contact, please check the log'); + } } /** * Marks a contact for removal - * - * @return bool True, if the command was successful */ private function removeContact() { @@ -215,7 +229,7 @@ HELP; } } - $result = ContactModel::remove($cid); + ContactModel::remove($cid); } /**