diff options
Diffstat (limited to 'pages/entities')
| -rw-r--r-- | pages/entities/index.php | 56 | 
1 files changed, 56 insertions, 0 deletions
diff --git a/pages/entities/index.php b/pages/entities/index.php new file mode 100644 index 000000000..e73d65db4 --- /dev/null +++ b/pages/entities/index.php @@ -0,0 +1,56 @@ +<?php +/** + * Generic entity viewer + * Given a GUID, this page will try and display any entity + * + * @package Elgg + * @subpackage Core + */ + + +// 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) { +	elgg_set_context($context); +} + +// Get the entity, if possible +if ($entity = get_entity($guid)) { +	if ($entity->container_guid) { +		elgg_set_page_owner_guid($entity->container_guid); +	} else { +		elgg_set_page_owner_guid($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, array('full_view' => true)); +	if ($shell) { +		$body = elgg_view_layout('one_column', array('content' => $area1)); +	} else { +		$body = $area1; +	} +} else { +	$body = elgg_echo('notfound'); +} + +// Display the page +if ($shell) { +	echo elgg_view_page($title, $body); +} else { +	header("Content-type: text/html; charset=UTF-8"); +	echo $title; +	echo $body; +}
\ No newline at end of file  | 
