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 | |
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')
-rw-r--r-- | mod/sitepages/actions/add.php | 64 | ||||
-rw-r--r-- | mod/sitepages/actions/addfront.php | 51 | ||||
-rw-r--r-- | mod/sitepages/actions/addmeta.php | 49 |
3 files changed, 164 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}"); +} diff --git a/mod/sitepages/actions/addfront.php b/mod/sitepages/actions/addfront.php new file mode 100644 index 000000000..5a86189db --- /dev/null +++ b/mod/sitepages/actions/addfront.php @@ -0,0 +1,51 @@ +<?php +/** + * Elgg front page: add/edit + */ + +// Make sure we're logged as admin +admin_gatekeeper(); + +// Get input data +$frontContents = get_input('frontContents'); +$css = get_input('css'); +$previous_guid = get_input('front_guid'); + +//remove the old front page +if(get_entity($previous_guid)){ + delete_entity($previous_guid); +} + +//var_export($pageshell);exit; + +// Cache to the session +$_SESSION['pageshell'] = $pageshell; +$_SESSION['css'] = $css; + +// Initialise a new ElggObject +$frontpage = new ElggObject(); +// Tell the system what type of external page it is +$frontpage->subtype = "frontpage"; +// Set its owner to the current user +$frontpage->owner_guid = $_SESSION['user']->getGUID(); +// Set its access to public +$frontpage->access_id = 2; +// Set its title and description appropriately +$frontpage->title = $css; +$frontpage->description = $frontContents; + +// Before we can set metadata, save +if (!$frontpage->save()) { + register_error(elgg_echo("sitepages:error")); + forward("pg/sitepages/index.php?type=front"); +} + +// Success message +system_message(elgg_echo("sitepages:posted")); + +// Remove the cache +unset($_SESSION['css']); unset($_SESSION['pageshell']); + + +// Forward back to the page +forward("pg/sitepages/index.php?type=front"); diff --git a/mod/sitepages/actions/addmeta.php b/mod/sitepages/actions/addmeta.php new file mode 100644 index 000000000..432152ef1 --- /dev/null +++ b/mod/sitepages/actions/addmeta.php @@ -0,0 +1,49 @@ +<?php
+/**
+ * Elgg SEO: add/edit
+ */
+
+// Make sure we're logged as admin
+admin_gatekeeper();
+
+// Get input data
+$description = get_input('description', '', false);
+$metatags = get_input('metatags', '', false);
+$previous_guid = get_input('seo_guid');
+
+//remove the old front page
+if(get_entity($previous_guid)){
+ delete_entity($previous_guid);
+}
+
+// Cache to the session
+$_SESSION['description'] = $description;
+$_SESSION['metatags'] = $metatags;
+
+// Initialise a new ElggObject
+$seo = new ElggObject();
+// Tell the system what type of external page it is
+$seo->subtype = "sitemeta";
+// Set its owner to the current user
+$seo->owner_guid = $_SESSION['user']->getGUID();
+// Set its access to public
+$seo->access_id = 2;
+// Set its title and description appropriately
+$seo->title = $metatags;
+$seo->description = $description;
+
+// Before we can set metadata, save
+if (!$seo->save()) {
+ register_error(elgg_echo("sitepages:error"));
+ forward("pg/sitepages/index.php?type=seo");
+}
+
+// Success message
+system_message(elgg_echo("sitepages:seocreated"));
+
+// Remove the cache
+unset($_SESSION['description']); unset($_SESSION['metatags']);
+
+
+// Forward back to the page
+forward("pg/sitepages/index.php?type=seo");
|