You can try this (Only logged in user can submit a post, so get the name from logged in user object):
if ($validation->passes())
{
$name = Auth::user()->firstname; // Get logged in user's first name
$input = array_merge(array('author' => $name), $input);
return $post = Post::create($input);
}
Also you can create new post like this:
$post = new Post;
$post->title = Input::get('title'); // or $input[['title'] if $input is available
$post->author = Auth::user()->firstname;
// ... do same for all fields, assign values to each field, then save
return $post->save();