aboutsummaryrefslogtreecommitdiff
path: root/mod/sitepages/actions/add.php
diff options
context:
space:
mode:
authordave <dave@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-03-08 15:51:52 +0000
committerdave <dave@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-03-08 15:51:52 +0000
commit1336b9e8ed9cc3f9b9b9c4427f1e0f8bccc96f7d (patch)
tree9779e38d0f11257f764217d4312020920d425dd2 /mod/sitepages/actions/add.php
parent21e4f3681d9f936af24e6a44868628ceeb53ddf9 (diff)
downloadelgg-1336b9e8ed9cc3f9b9b9c4427f1e0f8bccc96f7d.tar.gz
elgg-1336b9e8ed9cc3f9b9b9c4427f1e0f8bccc96f7d.tar.bz2
Site pages will eventually replace the external pages and custom index plugins as well as introduce a new keywords system to enable dynamic content to be displayed without needing to know php or Elgg. This will be handy for frontpage layout/design.
git-svn-id: http://code.elgg.org/elgg/trunk@5303 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'mod/sitepages/actions/add.php')
-rw-r--r--mod/sitepages/actions/add.php64
1 files changed, 64 insertions, 0 deletions
diff --git a/mod/sitepages/actions/add.php b/mod/sitepages/actions/add.php
new file mode 100644
index 000000000..3b7f4eb2d
--- /dev/null
+++ b/mod/sitepages/actions/add.php
@@ -0,0 +1,64 @@
+<?php
+/**
+ * Elgg external pages: add/edit
+ */
+
+// Make sure we're logged as admin
+admin_gatekeeper();
+
+// Get input data
+$contents = get_input('sitepagescontent', '', false);
+$type = get_input('content_type');
+$tags = get_input('sitepagestags');
+$previous_guid = get_input('expage_guid');
+
+// Cache to the session
+$_SESSION['sitepages_content'] = $contents;
+$_SESSION['sitepagestype'] = $type;
+$_SESSION['sitepagestags'] = $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("sitepages:blank"));
+ forward("mod/sitepages/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
+ $sitepages = new ElggObject();
+ // Tell the system what type of external page it is
+ $sitepages->subtype = $type;
+ // Set its owner to the current user
+ $sitepages->owner_guid = $_SESSION['user']->getGUID();
+ // For now, set its access to public
+ $sitepages->access_id = 2;
+ // Set its title and description appropriately
+ $sitepages->title = $type;
+ $sitepages->description = $contents;
+ // Before we can set metadata, save
+ if (!$sitepages->save()) {
+ register_error(elgg_echo("sitepages:error"));
+ forward("mod/sitepages/add.php");
+ }
+ // Now let's add tags. We can pass an array directly to the object property! Easy.
+ if (is_array($tagarray)) {
+ $sitepages->tags = $tagarray;
+ }
+ // Success message
+ system_message(elgg_echo("sitepages:posted"));
+ // add to river
+ add_to_river('river/sitepages/create','create',$_SESSION['user']->guid,$sitepages->guid);
+ // Remove the cache
+ unset($_SESSION['sitepages_content']); unset($_SESSION['sitepagestitle']); unset($_SESSION['sitepagestags']);
+
+ // Forward back to the page
+ forward("pg/sitepages/index.php?type={$type}");
+}