summaryrefslogtreecommitdiff
path: root/modules/gallery/helpers/items_rest.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gallery/helpers/items_rest.php')
-rw-r--r--modules/gallery/helpers/items_rest.php8
1 files changed, 5 insertions, 3 deletions
diff --git a/modules/gallery/helpers/items_rest.php b/modules/gallery/helpers/items_rest.php
index f0b68d63..a5f7a067 100644
--- a/modules/gallery/helpers/items_rest.php
+++ b/modules/gallery/helpers/items_rest.php
@@ -45,7 +45,7 @@ class items_rest_Core {
if (access::can("view", $item)) {
if (isset($types)) {
if (in_array($item->type, $types)) {
- $items[] = items_rest::_format_restful_item($item);
+ $items[] = items_rest::_format_restful_item($item, $types);
}
} else {
$items[] = items_rest::_format_restful_item($item);
@@ -74,14 +74,16 @@ class items_rest_Core {
return $item;
}
- private static function _format_restful_item($item) {
+ private static function _format_restful_item($item, $types = null) {
$item_rest = array("url" => rest::url("item", $item),
"entity" => $item->as_restful_array(),
"relationships" => rest::relationships("item", $item));
if ($item->type == "album") {
$members = array();
foreach ($item->viewable()->children() as $child) {
- $members[] = rest::url("item", $child);
+ if ($types == null || in_array($child->type, $types)) {
+ $members[] = rest::url("item", $child);
+ }
}
$item_rest["members"] = $members;
}