]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/activitycontext.php
Fix syntax errors
[quix0rs-gnu-social.git] / lib / activitycontext.php
index 2df7613f7d90385be94a481db18de4c29342ea0e..ff3bc9411d53baeaa48b9b8d007769382bafef44 100644 (file)
@@ -51,10 +51,15 @@ class ActivityContext
     const POINT     = 'point';
 
     const ATTENTION    = 'ostatus:attention';
+    const MENTIONED    = 'mentioned';
     const CONVERSATION = 'ostatus:conversation';
 
-    function __construct($element)
+    function __construct($element = null)
     {
+        if (empty($element)) {
+            return;
+        }
+
         $replyToEl = ActivityUtils::child($element, self::INREPLYTO, self::THR);
 
         if (!empty($replyToEl)) {
@@ -70,16 +75,21 @@ class ActivityContext
 
         $links = $element->getElementsByTagNameNS(ActivityUtils::ATOM, ActivityUtils::LINK);
 
+        $attention = array();
         for ($i = 0; $i < $links->length; $i++) {
-
             $link = $links->item($i);
 
             $linkRel = $link->getAttribute(ActivityUtils::REL);
 
+            // XXX: Deprecate this in favour of "mentioned" from Salmon spec
+            // http://salmon-protocol.googlecode.com/svn/trunk/draft-panzer-salmon-00.html#SALR
             if ($linkRel == self::ATTENTION) {
-                $this->attention[] = $link->getAttribute(self::HREF);
+                $attention[] = $link->getAttribute(self::HREF);
+            } elseif ($linkRel == self::MENTIONED) {
+                $attention[] = $link->getAttribute(self::HREF);
             }
         }
+        $this->attention = array_unique($attention);
     }
 
     /**