Index: wp-app.php
===================================================================
--- wp-app.php	(revision 6666)
+++ wp-app.php	(working copy)
@@ -248,12 +248,23 @@
 		}
 
 		$publish = (isset($entry->draft) && trim($entry->draft) == 'yes') ? false : true;
+        
+        if ($publish) {
+            if (!current_user_can('publish_posts')) {
+                $msg_cant_publish = __('Sorry, you do not have the right to publish new posts.');
 
-		$cap = ($publish) ? 'publish_posts' : 'edit_posts';
+                if (!current_user_can('edit_posts')) {
+                    $this->auth_required($msg_cant_publish);
+                } else {
+                    $this->auth_required($msg_cant_publish . ' ' .
+                             __('Please submit your post as draft for review.'));
+                }
+            }
+        } else {
+            if (!current_user_can('edit_posts')) 
+                $this->auth_required(__('Sorry, you do not have the right to submit new posts.'));
+        }
 
-		if(!current_user_can($cap))
-			$this->auth_required(__('Sorry, you do not have the right to edit/publish new posts.'));
-
 		$blog_ID = (int ) $blog_id;
 		$post_status = ($publish) ? 'publish' : 'draft';
 		$post_author = (int) $user_ID;
