WordPress.org

Make WordPress Core

Ticket #10758: 10758.patch

File 10758.patch, 16.5 KB (added by hakre, 5 years ago)

consolidated patch

  • wp-admin/includes/post.php

    Property changes on: .
    ___________________________________________________________________
    Added: svn:ignore
       + wp-config.php
    
    
     
    925925 * 
    926926 * @since unknown 
    927927 * 
    928  * @param unknown_type $id 
    929  * @param unknown_type $title 
    930  * @param unknown_type $name 
    931  * @return unknown 
     928 * @param int|object $id    Post ID or post object.  
     929 * @param string $title (optional) Title  
     930 * @param string $name (optional) Name  
     931 * @return array With two entries of type string  
    932932 */ 
    933933function get_sample_permalink($id, $title = null, $name = null) { 
    934934        $post = &get_post($id); 
     
    943943        // drafts, so we will fake, that our post is published 
    944944        if (in_array($post->post_status, array('draft', 'pending'))) { 
    945945                $post->post_status = 'publish'; 
    946                 $post->post_name = sanitize_title($post->post_name? $post->post_name : $post->post_title, $post->ID); 
     946                $post->post_name = sanitize_title($post->post_name ? $post->post_name : $post->post_title, $post->ID); 
    947947        } 
    948948 
    949949        $post->post_name = wp_unique_post_slug($post->post_name, $post->ID, $post->post_status, $post->post_type, $post->post_parent); 
     
    951951        // If the user wants to set a new name -- override the current one 
    952952        // Note: if empty name is supplied -- use the title instead, see #6072 
    953953        if (!is_null($name)) { 
    954                 $post->post_name = sanitize_title($name? $name : $title, $post->ID); 
     954                $post->post_name = sanitize_title($name ? $name : $title, $post->ID); 
    955955        } 
    956956 
    957957        $post->filter = 'sample'; 
     
    979979} 
    980980 
    981981/** 
    982  * {@internal Missing Short Description}} 
     982 * sample permalink html 
    983983 * 
     984 * intended to be used for the inplace editor of the permalink post slug on in the post (and page?) editor. 
     985 *  
    984986 * @since unknown 
    985987 * 
    986  * @param unknown_type $id 
    987  * @param unknown_type $new_title 
    988  * @param unknown_type $new_slug 
    989  * @return unknown 
     988 * @param int|object $id Post ID or post object.  
     989 * @param string $new_title (optional) New title   
     990 * @param string $new_slug (optional) New slug  
     991 * @return string intended to be used for the inplace editor of the permalink post slug on in the post (and page?) editor.  
    990992 */ 
    991993function get_sample_permalink_html( $id, $new_title = null, $new_slug = null ) { 
    992994        $post = &get_post($id); 
  • wp-admin/includes/widgets.php

     
    180180        </div> 
    181181        <input type="hidden" name="widget-id" class="widget-id" value="<?php echo esc_attr($id_format); ?>" /> 
    182182        <input type="hidden" name="id_base" class="id_base" value="<?php echo esc_attr($id_base); ?>" /> 
    183         <input type="hidden" name="widget-width" class="widget-width" value="<?php echo esc_attr($control['width']); ?>" /> 
    184         <input type="hidden" name="widget-height" class="widget-height" value="<?php echo esc_attr($control['height']); ?>" /> 
     183        <input type="hidden" name="widget-width" class="widget-width" value="<?php if (isset( $control['width'] )) echo esc_attr($control['width']); ?>" /> 
     184        <input type="hidden" name="widget-height" class="widget-height" value="<?php if (isset( $control['height'] )) echo esc_attr($control['height']); ?>" /> 
    185185        <input type="hidden" name="widget_number" class="widget_number" value="<?php echo esc_attr($widget_number); ?>" /> 
    186186        <input type="hidden" name="multi_number" class="multi_number" value="<?php echo esc_attr($multi_number); ?>" /> 
    187187        <input type="hidden" name="add_new" class="add_new" value="<?php echo esc_attr($add_new); ?>" /> 
  • wp-admin/admin-footer.php

     
    2929<?php 
    3030do_action('admin_footer', ''); 
    3131do_action('admin_print_footer_scripts'); 
    32 do_action("admin_footer-$hook_suffix"); 
     32if (isset($hook_suffix))  
     33        do_action("admin_footer-$hook_suffix"); 
    3334 
    3435// get_site_option() won't exist when auto upgrading from <= 2.7 
    3536if ( function_exists('get_site_option') ) { 
  • wp-admin/upload.php

     
    308308 
    309309        if ( $month_count && !( 1 == $month_count && 0 == $arc_result[0]->mmonth ) ) : ?> 
    310310<select name='m'> 
    311 <option<?php selected( @$_GET['m'], 0 ); ?> value='0'><?php _e('Show all dates'); ?></option> 
     311<option<?php selected(isset($_GET['m']) ? $_GET['m'] : null, 0); ?> value='0'><?php _e('Show all dates'); ?></option> 
    312312<?php 
    313313foreach ($arc_result as $arc_row) { 
    314314        if ( $arc_row->yyear == 0 ) 
  • wp-includes/author-template.php

     
    2222 */ 
    2323function get_the_author($deprecated = '') { 
    2424        global $authordata; 
    25         return apply_filters('the_author', $authordata->display_name); 
     25        return apply_filters('the_author', is_object($authordata) ? $authordata->display_name : null); 
    2626} 
    2727 
    2828/** 
  • wp-includes/capabilities.php

     
    842842                $post_author_data = get_userdata( $post->post_author ); 
    843843                //echo "current user id : $user_id, post author id: " . $post_author_data->ID . "<br />"; 
    844844                // If the user is the author... 
    845                 if ( $user_id == $post_author_data->ID ) { 
     845                if ( is_object($post_author_data) && $user_id == $post_author_data->ID ) { 
    846846                        // If the post is published... 
    847847                        if ( 'publish' == $post->post_status ) { 
    848848                                $caps[] = 'edit_published_posts'; 
  • wp-includes/comment.php

     
    11221122function wp_new_comment( $commentdata ) { 
    11231123        $commentdata = apply_filters('preprocess_comment', $commentdata); 
    11241124 
    1125         $commentdata['comment_post_ID'] = (int) $commentdata['comment_post_ID']; 
    1126         $commentdata['user_ID']         = (int) $commentdata['user_ID']; 
     1125        $commentdata['comment_post_ID'] = isset($commentdata['comment_post_ID']) ? (int) $commentdata['comment_post_ID'] : null; 
     1126        $commentdata['user_ID']         = isset($commentdata['user_ID'])         ? (int) $commentdata['user_ID']         : null; 
    11271127 
    1128         $commentdata['comment_parent'] = absint($commentdata['comment_parent']); 
     1128        $commentdata['comment_parent'] = isset($commentdata['comment_parent']) ? absint($commentdata['comment_parent']) : null; 
    11291129        $parent_status = ( 0 < $commentdata['comment_parent'] ) ? wp_get_comment_status($commentdata['comment_parent']) : ''; 
    11301130        $commentdata['comment_parent'] = ( 'approved' == $parent_status || 'unapproved' == $parent_status ) ? $commentdata['comment_parent'] : 0; 
    11311131 
  • wp-includes/functions.wp-styles.php

     
    1111 * 
    1212 * @since r79 
    1313 * @uses do_action() Calls 'wp_print_styles' hook. 
    14  * @global object $wp_styles The WP_Styles object for printing styles. 
     14 * @global WP_Styles $wp_styles The WP_Styles object for printing styles. 
    1515 * 
    1616 * @param array $handles (optional) Styles to be printed.  (void) prints queue, (string) prints that style, (array of strings) prints those styles. 
    1717 * @return bool True on success, false on failure. 
     
    2121        if ( '' === $handles ) // for wp_head 
    2222                $handles = false; 
    2323 
     24        /* @var $wp_styles WP_Styles */ 
    2425        global $wp_styles; 
    2526        if ( !is_a($wp_styles, 'WP_Styles') ) { 
    2627                if ( !$handles ) 
     
    3738 * 
    3839 * @since r79 
    3940 * @see WP_Styles::add() For parameter and additional information. 
     41 * @global WP_Styles $wp_styles 
     42 * @return void 
    4043 */ 
    4144function wp_register_style( $handle, $src, $deps = array(), $ver = false, $media = 'all' ) { 
     45        /* @var $wp_styles WP_Styles */ 
    4246        global $wp_styles; 
    4347        if ( !is_a($wp_styles, 'WP_Styles') ) 
    4448                $wp_styles = new WP_Styles(); 
     
    5155 * 
    5256 * @since r79 
    5357 * @see WP_Styles::remove() For parameter and additional information. 
     58 * @global WP_Styles $wp_styles 
    5459 */ 
    5560function wp_deregister_style( $handle ) { 
     61        /* @var $wp_styles WP_Styles */ 
    5662        global $wp_styles; 
    5763        if ( !is_a($wp_styles, 'WP_Styles') ) 
    5864                $wp_styles = new WP_Styles(); 
     
    6571 * 
    6672 * @since r79 
    6773 * @see WP_Styles::add(), WP_Styles::enqueue() 
     74 * @global WP_Styles $wp_styles 
    6875 */ 
    6976function wp_enqueue_style( $handle, $src = false, $deps = array(), $ver = false, $media = false ) { 
     77        /* @var $wp_styles WP_Styles */ 
    7078        global $wp_styles; 
    7179        if ( !is_a($wp_styles, 'WP_Styles') ) 
    7280                $wp_styles = new WP_Styles(); 
     
    8997 * @param string $handle Handle used to add style. 
    9098 * @param string $list Optional, defaults to 'queue'. Others values are 'registered', 'queue', 'done', 'to_do' 
    9199 * @return bool 
     100 * @global WP_Styles $wp_styles 
    92101 */ 
    93102function wp_style_is( $handle, $list = 'queue' ) { 
     103        /* @var $wp_styles WP_Styles */ 
    94104        global $wp_styles; 
    95105        if ( !is_a($wp_styles, 'WP_Styles') ) 
    96106                $wp_styles = new WP_Styles(); 
  • wp-includes/pluggable.php

     
    3535 * actions on users who aren't signed in. 
    3636 * 
    3737 * @since 2.0.3 
    38  * @global object $current_user The current user object which holds the user data. 
     38 * @global WP_User $current_user User-object of request aka The current user object which holds the user data. 
    3939 * @uses do_action() Calls 'set_current_user' hook after setting the current user. 
    4040 * 
    4141 * @param int $id User ID 
     
    4343 * @return WP_User Current user User object 
    4444 */ 
    4545function wp_set_current_user($id, $name = '') { 
     46        /* @var $current_user WP_User */ 
    4647        global $current_user; 
    4748 
    4849        if ( isset($current_user) && ($id == $current_user->ID) ) 
     
    6364 * Retrieve the current user object. 
    6465 * 
    6566 * @since 2.0.3 
     67 * @global WP_User $current_user User-object of request aka The current user object which holds the user data. 
    6668 * 
    6769 * @return WP_User Current user WP_User object 
    6870 */ 
    6971function wp_get_current_user() { 
     72        /* @var $current_user WP_User */ 
    7073        global $current_user; 
    7174 
    7275        get_currentuserinfo(); 
     
    8487 * set the current user to 0, which is invalid and won't have any permissions. 
    8588 * 
    8689 * @since 0.71 
    87  * @uses $current_user Checks if the current user is set 
     90 * @global WP_User $current_user User-object of request aka The current user object which holds the user data. 
    8891 * @uses wp_validate_auth_cookie() Retrieves current logged in user. 
    8992 * 
    90  * @return bool|null False on XMLRPC Request and invalid auth cookie. Null when current user set 
     93 * @return bool|null False on XMLRPC Request and invalid auth cookie. Null when current user set or it was not empty 
    9194 */ 
    9295function get_currentuserinfo() { 
     96        /* @var $current_user WP_User */ 
    9397        global $current_user; 
    9498 
    9599        if ( defined('XMLRPC_REQUEST') && XMLRPC_REQUEST ) 
    96100                return false; 
    97101 
    98102        if ( ! empty($current_user) ) 
    99                 return; 
     103                return null; 
    100104 
    101105        if ( ! $user = wp_validate_auth_cookie() ) { 
    102106                 if ( empty($_COOKIE[LOGGED_IN_COOKIE]) || !$user = wp_validate_auth_cookie($_COOKIE[LOGGED_IN_COOKIE], 'logged_in') ) { 
     
    106110        } 
    107111 
    108112        wp_set_current_user($user); 
     113 
     114        return null; 
    109115} 
    110116endif; 
    111117 
     
    12231229 * @return string The one use form token 
    12241230 */ 
    12251231function wp_create_nonce($action = -1) { 
     1232        /* @var $user WP_User */ 
    12261233        $user = wp_get_current_user(); 
    1227         $uid = (int) $user->id; 
    12281234 
     1235        if ( is_object($user) )  
     1236                $uid = (int) $user->id; 
     1237        else 
     1238                $uid = 0; 
     1239 
    12291240        $i = wp_nonce_tick(); 
    12301241 
    12311242        return substr(wp_hash($i . $action . $uid, 'nonce'), -12, 10); 
  • wp-includes/post.php

     
    18111811/** 
    18121812 * Given the desired slug and some post details computes a unique slug for the post. 
    18131813 * 
     1814 * @global wpdb $wpdb  
     1815 * @global WP_Rewrite $wp_rewrite  
    18141816 * @param string $slug the desired slug (post_name) 
    18151817 * @param integer $post_ID 
    18161818 * @param string $post_status no uniqueness checks are made if the post is still draft or pending 
     
    18221824        if ( in_array( $post_status, array( 'draft', 'pending' ) ) ) 
    18231825                return $slug; 
    18241826 
     1827        /* @var $wp_rewrite WP_Rewrite 
     1828         * @var $wpdb wpdb */ 
    18251829        global $wpdb, $wp_rewrite; 
     1830         
    18261831        $hierarchical_post_types = apply_filters('hierarchical_post_types', array('page')); 
    18271832        if ( 'attachment' == $post_type ) { 
    18281833                // Attachment slugs must be unique across all types. 
    18291834                $check_sql = "SELECT post_name FROM $wpdb->posts WHERE post_name = %s AND ID != %d LIMIT 1"; 
    18301835                $post_name_check = $wpdb->get_var($wpdb->prepare($check_sql, $slug, $post_ID)); 
    18311836 
    1832                 if ( $post_name_check || in_array($slug, $wp_rewrite->feeds) ) { 
     1837                $feeds = $wp_rewrite->feeds; 
     1838                if ( is_null($feeds) ) 
     1839                        $feeds = array(); 
     1840                 
     1841                if ( $post_name_check || in_array($slug, $feeds) ) { 
    18331842                        $suffix = 2; 
    18341843                        do { 
    18351844                                $alt_post_name = substr($slug, 0, 200-(strlen($suffix)+1)). "-$suffix"; 
     
    18431852                // separate namespace than posts so page slugs are allowed to overlap post slugs. 
    18441853                $check_sql = "SELECT post_name FROM $wpdb->posts WHERE post_name = %s AND post_type IN ( '" . implode("', '", esc_sql($hierarchical_post_types)) . "' ) AND ID != %d AND post_parent = %d LIMIT 1"; 
    18451854                $post_name_check = $wpdb->get_var($wpdb->prepare($check_sql, $slug, $post_ID, $post_parent)); 
     1855                 
     1856                $feeds = $wp_rewrite->feeds; 
     1857                if ( is_null($feeds) ) 
     1858                        $feeds = array(); 
    18461859 
    1847                 if ( $post_name_check || in_array($slug, $wp_rewrite->feeds) ) { 
     1860                if ( $post_name_check || in_array($slug, $feeds) ) { 
    18481861                        $suffix = 2; 
    18491862                        do { 
    18501863                                $alt_post_name = substr($slug, 0, 200-(strlen($suffix)+1)). "-$suffix"; 
  • wp-includes/vars.php

     
    3737// Simple browser detection 
    3838$is_lynx = $is_gecko = $is_winIE = $is_macIE = $is_opera = $is_NS4 = $is_safari = $is_chrome = $is_iphone = false; 
    3939 
     40if ( !isset($_SERVER['HTTP_USER_AGENT']) ) 
     41        $_SERVER['HTTP_USER_AGENT'] = ''; 
     42 
    4043if (strpos($_SERVER['HTTP_USER_AGENT'], 'Lynx') !== false) { 
    4144        $is_lynx = true; 
    4245} elseif ( strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'chrome') !== false ) { 
  • wp-comments-post.php

     
    1717 
    1818nocache_headers(); 
    1919 
    20 $comment_post_ID = (int) $_POST['comment_post_ID']; 
     20$comment_post_ID = isset ($_POST['comment_post_ID']) ? (int) $_POST['comment_post_ID'] : null; 
    2121 
    2222$status = $wpdb->get_row( $wpdb->prepare("SELECT post_status, comment_status FROM $wpdb->posts WHERE ID = %d", $comment_post_ID) ); 
    2323 
  • wp-trackback.php

     
    3636// trackback is done by a POST 
    3737$request_array = 'HTTP_POST_VARS'; 
    3838 
    39 if ( !$_GET['tb_id'] ) { 
     39if ( !isset($_GET['tb_id']) || !$_GET['tb_id'] ) { 
    4040        $tb_id = explode('/', $_SERVER['REQUEST_URI']); 
    4141        $tb_id = intval( $tb_id[ count($tb_id) - 1 ] ); 
    4242} 
    4343 
    44 $tb_url  = $_POST['url']; 
    45 $charset = $_POST['charset']; 
     44$tb_url  = isset($_POST['url'])     ? $_POST['url']     : ''; 
     45$charset = isset($_POST['charset']) ? $_POST['charset'] : ''; 
    4646 
    4747// These three are stripslashed here so that they can be properly escaped after mb_convert_encoding() 
    48 $title     = stripslashes($_POST['title']); 
    49 $excerpt   = stripslashes($_POST['excerpt']); 
    50 $blog_name = stripslashes($_POST['blog_name']); 
     48$title     = isset($_POST['title'])     ? stripslashes($_POST['title'])      : ''; 
     49$excerpt   = isset($_POST['excerpt'])   ? stripslashes($_POST['excerpt'])    : ''; 
     50$blog_name = isset($_POST['blog_name']) ? stripslashes($_POST['blog_name'])  : ''; 
    5151 
    5252if ($charset) 
    5353        $charset = strtoupper( trim($charset) ); 
     
    7272if ( is_single() || is_page() ) 
    7373        $tb_id = $posts[0]->ID; 
    7474 
    75 if ( !intval( $tb_id ) ) 
     75if ( !isset($tb_id) || !intval( $tb_id ) ) 
    7676        trackback_response(1, 'I really need an ID for this to work.'); 
    7777 
    7878if (empty($title) && empty($tb_url) && empty($blog_name)) {