aboutsummaryrefslogtreecommitdiff
path: root/mod/externalpages/actions/add.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/externalpages/actions/add.php')
-rw-r--r--mod/externalpages/actions/add.php77
1 files changed, 77 insertions, 0 deletions
diff --git a/mod/externalpages/actions/add.php b/mod/externalpages/actions/add.php
new file mode 100644
index 000000000..f8746312c
--- /dev/null
+++ b/mod/externalpages/actions/add.php
@@ -0,0 +1,77 @@
+<?php
+
+ /**
+ * Elgg external pages: add/edit
+ *
+ * @package ElggExPages
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd <info@elgg.com>
+ * @copyright Curverider Ltd 2008-2010
+ * @link http://elgg.org/
+ */
+
+ // Make sure we're logged as admin
+ admin_gatekeeper();
+
+ // Get input data
+ $contents = get_input('expagescontent', '', false);
+ $type = get_input('content_type');
+ $tags = get_input('expagestags');
+ $previous_guid = get_input('expage_guid');
+
+ // Cache to the session
+ $_SESSION['expages_content'] = $contents;
+ $_SESSION['expagestype'] = $type;
+ $_SESSION['expagestags'] = $tags;
+
+ // Convert string of tags into a preformatted array
+ $tagarray = string_to_tag_array($tags);
+
+ // Make sure the content exists
+ if (empty($contents)) {
+ register_error(elgg_echo("expages:blank"));
+ forward("mod/expages/add.php");
+
+ // Otherwise, save the new external page
+ } else {
+
+ //remove the old external page
+ if(get_entity($previous_guid)){
+ delete_entity($previous_guid);
+ }
+
+ // Initialise a new ElggObject
+ $expages = new ElggObject();
+ // Tell the system what type of external page it is
+ $expages->subtype = $type;
+ // Set its owner to the current user
+ $expages->owner_guid = $_SESSION['user']->getGUID();
+ // For now, set its access to public
+ $expages->access_id = 2;
+ // Set its title and description appropriately
+ $expages->title = $type;
+ $expages->description = $contents;
+ // Before we can set metadata, save
+ if (!$expages->save()) {
+ register_error(elgg_echo("expages:error"));
+ forward("mod/expages/add.php");
+ }
+ // Now let's add tags. We can pass an array directly to the object property! Easy.
+ if (is_array($tagarray)) {
+ $expages->tags = $tagarray;
+ }
+
+ // Success message
+ system_message(elgg_echo("expages:posted"));
+ // add to river
+ add_to_river('river/expages/create','create',$_SESSION['user']->guid,$expages->guid);
+ // Remove the cache
+ unset($_SESSION['expages_content']); unset($_SESSION['expagestitle']); unset($_SESSION['expagestags']);
+
+
+ // Forward back to the page
+ forward("pg/expages/index.php?type={$type}");
+
+ }
+
+?>