diff options
Diffstat (limited to 'pages/entities/index.php')
-rw-r--r-- | pages/entities/index.php | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/pages/entities/index.php b/pages/entities/index.php new file mode 100644 index 000000000..68018bfff --- /dev/null +++ b/pages/entities/index.php @@ -0,0 +1,60 @@ +<?php +/** + * Generic entity viewer + * Given a GUID, this page will try and display any entity + * + * @package Elgg + * @subpackage Core + * @author Curverider Ltd + * @link http://elgg.org/ + */ + +// Load Elgg engine +require_once(dirname(dirname(__FILE__)) . "/engine/start.php"); + +// Get the GUID of the entity we want to view +$guid = (int) get_input('guid'); +$shell = get_input('shell'); +if ($shell == "no") { + $shell = false; +} else { + $shell = true; +} + +$context = get_input('context'); +if ($context) { + set_context($context); +} + +// Get the entity, if possible +if ($entity = get_entity($guid)) { + if ($entity->container_guid) { + set_page_owner($entity->container_guid); + } else { + set_page_owner($entity->owner_guid); + } + + // Set the body to be the full view of the entity, and the title to be its title + if ($entity instanceof ElggObject) { + $title = $entity->title; + } else if ($entity instanceof ElggEntity) { + $title = $entity->name; + } + $area1 = elgg_view_entity($entity,true); + if ($shell) { + $body = elgg_view_layout('one_column_with_sidebar', $area1); + } else { + $body = $area1; + } +} else { + $body = elgg_echo('notfound'); +} + +// Display the page +if ($shell) { + page_draw($title, $body); +} else { + header("Content-type: text/html; charset=UTF-8"); + echo $title; + echo $body; +}
\ No newline at end of file |