]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/poco.php
Misses this file to merge. I like the comments.
[quix0rs-gnu-social.git] / lib / poco.php
index d7b082163ee21eb4199be57d17463f49f21f7fc5..2bc9e7276244117e0040a5a85074d3ce8b6aff85 100644 (file)
@@ -137,12 +137,8 @@ class PoCo
         return null;
     }
 
-    function fromProfile($profile)
+    static function fromProfile(Profile $profile)
     {
-        if (empty($profile)) {
-            return null;
-        }
-
         $poco = new PoCo();
 
         $poco->preferredUsername = $profile->nickname;
@@ -168,12 +164,8 @@ class PoCo
         return $poco;
     }
 
-    function fromGroup($group)
+    static function fromGroup(User_group $group)
     {
-        if (empty($group)) {
-            return null;
-        }
-
         $poco = new PoCo();
 
         $poco->preferredUsername = $group->nickname;
@@ -241,4 +233,42 @@ class PoCo
             $url->outputTo($xo);
         }
     }
+
+    /**
+     * Output a Portable Contact as an array suitable for serializing
+     * as JSON
+     *
+     * @return $array the PoCo array
+     */
+
+    function asArray()
+    {
+        $poco = array();
+
+        $poco['preferredUsername'] = $this->preferredUsername;
+        $poco['displayName']       = $this->displayName;
+
+        if (!empty($this->note)) {
+            $poco['note'] = $this->note;
+        }
+
+        if (!empty($this->address)) {
+            $poco['addresses'] = $this->address->asArray();
+        }
+
+        if (!empty($this->urls)) {
+
+            $urls = array();
+
+            foreach ($this->urls as $url) {
+                $urls[] = $url->asArray();
+            }
+
+            $poco['urls'] = $urls;
+        }
+
+        return $poco;
+    }
+
 }
+