X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fevents.php;h=1feab61d5baeb2c32a1515ac8587e4f53d2ce4ef;hb=f3ffe033c557ab3d2e3874bfab4f069eca9d3c9d;hp=bf813f68372535e6f2d7aad83c11ce378ebc5e0f;hpb=c5c9fda93cc7dd49fea056df212683c1d85b0b1a;p=friendica.git diff --git a/mod/events.php b/mod/events.php index bf813f6837..1feab61d5b 100644 --- a/mod/events.php +++ b/mod/events.php @@ -1,6 +1,6 @@ $_REQUEST]); - if (!local_user()) { return; } @@ -83,6 +83,8 @@ function events_post(App $a) $adjust = intval($_POST['adjust'] ?? 0); $nofinish = intval($_POST['nofinish'] ?? 0); + $share = intval($_POST['share'] ?? 0); + // The default setting for the `private` field in event_store() is false, so mirror that $private_event = false; @@ -150,18 +152,9 @@ function events_post(App $a) DI::baseUrl()->redirect($onerror_path); } - $share = intval($_POST['share'] ?? 0); - - $c = q("SELECT `id` FROM `contact` WHERE `uid` = %d AND `self` LIMIT 1", - intval(local_user()) - ); - - if (DBA::isResult($c)) { - $self = $c[0]['id']; - } else { - $self = 0; - } + $self = \Friendica\Model\Contact::getPublicIdByUserId($uid); + $aclFormatter = DI::aclFormatter(); if ($share) { $user = User::getById($uid, ['allow_cid', 'allow_gid', 'deny_cid', 'deny_gid']); @@ -169,7 +162,6 @@ function events_post(App $a) return; } - $aclFormatter = DI::aclFormatter(); $str_contact_allow = isset($_REQUEST['contact_allow']) ? $aclFormatter->toString($_REQUEST['contact_allow']) : $user['allow_cid'] ?? ''; $str_group_allow = isset($_REQUEST['group_allow']) ? $aclFormatter->toString($_REQUEST['group_allow']) : $user['allow_gid'] ?? ''; $str_contact_deny = isset($_REQUEST['contact_deny']) ? $aclFormatter->toString($_REQUEST['contact_deny']) : $user['deny_cid'] ?? ''; @@ -183,10 +175,10 @@ function events_post(App $a) // Since we know from the visibility parameter the item should be private, we have to prevent the empty ACL // case that would make it public. So we always append the author's contact id to the allowed contacts. // See https://github.com/friendica/friendica/issues/9672 - $str_contact_allow .= $aclFormatter->toString(Contact::getPublicIdByUserId($uid)); + $str_contact_allow .= $aclFormatter->toString($self); } } else { - $str_contact_allow = '<' . $self . '>'; + $str_contact_allow = $aclFormatter->toString($self); $str_group_allow = $str_contact_deny = $str_group_deny = ''; } @@ -214,6 +206,9 @@ function events_post(App $a) $datarray['deny_gid'] = $str_group_deny; $datarray['private'] = $private_event; $datarray['id'] = $event_id; + $datarray['network'] = Protocol::DFRN; + $datarray['protocol'] = Conversation::PARCEL_DIRECT; + $datarray['direction'] = Conversation::PUSH; if (intval($_REQUEST['preview'])) { $html = Event::getHTML($datarray); @@ -221,10 +216,10 @@ function events_post(App $a) exit(); } - $item_id = Event::store($datarray); + $uri_id = Event::store($datarray); if (!$cid) { - Worker::add(PRIORITY_HIGH, "Notifier", Delivery::POST, $item_id); + Worker::add(PRIORITY_HIGH, "Notifier", Delivery::POST, (int)$uri_id, (int)$uid); } DI::baseUrl()->redirect('events'); @@ -595,7 +590,7 @@ function events_content(App $a) Item::deleteForUser(['id' => $ev[0]['itemid']], local_user()); } - if (Item::exists(['id' => $ev[0]['itemid']])) { + if (Post::exists(['id' => $ev[0]['itemid']])) { notice(DI::l10n()->t('Failed to remove event')); }