Ticket #18690: 18690.2.diff
| File 18690.2.diff, 24.9 KB (added by , 15 years ago) |
|---|
-
wp-admin/includes/template.php
1813 1813 <div id="contextual-help-wrap" class="hidden"> 1814 1814 <?php 1815 1815 $contextual_help = ''; 1816 if ( isset($_wp_contextual_help[$screen->id]) ) { 1816 if ( isset($_wp_contextual_help[$screen->id]) && is_array($_wp_contextual_help[$screen->id]) ) { 1817 $contextual_help .= '<div class="metabox-prefs">' . "\n"; 1818 1819 /* 1820 * Loop through ['contextual-help-tabs'] 1821 * - It's a nested array where $key=>$value >> $title=>$content 1822 * Has no output so can only loop the array once 1823 */ 1824 $contextual_help_tabs = ''; // store looped content for later 1825 $contextual_help_panels = ''; // store looped content for later 1826 1827 $tab_active = true; 1828 1829 foreach ( $_wp_contextual_help[$screen->id]['tabs'] as $tab ) { 1830 $tab_slug = sanitize_html_class( $tab[ 0 ] ); 1831 $contextual_help_tabs .= '<li class="tab-' . $tab_slug . ( ($tab_active) ? ' active' : '' ) . '">'; 1832 $contextual_help_tabs .= '<a href="#' . $tab_slug . '">' . $tab[1] . '</a>'; 1833 $contextual_help_tabs .= '</li>' ."\n"; 1834 1835 $contextual_help_panels .= '<div id="' . $tab_slug . '" class="help-tab-content' . ( ($tab_active) ? ' active' : '' ) . '">'; 1836 $contextual_help_panels .= $tab[2]; 1837 $contextual_help_panels .= "</div>\n"; 1838 1839 $tab_active = false; 1840 } 1841 1842 // Start output from loop: Tabbed help content 1843 $contextual_help .= '<ul class="contextual-help-tabs">' . "\n"; 1844 $contextual_help .= $contextual_help_tabs; 1845 $contextual_help .= '</ul>' ."\n"; 1846 $contextual_help .= '<div class="contextual-help-tabs-wrap">' . "\n"; 1847 $contextual_help .= $contextual_help_panels; 1848 $contextual_help .= "</div>\n"; 1849 // END: Tabbed help content 1850 1851 // Sidebar to right of tabs 1852 $contextual_help .= '<div class="contextual-help-links">' . "\n"; 1853 $contextual_help .= $_wp_contextual_help[$screen->id]['sidebar']; 1854 $contextual_help .= "</div>\n"; 1855 1856 $contextual_help .= "</div>\n"; // end metabox 1857 1858 } elseif ( isset($_wp_contextual_help[$screen->id]) ) { 1817 1859 $contextual_help .= '<div class="metabox-prefs">' . $_wp_contextual_help[$screen->id] . "</div>\n"; 1818 1860 } else { 1819 1861 $contextual_help .= '<div class="metabox-prefs">'; 1820 $default_help = __('<a href="http://codex.wordpress.org/" target="_blank">Documentation</a>');1862 $default_help = __('<a href="http://codex.wordpress.org/" target="_blank">Documentation</a>'); 1821 1863 $default_help .= '<br />'; 1822 1864 $default_help .= __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>'); 1823 1865 $contextual_help .= apply_filters('default_contextual_help', $default_help); 1824 $contextual_help .= "</div>\n";1866 $contextual_help .= '</div>' . "\n"; 1825 1867 } 1826 1868 1827 1869 echo apply_filters('contextual_help', $contextual_help, $screen->id, $screen); … … 1834 1876 /** 1835 1877 * Add contextual help text for a page 1836 1878 * 1879 * The array $help takes the following format: 1880 * array( 'contextual-help-tabs' => array( $tab1_title => $tab1_value [, $tab2_title => $tab2_value, ...] ), 1881 * 'contextual-help-links' => $help_links_as_string ) 1882 * 1883 * For backwards compatability, a string is also accepted. 1884 * 1837 1885 * @since 2.7.0 1838 1886 * 1839 * @param string $screen The handle for the screen to add help to. This is usually the hook name returned by the add_*_page() functions. 1840 * @param string $help Arbitrary help text 1887 * @param string $screen The handle for the screen to add help to. This is usually the hook name returned by the add_*_page() functions. 1888 * @param array|string $help Creates tabs & links columns within help text in array. 1889 * 1841 1890 */ 1842 1891 function add_contextual_help($screen, $help) { 1843 1892 global $_wp_contextual_help; … … 2077 2126 * @param string $id Screen id, optional. 2078 2127 */ 2079 2128 function set_current_screen( $id = '' ) { 2080 global $current_screen , $hook_suffix, $typenow, $taxnow;2129 global $current_screen; 2081 2130 2082 $ action = '';2131 $current_screen = new WP_Screen( $id ); 2083 2132 2084 if ( empty($id) ) {2085 $current_screen = $hook_suffix;2086 $current_screen = str_replace('.php', '', $current_screen);2087 if ( preg_match('/-add|-new$/', $current_screen) )2088 $action = 'add';2089 $current_screen = str_replace('-new', '', $current_screen);2090 $current_screen = str_replace('-add', '', $current_screen);2091 $current_screen = array('id' => $current_screen, 'base' => $current_screen);2092 } else {2093 $id = sanitize_key($id);2094 if ( false !== strpos($id, '-') ) {2095 list( $id, $typenow ) = explode('-', $id, 2);2096 if ( taxonomy_exists( $typenow ) ) {2097 $id = 'edit-tags';2098 $taxnow = $typenow;2099 $typenow = '';2100 }2101 }2102 $current_screen = array('id' => $id, 'base' => $id);2103 }2104 2105 $current_screen = (object) $current_screen;2106 2107 $current_screen->action = $action;2108 2109 // Map index to dashboard2110 if ( 'index' == $current_screen->base )2111 $current_screen->base = 'dashboard';2112 if ( 'index' == $current_screen->id )2113 $current_screen->id = 'dashboard';2114 2115 if ( 'edit' == $current_screen->id ) {2116 if ( empty($typenow) )2117 $typenow = 'post';2118 $current_screen->id .= '-' . $typenow;2119 $current_screen->post_type = $typenow;2120 } elseif ( 'post' == $current_screen->id ) {2121 if ( empty($typenow) )2122 $typenow = 'post';2123 $current_screen->id = $typenow;2124 $current_screen->post_type = $typenow;2125 } elseif ( 'edit-tags' == $current_screen->id ) {2126 if ( empty($taxnow) )2127 $taxnow = 'post_tag';2128 $current_screen->id = 'edit-' . $taxnow;2129 $current_screen->taxonomy = $taxnow;2130 }2131 2132 $current_screen->is_network = is_network_admin();2133 $current_screen->is_user = is_user_admin();2134 2135 if ( $current_screen->is_network ) {2136 $current_screen->base .= '-network';2137 $current_screen->id .= '-network';2138 } elseif ( $current_screen->is_user ) {2139 $current_screen->base .= '-user';2140 $current_screen->id .= '-user';2141 }2142 2143 2133 $current_screen = apply_filters('current_screen', $current_screen); 2144 2134 } 2145 2135 … … 2271 2261 </script> 2272 2262 <?php 2273 2263 } 2264 2265 class WP_Screen { 2266 var $action = ''; 2267 var $base; 2268 var $id; 2269 var $is_network; 2270 var $is_user; 2271 var $parent_base; 2272 var $parent_file; 2273 var $post_type; 2274 var $taxonomy; 2275 2276 function __construct( $id = '' ) { 2277 global $hook_suffix, $typenow, $taxnow; 2278 2279 $action = ''; 2280 2281 if ( empty( $id ) ) { 2282 $screen = $hook_suffix; 2283 $screen = str_replace('.php', '', $screen); 2284 if ( preg_match('/-add|-new$/', $screen) ) 2285 $action = 'add'; 2286 $screen = str_replace('-new', '', $screen); 2287 $screen = str_replace('-add', '', $screen); 2288 $this->id = $this->base = $screen; 2289 } else { 2290 $id = sanitize_key( $id ); 2291 if ( false !== strpos($id, '-') ) { 2292 list( $id, $typenow ) = explode('-', $id, 2); 2293 if ( taxonomy_exists( $typenow ) ) { 2294 $id = 'edit-tags'; 2295 $taxnow = $typenow; 2296 $typenow = ''; 2297 } 2298 } 2299 $this->id = $this->base = $id; 2300 } 2301 2302 $this->action = $action; 2303 2304 // Map index to dashboard 2305 if ( 'index' == $this->base ) 2306 $this->base = 'dashboard'; 2307 if ( 'index' == $this->id ) 2308 $this->id = 'dashboard'; 2309 2310 if ( 'edit' == $this->id ) { 2311 if ( empty($typenow) ) 2312 $typenow = 'post'; 2313 $this->id .= '-' . $typenow; 2314 $this->post_type = $typenow; 2315 } elseif ( 'post' == $this->id ) { 2316 if ( empty($typenow) ) 2317 $typenow = 'post'; 2318 $this->id = $typenow; 2319 $this->post_type = $typenow; 2320 } elseif ( 'edit-tags' == $this->id ) { 2321 if ( empty($taxnow) ) 2322 $taxnow = 'post_tag'; 2323 $this->id = 'edit-' . $taxnow; 2324 $this->taxonomy = $taxnow; 2325 } 2326 2327 $this->is_network = is_network_admin(); 2328 $this->is_user = is_user_admin(); 2329 2330 if ( $this->is_network ) { 2331 $this->base .= '-network'; 2332 $this->id .= '-network'; 2333 } elseif ( $this->is_user ) { 2334 $this->base .= '-user'; 2335 $this->id .= '-user'; 2336 } 2337 } 2338 2339 function set_parentage( $parent_file ) { 2340 $current_screen->parent_file = $parent_file; 2341 $current_screen->parent_base = preg_replace('/\?.*$/', '', $parent_file); 2342 $current_screen->parent_base = str_replace('.php', '', $current_screen->parent_base); 2343 } 2344 2345 function add_option( $option, $args = array() ) { 2346 return add_screen_option( $option, $args ); 2347 } 2348 2349 function add_help_tab( $id, $title, $content) { 2350 global $_wp_contextual_help; 2351 2352 $_wp_contextual_help[$this->id]['tabs'][] = array( $id, $title, $content ); 2353 } 2354 2355 function add_help_sidebar( $content ) { 2356 global $_wp_contextual_help; 2357 2358 $_wp_contextual_help[$this->id]['sidebar'] = $content; 2359 } 2360 } 2361 No newline at end of file -
wp-admin/js/common.dev.js
237 237 } 238 238 }; 239 239 240 // help tabs 241 $('.contextual-help-tabs').delegate('a', 'click focus', function(e) { 242 var newTab; 240 243 244 e.preventDefault(); 245 246 // don't do anything if the click is for the tab already showing. 247 if ( $(this).is('.active a') ) 248 return false; 249 250 // tab triggers 251 $('.contextual-help-tabs .active').removeClass('active'); 252 $(this).parent('li').addClass('active'); 253 254 newTab = $( $(this).attr('href') ); 255 256 //tabs 257 $('.help-tab-content').not( newTab ).removeClass('active').hide(); 258 newTab.addClass('active').show(); 259 260 }); 261 262 // click the first contextual help tab (should happen when this screenMeta is opened) 263 $('.contextual-help-tabs a:first').click(); 264 241 265 $(document).ready( function() { 242 266 var lastClicked = false, checks, first, last, checked, 243 267 pageInput = $('input.current-page'), currentPage = pageInput.val(); -
wp-admin/edit-form-advanced.php
160 160 do_action('do_meta_boxes', $post_type, 'advanced', $post); 161 161 do_action('do_meta_boxes', $post_type, 'side', $post); 162 162 163 add_screen_option('layout_columns', array('max' => 2, 'default' => 'auto') );163 $current_screen->add_option('layout_columns', array('max' => 2, 'default' => 'auto') ); 164 164 165 165 if ( 'post' == $post_type ) { 166 add_contextual_help($current_screen, 167 '<p>' . __('The title field and the big Post Editing Area are fixed in place, but you can reposition all the other boxes using drag and drop, and can minimize or expand them by clicking the title bar of each box. Use the Screen Options tab to unhide more boxes (Excerpt, Send Trackbacks, Custom Fields, Discussion, Slug, Author) or to choose a 1- or 2-column layout for this screen.') . '</p>' . 168 '<p>' . __('<strong>Title</strong> - Enter a title for your post. After you enter a title, you’ll see the permalink below, which you can edit.') . '</p>' . 169 '<p>' . __('<strong>Post editor</strong> - Enter the text for your post. There are two modes of editing: Visual and HTML. Choose the mode by clicking on the appropriate tab. Visual mode gives you a WYSIWYG editor. Click the last icon in the row to get a second row of controls. The HTML mode allows you to enter raw HTML along with your post text. You can insert media files by clicking the icons above the post editor and following the directions. You can go the distraction-free writing screen, new in 3.2, via the Fullscreen icon in Visual mode (second to last in the top row) or the Fullscreen button in HTML mode (last in the row). Once there, you can make buttons visible by hovering over the top area. Exit Fullscreen back to the regular post editor.') . '</p>' . 170 '<p>' . __('<strong>Publish</strong> - You can set the terms of publishing your post in the Publish box. For Status, Visibility, and Publish (immediately), click on the Edit link to reveal more options. Visibility includes options for password-protecting a post or making it stay at the top of your blog indefinitely (sticky). Publish (immediately) allows you to set a future or past date and time, so you can schedule a post to be published in the future or backdate a post.') . '</p>' . 171 ( ( current_theme_supports( 'post-formats' ) && post_type_supports( 'post', 'post-formats' ) ) ? '<p>' . __( '<strong>Post Format</strong> - This designates how your theme will display a specific post. For example, you could have a <em>standard</em> blog post with a title and paragraphs, or a short <em>aside</em> that omits the title and contains a short text blurb. Please refer to the Codex for <a href="http://codex.wordpress.org/Post_Formats#Supported_Formats">descriptions of each post format</a>. Your theme could enable all or some of 10 possible formats.' ) . '</p>' : '' ) . 172 '<p>' . __('<strong>Featured Image</strong> - This allows you to associate an image with your post without inserting it. This is usually useful only if your theme makes use of the featured image as a post thumbnail on the home page, a custom header, etc.') . '</p>' . 173 '<p>' . __('<strong>Send Trackbacks</strong> - Trackbacks are a way to notify legacy blog systems that you’ve linked to them. Enter the URL(s) you want to send trackbacks. If you link to other WordPress sites they’ll be notified automatically using pingbacks, and this field is unnecessary.') . '</p>' . 174 '<p>' . __('<strong>Discussion</strong> - You can turn comments and pings on or off, and if there are comments on the post, you can see them here and moderate them.') . '</p>' . 175 '<p>' . sprintf(__('You can also create posts with the <a href="%s">Press This bookmarklet</a>.'), 'options-writing.php') . '</p>' . 176 '<p><strong>' . __('For more information:') . '</strong></p>' . 177 '<p>' . __('<a href="http://codex.wordpress.org/Posts_Add_New_Screen" target="_blank">Documentation on Writing and Editing Posts</a>') . '</p>' . 178 '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' 166 $current_screen->add_help_tab( 'customize-display', __('Customizing this display'), 167 '<p>' . __('The title field and the big Post Editing Area are fixed in place, but you can reposition all the other boxes using drag and drop, and can minimize or expand them by clicking the title bar of each box. Use the Screen Options tab to unhide more boxes (Excerpt, Send Trackbacks, Custom Fields, Discussion, Slug, Author) or to choose a 1- or 2-column layout for this screen.') . '</p>' ); 168 $current_screen->add_help_tab( 'title-post-editor', __('Title and post editor'), '<p>' . __('<strong>Title</strong> - Enter a title for your post. After you enter a title, you’ll see the permalink below, which you can edit.') . '</p>' . 169 '<p>' . __('<strong>Post editor</strong> - Enter the text for your post. There are two modes of editing: Visual and HTML. Choose the mode by clicking on the appropriate tab. Visual mode gives you a WYSIWYG editor. Click the last icon in the row to get a second row of controls. The HTML mode allows you to enter raw HTML along with your post text. You can insert media files by clicking the icons above the post editor and following the directions. You can go the distraction-free writing screen, new in 3.2, via the Fullscreen icon in Visual mode (second to last in the top row) or the Fullscreen button in HTML mode (last in the row). Once there, you can make buttons visible by hovering over the top area. Exit Fullscreen back to the regular post editor.') . '</p>' ); 170 $current_screen->add_help_tab( 'publish-box', __('Publish box'), '<p>' . __('<strong>Publish</strong> - You can set the terms of publishing your post in the Publish box. For Status, Visibility, and Publish (immediately), click on the Edit link to reveal more options. Visibility includes options for password-protecting a post or making it stay at the top of your blog indefinitely (sticky). Publish (immediately) allows you to set a future or past date and time, so you can schedule a post to be published in the future or backdate a post.') . '</p>' . 171 ( ( current_theme_supports( 'post-formats' ) && post_type_supports( 'post', 'post-formats' ) ) ? '<p>' . __( '<strong>Post Format</strong> - This designates how your theme will display a specific post. For example, you could have a <em>standard</em> blog post with a title and paragraphs, or a short <em>aside</em> that omits the title and contains a short text blurb. Please refer to the Codex for <a href="http://codex.wordpress.org/Post_Formats#Supported_Formats">descriptions of each post format</a>. Your theme could enable all or some of 10 possible formats.' ) . '</p>' : '' ) . 172 ( ( current_theme_supports( 'post-thumbnails' ) && post_type_supports( 'post', 'thumbnail' ) ) ? '<p>' . __('<strong>Featured Image</strong> - This allows you to associate an image with your post without inserting it. This is usually useful only if your theme makes use of the featured image as a post thumbnail on the home page, a custom header, etc.') . '</p>' : '' ) ); 173 $current_screen->add_help_tab( 'discussion-settings', __('Discussion Settings'), '<p>' . __('<strong>Send Trackbacks</strong> - Trackbacks are a way to notify legacy blog systems that you’ve linked to them. Enter the URL(s) you want to send trackbacks. If you link to other WordPress sites they’ll be notified automatically using pingbacks, and this field is unnecessary.') . '</p>' . 174 '<p>' . __('<strong>Discussion</strong> - You can turn comments and pings on or off, and if there are comments on the post, you can see them here and moderate them.') . '</p>' ); 175 $current_screen->add_help_sidebar( 176 '<p>' . sprintf(__('You can also create posts with the <a href="%s">Press This bookmarklet</a>.'), 'options-writing.php') . '</p>' . 177 '<p><strong>' . __('For more information:') . '</strong></p>' . 178 '<p>' . __('<a href="http://codex.wordpress.org/Posts_Add_New_Screen" target="_blank">Documentation on Writing and Editing Posts</a>') . '</p>' . 179 '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' 179 180 ); 180 181 } elseif ( 'page' == $post_type ) { 181 add_contextual_help($current_screen, '<p>' . __('Pages are similar to Posts in that they have a title, body text, and associated metadata, but they are different in that they are not part of the chronological blog stream, kind of like permanent posts. Pages are not categorized or tagged, but can have a hierarchy. You can nest Pages under other Pages by making one the “Parent” of the other, creating a group of Pages.') . '</p>' . 182 '<p>' . __('Creating a Page is very similar to creating a Post, and the screens can be customized in the same way using drag and drop, the Screen Options tab, and expanding/collapsing boxes as you choose. This screen also has the new in 3.2 distraction-free writing space, available in both the Visual and HTML modes via the Fullscreen buttons. The Page editor mostly works the same as the Post editor, but there are some Page-specific features in the Page Attributes box:') . '</p>' . 183 '<p>' . __('<strong>Parent</strong> - You can arrange your pages in hierarchies. For example, you could have an “About” page that has “Life Story” and “My Dog” pages under it. There are no limits to how many levels you can nest pages.') . '</p>' . 184 '<p>' . __('<strong>Template</strong> - Some themes have custom templates you can use for certain pages that might have additional features or custom layouts. If so, you’ll see them in this dropdown menu.') . '</p>' . 185 '<p>' . __('<strong>Order</strong> - Pages are usually ordered alphabetically, but you can choose your own order by entering a number (1 for first, etc.) in this field.') . '</p>' . 186 '<p><strong>' . __('For more information:') . '</strong></p>' . 187 '<p>' . __('<a href="http://codex.wordpress.org/Pages_Add_New_Screen" target="_blank">Documentation on Adding New Pages</a>') . '</p>' . 188 '<p>' . __('<a href="http://codex.wordpress.org/Pages_Screen#Editing_Individual_Pages" target="_blank">Documentation on Editing Pages</a>') . '</p>' . 189 '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' 182 $current_screen->add_help_tab( 'about-pages', __('About Pages'), '<p>' . __('Pages are similar to Posts in that they have a title, body text, and associated metadata, but they are different in that they are not part of the chronological blog stream, kind of like permanent posts. Pages are not categorized or tagged, but can have a hierarchy. You can nest Pages under other Pages by making one the “Parent” of the other, creating a group of Pages.') . '</p>' . 183 '<p>' . __('Creating a Page is very similar to creating a Post, and the screens can be customized in the same way using drag and drop, the Screen Options tab, and expanding/collapsing boxes as you choose. This screen also has the new in 3.2 distraction-free writing space, available in both the Visual and HTML modes via the Fullscreen buttons. The Page editor mostly works the same as the Post editor, but there are some Page-specific features in the Page Attributes box:') . '</p>' ); 184 $current_screen->add_help_tab('page-attributes', ('Page Attributes'), 185 '<p>' . __('<strong>Parent</strong> - You can arrange your pages in hierarchies. For example, you could have an “About” page that has “Life Story” and “My Dog” pages under it. There are no limits to how many levels you can nest pages.') . '</p>' . 186 '<p>' . __('<strong>Template</strong> - Some themes have custom templates you can use for certain pages that might have additional features or custom layouts. If so, you’ll see them in this dropdown menu.') . '</p>' . 187 '<p>' . __('<strong>Order</strong> - Pages are usually ordered alphabetically, but you can choose your own order by entering a number (1 for first, etc.) in this field.') . '</p>' ); 188 $current_screen->add_help_sidebar( 189 '<p><strong>' . __('For more information:') . '</strong></p>' . 190 '<p>' . __('<a href="http://codex.wordpress.org/Pages_Add_New_Screen" target="_blank">Documentation on Adding New Pages</a>') . '</p>' . 191 '<p>' . __('<a href="http://codex.wordpress.org/Pages_Screen#Editing_Individual_Pages" target="_blank">Documentation on Editing Pages</a>') . '</p>' . 192 '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' 190 193 ); 191 194 } 192 195 -
wp-admin/admin-header.php
111 111 <?php 112 112 unset($title_class, $blog_name, $total_update_count, $update_title); 113 113 114 $current_screen->parent_file = $parent_file; 115 $current_screen->parent_base = preg_replace('/\?.*$/', '', $parent_file); 116 $current_screen->parent_base = str_replace('.php', '', $current_screen->parent_base); 114 $current_screen->set_parentage( $parent_file ); 115 117 116 ?> 118 117 119 118 <div id="wpbody-content"> -
wp-admin/css/wp-admin.dev.css
15 15 6.0 - Admin Header 16 16 6.1 - Favorites Menu 17 17 6.2 - Screen Options Tabs 18 6.3 - Help Menu 18 19 7.0 - Main Navigation 19 20 8.0 - Layout Blocks 20 21 9.0 - Dashboard … … 1491 1492 visibility: hidden; 1492 1493 } 1493 1494 1494 #contextual-help-wrap li {1495 list-style-type: disc;1496 margin-left: 18px;1497 }1498 1495 .toggle-arrow { 1499 1496 background-repeat: no-repeat; 1500 1497 background-position: top left; … … 1528 1525 display: none; 1529 1526 } 1530 1527 1528 /*------------------------------------------------------------------------------ 1529 6.3 - Help Menu 1530 ------------------------------------------------------------------------------*/ 1531 1531 1532 #contextual-help-wrap { 1533 position: relative; 1534 padding: 0; 1535 overflow: hidden; 1536 } 1537 1538 #contextual-help-wrap > .metabox-prefs { 1539 padding: 8px 20px 12px; 1540 max-height: 200px; 1541 overflow: auto; 1542 } 1543 1544 .contextual-help-tabs { 1545 position: absolute; 1546 top: 0; 1547 left: 0; 1548 bottom: 0; 1549 width: 150px; 1550 max-height: 220px; 1551 margin: 0; 1552 overflow: auto; 1553 1554 border-right: 1px solid #dfdfdf; 1555 } 1556 1557 .contextual-help-tabs li { 1558 margin-bottom: 0; 1559 1560 list-style-type: none; 1561 } 1562 1563 .contextual-help-tabs a { 1564 display: block; 1565 padding: 5px 5px 5px 12px; 1566 1567 font-weight: bold; 1568 line-height: 18px; 1569 text-decoration: none; 1570 1571 border-width: 1px 0; 1572 border-style: solid; 1573 border-top-color: #f9f9f9; 1574 border-bottom-color: #dfdfdf; 1575 } 1576 1577 .contextual-help-tabs a:hover { 1578 background-color: #EAF2FA; 1579 color: #333; 1580 } 1581 1582 .contextual-help-tabs .active a, 1583 .contextual-help-tabs .active a:hover { 1584 background: #ffffff; 1585 color: #000000; 1586 } 1587 1588 .contextual-help-tabs-wrap { 1589 position: relative; 1590 display: block; 1591 margin: 0 152px 0 150px; 1592 height: 188px; 1593 overflow: auto; 1594 } 1595 1596 .help-tab-content { 1597 display: none; 1598 margin: 0 22px 12px 0; 1599 padding-right: 20px; 1600 } 1601 1602 .help-tab-content.active { 1603 display: block; 1604 } 1605 1606 .help-tab-content li { 1607 list-style-type: disc; 1608 margin-left: 18px; 1609 } 1610 1611 .contextual-help-links { 1612 position: absolute; 1613 width: 150px; 1614 top: 0; 1615 right: 0; 1616 bottom: 0; 1617 padding: 0 8px 0 12px; 1618 overflow: auto; 1619 1620 background-color: #ffffff; 1621 1622 border-left: 1px solid #dfdfdf; 1623 } 1624 1625 1532 1626 /*------------------------------------------------------------------------------ 1533 1627 7.0 - Main Navigation (Left Menu) 1534 1628 ------------------------------------------------------------------------------*/
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)