diff options
Diffstat (limited to 'mod/externalpages/actions/add.php')
-rw-r--r-- | mod/externalpages/actions/add.php | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/mod/externalpages/actions/add.php b/mod/externalpages/actions/add.php new file mode 100644 index 000000000..fed637c55 --- /dev/null +++ b/mod/externalpages/actions/add.php @@ -0,0 +1,54 @@ +<?php + + /** + * Elgg external pages: add/edit + * + * @package ElggExPages + */ + + // 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; + + //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 = get_loggedin_userid(); + // 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(REFERER); + } + + // Success message + system_message(elgg_echo("expages:posted")); + // add to river + add_to_river('river/expages/create','create',get_loggedin_userid(),$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 |