aboutsummaryrefslogtreecommitdiff
path: root/mod/externalpages/actions
diff options
context:
space:
mode:
Diffstat (limited to 'mod/externalpages/actions')
-rw-r--r--mod/externalpages/actions/add.php68
-rw-r--r--mod/externalpages/actions/edit.php35
2 files changed, 35 insertions, 68 deletions
diff --git a/mod/externalpages/actions/add.php b/mod/externalpages/actions/add.php
deleted file mode 100644
index 79f16bad5..000000000
--- a/mod/externalpages/actions/add.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?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');
- $previous_guid = get_input('expage_guid');
-
- // Cache to the session
- $_SESSION['expages_content'] = $contents;
- $_SESSION['expagestype'] = $type;
-
- // 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 = ACCESS_PUBLIC;
- // 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");
- }
-
- // 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']);
-
-
- // Forward back to the page
- forward("pg/expages/index.php?type={$type}");
-
- }
-
-?> \ No newline at end of file
diff --git a/mod/externalpages/actions/edit.php b/mod/externalpages/actions/edit.php
new file mode 100644
index 000000000..184aa3d82
--- /dev/null
+++ b/mod/externalpages/actions/edit.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Elgg external pages: create or update
+ *
+ */
+
+// Get input data and don't filter the content
+$contents = get_input('expagescontent', '', false);
+$type = get_input('content_type');
+$guid = get_input('guid');
+
+if ($guid) {
+ // update
+ $expages = get_entity($guid);
+ if (!$expages) {
+ register_error(elgg_echo("expages:error"));
+ forward(REFERER);
+ }
+} else {
+ // create
+ $expages = new ElggObject();
+ $expages->subtype = $type;
+}
+
+$expages->owner_guid = elgg_get_logged_in_user_guid();
+$expages->access_id = ACCESS_PUBLIC;
+$expages->title = $type;
+$expages->description = $contents;
+if (!$expages->save()) {
+ register_error(elgg_echo("expages:error"));
+ forward(REFERER);
+}
+
+system_message(elgg_echo("expages:posted"));
+forward(REFERER);