]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/activityhandlerplugin.php
Merge branch 'master' into mmn_fixes
[quix0rs-gnu-social.git] / lib / activityhandlerplugin.php
index b0931987033421f9f40256de5518face8e2b1b38..e1779bbe6ab4abbbff9d82b84c136dc71dcb0c1e 100644 (file)
@@ -108,6 +108,7 @@ abstract class ActivityHandlerPlugin extends Plugin
     }
 
     function isMyType($type) {
+        // Third argument to compareTypes is true, to allow for notices with empty object_type for example (verb-only)
         return count($this->types())===0 || ActivityUtils::compareTypes($type, $this->types());
     }
 
@@ -278,6 +279,10 @@ abstract class ActivityHandlerPlugin extends Plugin
         if ($this->isMyNotice($notice)) {
             try {
                 $this->deleteRelated($notice);
+            } catch (NoProfileException $e) {
+                // we failed because of database lookup failure, Notice has no recognized profile as creator
+                // so we skip this. If we want to remove missing notices we should do a SQL constraints check
+                // in the affected plugin.
             } catch (AlreadyFulfilledException $e) {
                 // Nothing to see here, it's obviously already gone...
             }
@@ -551,6 +556,11 @@ abstract class ActivityHandlerPlugin extends Plugin
         if ($nli->notice->scope != 0 && $nli->notice->scope != 1) {
             $class .= ' limited-scope';
         }
+        try {
+            $class .= ' notice-source-'.common_to_alphanumeric($nli->notice->source);
+        } catch (Exception $e) {
+            // either source or what we filtered out was a zero-length string
+        }
         $nli->out->elementStart('li', array('class' => $class,
                                             'id' => 'notice-' . $id));
     }