]> git.mxchange.org Git - friendica.git/commitdiff
Added hooks for the email fetch process
authorMichael <heluecht@pirati.ca>
Wed, 20 Nov 2019 20:57:34 +0000 (20:57 +0000)
committerMichael <heluecht@pirati.ca>
Wed, 20 Nov 2019 20:57:34 +0000 (20:57 +0000)
doc/Addons.md
doc/de/Addons.md
src/Protocol/Email.php

index 69b591a820f724f8a1936f0fafc0d124244e8140..fb9956089dbf4d2ca371d7f61ce588675e8a8c9a 100644 (file)
@@ -777,6 +777,11 @@ Here is a complete list of all hook callbacks with file locations (as of 24-Sep-
     Hook::callAll('atom_feed_end', $atom);
     Hook::callAll('atom_feed_end', $atom);
 
+### src/Protocol/Email.php
+
+    Hook::callAll('email_getmessage', $message);
+    Hook::callAll('email_getmessage_end', $ret);
+
 ### view/js/main.js
 
     document.dispatchEvent(new Event('postprocess_liveupdate'));
index 755db95d018ce00634bfcd83e62b1e48b7d314f0..b5dd07cca2305965806ee1b72faaf62108459042 100644 (file)
@@ -495,3 +495,8 @@ Eine komplette Liste aller Hook-Callbacks mit den zugehörigen Dateien (am 01-Ap
 
     Hook::callAll('atom_feed_end', $atom);
     Hook::callAll('atom_feed_end', $atom);
+
+### src/Protocol/Email.php
+
+    Hook::callAll('email_getmessage', $message);
+    Hook::callAll('email_getmessage_end', $ret);
index 06cf8612502ae65679019ef197acbfafa96f6570..3df39af00719e80da3b7f41dd7fb5fa417c6b7cd 100644 (file)
@@ -4,6 +4,7 @@
  */
 namespace Friendica\Protocol;
 
+use Friendica\Core\Hook;
 use Friendica\Core\Logger;
 use Friendica\Content\Text\HTML;
 use Friendica\Model\Item;
@@ -126,6 +127,10 @@ class Email
                        if (trim($ret['body']) == '') {
                                $ret['body'] = self::messageGetPart($mbox, $uid, $struc, 0, 'plain');
                        } else {
+                               $message = ['text' => '', 'html' => $ret['body']];
+                               Hook::callAll('email_getmessage', $message);
+                               $ret['body'] = $message['html'];
+
                                $ret['body'] = HTML::toBBCode($ret['body']);
                        }
                } else {
@@ -142,7 +147,13 @@ class Email
                                        $html .= $x;
                                }
                        }
-                       if (trim($html) != '') {
+
+                       $message = ['text' => trim($text), 'html' => trim($html)];
+                       Hook::callAll('email_getmessage', $message);
+                       $html = $message['html'];
+                       $text = $message['text'];
+
+                       if (!empty($html)) {
                                $ret['body'] = HTML::toBBCode($html);
                        } else {
                                $ret['body'] = $text;
@@ -160,12 +171,14 @@ class Email
 
                $ret['body'] = self::unifyAttributionLine($ret['body']);
 
+               Hook::callAll('email_getmessage_end', $ret);
+
                return $ret;
        }
 
-       // At the moment - only return plain/text.
-       // Later we'll repackage inline images as data url's and make the HTML safe
        /**
+        * fetch the specified message part number with the specified subtype
+        *
         * @param resource $mbox    mailbox
         * @param integer  $uid     user id
         * @param object   $p       parts