WordPress.org

Make WordPress Core

Ticket #16434: 16434.diff

File 16434.diff, 6.3 KB (added by jorbin, 6 years ago)
  • wp-includes/functions.php

     
    17751775                'png' => 'image/png', 
    17761776                'bmp' => 'image/bmp', 
    17771777                'tif|tiff' => 'image/tiff', 
    1778                 'ico' => 'image/x-icon', 
     1778                'ico' => 'image/vnd.microsoft.icon', 
    17791779                'asf|asx|wax|wmv|wmx' => 'video/asf', 
    17801780                'avi' => 'video/avi', 
    17811781                'divx' => 'video/divx', 
  • wp-includes/general-template.php

     
    15871587} 
    15881588 
    15891589/** 
     1590 * Convenience function that echoes the HTML for the site's favicon icon. 
     1591 * By default, automatically included in the header via the 'wp_head' action, which can be removed by themes if a custom favicon is desired. 
     1592 *  
     1593 * @uses generate_site_favicon_html() to do the actual heavy lifting 
     1594 */ 
     1595function site_favicon(){ 
     1596        echo generate_site_favicon_html(); 
     1597} 
     1598add_action( 'wp_head', 'site_favicon' ); 
     1599add_action( 'admin_head', 'site_favicon' ); 
     1600 
     1601/** 
     1602 * Return the HTML for the site's favicon icon, if such has been defined. 
     1603 *  
     1604 * @uses get_site_favicon_uri(); 
     1605 *  
     1606 * Includes the conditional tag wrapper for an IE (.ico) version.  
     1607 */ 
     1608function generate_site_favicon_html() { 
     1609        $ie_favicon_uri = get_site_favicon_uri( 'ico' ); 
     1610        $favicon_uri = get_site_favicon_uri(); 
     1611 
     1612        $content = ""; 
     1613        if (! is_wp_error( $ie_favicon_uri ) && ! is_wp_error( $favicon_uri ) ){ 
     1614 
     1615                $content .= <<<FAVICON_HTML 
     1616<!--Favicon (via 'wp_head' action) --> 
     1617<!--[if IE]> 
     1618<link rel="shortcut icon" href="{$ie_favicon_uri}" /> 
     1619<![endif]--> 
     1620<!--[if !IE]>--> 
     1621<link href="{$favicon_uri}" rel="icon" type="image/png" /> 
     1622<!--<![endif]--> 
     1623FAVICON_HTML; 
     1624    } 
     1625        return $content; 
     1626} 
     1627 
     1628/** 
     1629 * Returns the URI for the site's favicon based on the option set in  Admin > Settings > General. 
     1630 *  
     1631 * @param string $format png|ico default 'png'. Use 'ico' for serving up an IE-compatible ICO file 
     1632 * @return mixed WP_Error | fully qualified URI  
     1633 */ 
     1634function get_site_favicon_uri( $format = 'png' ){ 
     1635        /** @TODO provide error checking for validity of $format and $size */ 
     1636        //return site_url( '/wp-content/uploads/2012/02/wp-favicon_' . $size . 'x' . $size . '.' . $format ); 
     1637        $error = null; 
     1638 
     1639        $favicon_basename = get_option ( 'sitefavicon' );  
     1640        if ( ! empty( $favicon_basename ) ) { 
     1641                $favicon_fullname = $favicon_basename . '-' . $format; 
     1642                 
     1643                $posts = get_posts( array( 'name' => $favicon_fullname, 'post_type' => 'attachment' ) ); 
     1644                if ( $posts[0] ){ 
     1645                        $favicon_file = wp_get_attachment_url( $posts[0]->ID ); 
     1646                                return $favicon_file ; 
     1647                } else { 
     1648                        $error = new WP_Error( 'attachment_missing', __( "Favicon file '$favicon_fullname' not found." ) ); 
     1649                } 
     1650        } else { 
     1651                $error = new WP_Error( 'no_icon', __( "No favicon file provided." ) ); 
     1652        } 
     1653 
     1654        // We get here because of an error condition 
     1655        /** @TODO default to the theme's favicon **/ 
     1656        return $error; 
     1657} 
     1658 
     1659/** 
    15901660 * Display the links to the general feeds. 
    15911661 * 
    15921662 * @since 2.8.0 
  • wp-includes/script-loader.php

     
    8888 
    8989        $scripts->add( 'wp-fullscreen', "/wp-admin/js/wp-fullscreen$suffix.js", array('jquery'), false, 1 ); 
    9090 
     91        $scripts->add( 'wp-favicon', "/wp-admin/js/wp-favicon$suffix.js", array('jquery'), false, 1 ); 
     92 
    9193        $scripts->add( 'prototype', '/wp-includes/js/prototype.js', array(), '1.6.1'); 
    9294 
    9395        $scripts->add( 'wp-ajax-response', "/wp-includes/js/wp-ajax-response$suffix.js", array('jquery'), false, 1 ); 
  • wp-admin/js/wp-favicon.dev.js

     
     1(function($){ 
     2    $('#faviconfile').change(function(){ 
     3        // check the file extention 
     4        if (! $.inArray( $(this).val().split('.').pop().toLowerCase() , /* valid file extentions */ ['gif','png','jpg','jpeg'] ) )  
     5            $('#favicon-invalid-filetype').show(); 
     6        else 
     7        { 
     8            $('#faviconupload').submit(); 
     9        } 
     10    }); 
     11 
     12})(jQuery); 
  • wp-admin/js/wp-favicon.js

     
     1(function($){ 
     2    $('#faviconfile').change(function(){ 
     3        // check the file extention 
     4        if (! $.inArray( $(this).val().split('.').pop().toLowerCase() , /* valid file extentions */ ['gif','png','jpg','jpeg'] ) )  
     5            $('#favicon-invalid-filetype').show(); 
     6        else 
     7        { 
     8            $('#faviconupload').submit(); 
     9        } 
     10    }); 
     11 
     12})(jQuery); 
  • wp-admin/options-general.php

     
    8181        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' 
    8282); 
    8383 
     84wp_enqueue_script('wp-favicon'); 
     85 
    8486include('./admin-header.php'); 
    8587?> 
    8688 
     
    8890<?php screen_icon(); ?> 
    8991<h2><?php echo esc_html( $title ); ?></h2> 
    9092 
     93<form action="<?php echo admin_url('favicon-upload.php')?>" method="post" enctype="multipart/form-data" id="faviconupload"> 
     94        <input type="hidden" name="action" value="wp_upload_favicon" /> 
     95 
     96        <table class="form-table"> 
     97                <tr valign="top"> 
     98                        <th scope="row"><label for="sitefavicon"><?php _e('Favicon') ?></label></th> 
     99                        <td> 
     100                                <?php //echo generate_media_thumbnail_link( 'options-general-favicon', 0,  __( 'Upload favicon image' ) ); ?> 
     101                                <input class="button" name="avatarfile" type="file" id="faviconfile" size="20" /> 
     102                                <p class="submit no-js hide-if-js"><input type="submit" name="Submit" value="Upload Image &raquo;" id="faviconsubmit" /></p> 
     103                                <span class="description no-js"><?php _e('Click to upload your own custom icon ("favicon") for your blog. You\'ll be able to crop and scale it once it\'s uploaded.') ?></span> 
     104                        </td> 
     105                </tr> 
     106        </table> 
     107</form> 
     108 
     109 
    91110<form method="post" action="options.php"> 
    92111<?php settings_fields('general'); ?> 
    93112