]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/implugin.php
Merge branch 'master' into social-master
[quix0rs-gnu-social.git] / lib / implugin.php
index a0378603916e01d36ff0bf486c63111dfe4a8b13..9542d4d206d604633691360ad05cc391a26fc4b3 100644 (file)
@@ -84,7 +84,7 @@ abstract class ImPlugin extends Plugin
      *
      * @return boolean success value
      */
-    function sendNotice($screenname, $notice)
+    function sendNotice($screenname, Notice $notice)
     {
         return $this->sendMessage($screenname, $this->formatNotice($notice));
     }
@@ -170,7 +170,7 @@ abstract class ImPlugin extends Plugin
     {
         $user_im_prefs = $this->getUserImPrefsFromScreenname($screenname);
         if($user_im_prefs){
-            $user = User::staticGet('id', $user_im_prefs->user_id);
+            $user = User::getKV('id', $user_im_prefs->user_id);
             $user_im_prefs->free();
             return $user;
         }else{
@@ -321,7 +321,7 @@ abstract class ImPlugin extends Plugin
         $ni = $notice->whoGets();
 
         foreach ($ni as $user_id => $reason) {
-            $user = User::staticGet($user_id);
+            $user = User::getKV($user_id);
             if (empty($user)) {
                 // either not a local user, or just not found
                 continue;
@@ -370,10 +370,19 @@ abstract class ImPlugin extends Plugin
      * @return string plain-text version of the notice, with user nickname prefixed
      */
 
-    function formatNotice($notice)
+    protected function formatNotice(Notice $notice)
     {
         $profile = $notice->getProfile();
-        return $profile->nickname . ': ' . $notice->content . ' [' . $notice->id . ']';
+
+        try {
+            $parent = $notice->getParent();
+            $orig_profile = $parent->getProfile();
+            $nicknames = sprintf('%1$s => %2$s', $profile->nickname, $orig_profile->nickname);
+        } catch (Exception $e) {
+            $nicknames = $profile->nickname;
+        }
+
+        return sprintf('%1$s: %2$s [%3$u]', $nicknames, $notice->content, $notice->id);
     }
     //========================UTILITY FUNCTIONS USEFUL TO IMPLEMENTATIONS - RECEIVING ========================\
 
@@ -519,7 +528,7 @@ abstract class ImPlugin extends Plugin
      *
      * @return boolean hook return
      */
-    function onEndInitializeQueueManager($manager)
+    function onEndInitializeQueueManager(QueueManager $manager)
     {
         $manager->connect($this->transport . '-in', new ImReceiverQueueHandler($this), 'im');
         $manager->connect($this->transport, new ImQueueHandler($this));
@@ -533,9 +542,9 @@ abstract class ImPlugin extends Plugin
         return true;
     }
 
-    function onStartEnqueueNotice($notice, &$transports)
+    function onStartEnqueueNotice(Notice $notice, array &$transports)
     {
-        $profile = Profile::staticGet($notice->profile_id);
+        $profile = Profile::getKV($notice->profile_id);
 
         if (!$profile) {
             common_log(LOG_WARNING, 'Refusing to broadcast notice with ' .