]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/Mail.php
Fix session size problems
[friendica.git] / src / Model / Mail.php
index 4d5c1946b3c9e72a404e1a8d93cb57ea8c0e87db..96a54937548cb03dfed6b696d8b7733cae906d7d 100644 (file)
@@ -10,9 +10,11 @@ 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\Util\DateTimeFormat;
+use Friendica\Worker\Delivery;
 
 /**
  * Class to handle private messages
@@ -29,6 +31,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 +47,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,7 +76,7 @@ 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'],
@@ -112,6 +120,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 +224,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;