WordPress.org

Make WordPress Core

Ticket #5911: 5911-13.diff

File 5911-13.diff, 7.7 KB (added by andy, 10 years ago)

error improvements, localization, and icon improvements -- please do not commit before new icons arrive in wp-includes/images/crystal

  • wp-includes/post.php

     
    884884        $wild = '[-._a-z0-9]*';
    885885        foreach ( (array) $wildcard_mime_types as $type ) {
    886886                $type = str_replace('*', $wild, $type);
    887                 $patternses[1][$type] = $type;
     887                $patternses[1][$type] = "^$type$";
    888888                if ( false === strpos($type, '/') ) {
    889                         $patternses[2][$type] = "^$type/$wild$";
    890                         $patternses[3][$type] = "$wild$type$wild";
     889                        $patternses[2][$type] = "^$type/";
     890                        $patternses[3][$type] = $type;
    891891                }
    892892        }
    893893        asort($patternses);
     
    23612361function wp_mime_type_icon( $mime = 0 ) {
    23622362        if ( !is_numeric($mime) )
    23632363                $icon = wp_cache_get("mime_type_icon_$mime");
    2364 
    23652364        if ( empty($icon) ) {
    23662365                $post_id = 0;
    23672366                $post_mimes = array();
     
    23702369                        if ( $post =& get_post( $mime ) ) {
    23712370                                $post_id = (int) $post->ID;
    23722371                                $ext = preg_replace('/^.+?\.([^.]+)$/', '$1', $post->guid);
    2373                                 if ( !empty($ext) )
     2372                                if ( !empty($ext) ) {
    23742373                                        $post_mimes[] = $ext;
     2374                                        if ( $ext_type = wp_ext2type( $ext ) )
     2375                                                $post_mimes[] = $ext_type;
     2376                                }
    23752377                                $mime = $post->post_mime_type;
    23762378                        } else {
    23772379                                $mime = 0;
     
    23832385                $icon_files = wp_cache_get('icon_files');
    23842386
    23852387                if ( !is_array($icon_files) ) {
    2386                         $icon_dir = apply_filters( 'icon_dir', ABSPATH . WPINC . '/images' );
    2387                         $icon_dir_uri = apply_filters( 'icon_dir_uri', trailingslashit(get_option('siteurl')) . WPINC . '/images' );
     2388                        $icon_dir = apply_filters( 'icon_dir', ABSPATH . WPINC . '/images/crystal' );
     2389                        $icon_dir_uri = apply_filters( 'icon_dir_uri', trailingslashit(get_option('siteurl')) . WPINC . '/images/crystal' );
    23882390                        $dirs = apply_filters( 'icon_dirs', array($icon_dir => $icon_dir_uri) );
    23892391                        $icon_files = array();
    2390                         foreach ( $dirs as $dir => $uri) {
     2392                        while ( $dirs ) {
     2393                                $dir = array_shift(array_keys($dirs));
     2394                                $uri = array_shift($dirs);
    23912395                                if ( $dh = opendir($dir) ) {
    23922396                                        while ( false !== $file = readdir($dh) ) {
    23932397                                                $file = basename($file);
     2398                                                if ( substr($file, 0, 1) == '.' )
     2399                                                        continue;
    23942400                                                if ( !in_array(strtolower(substr($file, -4)), array('.png', '.gif', '.jpg') ) ) {
    2395                                                         if ( is_dir($file) )
     2401                                                        if ( is_dir("$dir/$file") )
    23962402                                                                $dirs["$dir/$file"] = "$uri/$file";
    23972403                                                        continue;
    23982404                                                }
  • wp-includes/js/swfupload/handlers.js

     
    117117
    118118// file-specific message
    119119function wpFileError(fileObj, message) {
    120         jQuery('#media-upload-error-' + fileObj.id).show().text(message);
     120        jQuery('#media-item-' + fileObj.id + ' .filename').append('<span class="file-error">'+message+'</span> <button type="button" class="button dismiss">'+swfuploadL10n.dismiss+'</button>');
     121        jQuery('.dismiss').click(function(){jQuery(this).parents('.media-item').slideUp(200, function(){jQuery(this).remove();})});
    121122}
    122123
    123124function fileQueueError(fileObj, error_code, message)  {
     
    126127                wpQueueError(swfuploadL10n.queue_limit_exceeded);
    127128        }
    128129        else if ( error_code == SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT ) {
     130                fileQueued(fileObj);
    129131                wpFileError(fileObj, swfuploadL10n.file_exceeds_size_limit);
    130132        }
    131133        else if ( error_code == SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE ) {
     134                fileQueued(fileObj);
    132135                wpFileError(fileObj, swfuploadL10n.zero_byte_file);
    133136        }
    134137        else if ( error_code == SWFUpload.QUEUE_ERROR.INVALID_FILETYPE ) {
     138                fileQueued(fileObj);
    135139                wpFileError(fileObj, swfuploadL10n.invalid_filetype);
    136140        }
    137141        else {
  • wp-includes/functions.php

     
    11751175        return array( 'file' => $new_file, 'url' => $url, 'error' => false );
    11761176}
    11771177
     1178function wp_ext2type( $ext ) {
     1179        $ext2type = apply_filters('ext2type', array(
     1180                'audio' => array('aac','ac3','aif','aiff','mp1','mp2','mp3','m3a','m4a','m4b','ogg','ram','wav','wma'),
     1181                'video' => array('asf','avi','divx','dv','mov','mpg','mpeg','mp4','mpv','ogm','qt','rm','vob','wmv'),
     1182                'document' => array('doc','pages','odt','rtf','pdf'),
     1183                'spreadsheet' => array('xls','numbers','ods'),
     1184                'interactive' => array('ppt','key','odp','swf'),
     1185                'text' => array('txt'),
     1186                'archive' => array('tar','bz2','gz','cab','dmg','rar','sea','sit','sqx','zip'),
     1187                'code' => array('css','html','php','js'),               
     1188        ));
     1189        foreach ( $ext2type as $type => $exts )
     1190                if ( in_array($ext, $exts) )
     1191                        return $type;
     1192}
    11781193
    11791194function wp_check_filetype( $filename, $mimes = null ) {
    11801195        // Accepted MIME types are set here as PCRE unless provided.
  • wp-includes/script-loader.php

     
    8888                $this->add( 'swfupload', '/wp-includes/js/swfupload/swfupload.js', false, '2.0.2');
    8989                $this->add( 'swfupload-degrade', '/wp-includes/js/swfupload/plugins/swfupload.graceful_degradation.js', array('swfupload'), '2.0.2');
    9090                $this->add( 'swfupload-queue', '/wp-includes/js/swfupload/plugins/swfupload.queue.js', array('swfupload'), '2.0.2');
    91                 $this->add( 'swfupload-handlers', '/wp-includes/js/swfupload/handlers.js', array('swfupload'), '2.0.2-20080227');
     91                $this->add( 'swfupload-handlers', '/wp-includes/js/swfupload/handlers.js', array('swfupload'), '2.0.2-20080228');
    9292                // these error messages came from the sample swfupload js, they might need changing.
    9393                $this->localize( 'swfupload-handlers', 'swfuploadL10n', array(
    94                                 'queue_limit_exceeded' => 'You have attempted to queue too many files.',
    95                                 'file_exceeds_size_limit' => 'The file you have selected is too big.',
    96                                 'zero_byte_file' => 'The file you selected is empty.  Please select another file.',
    97                                 'invalid_filetype' => 'The file you choose is not an allowed file type.',
    98                                 'default_error' => 'An error occurred in the upload. Please try again later.',
    99                                 'missing_upload_url' => 'There was a configuration error.  Please contact the server administrator.',
    100                                 'upload_limit_exceeded' => 'You may only upload 1 file.',
    101                                 'http_error' => 'HTTP error.',
    102                                 'upload_failed' => 'Upload failed.',
    103                                 'io_error' => 'IO error.',
    104                                 'security_error' => 'Security error.',
    105                                 'file_cancelled' => 'File cancelled.',
    106                                 'upload_stopped' => 'Upload stopped.',
    107 
     94                                'queue_limit_exceeded' => __('You have attempted to queue too many files.'),
     95                                'file_exceeds_size_limit' => __('This file is too big. See php.ini.'),
     96                                'zero_byte_file' => __('The file you selected is empty. Please select another file.'),
     97                                'invalid_filetype' => __('The file you choose is not an allowed file type.'),
     98                                'default_error' => __('An error occurred in the upload. Please try again later.'),
     99                                'missing_upload_url' => __('There was a configuration error. Please contact the server administrator.'),
     100                                'upload_limit_exceeded' => __('You may only upload 1 file.'),
     101                                'http_error' => __('HTTP error.'),
     102                                'upload_failed' => __('Upload failed.'),
     103                                'io_error' => __('IO error.'),
     104                                'security_error' => __('Security error.'),
     105                                'file_cancelled' => __('File cancelled.'),
     106                                'upload_stopped' => __('Upload stopped.'),
     107                                'dismiss' => __('Dismiss'),
    108108                ) );
    109109
    110110                $this->add( 'jquery-ui-tabs', '/wp-includes/js/jquery/ui.tabs.js', array('jquery'), '3' );
  • wp-admin/css/media.css

     
    2121        color: #f00;
    2222}
    2323
     24.file-error {
     25        font-weight: bold;
     26        color: #f00;
     27        margin: 0 15px;
     28}
     29
    2430form {
    2531        margin: 1em;
    2632}