From 0320936f29dd83534b5af386a981131be7981a9a Mon Sep 17 00:00:00 2001 From: brettp Date: Wed, 3 Mar 2010 23:15:07 +0000 Subject: Updated bookmarks with new interface. git-svn-id: http://code.elgg.org/elgg/trunk@5266 36083f99-b078-4883-b0ff-0f9b5a30f544 --- mod/bookmarks/actions/add.php | 107 +++++++++++++----------------------- mod/bookmarks/actions/delete.php | 47 +++++++--------- mod/bookmarks/actions/edit.php | 35 ++++++++++++ mod/bookmarks/actions/reference.php | 34 ++++++++++++ mod/bookmarks/actions/remove.php | 34 ++++++++++++ 5 files changed, 160 insertions(+), 97 deletions(-) create mode 100755 mod/bookmarks/actions/edit.php create mode 100755 mod/bookmarks/actions/reference.php create mode 100755 mod/bookmarks/actions/remove.php (limited to 'mod/bookmarks/actions') diff --git a/mod/bookmarks/actions/add.php b/mod/bookmarks/actions/add.php index a074719b1..be2f79f82 100644 --- a/mod/bookmarks/actions/add.php +++ b/mod/bookmarks/actions/add.php @@ -1,72 +1,41 @@ - * @copyright Curverider Ltd 2008-2010 - * @link http://elgg.org/ - */ +/** + * Elgg bookmarks add/save action + * + * @package ElggBookmarks + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Curverider + * @copyright Curverider Ltd 2008-2010 + * @link http://elgg.org/ + */ - gatekeeper(); - - $title = get_input('title'); - $guid = get_input('bookmark_guid',0); - $description = get_input('description'); - $address = get_input('address'); - $access = get_input('access'); - $shares = get_input('shares',array()); +gatekeeper(); +action_gatekeeper(); +//set some required variables +$title = get_input('title'); +$address = get_input('address'); +$notes = get_input('notes'); +$access = get_input('access'); +$tags = get_input('tags'); +$tagarray = string_to_tag_array($tags); +//create a new bookmark object +$entity = new ElggObject; +$entity->subtype = "bookmarks"; +$entity->owner_guid = get_loggedin_user()->getGUID(); +$entity->container_guid = (int)get_input('container_guid', get_loggedin_user()->getGUID()); +$entity->title = $title; +$entity->description = $notes; +$entity->address = $address; +$entity->access_id = $access; +$entity->link_version = create_wire_url_code();//returns a random code in the form {{L:1hp56}} +$entity->tags = $tagarray; - $tags = get_input('tags'); - $tagarray = string_to_tag_array($tags); - - if ($guid == 0) { - - $entity = new ElggObject; - $entity->subtype = "bookmarks"; - $entity->owner_guid = $_SESSION['user']->getGUID(); - $entity->container_guid = (int)get_input('container_guid', $_SESSION['user']->getGUID()); - - } else { - - $canedit = false; - if ($entity = get_entity($guid)) { - if ($entity->canEdit()) { - $canedit = true; - } - } - if (!$canedit) { - system_message(elgg_echo('notfound')); - forward("pg/bookmarks"); - } - - } - - $entity->title = $title; - $entity->address = $address; - $entity->description = $description; - $entity->access_id = $access; - $entity->tags = $tagarray; - - if ($entity->save()) { - $entity->clearRelationships(); - $entity->shares = $shares; - - if (is_array($shares) && sizeof($shares) > 0) { - foreach($shares as $share) { - $share = (int) $share; - add_entity_relationship($entity->getGUID(),'share',$share); - } - } - system_message(elgg_echo('bookmarks:save:success')); - //add to river - add_to_river('river/object/bookmarks/create','create',$_SESSION['user']->guid,$entity->guid); - forward($entity->getURL()); - } else { - register_error(elgg_echo('bookmarks:save:failed')); - forward("pg/bookmarks"); - } - -?> +if ($entity->save()) { + system_message(elgg_echo('bookmarks:save:success')); + //add to river + add_to_river('river/object/bookmarks/create','create',$_SESSION['user']->guid,$entity->guid); +} else { + register_error(elgg_echo('bookmarks:save:failed')); +} +$account = get_entity((int)get_input('container_guid', get_loggedin_user()->getGUID())); +forward("pg/bookmarks/" . $account->username); \ No newline at end of file diff --git a/mod/bookmarks/actions/delete.php b/mod/bookmarks/actions/delete.php index 217197b24..5a35d44f5 100644 --- a/mod/bookmarks/actions/delete.php +++ b/mod/bookmarks/actions/delete.php @@ -1,32 +1,23 @@ + * @copyright Curverider Ltd 2008-2010 + * @link http://elgg.org/ + */ - /** - * Elgg bookmarks delete action - * - * @package ElggBookmarks - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 - * @author Curverider - * @copyright Curverider Ltd 2008-2010 - * @link http://elgg.org/ - */ - - $guid = get_input('bookmark_guid',0); - if ($entity = get_entity($guid)) { - - if ($entity->canEdit()) { - - if ($entity->delete()) { - - system_message(elgg_echo("bookmarks:delete:success")); - forward("pg/bookmarks/"); - - } - - } - +$guid = get_input('bookmark_guid',0); +if ($entity = get_entity($guid)) { + if ($entity->canEdit()) { + if ($entity->delete()) { + system_message(elgg_echo("bookmarks:delete:success")); + forward($_SERVER['HTTP_REFERER']); } + } +} - register_error(elgg_echo("bookmarks:delete:failed")); - forward("pg/bookmarks/"); - -?> \ No newline at end of file +register_error(elgg_echo("bookmarks:delete:failed")); +forward($_SERVER['HTTP_REFERER']); \ No newline at end of file diff --git a/mod/bookmarks/actions/edit.php b/mod/bookmarks/actions/edit.php new file mode 100755 index 000000000..16e324154 --- /dev/null +++ b/mod/bookmarks/actions/edit.php @@ -0,0 +1,35 @@ +getSubtype() == "bookmarks" && $bookmark->canEdit()) { + $bookmark->title = $title; + $bookmark->description = $notes; + $bookmark->address = $address; + $bookmark->access_id = $access; + $bookmark->tags = $tagarray; + if ($bookmark->save()) { + system_message(elgg_echo('bookmarks:edit:success')); + } else { + system_message(elgg_echo('bookmarks:edit:fail')); + } +}else{ + system_message(elgg_echo('bookmarks:edit:fail')); +} +$account = get_entity($bookmark->container_guid); +forward("pg/bookmarks/" . $account->username); \ No newline at end of file diff --git a/mod/bookmarks/actions/reference.php b/mod/bookmarks/actions/reference.php new file mode 100755 index 000000000..ae79b78cd --- /dev/null +++ b/mod/bookmarks/actions/reference.php @@ -0,0 +1,34 @@ +canEdit()){ + //create a relationship between the object and bookmark + if(add_entity_relationship($object_guid, "reference", $bookmark_guid)){ + // Success message + system_message(elgg_echo("bookmarks:referenceadded")); + }else{ + // Failure message + system_message(elgg_echo("bookmarks:referenceerror")); + } + }else{ + // Failure message + system_message(elgg_echo("bookmarks:referenceerror")); + } +}else{ + // Failure message + system_message(elgg_echo("bookmarks:referenceerror")); +} + +forward($object->getURL()); \ No newline at end of file diff --git a/mod/bookmarks/actions/remove.php b/mod/bookmarks/actions/remove.php new file mode 100755 index 000000000..b8b1ad6a3 --- /dev/null +++ b/mod/bookmarks/actions/remove.php @@ -0,0 +1,34 @@ +canEdit()){ + //remove the relationship between the object and bookmark + if(remove_entity_relationship($object_guid, "reference", $bookmark_guid)){ + // Success message + system_message(elgg_echo("bookmarks:removed")); + }else{ + // Failure message + system_message(elgg_echo("bookmarks:removederror")); + } + }else{ + // Failure message + system_message(elgg_echo("bookmarks:removederror")); + } +}else{ + // Failure message + system_message(elgg_echo("bookmarks:removederror")); +} + +forward($object->getURL()); \ No newline at end of file -- cgit v1.2.3