]> git.mxchange.org Git - friendica.git/blobdiff - src/Util/JsonLD.php
Merge pull request #9526 from MrPetovan/bug/9525-mastodon-emojis-tag
[friendica.git] / src / Util / JsonLD.php
index 878cd71e6a064ed72dccc460e1becabb16f393f5..c211ebc2a00067591703f0bbcd3955b11d29ca5d 100644 (file)
@@ -173,12 +173,8 @@ class JsonLD
         *
         * @return array fetched element
         */
-       public static function fetchElementArray($array, $element, $key = null)
+       public static function fetchElementArray($array, $element, $key = null, $type = null, $type_value = null)
        {
-               if (empty($array)) {
-                       return null;
-               }
-
                if (!isset($array[$element])) {
                        return null;
                }
@@ -191,10 +187,14 @@ class JsonLD
                $elements = [];
 
                foreach ($array[$element] as $entry) {
-                       if (!is_array($entry) || (is_null($key) && is_array($entry))) {
-                               $elements[] = $entry;
-                       } elseif (!is_null($key) && isset($entry[$key])) {
-                               $elements[] = $entry[$key];
+                       if (!is_array($entry) || is_null($key)) {
+                               $item = $entry;
+                       } elseif (isset($entry[$key])) {
+                               $item = $entry[$key];
+                       }
+
+                       if (isset($item) && (is_null($type) || is_null($type_value) || isset($item[$type]) && $item[$type] == $type_value)) {
+                               $elements[] = $item;
                        }
                }