From: Hypolite Petovan Date: Wed, 11 Dec 2019 08:35:13 +0000 (-0500) Subject: Update web modules handling introduction to use new model class X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=0656e9ece47e9372e29dbae4bec7cd45f8a1e567;p=friendica.git Update web modules handling introduction to use new model class --- diff --git a/mod/notifications.php b/mod/notifications.php index 88972728cb..90036705bc 100644 --- a/mod/notifications.php +++ b/mod/notifications.php @@ -14,7 +14,7 @@ use Friendica\Core\Renderer; use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\Module\Login; -use Friendica\Model\Contact; +use Friendica\Model\Introduction; use Friendica\Model\Notify; function notifications_post(App $a) @@ -30,43 +30,20 @@ function notifications_post(App $a) } if ($request_id) { - $intro = DBA::selectFirst('intro', ['id', 'contact-id', 'fid'], ['id' => $request_id, 'uid' => local_user()]); - - if (DBA::isResult($intro)) { - $intro_id = $intro['id']; - $contact_id = $intro['contact-id']; - } else { - notice(L10n::t('Invalid request identifier.') . EOL); - return; + /** @var Introduction $Intro */ + $Intro = \Friendica\BaseObject::getClass(Introduction::class); + $Intro->fetch(['id' => $request_id, 'uid' => local_user()]); + + switch ($_POST['submit']) { + case L10n::t('Discard'): + $Intro->discard(); + break; + case L10n::t('Ignore'): + $Intro->ignore(); + break; } - // If it is a friend suggestion, the contact is not a new friend but an existing friend - // that should not be deleted. - - $fid = $intro['fid']; - - if ($_POST['submit'] == L10n::t('Discard')) { - DBA::delete('intro', ['id' => $intro_id]); - if (!$fid) { - // When the contact entry had been created just for that intro, we want to get rid of it now - $condition = ['id' => $contact_id, 'uid' => local_user(), - 'self' => false, 'pending' => true, 'rel' => [0, Contact::FOLLOWER]]; - $contact_pending = DBA::exists('contact', $condition); - - // Remove the "pending" to stop the reappearing in any case - DBA::update('contact', ['pending' => false], ['id' => $contact_id]); - - if ($contact_pending) { - Contact::remove($contact_id); - } - } - $a->internalRedirect('notifications/intros'); - } - - if ($_POST['submit'] == L10n::t('Ignore')) { - DBA::update('intro', ['ignore' => true], ['id' => $intro_id]); - $a->internalRedirect('notifications/intros'); - } + $a->internalRedirect('notifications/intros'); } } diff --git a/src/Module/FollowConfirm.php b/src/Module/FollowConfirm.php index d1a0a5dda5..5e9ab0481c 100644 --- a/src/Module/FollowConfirm.php +++ b/src/Module/FollowConfirm.php @@ -1,17 +1,9 @@ $cid]); - - $contact = DBA::selectFirst('contact', [], ['id' => $cid, 'uid' => $uid]); - if (!DBA::isResult($contact)) { - Logger::warning('Contact not found in DB.', ['cid' => $cid]); - notice(L10n::t('Contact not found.') . EOL); - return; - } - - $relation = $contact['rel']; - $new_relation = $contact['rel']; - $writable = $contact['writable']; - - if (!empty($contact['protocol'])) { - $protocol = $contact['protocol']; - } else { - $protocol = $contact['network']; - } - - if ($protocol == Protocol::ACTIVITYPUB) { - ActivityPub\Transmitter::sendContactAccept($contact['url'], $contact['hub-verify'], $uid); - } - - if (in_array($protocol, [Protocol::DIASPORA, Protocol::ACTIVITYPUB])) { - if ($duplex) { - $new_relation = Contact::FRIEND; - } else { - $new_relation = Contact::FOLLOWER; - } + /** @var Introduction $Intro */ + $Intro = self::getClass(Introduction::class); + $Intro->fetch(['id' => $intro_id, 'uid' => local_user()]); - if ($new_relation != Contact::FOLLOWER) { - $writable = 1; - } - } - - $fields = ['name-date' => DateTimeFormat::utcNow(), - 'uri-date' => DateTimeFormat::utcNow(), - 'blocked' => false, 'pending' => false, 'protocol' => $protocol, - 'writable' => $writable, 'hidden' => $hidden, 'rel' => $new_relation]; - DBA::update('contact', $fields, ['id' => $cid]); - - if ($new_relation == Contact::FRIEND) { - if ($protocol == Protocol::DIASPORA) { - $user = User::getById($uid); - $contact = Contact::getById($cid); - $ret = Diaspora::sendShare($user, $contact); - Logger::info('share returns', ['return' => $ret]); - } elseif ($protocol == Protocol::ACTIVITYPUB) { - ActivityPub\Transmitter::sendActivity('Follow', $contact['url'], $uid); - } - } + $cid = $Intro->{'contact-id'}; - DBA::delete('intro', ['id' => $intro_id]); + $Intro->confirm($duplex, $hidden); $a->internalRedirect('contact/' . intval($cid)); }