diff options
Diffstat (limited to 'views/json')
| -rw-r--r-- | views/json/api/output.php | 32 | ||||
| -rw-r--r-- | views/json/export/entity.php | 43 | ||||
| -rw-r--r-- | views/json/export/metadata.php | 39 | ||||
| -rw-r--r-- | views/json/export/relationship.php | 39 | ||||
| -rw-r--r-- | views/json/group/default.php | 9 | ||||
| -rw-r--r-- | views/json/messages/exceptions/exception.php | 15 | ||||
| -rw-r--r-- | views/json/object/default.php | 9 | ||||
| -rw-r--r-- | views/json/page/components/list.php | 14 | ||||
| -rw-r--r-- | views/json/page/default.php | 13 | ||||
| -rw-r--r-- | views/json/pageshells/pageshell.php | 16 | ||||
| -rw-r--r-- | views/json/river/item.php | 19 | ||||
| -rw-r--r-- | views/json/site/default.php | 9 | ||||
| -rw-r--r-- | views/json/user/default.php | 9 |
13 files changed, 173 insertions, 93 deletions
diff --git a/views/json/api/output.php b/views/json/api/output.php index 84e0d1ec3..adeb7cc75 100644 --- a/views/json/api/output.php +++ b/views/json/api/output.php @@ -1,19 +1,17 @@ <?php - /** - * Elgg JSON output - * This outputs the api as JSON - * - * @package Elgg - * @subpackage Core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 - * @author Marcus Povey - * @copyright Curverider Ltd 2008 - * @link http://elgg.org/ - * - */ +/** + * Elgg JSON output + * This outputs the api results as JSON + * + * @package Elgg + * @subpackage Core + */ - $result = $vars['result']; - $export = $result->export(); - - echo json_encode($export); -?>
\ No newline at end of file +$result = $vars['result']; +$export = $result->export(); + +global $jsonexport; + +// with api calls, we don't want extra baggage found in other json views +// so we skip the associative array +$jsonexport = $export;
\ No newline at end of file diff --git a/views/json/export/entity.php b/views/json/export/entity.php index cf7e19c05..36af5eaef 100644 --- a/views/json/export/entity.php +++ b/views/json/export/entity.php @@ -1,22 +1,25 @@ <?php - /** - * Elgg Entity export. - * Displays an entity as JSON - * - * @package Elgg - * @subpackage Core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 - * @author Marcus Povey - * @copyright Curverider Ltd 2008 - * @link http://elgg.org/ - */ +/** + * Elgg Entity export. + * Displays an entity as JSON + * + * @package Elgg + * @subpackage Core + */ - $entity = $vars['entity']; - - $export = new stdClass; - - foreach ($entity as $k => $v) - $export->$k = $v; - - echo json_encode($export); -?>
\ No newline at end of file +$entity = $vars['entity']; + +$export = new stdClass; +$exportable_values = $entity->getExportableValues(); + +foreach ($exportable_values as $v) { + $export->$v = $entity->$v; +} + +$export->url = $entity->getURL(); + +global $jsonexport; +$jsonexport[$entity->getType()][$entity->getSubtype()][] = $export; + +// @todo hack to fix #4504 +echo "Fix for bug #4504"; diff --git a/views/json/export/metadata.php b/views/json/export/metadata.php index 30caf8b85..e1e6ceb26 100644 --- a/views/json/export/metadata.php +++ b/views/json/export/metadata.php @@ -1,22 +1,21 @@ <?php - /** - * Elgg metadata export. - * Displays a metadata item using json - * - * @package Elgg - * @subpackage Core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 - * @author Marcus Povey - * @copyright Curverider Ltd 2008 - * @link http://elgg.org/ - */ +/** + * Elgg metadata export. + * Displays a metadata item using json + * + * @package Elgg + * @subpackage Core + */ - $m = $vars['metadata']; - - $export = new stdClass; - - foreach ($m as $k => $v) - $export->$k = $v; - - echo json_encode($export); -?>
\ No newline at end of file +$m = $vars['metadata']; + +$export = new stdClass; +$exportable_values = $entity->getExportableValues(); + +foreach ($exportable_values as $v) { + $export->$v = $m->$v; +} + +global $jsonexport; +$jsonexport['metadata'][] = $entity; +// echo json_encode($export);
\ No newline at end of file diff --git a/views/json/export/relationship.php b/views/json/export/relationship.php index e582cc898..47b3a390d 100644 --- a/views/json/export/relationship.php +++ b/views/json/export/relationship.php @@ -1,22 +1,21 @@ <?php - /** - * Elgg relationship export. - * Displays a relationship using JSON. - * - * @package Elgg - * @subpackage Core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 - * @author Marcus Povey - * @copyright Curverider Ltd 2008 - * @link http://elgg.org/ - */ +/** + * Elgg relationship export. + * Displays a relationship using JSON. + * + * @package Elgg + * @subpackage Core + */ - $r = $vars['relationship']; - - $export = new stdClass; - - foreach ($r as $k => $v) - $export->$k = $v; - - echo json_encode($export); -?>
\ No newline at end of file +$r = $vars['relationship']; + +$export = new stdClass; + +$exportable_values = $entity->getExportableValues(); + +foreach ($exportable_values as $v) { + $export->$v = $r->$v; +} + +global $jsonexport; +$jsonexport['relationships'][] = $export;
\ No newline at end of file diff --git a/views/json/group/default.php b/views/json/group/default.php new file mode 100644 index 000000000..dd190d402 --- /dev/null +++ b/views/json/group/default.php @@ -0,0 +1,9 @@ +<?php +/** + * JSON group view + * + * @package Elgg + * @subpackage Core + */ + +echo elgg_view('export/entity', $vars); diff --git a/views/json/messages/exceptions/exception.php b/views/json/messages/exceptions/exception.php new file mode 100644 index 000000000..4f73212bc --- /dev/null +++ b/views/json/messages/exceptions/exception.php @@ -0,0 +1,15 @@ +<?php +/** + * Elgg exception + * Displays a single exception + * + * @package Elgg + * @subpackage Core + * + * @uses $vars['object'] An exception + */ + +$export = $vars['object']; + +global $jsonexport; +$jsonexport['exceptions'][] = $export;
\ No newline at end of file diff --git a/views/json/object/default.php b/views/json/object/default.php new file mode 100644 index 000000000..8b88b3010 --- /dev/null +++ b/views/json/object/default.php @@ -0,0 +1,9 @@ +<?php +/** + * JSON object view + * + * @package Elgg + * @subpackage Core + */ + +echo elgg_view('export/entity', $vars); diff --git a/views/json/page/components/list.php b/views/json/page/components/list.php new file mode 100644 index 000000000..5de4f1f59 --- /dev/null +++ b/views/json/page/components/list.php @@ -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 diff --git a/views/json/page/default.php b/views/json/page/default.php new file mode 100644 index 000000000..2d0403e11 --- /dev/null +++ b/views/json/page/default.php @@ -0,0 +1,13 @@ +<?php +/** + * Elgg JSON output pageshell + * + * @package Elgg + * @subpackage Core + * + */ + +header("Content-Type: application/json"); + +global $jsonexport; +echo json_encode($jsonexport);
\ No newline at end of file diff --git a/views/json/pageshells/pageshell.php b/views/json/pageshells/pageshell.php deleted file mode 100644 index 15026a37d..000000000 --- a/views/json/pageshells/pageshell.php +++ /dev/null @@ -1,16 +0,0 @@ -<?php - /** - * Elgg JSON output pageshell - * - * @package Elgg - * @subpackage Core - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 - * @author Marcus Povey - * @copyright Curverider Ltd 2008 - * @link http://elgg.org/ - * - */ - - header("Content-Type: application/json"); - echo $vars['body']; -?>
\ No newline at end of file diff --git a/views/json/river/item.php b/views/json/river/item.php new file mode 100644 index 000000000..64677817f --- /dev/null +++ b/views/json/river/item.php @@ -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/site/default.php b/views/json/site/default.php new file mode 100644 index 000000000..ee4eda489 --- /dev/null +++ b/views/json/site/default.php @@ -0,0 +1,9 @@ +<?php +/** + * JSON site view + * + * @package Elgg + * @subpackage Core + */ + +echo elgg_view('export/entity', $vars); diff --git a/views/json/user/default.php b/views/json/user/default.php new file mode 100644 index 000000000..4d44692c9 --- /dev/null +++ b/views/json/user/default.php @@ -0,0 +1,9 @@ +<?php +/** + * JSON user view + * + * @package Elgg + * @subpackage Core + */ + +echo elgg_view('export/entity', $vars); |
