diff options
author | ben <ben@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-04-07 15:33:44 +0000 |
---|---|---|
committer | ben <ben@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-04-07 15:33:44 +0000 |
commit | f414e7437d8796523724d1e8f558710977241add (patch) | |
tree | 4063f36ada7f5cccdf15b930e8d0d7ffd41aa6b6 | |
parent | 185d5603673e8bf02d09c8e953e4cd7725b74747 (diff) | |
download | elgg-f414e7437d8796523724d1e8f558710977241add.tar.gz elgg-f414e7437d8796523724d1e8f558710977241add.tar.bz2 |
CRUD for blog posts
git-svn-id: https://code.elgg.org/elgg/trunk@415 36083f99-b078-4883-b0ff-0f9b5a30f544
-rw-r--r-- | mod/blog/actions/delete.php | 38 | ||||
-rw-r--r-- | mod/blog/actions/edit.php | 6 | ||||
-rw-r--r-- | mod/blog/languages/en.php | 4 | ||||
-rw-r--r-- | mod/blog/start.php | 1 | ||||
-rw-r--r-- | mod/blog/views/default/object/blog.php | 2 |
5 files changed, 47 insertions, 4 deletions
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 @@ +<?php
+
+ /**
+ * Elgg blog: delete post action
+ *
+ * @package ElggBlog
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Ben Werdmuller <ben@curverider.co.uk>
+ * @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()) {
?>
<a href="<?php echo $vars['url']; ?>mod/blog/edit.php?blogpost=<?php echo $vars['entity']->getGUID(); ?>"><?php echo elgg_echo("edit"); ?></a>
- <a href="<?php echo $vars['url']; ?>mod/blog/delete.php?blogpost=<?php echo $vars['entity']->getGUID(); ?>"><?php echo elgg_echo("delete"); ?></a>
+ <a href="<?php echo $vars['url']; ?>action.php?action=blog/delete&blogpost=<?php echo $vars['entity']->getGUID(); ?>"><?php echo elgg_echo("delete"); ?></a>
<?php
// Allow the menu to be extended
|