aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorben <ben@36083f99-b078-4883-b0ff-0f9b5a30f544>2008-04-07 15:33:44 +0000
committerben <ben@36083f99-b078-4883-b0ff-0f9b5a30f544>2008-04-07 15:33:44 +0000
commitf414e7437d8796523724d1e8f558710977241add (patch)
tree4063f36ada7f5cccdf15b930e8d0d7ffd41aa6b6
parent185d5603673e8bf02d09c8e953e4cd7725b74747 (diff)
downloadelgg-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.php38
-rw-r--r--mod/blog/actions/edit.php6
-rw-r--r--mod/blog/languages/en.php4
-rw-r--r--mod/blog/start.php1
-rw-r--r--mod/blog/views/default/object/blog.php2
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