WordPress.org

Make WordPress Core

Ticket #9657: 9657.3.patch

File 9657.3.patch, 13.7 KB (added by hakre, 9 years ago)

deb0rked

  • wp-admin/rtl.css

     
    404404#screen-meta-links {
    405405        margin: 0 0 0 9px;
    406406}
    407 #screen-options-link-wrap,
    408 #contextual-help-link-wrap {
     407.screen-metas-link-wrap {
    409408        float: left;
    410409        font-family: Tahoma, "Times New Roman";
    411410        margin: 0 0 0 6px;
  • wp-admin/wp-admin.css

     
    24452445        visibility: hidden;
    24462446}
    24472447
    2448 #screen-options-link-wrap,
    2449 #contextual-help-link-wrap {
     2448.screen-metas-link-wrap {
    24502449        float: right;
    24512450        background: transparent url( images/screen-options-left.gif ) no-repeat 0 0;
    24522451        font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif;
     
    24552454        margin: 0 6px 0 0;
    24562455}
    24572456
    2458 #screen-meta a.show-settings {
     2457#screen-meta a.screen-metas-link {
    24592458        text-decoration: none;
    24602459        z-index: 1;
    24612460        padding: 0 16px 0 6px;
     
    24672466        background-position: right bottom;
    24682467}
    24692468
    2470 #screen-meta a.show-settings {
     2469#screen-meta a.screen-metas-link {
    24712470        background-image: url( images/screen-options-right.gif );
    24722471}
    24732472
    2474 #screen-meta a.show-settings:hover {
     2473#screen-meta a.screen-metas-link:hover {
    24752474        text-decoration: none;
    24762475}
    24772476
    2478 #screen-options-wrap h5,
    2479 #contextual-help-wrap h5 {
     2477#screen-meta a.screen-metas-link.screen-options-open {
     2478        background-image: url( images/screen-options-right-up.gif );
     2479}
     2480
     2481#screen-meta .screen-metas-wrap h5 {
    24802482        margin: 8px 0;
    24812483        font-size: 13px;
    24822484}
    24832485
    2484 #screen-options-wrap,
    2485 #contextual-help-wrap {
     2486#screen-meta .screen-metas-wrap {
    24862487        border-style: none solid solid;
    24872488        border-top: 0 none;
    24882489        border-width: 0 1px 1px;
  • wp-admin/css/colors-classic.css

     
    12351235        color: #d54e21;
    12361236}
    12371237
    1238 #screen-options-wrap,
    1239 #contextual-help-wrap {
     1238.screen-metas-wrap {
    12401239        background-color: #eae9e4;
    12411240        border-color: #dfdfdf;
    12421241}
    12431242
    1244 #screen-meta-links a.show-settings {
     1243#screen-meta-links a.screen-metas-link {
    12451244        color: #606060;
    12461245}
    12471246
    1248 #screen-meta-links a.show-settings:hover {
     1247#screen-meta-links a.screen-metas-link:hover {
    12491248        color: #000;
    12501249}
    12511250
     
    14911490        text-shadow: rgba(0,0,0,0.3) 0 -1px 0;
    14921491}
    14931492
    1494 #screen-meta a.show-settings {
     1493#screen-meta a.screen-metas-link {
    14951494        background-color: transparent;
    14961495        text-shadow: rgba(255,255,255,0.7) 0 1px 0;
    14971496}
  • wp-admin/css/colors-fresh.css

     
    12301230        color: #D54E21;
    12311231}
    12321232
    1233 #screen-options-wrap,
    1234 #contextual-help-wrap {
     1233.screen-metas-wrap {
    12351234        background-color: #f1f1f1;
    12361235        border-color: #dfdfdf;
    12371236}
    12381237
    1239 #screen-meta-links a.show-settings {
     1238#screen-meta-links a.screen-metas-link {
    12401239        color: #606060;
    12411240}
    12421241
    1243 #screen-meta-links a.show-settings:hover {
     1242#screen-meta-links a.screen-metas-link:hover {
    12441243        color: #000;
    12451244}
    12461245
     
    14801479        text-shadow: rgba(0,0,0,0.3) 0 -1px 0;
    14811480}
    14821481
    1483 #screen-meta a.show-settings {
     1482#screen-meta a.screen-metas-link {
    14841483        background-color: transparent;
    14851484        text-shadow: rgba(255,255,255,0.7) 0 1px 0;
    14861485}
  • wp-admin/css/ie.css

     
    2626        height: 300px;
    2727}
    2828
    29 * html #wpbody-content #screen-options-link-wrap {
     29* html #wpbody-content .screen-metas-link-wrap {
    3030        display: inline-block;
    31         width: 150px;
     31        width: auto;
     32        float: right;
    3233        text-align: center;
     34        postion: fixed;
    3335}
    34 
    35 * html #wpbody-content #contextual-help-link-wrap {
    36         display: inline-block;
    37         width: 100px;
    38         text-align: center;
     36* html #wpbody-content .screen-metas-link-wrap a {     
     37        width: 1px !imporant;
     38        white-space: nowrap;
    3939}
    4040
    4141* html #adminmenu {
     
    208208        position: relative;
    209209}
    210210
    211 #screen-options-wrap {
     211.screen-metas-wrap {
    212212        overflow: hidden;
    213213}
    214214
  • wp-admin/includes/template.php

     
    33973397        }
    33983398}
    33993399
    3400 function screen_meta($screen) {
    3401         global $wp_meta_boxes, $_wp_contextual_help;
    3402 
    3403         $screen = str_replace('.php', '', $screen);
    3404         $screen = str_replace('-new', '', $screen);
    3405         $screen = str_replace('-add', '', $screen);
    3406         $screen = apply_filters('screen_meta_screen', $screen);
    3407 
    3408         $column_screens = get_column_headers($screen);
    3409         $meta_screens = array('index' => 'dashboard');
    3410 
    3411         if ( isset($meta_screens[$screen]) )
    3412                 $screen = $meta_screens[$screen];
    3413         $show_screen = false;
    3414         $show_on_screen = false;
    3415         if ( !empty($wp_meta_boxes[$screen]) || !empty($column_screens) ) {
    3416                 $show_screen = true;
    3417                 $show_on_screen = true;
    3418         }
    3419 
    3420         $screen_options = screen_options($screen);
    3421         if ( $screen_options )
    3422                 $show_screen = true;
    3423 
     3400/**
     3401 * contextual help for a screen
     3402 *
     3403 * @param  string $screen screen
     3404 * @return string
     3405 */
     3406function screen_meta_help($screen) {
     3407        global $_wp_contextual_help;
     3408       
    34243409        if ( !isset($_wp_contextual_help) )
    34253410                $_wp_contextual_help = array();
    34263411
     
    34693454                        }
    34703455                        break;
    34713456        }
    3472 ?>
    3473 <div id="screen-meta">
    3474 <?php
     3457       
     3458        // $_wp_contextual_help set now.
     3459       
     3460        global $title;
     3461
     3462        $_wp_contextual_help = apply_filters('contextual_help_list', $_wp_contextual_help, $screen);
     3463
     3464                $contextual_help = '';
     3465        if ( isset($_wp_contextual_help[$screen]) ) {
     3466                if ( !empty($title) )
     3467                        $contextual_help .= '<h5>' . sprintf(__('Get help with &#8220;%s&#8221;'), $title) . '</h5>';
     3468                else
     3469                        $contextual_help .= '<h5>' . __('Get help with this page') . '</h5>';
     3470                $contextual_help .= '<div class="metabox-prefs">' . $_wp_contextual_help[$screen] . "</div>\n";
     3471
     3472                $contextual_help .= '<h5>' . __('Other Help') . '</h5>';
     3473        } else {
     3474                $contextual_help .= '<h5>' . __('Help') . '</h5>';
     3475        }
     3476
     3477        $contextual_help .= '<div class="metabox-prefs">';
     3478        $default_help = __('<a href="http://codex.wordpress.org/" target="_blank">Documentation</a>');
     3479        $default_help .= '<br />';
     3480        $default_help .= __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>');
     3481        $contextual_help .= apply_filters('default_contextual_help', $default_help);
     3482        $contextual_help .= "</div>\n";
     3483       
     3484        $contextual_help = apply_filters('contextual_help', $contextual_help, $screen);
     3485       
     3486        return $contextual_help;       
     3487}
     3488
     3489/**
     3490 * screen options for a screen
     3491 *
     3492 * @package WordPress
     3493 * @since 2.8
     3494 *
     3495 * @param   string $screen screen
     3496 * @return  string
     3497 */
     3498function  screen_meta_options($screen) {
     3499        global $wp_meta_boxes;
     3500       
     3501        $column_screens = get_column_headers($screen);
     3502        $meta_screens = array('index' => 'dashboard');
     3503
     3504        if ( isset($meta_screens[$screen]) )
     3505                $screen = $meta_screens[$screen];
     3506               
     3507        $show_screen = false;
     3508        $show_on_screen = false;
     3509        if ( !empty($wp_meta_boxes[$screen]) || !empty($column_screens) ) {
     3510                $show_screen = true;
     3511                $show_on_screen = true;
     3512        }
     3513
     3514        $screen_options = screen_options($screen);
     3515        if ( $screen_options )
     3516                $show_screen = true;
     3517               
     3518        ob_start();
    34753519        if ( $show_screen ) :
    34763520?>
    3477 <div id="screen-options-wrap" class="hidden">
    3478         <form id="adv-settings" action="" method="post">
    34793521<?php if ( $show_on_screen ) : ?>
     3522<form id="adv-settings" action="" method="post">       
    34803523        <h5><?php _e('Show on screen') ?></h5>
    34813524        <div class="metabox-prefs">
    34823525<?php
     
    34913534<?php echo $screen_options; ?>
    34923535<div><?php wp_nonce_field( 'screen-options-nonce', 'screenoptionnonce', false ); ?></div>
    34933536</form>
    3494 </div>
    3495 
    34963537<?php
    34973538        endif;
     3539       
     3540        $return = ob_get_clean();
     3541       
     3542        return $return;
     3543}
    34983544
    3499         global $title;
     3545/**
     3546 * screen metas for a certain screen
     3547 *
     3548 * outputs html code to display screen meta links on top (normally
     3549 * screen options and the help tab)
     3550 *
     3551 * @package WordPress
     3552 * @since 2.7
     3553 *
     3554 * @param  string $screen
     3555 * @return void
     3556 */
     3557function screen_meta($screen) {
     3558        $screen = str_replace(array('.php', '-new', '-add'), '', $screen);
     3559        $screen = apply_filters('screen_meta_screen', $screen);
    35003560
    3501         $_wp_contextual_help = apply_filters('contextual_help_list', $_wp_contextual_help, $screen);
    3502         ?>
    3503         <div id="contextual-help-wrap" class="hidden">
    3504         <?php
    3505         $contextual_help = '';
    3506         if ( isset($_wp_contextual_help[$screen]) ) {
    3507                 if ( !empty($title) )
    3508                         $contextual_help .= '<h5>' . sprintf(__('Get help with &#8220;%s&#8221;'), $title) . '</h5>';
    3509                 else
    3510                         $contextual_help .= '<h5>' . __('Get help with this page') . '</h5>';
    3511                 $contextual_help .= '<div class="metabox-prefs">' . $_wp_contextual_help[$screen] . "</div>\n";
     3561        // TODO: update css and js files to finish
     3562               
     3563        // basic metas are screen options and contextual help
     3564        $basic_metas = array();
     3565        $basic_metas[] = array(__('Help'), screen_meta_help($screen)); 
     3566        $basic_metas[] = array(__('Screen Options'), screen_meta_options($screen));
     3567       
     3568        // filter screen metas
     3569        $basic_metas  = apply_filters('screen_meta_basic_metas', $basic_metas, $screen);               
     3570        $extra_metas  = apply_filters('screen_meta_extra_metas', array(), $screen);
    35123571
    3513                 $contextual_help .= '<h5>' . __('Other Help') . '</h5>';
    3514         } else {
    3515                 $contextual_help .= '<h5>' . __('Help') . '</h5>';
     3572        // merge and filter empty
     3573        $screen_metas = array_merge($basic_metas, array_values($extra_metas)); 
     3574        $screen_metas = array_filter($screen_metas, create_function('$a', 'return strlen($a[1]);'));
     3575?>
     3576<div id="screen-meta">
     3577<?php
     3578        foreach($screen_metas as $i => $screen_meta) {
     3579                printf('<div id="screen-meta-%d-wrap" class="screen-metas-wrap hidden">%s</div>', $i, $screen_meta[1]);
    35163580        }
    3517 
    3518         $contextual_help .= '<div class="metabox-prefs">';
    3519         $default_help = __('<a href="http://codex.wordpress.org/" target="_blank">Documentation</a>');
    3520         $default_help .= '<br />';
    3521         $default_help .= __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>');
    3522         $contextual_help .= apply_filters('default_contextual_help', $default_help);
    3523         $contextual_help .= "</div>\n";
    3524         echo apply_filters('contextual_help', $contextual_help, $screen);
    3525         ?>
    3526         </div>
    3527 
     3581?>
    35283582<div id="screen-meta-links">
    3529 <div id="contextual-help-link-wrap" class="hide-if-no-js screen-meta-toggle">
    3530 <a href="#contextual-help" id="contextual-help-link" class="show-settings"><?php _e('Help') ?></a>
     3583<?php
     3584        foreach( $screen_metas as $i => $screen_meta ) {
     3585                printf('<div id="screen-meta-%d-link-wrap" class="screen-metas-link-wrap hide-if-no-js screen-meta-toggle">', $i);
     3586                printf('<a href="#screen-meta-%d" id="screen-meta-%d-link" class="screen-metas-link">%s</a></div>', $i, $i, $screen_meta[0]);           
     3587        }
     3588?>
    35313589</div>
    3532 <?php if ( $show_screen ) { ?>
    3533 <div id="screen-options-link-wrap" class="hide-if-no-js screen-meta-toggle">
    3534 <a href="#screen-options" id="show-settings-link" class="show-settings"><?php _e('Screen Options') ?></a>
    35353590</div>
    3536 <?php } ?>
    3537 </div>
    3538 </div>
    35393591<?php
    35403592}
    35413593
  • wp-admin/js/common.dev.js

     
    152152                }
    153153        });
    154154
    155         // screen settings tab
    156         $('#show-settings-link').click(function () {
    157                 if ( ! $('#screen-options-wrap').hasClass('screen-options-open') ) {
    158                         $('#contextual-help-link-wrap').addClass('invisible');
    159                 }
    160                 $('#screen-options-wrap').slideToggle('fast', function(){
    161                         if ( $(this).hasClass('screen-options-open') ) {
    162                                 $('#show-settings-link').css({'backgroundImage':'url("images/screen-options-right.gif")'});
    163                                 $('#contextual-help-link-wrap').removeClass('invisible');
    164                                 $(this).removeClass('screen-options-open');
     155        // screen meta tabs
     156        $('#screen-meta-links .screen-metas-link-wrap a').click(function() {
    165157
    166                         } else {
    167                                 $('#show-settings-link').css({'backgroundImage':'url("images/screen-options-right-up.gif")'});
    168                                 $(this).addClass('screen-options-open');
    169                         }
    170                 });
    171                 return false;
    172         });
    173 
    174         // help tab
    175         $('#contextual-help-link').click(function () {
    176                 if ( ! $('#contextual-help-wrap').hasClass('contextual-help-open') ) {
    177                         $('#screen-options-link-wrap').addClass('invisible');
     158                var thisLink   = $(this);
     159                var thisWrap   = $(this).parent().get(0);                                                                       
     160                var thisOpened = $(this).hasClass('screen-options-open') ? true : false;
     161                                                               
     162                // get thisMeta (the wrap that contains this meta stuff)
     163                var thisMeta = $('#' + $(thisWrap).attr('id').replace(/-link/, ''));
     164               
     165                // hide others
     166                if (!thisOpened) {
     167                        $('.screen-metas-link-wrap').each(function(){
     168                                if (this != thisWrap)
     169                                        $(this).addClass('invisible');
     170                        });                                                     
    178171                }
    179                 $('#contextual-help-wrap').slideToggle('fast', function(){
    180                         if ( $(this).hasClass('contextual-help-open') ) {
    181                                 $('#contextual-help-link').css({'backgroundImage':'url("images/screen-options-right.gif")'});
    182                                 $('#screen-options-link-wrap').removeClass('invisible');
    183                                 $(this).removeClass('contextual-help-open');
    184                         } else {
    185                                 $('#contextual-help-link').css({'backgroundImage':'url("images/screen-options-right-up.gif")'});
    186                                 $(this).addClass('contextual-help-open');
    187                         }
    188                 });
    189                 return false;
     172               
     173                // slide in thisMeta
     174                $(thisMeta).slideToggle('fast', function(){
     175                        $(thisLink).toggleClass('screen-options-open');
     176                        $(this).toggleClass('screen-options-open');
     177                        if (!$(this).hasClass('screen-options-open')) {
     178                                $('.screen-metas-link-wrap').removeClass('invisible');
     179                        }                                                                                                                       
     180                });                                                                                     
    190181        });
    191         $('#contextual-help-link-wrap, #screen-options-link-wrap').show();
     182       
     183        $('.screen-metas-link-wrap').show();
     184       
    192185
    193186        // check all checkboxes
    194187        $( 'table:visible tbody .check-column :checkbox' ).click( function(e) {