X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FMail.php;h=e77d147caae5553241c36101fff4351c39f72515;hb=07cea24430420cb0ac2b1d8f870d7292002c7faf;hp=4d5c1946b3c9e72a404e1a8d93cb57ea8c0e87db;hpb=b8a23369b614811d18c48c4616e8080596ab7853;p=friendica.git diff --git a/src/Model/Mail.php b/src/Model/Mail.php index 4d5c1946b3..e77d147caa 100644 --- a/src/Model/Mail.php +++ b/src/Model/Mail.php @@ -10,9 +10,12 @@ use Friendica\Core\Logger; use Friendica\Core\System; use Friendica\Core\Worker; use Friendica\Model\Item; +use Friendica\Model\Photo; use Friendica\Database\DBA; use Friendica\Network\Probe; +use Friendica\Protocol\Activity; use Friendica\Util\DateTimeFormat; +use Friendica\Worker\Delivery; /** * Class to handle private messages @@ -29,6 +32,10 @@ class Mail { $user = User::getById($msg['uid']); + if (!isset($msg['reply'])) { + $msg['reply'] = DBA::exists('mail', ['parent-uri' => $msg['parent-uri']]); + } + if (empty($msg['convid'])) { $mail = DBA::selectFirst('mail', ['convid'], ["`convid` != 0 AND `parent-uri` = ?", $msg['parent-uri']]); if (DBA::isResult($mail)) { @@ -41,6 +48,8 @@ class Mail $msg['guid'] = Item::guidFromUri($msg['uri'], $host); } + $msg['created'] = (!empty($msg['created']) ? DateTimeFormat::utc($msg['created']) : DateTimeFormat::utcNow()); + DBA::lock('mail'); if (DBA::exists('mail', ['uri' => $msg['uri'], 'uid' => $msg['uid']])) { @@ -68,11 +77,11 @@ class Mail 'to_email' => $user['email'], 'uid' => $user['uid'], 'item' => $msg, - 'parent' => $msg['parent-uri'], + 'parent' => 0, 'source_name' => $msg['from-name'], 'source_link' => $msg['from-url'], 'source_photo' => $msg['from-photo'], - 'verb' => ACTIVITY_POST, + 'verb' => Activity::POST, 'otype' => 'mail' ]; @@ -112,6 +121,8 @@ class Mail return -2; } + Photo::setPermissionFromBody($body, local_user(), $me['id'], '<' . $contact['id'] . '>', '', '', ''); + $guid = System::createUUID(); $uri = Item::newURI(local_user(), $guid); @@ -214,7 +225,7 @@ class Mail } if ($post_id) { - Worker::add(PRIORITY_HIGH, "Notifier", "mail", $post_id); + Worker::add(PRIORITY_HIGH, "Notifier", Delivery::MAIL, $post_id); return intval($post_id); } else { return -3;