Make WordPress Core

Changeset 9701


Ignore:
Timestamp:
11/14/2008 11:34:18 PM (18 years ago)
Author:
ryan
Message:

Check proper caps when publising a page. Props DD32. fixes #8208

Location:
trunk/wp-admin
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/edit-page-form.php

    r9683 r9701  
    229229<?php
    230230if ( !in_array( $post->post_status, array('publish', 'future', 'private') ) || 0 == $post->ID ) { ?>
    231 <?php if ( current_user_can('publish_posts') ) : ?>
     231<?php if ( $can_publish ) : ?>
    232232        <?php if ( !empty($post->post_date_gmt) && time() < strtotime( $post->post_date_gmt . ' +0000' ) ) : ?>
    233233                <input name="original_publish" type="hidden" id="original_publish" value="<?php _e('Schedule') ?>" />
  • trunk/wp-admin/includes/post.php

    r9699 r9701  
    7676        // Posts 'submitted for approval' present are submitted to $_POST the same as if they were being published.
    7777        // Change status from 'publish' to 'pending' if user lacks permissions to publish or to resave published posts.
    78         if ( isset($post_data['post_status']) && ('publish' == $post_data['post_status'] && !current_user_can( 'publish_posts' )) )
    79                 if ( $previous_status != 'publish' OR !current_user_can( 'edit_published_pages') )
     78        if ( 'page' == $post_data['post_type'] ) {
     79                $publish_cap = 'publish_pages';
     80                $edit_cap = 'edit_published_pages';
     81        } else {
     82                $publish_cap = 'publish_posts';
     83                $edit_cap = 'edit_published_posts';
     84        }
     85        if ( isset($post_data['post_status']) && ('publish' == $post_data['post_status'] && !current_user_can( $publish_cap )) )
     86                if ( $previous_status != 'publish' || !current_user_can( $edit_cap ) )
    8087                        $post_data['post_status'] = 'pending';
    8188
Note: See TracChangeset for help on using the changeset viewer.