aboutsummaryrefslogtreecommitdiff
path: root/pages/entities/index.php
diff options
context:
space:
mode:
Diffstat (limited to 'pages/entities/index.php')
-rw-r--r--pages/entities/index.php56
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