]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Refs #3201 updates json river views and removed old search view
authorcash <cash.costello@gmail.com>
Sat, 29 Oct 2011 17:01:05 +0000 (13:01 -0400)
committercash <cash.costello@gmail.com>
Sat, 29 Oct 2011 17:01:05 +0000 (13:01 -0400)
engine/classes/ElggRiverItem.php
views/json/page/components/list.php [new file with mode: 0644]
views/json/page/default.php
views/json/river/item.php [new file with mode: 0644]
views/json/river/item/list.php [deleted file]
views/json/search/entity_list.php [deleted file]

index cdb22239dea8467b8ec1ab11da9c0c18865553c2..fcc8f9c85ff78baac8967b68cbc9b788776f16c9 100644 (file)
@@ -28,8 +28,14 @@ class ElggRiverItem
                        // throw exception
                }
 
+               // the casting is to support typed serialization like json
+               $int_types = array('id', 'subject_guid', 'object_guid', 'annotation_id', 'access_id', 'posted');
                foreach ($object as $key => $value) {
-                       $this->$key = $value;
+                       if (in_array($key, $int_types)) {
+                               $this->$key = (int)$value;
+                       } else {
+                               $this->$key = $value;
+                       }
                }
        }
 
diff --git a/views/json/page/components/list.php b/views/json/page/components/list.php
new file mode 100644 (file)
index 0000000..5de4f1f
--- /dev/null
@@ -0,0 +1,14 @@
+<?php
+/**
+ * JSON list view
+ *
+ * @uses $vars['items']
+ */
+
+$items = $vars['items'];
+
+if (is_array($items) && sizeof($items) > 0) {
+       foreach ($items as $item) {
+               elgg_view_list_item($item, $vars);
+       }
+}
\ No newline at end of file
index d1f86c8a7c3e7d4ecb168ae891c8616bb24d78b1..2d0403e11c3b548207e608e18fb51e95c5ec4274 100644 (file)
@@ -7,12 +7,7 @@
  *
  */
 
-if(stristr($_SERVER["HTTP_ACCEPT"],"application/json")) {
-       header("Content-Type: application/json");
-} else {
-       header("Content-Type: application/javascript");
-}
-// echo $vars['body'];
+header("Content-Type: application/json");
 
 global $jsonexport;
 echo json_encode($jsonexport);
\ No newline at end of file
diff --git a/views/json/river/item.php b/views/json/river/item.php
new file mode 100644 (file)
index 0000000..6467781
--- /dev/null
@@ -0,0 +1,19 @@
+<?php
+/**
+ * JSON river item view
+ *
+ * @uses $vars['item']
+ */
+
+global $jsonexport;
+
+if (!isset($jsonexport['activity'])) {
+       $jsonexport['activity'] = array();
+}
+
+$item = $vars['item'];
+if (elgg_view_exists($item->view, 'default')) {
+       $item->string = elgg_view('river/elements/summary', array('item' => $item), FALSE, FALSE, 'default');
+}
+
+$jsonexport['activity'][] = $vars['item'];
diff --git a/views/json/river/item/list.php b/views/json/river/item/list.php
deleted file mode 100644 (file)
index c79cd10..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-/**
- * JSON river view
- *
- * @package Elgg
- * @subpackage Core
- */
-global $jsonexport;
-
-$json_items = array();
-
-if (isset($vars['items']) && is_array($vars['items'])) {
-       $i = 0;
-       
-       if (!empty($vars['items'])) {
-               foreach($vars['items'] as $item) {
-                       
-                       $json_entry = array(
-                               'subject'               =>      NULL,
-                               'object'                =>      NULL,
-                               'type'                  =>      NULL,
-                               'subtype'               =>      NULL,
-                               'action_type'   =>      NULL,
-                               'view'                  =>      NULL,
-                               'annotation'    =>      NULL,
-                               'timestamp'     =>      NULL,
-                               'string'                =>      NULL
-                       );
-
-                       if (elgg_view_exists($item->view, 'default')) {
-                               $json_entry['string'] = elgg_view($item->view, array('item' => $item), FALSE, FALSE, 'default');
-                               $json_entry['timestamp'] = (int)$item->posted;
-                       }
-
-                       $json_items[] = $json_entry;
-                       
-                       $i++;
-                       if ($i >= $vars['limit']) {
-                               break;
-                       }
-               }
-       }
-}
-
-$jsonexport['activity'] = $json_items;
diff --git a/views/json/search/entity_list.php b/views/json/search/entity_list.php
deleted file mode 100644 (file)
index c778bf5..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-/**
- * Elgg default layout
- *
- * @package Elgg
- * @subpackage Core
- */
-
-$entities = $vars['entities'];
-if (is_array($entities) && sizeof($entities) > 0) {
-       foreach($entities as $entity) {
-               echo elgg_view_entity($entity);
-       }
-}