From f414e7437d8796523724d1e8f558710977241add Mon Sep 17 00:00:00 2001 From: ben Date: Mon, 7 Apr 2008 15:33:44 +0000 Subject: CRUD for blog posts git-svn-id: https://code.elgg.org/elgg/trunk@415 36083f99-b078-4883-b0ff-0f9b5a30f544 --- mod/blog/actions/delete.php | 38 ++++++++++++++++++++++++++++++++++ mod/blog/actions/edit.php | 6 ++++-- mod/blog/languages/en.php | 4 +++- mod/blog/start.php | 1 + mod/blog/views/default/object/blog.php | 2 +- 5 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 mod/blog/actions/delete.php diff --git a/mod/blog/actions/delete.php b/mod/blog/actions/delete.php new file mode 100644 index 000000000..cb494e59f --- /dev/null +++ b/mod/blog/actions/delete.php @@ -0,0 +1,38 @@ + + * @copyright Curverider Ltd 2008 + * @link http://elgg.org/ + */ + + // Make sure we're logged in (send us to the front page if not) + if (!isloggedin()) forward(); + + // Get input data + $guid = (int) get_input('blogpost'); + + // Make sure we actually have permission to edit + $blog = get_entity($guid); + if ($blog->getSubtype() == "blog" && $blog->canEdit()) { + + // Get owning user + $owner = get_entity($blog->getOwner()); + // Delete it! + $rowsaffected = $blog->delete(); + if ($rowsaffected > 0) { + // Success message + system_message(elgg_echo("blog:deleted")); + } else { + system_message(elgg_echo("blog:notdeleted")); + } + // Forward to the main blog page + forward("mod/blog/?username=" . $owner->username); + + } + +?> \ No newline at end of file diff --git a/mod/blog/actions/edit.php b/mod/blog/actions/edit.php index 07f285510..fba4763a6 100644 --- a/mod/blog/actions/edit.php +++ b/mod/blog/actions/edit.php @@ -21,7 +21,7 @@ // Make sure we actually have permission to edit $blog = get_entity($guid); - if ($blog->subtype = "blog" && $blog->canEdit()) { + if ($blog->getSubtype() == "blog" && $blog->canEdit()) { // Cache to the session $_SESSION['blogtitle'] = $title; @@ -39,6 +39,8 @@ // Otherwise, save the blog post } else { + // Get owning user + $owner = get_entity($blog->getOwner()); // For now, set its access to public (we'll add an access dropdown shortly) $blog->access_id = 2; // Set its title and description appropriately @@ -59,7 +61,7 @@ // Remove the blog post cache unset($_SESSION['blogtitle']); unset($_SESSION['blogbody']); unset($_SESSION['blogtags']); // Forward to the main blog page - forward("mod/blog/?username=" . $_SESSION['user']->username); + forward("mod/blog/?username=" . $owner->username); } diff --git a/mod/blog/languages/en.php b/mod/blog/languages/en.php index f534f2b01..be2407440 100644 --- a/mod/blog/languages/en.php +++ b/mod/blog/languages/en.php @@ -31,6 +31,7 @@ 'blog:posted' => "Your blog post was successfully posted.", 'comment:success' => "Your comment was successfully added.", + 'blog:deleted' => "Your blog post was successfully deleted.", /** * Error messages @@ -38,7 +39,8 @@ 'blog:blank' => "Sorry; you need to fill in both the title and body before you can make a post.", 'blog:notfound' => "Sorry; we could not find the specified blog post.", - + 'blog:notdeleted' => "Sorry; we could not delete this blog post.", + 'comment:failure' => "An unexpected error occurred when adding your comment. Please try again.", ); diff --git a/mod/blog/start.php b/mod/blog/start.php index e257a2d5c..ff3890a69 100644 --- a/mod/blog/start.php +++ b/mod/blog/start.php @@ -54,6 +54,7 @@ global $CONFIG; register_action("blog/add",false,$CONFIG->pluginspath . "blog/actions/add.php"); register_action("blog/edit",false,$CONFIG->pluginspath . "blog/actions/edit.php"); + register_action("blog/delete",false,$CONFIG->pluginspath . "blog/actions/delete.php"); register_action("blog/comments/add",false,$CONFIG->pluginspath . "blog/actions/comments/add.php"); ?> \ No newline at end of file diff --git a/mod/blog/views/default/object/blog.php b/mod/blog/views/default/object/blog.php index 6fcf041ba..01fbe4b4c 100644 --- a/mod/blog/views/default/object/blog.php +++ b/mod/blog/views/default/object/blog.php @@ -49,7 +49,7 @@ if ($vars['entity']->canEdit()) { ?> - +