]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
NoResultException is common if reply_to was not cleared on parent deletion
authorMikael Nordfeldth <mmn@hethane.se>
Wed, 30 Sep 2015 20:55:06 +0000 (22:55 +0200)
committerMikael Nordfeldth <mmn@hethane.se>
Wed, 30 Sep 2015 20:55:06 +0000 (22:55 +0200)
classes/Notice.php
lib/apiaction.php
lib/implugin.php
lib/util.php
plugins/Xmpp/XmppPlugin.php

index e4d10a5bad5b8876d71f312863d03dbd432ac936..44d5adb1b7856d46d5832b0ecdbe5b32594c9bf1 100644 (file)
@@ -1630,6 +1630,8 @@ class Notice extends Managed_DataObject
             self::blow('reply:stream:%d', $parentauthor->id);
         } catch (NoParentNoticeException $e) {
             // Not a reply, since it has no parent!
+        } catch (NoResultException $e) {
+            // Parent notice was probably deleted
         }
 
         // @todo ideally this parser information would only
@@ -1855,6 +1857,8 @@ class Notice extends Managed_DataObject
                 $ctx->replyToUrl = $reply->getUrl(true);    // true for fallback to local URL, less messy
             } catch (NoParentNoticeException $e) {
                 // This is not a reply to something
+            } catch (NoResultException $e) {
+                // Parent notice was probably deleted
             }
 
             try {
index 3564709e5bc2c0242c14af8fb84a06effaf9b72e..1bd80ad1225e74158482b816f5bd0277d455cdc8 100644 (file)
@@ -330,6 +330,9 @@ class ApiAction extends Action
             $in_reply_to = $parent->id;
         } catch (NoParentNoticeException $e) {
             $in_reply_to = null;
+        } catch (NoResultException $e) {
+            // the in_reply_to message has probably been deleted
+            $in_reply_to = null;
         }
         $twitter_status['in_reply_to_status_id'] = $in_reply_to;
 
index 742147dbbdc90ae3502fd88f9c62a3a8273d6d45..457c9dba5252d9528c3d5eb0568e97820d3d3cd6 100644 (file)
@@ -364,13 +364,16 @@ abstract class ImPlugin extends Plugin
     protected function formatNotice(Notice $notice)
     {
         $profile = $notice->getProfile();
+        $nicknames = $profile->getNickname();
 
         try {
             $parent = $notice->getParent();
             $orig_profile = $parent->getProfile();
-            $nicknames = sprintf('%1$s => %2$s', $profile->nickname, $orig_profile->nickname);
+            $nicknames = sprintf('%1$s => %2$s', $profile->getNickname(), $orig_profile->getNickname());
         } catch (NoParentNoticeException $e) {
-            $nicknames = $profile->nickname;
+            // Not a reply, no parent notice stored
+        } catch (NoResultException $e) {
+            // Parent notice was probably deleted
         }
 
         return sprintf('%1$s: %2$s [%3$u]', $nicknames, $notice->content, $notice->id);
index 9c37a5e669d11aab34e9aafe7a91814ace7a9d32..a5acd8d86b38e54f9c8d4ea1d1f02e0d77d6b000 100644 (file)
@@ -725,6 +725,8 @@ function common_find_mentions($text, Notice $notice)
             }
         } catch (NoParentNoticeException $e) {
             // It wasn't a reply to anything, so we can't harvest nickname-relations.
+        } catch (NoResultException $e) {
+            // The parent notice was deleted.
         }
 
         $matches = common_find_mentions_raw($text);
index 04101a8e2b933f15d6f6c06de104b7d8c63b514a..8c700bae8b67d40ddcc246a61d4444d474c856a6 100644 (file)
@@ -351,6 +351,9 @@ class XmppPlugin extends ImPlugin
             $xs->text(sprintf(' => %s', $orig_profile->nickname));
         } catch (NoParentNoticeException $e) {
             $xs->text(": ");
+        } catch (NoResultException $e) {
+            // Parent notice was probably deleted.
+            $xs->text(": ");
         }
         if (!empty($notice->rendered)) {
             $notice->rendered = str_replace("\t", "", $notice->rendered);