Ticket #22263: post.php.diff

File post.php.diff, 2.2 KB (added by shdbinfo, 7 months ago)

wp-includes/post.php

Line 
1--- wp-includes/post.php.orig   Wed Oct 24 01:59:40 2012
2+++ wp-includes/post.php        Wed Oct 24 01:23:34 2012
3@@ -2850,7 +2850,11 @@
4                if ( $post_name_check || in_array( $slug, $feeds ) || apply_filters( 'wp_unique_post_slug_is_bad_attachment_slug', false, $slug ) ) {
5                        $suffix = 2;
6                        do {
7-                               $alt_post_name = substr ($slug, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix";
8+                               if ( function_exists('mb_strcut') ) {
9+                                       $alt_post_name = mb_strcut(urldecode($slug), 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix";
10+                               } else {
11+                                       $alt_post_name = substr ($slug, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix";
12+                               }
13                                $post_name_check = $wpdb->get_var( $wpdb->prepare($check_sql, $alt_post_name, $post_ID ) );
14                                $suffix++;
15                        } while ( $post_name_check );
16@@ -2865,7 +2869,11 @@
17                if ( $post_name_check || in_array( $slug, $feeds ) || preg_match( "@^($wp_rewrite->pagination_base)?\d+$@", $slug )  || apply_filters( 'wp_unique_post_slug_is_bad_hierarchical_slug', false, $slug, $post_type, $post_parent ) ) {
18                        $suffix = 2;
19                        do {
20-                               $alt_post_name = substr( $slug, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix";
21+                               if ( function_exists('mb_strcut') ) {
22+                                       $alt_post_name = mb_strcut( urldecode($slug), 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix";
23+                               } else {
24+                                       $alt_post_name = substr( $slug, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix";
25+                               }
26                                $post_name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $alt_post_name, $post_ID, $post_parent ) );
27                                $suffix++;
28                        } while ( $post_name_check );
29@@ -2879,7 +2887,11 @@
30                if ( $post_name_check || in_array( $slug, $feeds ) || apply_filters( 'wp_unique_post_slug_is_bad_flat_slug', false, $slug, $post_type ) ) {
31                        $suffix = 2;
32                        do {
33-                               $alt_post_name = substr( $slug, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix";
34+                               if ( function_exists('mb_strcut') ) {
35+                                       $alt_post_name = mb_strcut( urldecode($slug), 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix";
36+                               } else {
37+                                       $alt_post_name = substr( $slug, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix";
38+                               }
39                                $post_name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $alt_post_name, $post_type, $post_ID ) );
40                                $suffix++;
41                        } while ( $post_name_check );