diff options
author | dave <dave@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-03-08 15:51:52 +0000 |
---|---|---|
committer | dave <dave@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-03-08 15:51:52 +0000 |
commit | 1336b9e8ed9cc3f9b9b9c4427f1e0f8bccc96f7d (patch) | |
tree | 9779e38d0f11257f764217d4312020920d425dd2 /mod/sitepages/actions/add.php | |
parent | 21e4f3681d9f936af24e6a44868628ceeb53ddf9 (diff) | |
download | elgg-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.php | 64 |
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}"); +} |