diff options
| author | ben <ben@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-04-04 17:36:44 +0000 | 
|---|---|---|
| committer | ben <ben@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-04-04 17:36:44 +0000 | 
| commit | d06f87fadb1b88f8ae251ada0461dd2cebf84a00 (patch) | |
| tree | 5e90ffdb4dcc46978bcde6bd839243aad02d7799 /mod/blog/actions/edit.php | |
| parent | 4ec8a466b8ae9bfcb495b57cc1c90ac8de3533e2 (diff) | |
| download | elgg-d06f87fadb1b88f8ae251ada0461dd2cebf84a00.tar.gz elgg-d06f87fadb1b88f8ae251ada0461dd2cebf84a00.tar.bz2  | |
Blog edit updates
git-svn-id: https://code.elgg.org/elgg/trunk@408 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'mod/blog/actions/edit.php')
| -rw-r--r-- | mod/blog/actions/edit.php | 68 | 
1 files changed, 68 insertions, 0 deletions
diff --git a/mod/blog/actions/edit.php b/mod/blog/actions/edit.php new file mode 100644 index 000000000..07f285510 --- /dev/null +++ b/mod/blog/actions/edit.php @@ -0,0 +1,68 @@ +<?php
 +
 +	/**
 +	 * Elgg blog: edit 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');
 +		$title = get_input('blogtitle');
 +		$body = get_input('blogbody');
 +		$tags = get_input('blogtags');
 +		
 +	// Make sure we actually have permission to edit
 +		$blog = get_entity($guid);
 +		if ($blog->subtype = "blog" && $blog->canEdit()) {
 +	
 +		// Cache to the session
 +			$_SESSION['blogtitle'] = $title;
 +			$_SESSION['blogbody'] = $body;
 +			$_SESSION['blogtags'] = $tags;
 +			
 +		// Convert string of tags into a preformatted array
 +			$tagarray = string_to_tag_array($tags);
 +			
 +		// Make sure the title / description aren't blank
 +			if (empty($title) || empty($body)) {
 +				register_error(elgg_echo("blog:blank"));
 +				forward("mod/blog/add.php");
 +				
 +		// Otherwise, save the blog post 
 +			} else {
 +				
 +		// For now, set its access to public (we'll add an access dropdown shortly)
 +				$blog->access_id = 2;
 +		// Set its title and description appropriately
 +				$blog->title = $title;
 +				$blog->description = $body;
 +		// Before we can set metadata, we need to save the blog post
 +				if (!$blog->save()) {
 +					register_error(elgg_echo("blog:error"));
 +					forward("mod/blog/add.php");
 +				}
 +		// Now let's add tags. We can pass an array directly to the object property! Easy.
 +				$blog->clearMetadata('tags');
 +				if (is_array($tagarray)) {
 +					$blog->tags = $tagarray;
 +				}
 +		// Success message
 +				system_message(elgg_echo("blog:posted"));
 +		// 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);
 +					
 +			}
 +		
 +		}
 +		
 +?>
\ No newline at end of file  | 
