X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FMail.php;h=12b4985526b9a9b137dfa7f07b84e36ce0f9e1d8;hb=8c328a3c60d3bcbc8b091158383bf829064d2c9c;hp=90b54b6fc339abcc4c61fa4148d2cc41666d2cfa;hpb=6c6e3058f20887d9345b3dd104e68756b697330a;p=friendica.git diff --git a/src/Model/Mail.php b/src/Model/Mail.php index 90b54b6fc3..12b4985526 100644 --- a/src/Model/Mail.php +++ b/src/Model/Mail.php @@ -1,17 +1,33 @@ . + * */ + namespace Friendica\Model; -use Friendica\Core\L10n; use Friendica\Core\Logger; use Friendica\Core\System; use Friendica\Core\Worker; -use Friendica\Model\Item; +use Friendica\DI; use Friendica\Database\DBA; -use Friendica\Network\Probe; +use Friendica\Model\Notify\Type; +use Friendica\Protocol\Activity; use Friendica\Util\DateTimeFormat; use Friendica\Worker\Delivery; @@ -68,18 +84,18 @@ class Mail // send notifications. $notif_params = [ - 'type' => NOTIFY_MAIL, + 'type' => Type::MAIL, 'notify_flags' => $user['notify-flags'], 'language' => $user['language'], 'to_name' => $user['username'], 'to_email' => $user['email'], 'uid' => $user['uid'], 'item' => $msg, - 'parent' => 0, + 'parent' => $msg['id'], 'source_name' => $msg['from-name'], 'source_link' => $msg['from-url'], 'source_photo' => $msg['from-photo'], - 'verb' => ACTIVITY_POST, + 'verb' => Activity::POST, 'otype' => 'mail' ]; @@ -102,23 +118,28 @@ class Mail */ public static function send($recipient = 0, $body = '', $subject = '', $replyto = '') { - $a = \get_app(); + $a = DI::app(); if (!$recipient) { return -1; } if (!strlen($subject)) { - $subject = L10n::t('[no subject]'); + $subject = DI::l10n()->t('[no subject]'); } $me = DBA::selectFirst('contact', [], ['uid' => local_user(), 'self' => true]); - $contact = DBA::selectFirst('contact', [], ['id' => $recipient, 'uid' => local_user()]); + if (!DBA::isResult($me)) { + return -2; + } - if (!(count($me) && (count($contact)))) { + $contact = DBA::selectFirst('contact', [], ['id' => $recipient, 'uid' => local_user()]); + if (!DBA::isResult($contact)) { return -2; } + Photo::setPermissionFromBody($body, local_user(), $me['id'], '<' . $contact['id'] . '>', '', '', ''); + $guid = System::createUUID(); $uri = Item::newURI(local_user(), $guid); @@ -144,7 +165,7 @@ class Mail $recip_host = substr($recip_host, 0, strpos($recip_host, '/')); $recip_handle = (($contact['addr']) ? $contact['addr'] : $contact['nick'] . '@' . $recip_host); - $sender_handle = $a->user['nickname'] . '@' . substr(System::baseUrl(), strpos(System::baseUrl(), '://') + 3); + $sender_handle = $a->user['nickname'] . '@' . substr(DI::baseUrl(), strpos(DI::baseUrl(), '://') + 3); $conv_guid = System::createUUID(); $convuri = $recip_handle . ':' . $conv_guid; @@ -210,12 +231,10 @@ class Mail $images = $match[1]; if (count($images)) { foreach ($images as $image) { - if (!stristr($image, System::baseUrl() . '/photo/')) { - continue; + $image_rid = Photo::ridFromURI($image); + if (!empty($image_rid)) { + Photo::update(['allow-cid' => '<' . $recipient . '>'], ['resource-id' => $image_rid, 'album' => 'Wall Photos', 'uid' => local_user()]); } - $image_uri = substr($image, strrpos($image, '/') + 1); - $image_uri = substr($image_uri, 0, strpos($image_uri, '-')); - Photo::update(['allow-cid' => '<' . $recipient . '>'], ['resource-id' => $image_uri, 'album' => 'Wall Photos', 'uid' => local_user()]); } } } @@ -244,26 +263,22 @@ class Mail } if (!strlen($subject)) { - $subject = L10n::t('[no subject]'); + $subject = DI::l10n()->t('[no subject]'); } $guid = System::createUUID(); $uri = Item::newURI(local_user(), $guid); - $me = Probe::uri($replyto); - + $me = Contact::getByURL($replyto); if (!$me['name']) { return -2; } $conv_guid = System::createUUID(); - $recip_handle = $recipient['nickname'] . '@' . substr(System::baseUrl(), strpos(System::baseUrl(), '://') + 3); + $recip_handle = $recipient['nickname'] . '@' . substr(DI::baseUrl(), strpos(DI::baseUrl(), '://') + 3); - $sender_nick = basename($replyto); - $sender_host = substr($replyto, strpos($replyto, '://') + 3); - $sender_host = substr($sender_host, 0, strpos($sender_host, '/')); - $sender_handle = $sender_nick . '@' . $sender_host; + $sender_handle = $me['addr']; $handles = $recip_handle . ';' . $sender_handle; @@ -296,7 +311,7 @@ class Mail 'reply' => 0, 'replied' => 0, 'uri' => $uri, - 'parent-uri' => $replyto, + 'parent-uri' => $me['url'], 'created' => DateTimeFormat::utcNow(), 'unknown' => 1 ]