Don't allow pages to have the same names as feeds to avoid rewrite collision. Props skeltoac. fixes #1231

git-svn-id: http://svn.automattic.com/wordpress/trunk@4199 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
ryan 2006-09-21 00:01:20 +00:00
parent a40292bfb4
commit 4be3f7547b

View File

@ -591,13 +591,13 @@ function wp_insert_post($postarr = array()) {
if ( 'draft' != $post_status ) { if ( 'draft' != $post_status ) {
$post_name_check = $wpdb->get_var("SELECT post_name FROM $wpdb->posts WHERE post_name = '$post_name' AND post_type = '$post_type' AND ID != '$post_ID' AND post_parent = '$post_parent' LIMIT 1"); $post_name_check = $wpdb->get_var("SELECT post_name FROM $wpdb->posts WHERE post_name = '$post_name' AND post_type = '$post_type' AND ID != '$post_ID' AND post_parent = '$post_parent' LIMIT 1");
if ($post_name_check) { if ($post_name_check || in_array($post_name, $wp_rewrite->feeds) ) {
$suffix = 2; $suffix = 2;
while ($post_name_check) { do {
$alt_post_name = $post_name . "-$suffix"; $alt_post_name = $post_name . "-$suffix";
$post_name_check = $wpdb->get_var("SELECT post_name FROM $wpdb->posts WHERE post_name = '$alt_post_name' AND post_type = '$post_type' AND ID != '$post_ID' AND post_parent = '$post_parent' LIMIT 1"); $post_name_check = $wpdb->get_var("SELECT post_name FROM $wpdb->posts WHERE post_name = '$alt_post_name' AND post_type = '$post_type' AND ID != '$post_ID' AND post_parent = '$post_parent' LIMIT 1");
$suffix++; $suffix++;
} } while ($post_name_check);
$post_name = $alt_post_name; $post_name = $alt_post_name;
} }
} }