Skip to content

Commit

Permalink
Revert page on front changes. Reverts [22127] [22129] [22135] [22136]…
Browse files Browse the repository at this point in the history
…. see #16379.

git-svn-id: http://core.svn.wordpress.org/trunk@22653 1a063a9b-81f0-0310-95a4-ce76da25c4cd
  • Loading branch information
nacin committed Nov 19, 2012
1 parent e3d01cd commit 97032e0
Show file tree
Hide file tree
Showing 11 changed files with 126 additions and 342 deletions.
3 changes: 2 additions & 1 deletion wp-admin/css/wp-admin-rtl.css
Original file line number Diff line number Diff line change
Expand Up @@ -971,7 +971,8 @@ table.diff td, table.diff th {
border-bottom-right-radius: 3px;
}

#front-static-pages .sub-option,
#front-page-warning,
#front-static-pages ul,
ul.export-filters,
.inline-editor ul.cat-checklist ul,
.categorydiv ul.categorychecklist ul,
Expand Down
24 changes: 6 additions & 18 deletions wp-admin/css/wp-admin.css
Original file line number Diff line number Diff line change
Expand Up @@ -716,6 +716,10 @@ select {
color: #000;
}

select[disabled] {
color: #7f7f7f;
}

select:focus {
border-color: #aaa;
}
Expand Down Expand Up @@ -3020,10 +3024,6 @@ input#link_url {
font-size: 11px;
}

#front-static-pages #edit-slug-box {
padding: 0;
}

#editable-post-name-full {
display: none;
}
Expand Down Expand Up @@ -3510,7 +3510,8 @@ div.tabs-panel-inactive {
margin: 0;
}

#front-static-pages .sub-option,
#front-page-warning,
#front-static-pages ul,
ul.export-filters,
.inline-editor ul.cat-checklist ul,
.categorydiv ul.categorychecklist ul,
Expand Down Expand Up @@ -5066,19 +5067,6 @@ h2 .nav-tab {
margin: -3px 3px;
}

.js.options-reading-php .if-page-on-front,
.js.options-reading-php .if-page-for-posts,
.options-reading-php .if-new-front-page {
display: none;
}
.options-reading-php .page-on-front .if-page-on-front,
.options-reading-php .page-for-posts .if-page-for-posts {
display: block;
}
.options-reading-php .new-front-page .if-new-front-page {
display: inline;
}

/*------------------------------------------------------------------------------
21.0 - Admin Footer
------------------------------------------------------------------------------*/
Expand Down
3 changes: 1 addition & 2 deletions wp-admin/includes/ajax-actions.php
Original file line number Diff line number Diff line change
Expand Up @@ -1298,8 +1298,7 @@ function wp_ajax_sample_permalink() {
$post_id = isset($_POST['post_id'])? intval($_POST['post_id']) : 0;
$title = isset($_POST['new_title'])? $_POST['new_title'] : '';
$slug = isset($_POST['new_slug'])? $_POST['new_slug'] : null;
$screen = isset( $_POST['screen'] ) ? $_POST['screen'] : 'post';
wp_die( get_sample_permalink_html( $post_id, $title, $slug, $screen ) );
wp_die( get_sample_permalink_html( $post_id, $title, $slug ) );
}

function wp_ajax_inline_save() {
Expand Down
131 changes: 4 additions & 127 deletions wp-admin/includes/post.php
Original file line number Diff line number Diff line change
Expand Up @@ -1055,20 +1055,14 @@ function get_sample_permalink($id, $title = null, $name = null) {
* @param int|object $id Post ID or post object.
* @param string $new_title Optional. New title.
* @param string $new_slug Optional. New slug.
* @param string|WP_Screen $screen Optional. Screen where the editor is being shown.
* @return string The HTML of the sample permalink slug editor.
*/
function get_sample_permalink_html( $id, $new_title = null, $new_slug = null, $screen = null ) {
function get_sample_permalink_html( $id, $new_title = null, $new_slug = null ) {
global $wpdb;
$post = get_post($id);

list($permalink, $post_name) = get_sample_permalink($post->ID, $new_title, $new_slug);

if ( isset( $screen ) )
$screen = convert_to_screen( $screen );
else
$screen = get_current_screen();

if ( 'publish' == get_post_status( $post ) ) {
$ptype = get_post_type_object($post->post_type);
$view_post = $ptype->labels->view_item;
Expand All @@ -1078,12 +1072,10 @@ function get_sample_permalink_html( $id, $new_title = null, $new_slug = null, $s
}

if ( false === strpos($permalink, '%postname%') && false === strpos($permalink, '%pagename%') ) {
if ( 'options-reading' == $screen->id )
return '';
$return = '<strong>' . __('Permalink:') . "</strong>\n" . '<span id="sample-permalink" tabindex="-1">' . $permalink . "</span>\n";
if ( '' == get_option( 'permalink_structure' ) && current_user_can( 'manage_options' ) && !( 'page' == get_option('show_on_front') && $id == get_option('page_on_front') ) )
$return .= '<span id="change-permalinks"><a href="options-permalink.php" class="button button-small" target="_blank">' . __('Change Permalinks') . "</a></span>\n";
if ( isset($view_post) )
if ( isset( $view_post ) )
$return .= "<span id='view-post-btn'><a href='$permalink' class='button button-small'>$view_post</a></span>\n";

$return = apply_filters('get_sample_permalink_html', $return, $id, $new_title, $new_slug);
Expand All @@ -1108,12 +1100,12 @@ function get_sample_permalink_html( $id, $new_title = null, $new_slug = null, $s
$post_name_html = '<span id="editable-post-name" title="' . $title . '">' . $post_name_abridged . '</span>';
$display_link = str_replace(array('%pagename%','%postname%'), $post_name_html, $permalink);
$view_link = str_replace(array('%pagename%','%postname%'), $post_name, $permalink);
$return = ( 'options-reading' == $screen->id ) ? __( 'Located at' ) . "\n" : '<strong>' . __( 'Permalink:' ) . "</strong>\n";
$return = '<strong>' . __('Permalink:') . "</strong>\n";
$return .= '<span id="sample-permalink" tabindex="-1">' . $display_link . "</span>\n";
$return .= '&lrm;'; // Fix bi-directional text display defect in RTL languages.
$return .= '<span id="edit-slug-buttons"><a href="#post_name" class="edit-slug button button-small hide-if-no-js" onclick="editPermalink(' . $id . '); return false;">' . __('Edit') . "</a></span>\n";
$return .= '<span id="editable-post-name-full">' . $post_name . "</span>\n";
if ( isset( $view_post ) && 'options-reading' != $screen->id )
if ( isset($view_post) )
$return .= "<span id='view-post-btn'><a href='$view_link' class='button button-small'>$view_post</a></span>\n";

$return = apply_filters('get_sample_permalink_html', $return, $id, $new_title, $new_slug);
Expand Down Expand Up @@ -1329,118 +1321,3 @@ function post_preview() {

return $url;
}

/**
* Creates new pages to be set as a front page or a page for posts in Reading Settings.
*
* @todo Make sure we are doing adequate sanitization on success, and cleanup/reset on failure.
*
* @since 3.5.0
* @access private
*/
function _show_on_front_reading_settings( $show_on_front_value ) {
// If we're not saving the Reading Settings screen, don't intercept.
if ( ! $_POST || ! strpos( wp_get_referer(), 'options-reading.php' ) )
return $show_on_front_value;

if ( 'posts' == $show_on_front_value ) {
update_option( 'page_on_front', 0 );
update_option( 'page_for_posts', 0 );
return $show_on_front_value;
}

// If a new front page was meant to be created, go forth and create it.
if ( 'new' == $_POST['page_on_front'] ) {

// If the user can't create pages, revert.
if ( ! current_user_can( 'create_posts', 'page' ) ) {
// If an existing page is set, keep things as is, rather than reverting to showing posts.
if ( get_option( 'page_on_front' ) ) {
$show_on_front_value = 'page';
} else {
$show_on_front_value = 'posts';
update_option( 'page_on_front', 0 );
update_option( 'page_for_posts', 0 );
}
add_settings_error( 'page_on_front', 'create_pages', __( 'You are not allowed to create pages on this site.' ) );
return $show_on_front_value;
}

$existing_page = get_page_by_title( stripslashes( $_POST['page_on_front_title'] ) );

// If page already exists and it's public, there's no need to create a new page.
if ( $existing_page && 'publish' == $existing_page->post_status ) {
$page_id = $existing_page->ID;
} else {
$page_id = wp_insert_post( array(
'post_title' => $_POST['page_on_front_title'],
'post_type' => 'page',
'post_status' => 'publish',
'comment_status' => 'closed',
'ping_status' => 'closed',
// @todo Create some sort of a 'context' in postmeta so we know we created a page through these means.
// Consider then showing that context in the list table as a good-first-step.
) );
}

if ( $page_id ) {
update_option( 'page_on_front', $page_id );
// If we can't save it, revert.
} elseif ( get_option( 'page_on_front' ) ) {
// If an existing page is set, keep things as is, rather than reverting to showing posts.
$show_on_front_value = 'page';
} else {
$show_on_front_value = 'posts';
update_option( 'page_on_front', 0 );
update_option( 'page_for_posts', 0 );
return $show_on_front_value;
}
} elseif ( $_POST['page_on_front'] ) {
update_option( 'page_on_front', $_POST['page_on_front'] );
} else {
// They didn't select a page at all. Sad face.
$show_on_front_value = 'posts';
update_option( 'page_on_front', 0 );
update_option( 'page_for_posts', 0 );
add_settings_error( 'page_on_front', 'no_page_selected', __( 'You must select a page to set a static front page.' ) );
return $show_on_front_value;
}

// If a page for posts was meant to be specified, update/create it.
if ( ! isset( $_POST['page_for_posts'] ) ) {
update_option( 'page_for_posts', 0 );
return $show_on_front_value;
}

$page_for_posts = (int) $_POST['page_for_posts'];

if ( ! $page_for_posts || ! $page = get_post( $page_for_posts, ARRAY_A ) ) {
update_option( 'page_for_posts', 0 );
return $show_on_front_value;
}

if ( 'page' != $page['post_type'] || ! current_user_can( 'edit_post', $page_for_posts ) ) {
update_option( 'page_for_posts', 0 );
return $show_on_front_value;
}

if ( 'publish' != $page['post_status'] && ! current_user_can( 'publish_post', $page_for_posts ) ) {
update_option( 'page_for_posts', 0 );
return $show_on_front_value;
}

$args = add_magic_quotes( $page );
$args['post_title'] = $_POST['page_for_posts_title'];
$args['post_name'] = $_POST['post_name'];
$args['post_status'] = 'publish';
if ( 'auto-draft' == $page['post_status'] ) {
$args['comment_status'] = 'closed';
$args['ping_status'] = 'closed';
}

$page_id = wp_insert_post( $args );
update_option( 'page_for_posts', $page_id );

return $show_on_front_value;
}
add_filter( 'sanitize_option_show_on_front', '_show_on_front_reading_settings' );
65 changes: 65 additions & 0 deletions wp-admin/js/post.js
Original file line number Diff line number Diff line change
Expand Up @@ -572,6 +572,71 @@ jQuery(document).ready( function($) {
});
} // end submitdiv

// permalink
if ( $('#edit-slug-box').length ) {
editPermalink = function(post_id) {
var i, c = 0, e = $('#editable-post-name'), revert_e = e.html(), real_slug = $('#post_name'), revert_slug = real_slug.val(), b = $('#edit-slug-buttons'), revert_b = b.html(), full = $('#editable-post-name-full').html();

$('#view-post-btn').hide();
b.html('<a href="#" class="save button button-small">'+postL10n.ok+'</a> <a class="cancel" href="#">'+postL10n.cancel+'</a>');
b.children('.save').click(function() {
var new_slug = e.children('input').val();
if ( new_slug == $('#editable-post-name-full').text() ) {
return $('.cancel', '#edit-slug-buttons').click();
}
$.post(ajaxurl, {
action: 'sample-permalink',
post_id: post_id,
new_slug: new_slug,
new_title: $('#title').val(),
samplepermalinknonce: $('#samplepermalinknonce').val()
}, function(data) {
$('#edit-slug-box').html(data);
b.html(revert_b);
real_slug.val(new_slug);
makeSlugeditClickable();
$('#view-post-btn').show();
});
return false;
});

$('.cancel', '#edit-slug-buttons').click(function() {
$('#view-post-btn').show();
e.html(revert_e);
b.html(revert_b);
real_slug.val(revert_slug);
return false;
});

for ( i = 0; i < full.length; ++i ) {
if ( '%' == full.charAt(i) )
c++;
}

slug_value = ( c > full.length / 4 ) ? '' : full;
e.html('<input type="text" id="new-post-slug" value="'+slug_value+'" />').children('input').keypress(function(e){
var key = e.keyCode || 0;
// on enter, just save the new slug, don't save the post
if ( 13 == key ) {
b.children('.save').click();
return false;
}
if ( 27 == key ) {
b.children('.cancel').click();
return false;
}
real_slug.val(this.value);
}).focus();
}

makeSlugeditClickable = function() {
$('#editable-post-name').click(function() {
$('#edit-slug-buttons').children('.edit-slug').click();
});
}
makeSlugeditClickable();
}

// word count
if ( typeof(wpWordCount) != 'undefined' ) {
$(document).triggerHandler('wpcountwords', [ co.val() ]);
Expand Down
75 changes: 0 additions & 75 deletions wp-admin/js/sample-permalink.js

This file was deleted.

1 change: 0 additions & 1 deletion wp-admin/js/sample-permalink.min.js

This file was deleted.

Loading

0 comments on commit 97032e0

Please sign in to comment.