Ticket #6072: act-right-on-empty-slug.diff
File act-right-on-empty-slug.diff, 3.1 KB (added by , 17 years ago) |
---|
-
wp-admin/admin-ajax.php
568 568 case 'sample-permalink': 569 569 check_ajax_referer( 'samplepermalink', 'samplepermalinknonce' ); 570 570 $post_id = isset($_POST['post_id'])? intval($_POST['post_id']) : 0; 571 die(get_sample_permalink_html($post_id, $_POST['new_ slug']));571 die(get_sample_permalink_html($post_id, $_POST['new_title'], $_POST['new_slug'])); 572 572 break; 573 573 default : 574 574 do_action( 'wp_ajax_' . $_POST['action'] ); -
wp-admin/includes/post.php
577 577 } 578 578 } 579 579 580 function get_sample_permalink($id, $ name = null) {580 function get_sample_permalink($id, $title, $name = null) { 581 581 $post = &get_post($id); 582 582 if (!$post->ID) { 583 583 return array('', ''); … … 585 585 $original_status = $post->post_status; 586 586 $original_date = $post->post_date; 587 587 $original_name = $post->post_name; 588 $original_title = $post->post_title; 589 590 $post->post_title = $title; 591 $post->post_name = sanitize_title($post->post_name? $post->post_name : $post->post_title, $post->ID); 592 588 593 if (in_array($post->post_status, array('draft', 'pending'))) { 589 594 $post->post_status = 'publish'; 590 595 $post->post_date = date('Y-m-d H:i:s'); 591 $post->post_name = sanitize_title($post->post_name? $post->post_name : $post->post_title, $post->ID);592 596 } 593 597 if (!is_null($name)) { 594 $post->post_name = sanitize_title($name , $post->ID);598 $post->post_name = sanitize_title($name? $name : $post->post_title, $post->ID); 595 599 } 596 600 597 601 $permalink = get_permalink($post, true); … … 610 614 $post->post_status = $original_status; 611 615 $post->post_date = $original_date; 612 616 $post->post_name = $original_name; 617 $post->post_title = $original_title; 613 618 return $permalink; 614 619 } 615 620 616 function get_sample_permalink_html($id, $new_ slug=null) {621 function get_sample_permalink_html($id, $new_title=null, $new_slug=null) { 617 622 $post = &get_post($id); 618 list($permalink, $post_name) = get_sample_permalink($post->ID, $new_ slug);623 list($permalink, $post_name) = get_sample_permalink($post->ID, $new_title, $new_slug); 619 624 if (false === strpos($permalink, '%postname%') && false === strpos($permalink, '%pagename%')) { 620 625 return ''; 621 626 } -
wp-admin/js/slug.js
10 10 11 11 b.html('<a href="" class="save">'+slugL10n.save+'</a> <a class="cancel" href="">'+slugL10n.cancel+'</a>'); 12 12 b.children('.save').click(function() { 13 var new_slug = e.children('input'). attr('value');13 var new_slug = e.children('input').val(); 14 14 jQuery.post(slugL10n.requestFile, { 15 15 action: 'sample-permalink', 16 16 post_id: post_id, 17 17 new_slug: new_slug, 18 new_title: jQuery('#title').val(), 18 19 samplepermalinknonce: jQuery('#samplepermalinknonce').val()}, function(data) { 19 20 jQuery('#edit-slug-box').html(data); 20 21 b.html(revert_b);