Index: inline-uploading.php
===================================================================
--- inline-uploading.php	(revision 3421)
+++ inline-uploading.php	(working copy)
@@ -2,7 +2,7 @@
 
 require_once('admin.php');
 
-if (!current_user_can('edit_posts'))
+if ( !current_user_can('edit_posts') && !current_user_can('edit_pages') )
 	die(__('You do not have permission to edit posts.'));
 
 $wpvarstoreset = array('action', 'post', 'all', 'last', 'link', 'sort', 'start', 'imgtitle', 'descr', 'attachment');
Index: menu.php
===================================================================
--- menu.php	(revision 3421)
+++ menu.php	(working copy)
@@ -5,8 +5,13 @@
 // The minimum level the user needs to access the item: between 0 and 10
 // The URL of the item's file
 $menu[0] = array(__('Dashboard'), 'read', 'index.php');
-$menu[5] = array(__('Write'), 'edit_posts', 'post.php');
-$menu[10] = array(__('Manage'), 'edit_posts', 'edit.php');
+if ( current_user_can('edit_posts') ) {
+        $menu[5] = array(__('Write'), 'edit_posts', 'post.php');
+        $menu[10] = array(__('Manage'), 'edit_posts', 'edit.php');
+} else {
+        $menu[5] = array(__('Write'), 'edit_pages', 'page-new.php');
+        $menu[10] = array(__('Manage'), 'edit_pages', 'edit-pages.php');
+}
 $menu[20] = array(__('Links'), 'manage_links', 'link-manager.php');
 $menu[25] = array(__('Presentation'), 'switch_themes', 'themes.php');
 $menu[30] = array(__('Plugins'), 'activate_plugins', 'plugins.php');
@@ -17,11 +22,16 @@
 $menu[40] = array(__('Options'), 'manage_options', 'options-general.php');
 $menu[45] = array(__('Import'), 'import', 'import.php');
 
-$submenu['post.php'][5] = array(__('Write Post'), 'edit_posts', 'post.php');
-$submenu['post.php'][10] = array(__('Write Page'), 'edit_pages', 'page-new.php');
+if ( current_user_can('edit_posts') ) {
+	$submenu['post.php'][5] = array(__('Write Post'), 'edit_posts', 'post.php');
+	$submenu['post.php'][10] = array(__('Write Page'), 'edit_pages', 'page-new.php');
+	$submenu['edit.php'][5] = array(__('Posts'), 'edit_posts', 'edit.php');
+	$submenu['edit.php'][10] = array(__('Pages'), 'edit_pages', 'edit-pages.php');
+} else {
+	$submenu['page-new.php'][10] = array(__('Write Page'), 'edit_pages', 'page-new.php');
+	$submenu['edit-pages.php'][10] = array(__('Pages'), 'edit_pages', 'edit-pages.php');
+}
 
-$submenu['edit.php'][5] = array(__('Posts'), 'edit_posts', 'edit.php');
-$submenu['edit.php'][10] = array(__('Pages'), 'edit_pages', 'edit-pages.php');
 $submenu['edit.php'][15] = array(__('Categories'), 'manage_categories', 'categories.php');
 $submenu['edit.php'][20] = array(__('Comments'), 'edit_posts', 'edit-comments.php');
 $awaiting_mod = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '0'");
Index: post.php
===================================================================
--- post.php	(revision 3421)
+++ post.php	(working copy)
@@ -30,6 +30,8 @@
 
 switch($action) {
 case 'post':
+	if ( !current_user_can('edit_posts') && current_user_can('edit_pages') )
+		$parent_file = 'page-new.php';
 
 	$post_ID = write_post();
 
@@ -61,6 +63,8 @@
 	break;
 
 case 'edit':
+	if ( !current_user_can('edit_posts') )
+		$parent_file = 'page-new.php';
 	$title = __('Edit');
 
 	require_once('admin-header.php');
Index: admin-functions.php
===================================================================
--- admin-functions.php	(revision 3421)
+++ admin-functions.php	(working copy)
@@ -4,7 +4,7 @@
 function write_post() {
 	global $user_ID;
 
-	if (!current_user_can('edit_posts'))
+	if ( !current_user_can('edit_posts') && !current_user_can('edit_pages') )
 		die(__('You are not allowed to create posts or drafts on this blog.'));
 
 	// Rename.
Index: page-new.php
===================================================================
--- page-new.php	(revision 3421)
+++ page-new.php	(working copy)
@@ -1,7 +1,10 @@
 <?php
 require_once('admin.php');
 $title = __('New Page');
-$parent_file = 'post.php';
+if ( current_user_can('edit_posts') )
+	$parent_file = 'post.php';
+else
+	$parent_file = 'page-new.php';
 $editing = true;
 require_once('admin-header.php');
 ?>
Index: edit-pages.php
===================================================================
--- edit-pages.php	(revision 3421)
+++ edit-pages.php	(working copy)
@@ -1,7 +1,10 @@
 <?php
 require_once('admin.php');
 $title = __('Pages');
-$parent_file = 'edit.php';
+if ( current_user_can('edit_posts') )
+	$parent_file = 'edit.php';
+else
+	$parent_file = 'edit-pages.php';
 require_once('admin-header.php');
 ?>
 

