<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; }
#msg ul, pre { overflow: auto; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<title>[16368] trunk: Introduce WP_List_Table::get_column_count()
  and take care of update notice &lt;tr&gt;.</title>
</head>
<body>

<div id="msg">
<dl>
<dt>Revision</dt> <dd><a href="http://trac.wordpress.org/changeset/16368">16368</a></dd>
<dt>Author</dt> <dd>scribu</dd>
<dt>Date</dt> <dd>2010-11-14 18:00:09 +0000 (Sun, 14 Nov 2010)</dd>
</dl>

<h3>Log Message</h3>
<pre>Introduce WP_List_Table::get_column_count() and take care of update notice &lt;tr&gt;. Props ocean90 for initial patch. Fixes <a href="http://trac.wordpress.org/ticket/15318">#15318</a></pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkwpadminincludesclasswplisttablephp">trunk/wp-admin/includes/class-wp-list-table.php</a></li>
<li><a href="#trunkwpadminincludesclasswppostslisttablephp">trunk/wp-admin/includes/class-wp-posts-list-table.php</a></li>
<li><a href="#trunkwpadminincludesclasswptermslisttablephp">trunk/wp-admin/includes/class-wp-terms-list-table.php</a></li>
<li><a href="#trunkwpadminincludestemplatephp">trunk/wp-admin/includes/template.php</a></li>
<li><a href="#trunkwpadminincludesupdatephp">trunk/wp-admin/includes/update.php</a></li>
<li><a href="#trunkwpadminjscommondevjs">trunk/wp-admin/js/common.dev.js</a></li>
<li><a href="#trunkwpadminjscommonjs">trunk/wp-admin/js/common.js</a></li>
<li><a href="#trunkwpincludesscriptloaderphp">trunk/wp-includes/script-loader.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkwpadminincludesclasswplisttablephp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/includes/class-wp-list-table.php (16367 => 16368)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/includes/class-wp-list-table.php        2010-11-14 17:33:34 UTC (rev 16367)
+++ trunk/wp-admin/includes/class-wp-list-table.php        2010-11-14 18:00:09 UTC (rev 16368)
</span><span class="lines">@@ -550,6 +550,20 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         /**
</span><ins>+         * Return number of visible columns
+         *
+         * @since 3.1.0
+         * @access public
+         *
+         * @return int
+         */
+        function get_column_count() {
+                list ( $columns, $hidden ) = $this-&gt;get_column_info();
+                $hidden = array_intersect( array_keys( $columns ), array_filter( $hidden ) );
+                return count( $columns ) - count( $hidden );
+        }
+
+        /**
</ins><span class="cx">          * Print column headers, accounting for hidden and sortable columns.
</span><span class="cx">          *
</span><span class="cx">          * @since 3.1.0
</span></span></pre></div>
<a id="trunkwpadminincludesclasswppostslisttablephp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/includes/class-wp-posts-list-table.php (16367 => 16368)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/includes/class-wp-posts-list-table.php        2010-11-14 17:33:34 UTC (rev 16367)
+++ trunk/wp-admin/includes/class-wp-posts-list-table.php        2010-11-14 18:00:09 UTC (rev 16368)
</span><span class="lines">@@ -703,9 +703,6 @@
</span><span class="cx">                                 $flat_taxonomies[] = $taxonomy;
</span><span class="cx">                 }
</span><span class="cx"> 
</span><del>-                list( $columns, $hidden ) = $this-&gt;get_column_info();
-
-                $col_count = count( $columns ) - count( $hidden );
</del><span class="cx">                 $m = ( isset( $mode ) &amp;&amp; 'excerpt' == $mode ) ? 'excerpt' : 'list';
</span><span class="cx">                 $can_publish = current_user_can( $post_type_object-&gt;cap-&gt;publish_posts );
</span><span class="cx">                 $core_columns = array( 'cb' =&gt; true, 'date' =&gt; true, 'title' =&gt; true, 'categories' =&gt; true, 'tags' =&gt; true, 'comments' =&gt; true, 'author' =&gt; true );
</span><span class="lines">@@ -720,12 +717,10 @@
</span><span class="cx"> 
</span><span class="cx">                 &lt;tr id=&quot;&lt;?php echo $bulk ? 'bulk-edit' : 'inline-edit'; ?&gt;&quot; class=&quot;inline-edit-row inline-edit-row-&lt;?php echo &quot;$hclass inline-edit-$screen-&gt;post_type &quot;;
</span><span class="cx">                         echo $bulk ? &quot;bulk-edit-row bulk-edit-row-$hclass bulk-edit-$screen-&gt;post_type&quot; : &quot;quick-edit-row quick-edit-row-$hclass inline-edit-$screen-&gt;post_type&quot;;
</span><del>-                ?&gt;&quot; style=&quot;display: none&quot;&gt;&lt;td colspan=&quot;&lt;?php echo $col_count; ?&gt;&quot;&gt;
</del><ins>+                ?&gt;&quot; style=&quot;display: none&quot;&gt;&lt;td colspan=&quot;&lt;?php echo $this-&gt;get_column_count(); ?&gt;&quot; class=&quot;colspanchange&quot;&gt;
</ins><span class="cx"> 
</span><span class="cx">                 &lt;fieldset class=&quot;inline-edit-col-left&quot;&gt;&lt;div class=&quot;inline-edit-col&quot;&gt;
</span><span class="cx">                         &lt;h4&gt;&lt;?php echo $bulk ? __( 'Bulk Edit' ) : __( 'Quick Edit' ); ?&gt;&lt;/h4&gt;
</span><del>-
-
</del><span class="cx">         &lt;?php
</span><span class="cx"> 
</span><span class="cx">         if ( post_type_supports( $screen-&gt;post_type, 'title' ) ) :
</span><span class="lines">@@ -976,6 +971,8 @@
</span><span class="cx">                 &lt;/div&gt;&lt;/fieldset&gt;
</span><span class="cx"> 
</span><span class="cx">         &lt;?php
</span><ins>+                list( $columns ) = $this-&gt;get_column_info();
+
</ins><span class="cx">                 foreach ( $columns as $column_name =&gt; $column_display_name ) {
</span><span class="cx">                         if ( isset( $core_columns[$column_name] ) )
</span><span class="cx">                                 continue;
</span></span></pre></div>
<a id="trunkwpadminincludesclasswptermslisttablephp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/includes/class-wp-terms-list-table.php (16367 => 16368)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/includes/class-wp-terms-list-table.php        2010-11-14 17:33:34 UTC (rev 16367)
+++ trunk/wp-admin/includes/class-wp-terms-list-table.php        2010-11-14 18:00:09 UTC (rev 16368)
</span><span class="lines">@@ -308,14 +308,10 @@
</span><span class="cx"> 
</span><span class="cx">                 if ( ! current_user_can( $tax-&gt;cap-&gt;edit_terms ) )
</span><span class="cx">                         return;
</span><ins>+?&gt;
</ins><span class="cx"> 
</span><del>-                list( $columns, $hidden ) = $this-&gt;get_column_info();
-
-                $col_count = count( $columns ) - count( $hidden );
-                ?&gt;
-
</del><span class="cx">         &lt;form method=&quot;get&quot; action=&quot;&quot;&gt;&lt;table style=&quot;display: none&quot;&gt;&lt;tbody id=&quot;inlineedit&quot;&gt;
</span><del>-                &lt;tr id=&quot;inline-edit&quot; class=&quot;inline-edit-row&quot; style=&quot;display: none&quot;&gt;&lt;td colspan=&quot;&lt;?php echo $col_count; ?&gt;&quot;&gt;
</del><ins>+                &lt;tr id=&quot;inline-edit&quot; class=&quot;inline-edit-row&quot; style=&quot;display: none&quot;&gt;&lt;td colspan=&quot;&lt;?php echo $this-&gt;get_column_count(); ?&gt;&quot; class=&quot;colspanchange&quot;&gt;
</ins><span class="cx"> 
</span><span class="cx">                         &lt;fieldset&gt;&lt;div class=&quot;inline-edit-col&quot;&gt;
</span><span class="cx">                                 &lt;h4&gt;&lt;?php _e( 'Quick Edit' ); ?&gt;&lt;/h4&gt;
</span><span class="lines">@@ -330,12 +326,13 @@
</span><span class="cx">                                         &lt;span class=&quot;input-text-wrap&quot;&gt;&lt;input type=&quot;text&quot; name=&quot;slug&quot; class=&quot;ptitle&quot; value=&quot;&quot; /&gt;&lt;/span&gt;
</span><span class="cx">                                 &lt;/label&gt;
</span><span class="cx">         &lt;?php } ?&gt;
</span><del>-
</del><span class="cx">                         &lt;/div&gt;&lt;/fieldset&gt;
</span><span class="cx">         &lt;?php
</span><span class="cx"> 
</span><span class="cx">                 $core_columns = array( 'cb' =&gt; true, 'description' =&gt; true, 'name' =&gt; true, 'slug' =&gt; true, 'posts' =&gt; true );
</span><span class="cx"> 
</span><ins>+                list( $columns ) = $this-&gt;get_column_info();
+
</ins><span class="cx">                 foreach ( $columns as $column_name =&gt; $column_display_name ) {
</span><span class="cx">                         if ( isset( $core_columns[$column_name] ) )
</span><span class="cx">                                 continue;
</span></span></pre></div>
<a id="trunkwpadminincludestemplatephp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/includes/template.php (16367 => 16368)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/includes/template.php        2010-11-14 17:33:34 UTC (rev 16367)
+++ trunk/wp-admin/includes/template.php        2010-11-14 18:00:09 UTC (rev 16368)
</span><span class="lines">@@ -331,14 +331,10 @@
</span><span class="cx"> 
</span><span class="cx">         $wp_list_table = get_list_table('WP_Comments_List_Table');
</span><span class="cx"> 
</span><del>-        list ( $columns, $hidden ) = $wp_list_table-&gt;get_column_info();
-        $hidden = array_intersect( array_keys( $columns ), array_filter( $hidden ) );
-        $col_count = count($columns) - count($hidden);
-
</del><span class="cx"> ?&gt;
</span><span class="cx"> &lt;form method=&quot;get&quot; action=&quot;&quot;&gt;
</span><span class="cx"> &lt;?php if ( $table_row ) : ?&gt;
</span><del>-&lt;table style=&quot;display:none;&quot;&gt;&lt;tbody id=&quot;com-reply&quot;&gt;&lt;tr id=&quot;replyrow&quot; style=&quot;display:none;&quot;&gt;&lt;td colspan=&quot;&lt;?php echo $col_count; ?&gt;&quot;&gt;
</del><ins>+&lt;table style=&quot;display:none;&quot;&gt;&lt;tbody id=&quot;com-reply&quot;&gt;&lt;tr id=&quot;replyrow&quot; style=&quot;display:none;&quot;&gt;&lt;td colspan=&quot;&lt;?php echo $wp_list_table-&gt;get_column_count(); ?&gt;&quot; class=&quot;colspanchange&quot;&gt;
</ins><span class="cx"> &lt;?php else : ?&gt;
</span><span class="cx"> &lt;div id=&quot;com-reply&quot; style=&quot;display:none;&quot;&gt;&lt;div id=&quot;replyrow&quot; style=&quot;display:none;&quot;&gt;
</span><span class="cx"> &lt;?php endif; ?&gt;
</span></span></pre></div>
<a id="trunkwpadminincludesupdatephp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/includes/update.php (16367 => 16368)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/includes/update.php        2010-11-14 17:33:34 UTC (rev 16367)
+++ trunk/wp-admin/includes/update.php        2010-11-14 18:00:09 UTC (rev 16368)
</span><span class="lines">@@ -192,8 +192,10 @@
</span><span class="cx"> 
</span><span class="cx">         $details_url = self_admin_url('plugin-install.php?tab=plugin-information&amp;plugin=' . $r-&gt;slug . '&amp;TB_iframe=true&amp;width=600&amp;height=800');
</span><span class="cx"> 
</span><ins>+        $wp_list_table = get_list_table('WP_Plugins_List_Table');
+
</ins><span class="cx">         if ( is_network_admin() || !is_multisite() ) {
</span><del>-                echo '&lt;tr class=&quot;plugin-update-tr&quot;&gt;&lt;td colspan=&quot;3&quot; class=&quot;plugin-update&quot;&gt;&lt;div class=&quot;update-message&quot;&gt;';
</del><ins>+                echo '&lt;tr class=&quot;plugin-update-tr&quot;&gt;&lt;td colspan=&quot;' . $wp_list_table-&gt;get_column_count() . '&quot; class=&quot;plugin-update colspanchange&quot;&gt;&lt;div class=&quot;update-message&quot;&gt;';
</ins><span class="cx">                 if ( ! current_user_can('update_plugins') )
</span><span class="cx">                         printf( __('There is a new version of %1$s available. &lt;a href=&quot;%2$s&quot; class=&quot;thickbox&quot; title=&quot;%3$s&quot;&gt;View version %4$s details&lt;/a&gt;.'), $plugin_name, esc_url($details_url), esc_attr($plugin_name), $r-&gt;new_version );
</span><span class="cx">                 else if ( empty($r-&gt;package) )
</span><span class="lines">@@ -266,7 +268,9 @@
</span><span class="cx"> 
</span><span class="cx">         $details_url = self_admin_url(&quot;theme-install.php?tab=theme-information&amp;theme=$theme_key&amp;TB_iframe=true&amp;width=600&amp;height=400&quot;);
</span><span class="cx"> 
</span><del>-        echo '&lt;tr class=&quot;plugin-update-tr&quot;&gt;&lt;td colspan=&quot;3&quot; class=&quot;plugin-update&quot;&gt;&lt;div class=&quot;update-message&quot;&gt;';
</del><ins>+        $wp_list_table = get_list_table('WP_MS_Themes_List_Table');
+
+        echo '&lt;tr class=&quot;plugin-update-tr&quot;&gt;&lt;td colspan=&quot;' . $wp_list_table-&gt;get_column_count() . '&quot; class=&quot;plugin-update colspanchange&quot;&gt;&lt;div class=&quot;update-message&quot;&gt;';
</ins><span class="cx">         if ( ! current_user_can('update_themes') )
</span><span class="cx">                 printf( __('There is a new version of %1$s available. &lt;a href=&quot;%2$s&quot; class=&quot;thickbox&quot; title=&quot;%3$s&quot;&gt;View version %4$s details&lt;/a&gt;.'), $theme['Name'], esc_url($details_url), esc_attr($theme['Name']), $r-&gt;new_version );
</span><span class="cx">         else if ( empty( $r['package'] ) )
</span></span></pre></div>
<a id="trunkwpadminjscommondevjs"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/js/common.dev.js (16367 => 16368)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/js/common.dev.js        2010-11-14 17:33:34 UTC (rev 16367)
+++ trunk/wp-admin/js/common.dev.js        2010-11-14 18:00:09 UTC (rev 16368)
</span><span class="lines">@@ -147,10 +147,12 @@
</span><span class="cx"> 
</span><span class="cx">         checked : function(column) {
</span><span class="cx">                 $('.column-' + column).show();
</span><ins>+                this.colSpanChange(+1);
</ins><span class="cx">         },
</span><span class="cx"> 
</span><span class="cx">         unchecked : function(column) {
</span><span class="cx">                 $('.column-' + column).hide();
</span><ins>+                this.colSpanChange(-1);
</ins><span class="cx">         },
</span><span class="cx"> 
</span><span class="cx">         hidden : function() {
</span><span class="lines">@@ -164,6 +166,14 @@
</span><span class="cx">                                 return id.substring( id, id.length - 5 );
</span><span class="cx">                         }).get().join(',');
</span><span class="cx">                 };
</span><ins>+        },
+
+        colSpanChange : function(diff) {
+                var $t = $('table').find('.colspanchange');
+                if ( !$t.length )
+                        return;
+                var n = parseInt( $t.attr('colspan'), 10 ) + diff;
+                $t.attr('colspan', n.toString());
</ins><span class="cx">         }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkwpadminjscommonjs"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/js/common.js (16367 => 16368)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/js/common.js        2010-11-14 17:33:34 UTC (rev 16367)
+++ trunk/wp-admin/js/common.js        2010-11-14 18:00:09 UTC (rev 16368)
</span><span class="lines">@@ -1 +1 @@
</span><del>-var showNotice,adminMenu,columns,validateForm;(function(a){adminMenu={init:function(){var b=a(&quot;#adminmenu&quot;);a(&quot;.wp-menu-toggle&quot;,b).each(function(){var c=a(this),d=c.siblings(&quot;.wp-submenu&quot;);if(d.length){c.click(function(){adminMenu.toggle(d)})}else{c.hide()}});this.favorites();a(&quot;.separator&quot;,b).click(function(){if(a(&quot;body&quot;).hasClass(&quot;folded&quot;)){adminMenu.fold(1);deleteUserSetting(&quot;mfold&quot;)}else{adminMenu.fold();setUserSetting(&quot;mfold&quot;,&quot;f&quot;)}return false});if(a(&quot;body&quot;).hasClass(&quot;folded&quot;)){this.fold()}this.restoreMenuState()},restoreMenuState:function(){a(&quot;li.wp-has-submenu&quot;,&quot;#adminmenu&quot;).each(function(c,d){var b=getUserSetting(&quot;m&quot;+c);if(a(d).hasClass(&quot;wp-has-current-submenu&quot;)){return true}if(&quot;o&quot;==b){a(d).addClass(&quot;wp-menu-open&quot;)}else{if(&quot;c&quot;==b){a(d).removeClass(&quot;wp-menu-open&quot;)}}})},toggle:function(b){var c=b.slideToggle(150,function(){b.css(&quot;display&quot;,&quot;&quot;)}).parent().toggleClass(&quot;wp-menu-open&quot;).attr(&quot;id&quot;);if(c){a(&quot;li.wp-has-submenu&quot;,&quot;#adminmenu&quot;).each(function(f,g){if(c==g.id){var d=a(g).hasClass(&quot;wp-menu-open&quot;)?&quot;o&quot;:&quot;c&quot;;setUserSetting(&quot;m&quot;+f,d)}})}return false},fold:function(b){if(b){a(&quot;body&quot;).removeClass(&quot;folded&quot;);a(&quot;#adminmenu li.wp-has-submenu&quot;).unbind()}else{a(&quot;body&quot;).addClass(&quot;folded&quot;);a(&quot;#adminmenu li.wp-has-submenu&quot;).hoverIntent({over:function(j){var d,c,g,k,i;d=a(this).find(&quot;.wp-submenu&quot;);c=a(this).offset().top+d.height()+1;g=a(&quot;#wpwrap&quot;).height();k=60+c-g;i=a(window).height()+a(window).scrollTop()-15;if(i&lt;(c-k)){k=c-i}if(k&gt;1){d.css({marginTop:&quot;-&quot;+k+&quot;px&quot;})}else{if(d.css(&quot;marginTop&quot;)){d.css({marginTop:&quot;&quot;})}}d.addClass(&quot;sub-open&quot;)},out:function(){a(this).find(&quot;.wp-submenu&quot;).removeClass(&quot;sub-open&quot;).css({marginTop:&quot;&quot;})},timeout:220,sensitivity:8,interval:100})}},favorites:function(){a(&quot;#favorite-inside&quot;).width(a(&quot;#favorite-actions&quot;).width()-4);a(&quot;#favorite-toggle, #favorite-inside&quot;).bind(&quot;mouseenter&quot;,function(){a(&quot;#favorite-inside&quot;).removeClass(&quot;slideUp&quot;).addClass(&quot;slideDown&quot;);setTimeout(function(){if(a(&quot;#favorite-inside&quot;).hasClass(&quot;slideDown&quot;)){a(&quot;#favorite-inside&quot;).slideDown(100);a(&quot;#favorite-first&quot;).addClass(&quot;slide-down&quot;)}},200)}).bind(&quot;mouseleave&quot;,function(){a(&quot;#favorite-inside&quot;).removeClass(&quot;slideDown&quot;).addClass(&quot;slideUp&quot;);setTimeout(function(){if(a(&quot;#favorite-inside&quot;).hasClass(&quot;slideUp&quot;)){a(&quot;#favorite-inside&quot;).slideUp(100,function(){a(&quot;#favorite-first&quot;).removeClass(&quot;slide-down&quot;)})}},300)})}};a(document).ready(function(){adminMenu.init()});columns={init:function(){var b=this;a(&quot;.hide-column-tog&quot;,&quot;#adv-settings&quot;).click(function(){var d=a(this),c=d.val();if(d.attr(&quot;checked&quot;)){b.checked(c)}else{b.unchecked(c)}columns.saveManageColumnsState()})},saveManageColumnsState:function(){var b=this.hidden();a.post(ajaxurl,{action:&quot;hidden-columns&quot;,hidden:b,screenoptionnonce:a(&quot;#screenoptionnonce&quot;).val(),page:pagenow})},checked:function(b){a(&quot;.column-&quot;+b).show()},unchecked:function(b){a(&quot;.column-&quot;+b).hide()},hidden:function(){return a(&quot;.manage-column&quot;).filter(&quot;:hidden&quot;).map(function(){return this.id}).get().join(&quot;,&quot;)},useCheckboxesForHidden:function(){this.hidden=function(){return a(&quot;.hide-column-tog&quot;).not(&quot;:checked&quot;).map(function(){var b=this.id;return b.substring(b,b.length-5)}).get().join(&quot;,&quot;)}}};a(document).ready(function(){columns.init()});validateForm=function(b){return !a(b).find(&quot;.form-required&quot;).filter(function(){return a(&quot;input:visible&quot;,this).val()==&quot;&quot;}).addClass(&quot;form-invalid&quot;).find(&quot;input:visible&quot;).change(function(){a(this).closest(&quot;.form-invalid&quot;).removeClass(&quot;form-invalid&quot;)}).size()}})(jQuery);showNotice={warn:function(){var a=commonL10n.warnDelete||&quot;&quot;;if(confirm(a)){return true}return false},note:function(a){alert(a)}};jQuery(document).ready(function(d){var f=false,a,e,c,b;d(&quot;div.wrap h2:first&quot;).nextAll(&quot;div.updated, div.error&quot;).addClass(&quot;below-h2&quot;);d(&quot;div.updated, div.error&quot;).not(&quot;.below-h2, .inline&quot;).insertAfter(d(&quot;div.wrap h2:first&quot;));d(&quot;#show-settings-link&quot;).click(function(){if(!d(&quot;#screen-options-wrap&quot;).hasClass(&quot;screen-options-open&quot;)){d(&quot;#contextual-help-link-wrap&quot;).css(&quot;visibility&quot;,&quot;hidden&quot;)}d(&quot;#screen-options-wrap&quot;).slideToggle(&quot;fast&quot;,function(){if(d(this).hasClass(&quot;screen-options-open&quot;)){d(&quot;#show-settings-link&quot;).css({backgroundPosition:&quot;top right&quot;});d(&quot;#contextual-help-link-wrap&quot;).css(&quot;visibility&quot;,&quot;&quot;);d(this).removeClass(&quot;screen-options-open&quot;)}else{d(&quot;#show-settings-link&quot;).css({backgroundPosition:&quot;bottom right&quot;});d(this).addClass(&quot;screen-options-open&quot;)}});return false});d(&quot;#contextual-help-link&quot;).click(function(){if(!d(&quot;#contextual-help-wrap&quot;).hasClass(&quot;contextual-help-open&quot;)){d(&quot;#screen-options-link-wrap&quot;).css(&quot;visibility&quot;,&quot;hidden&quot;)}d(&quot;#contextual-help-wrap&quot;).slideToggle(&quot;fast&quot;,function(){if(d(this).hasClass(&quot;contextual-help-open&quot;)){d(&quot;#contextual-help-link&quot;).css({backgroundPosition:&quot;top right&quot;});d(&quot;#screen-options-link-wrap&quot;).css(&quot;visibility&quot;,&quot;&quot;);d(this).removeClass(&quot;contextual-help-open&quot;)}else{d(&quot;#contextual-help-link&quot;).css({backgroundPosition:&quot;bottom right&quot;});d(this).addClass(&quot;contextual-help-open&quot;)}});return false});d(&quot;tbody&quot;).children().children(&quot;.check-column&quot;).find(&quot;:checkbox&quot;).click(function(g){if(&quot;undefined&quot;==g.shiftKey){return true}if(g.shiftKey){if(!f){return true}a=d(f).closest(&quot;form&quot;).find(&quot;:checkbox&quot;);e=a.index(f);c=a.index(this);b=d(this).attr(&quot;checked&quot;);if(0&lt;e&amp;&amp;0&lt;c&amp;&amp;e!=c){a.slice(e,c).attr(&quot;checked&quot;,function(){if(d(this).closest(&quot;tr&quot;).is(&quot;:visible&quot;)){return b?&quot;checked&quot;:&quot;&quot;}return&quot;&quot;})}}f=this;return true});d(&quot;thead, tfoot&quot;).find(&quot;.check-column :checkbox&quot;).click(function(i){var j=d(this).attr(&quot;checked&quot;),h=&quot;undefined&quot;==typeof toggleWithKeyboard?false:toggleWithKeyboard,g=i.shiftKey||h;d(this).closest(&quot;table&quot;).children(&quot;tbody&quot;).filter(&quot;:visible&quot;).children().children(&quot;.check-column&quot;).find(&quot;:checkbox&quot;).attr(&quot;checked&quot;,function(){if(d(this).closest(&quot;tr&quot;).is(&quot;:hidden&quot;)){return&quot;&quot;}if(g){return d(this).attr(&quot;checked&quot;)?&quot;&quot;:&quot;checked&quot;}else{if(j){return&quot;checked&quot;}}return&quot;&quot;});d(this).closest(&quot;table&quot;).children(&quot;thead,  tfoot&quot;).filter(&quot;:visible&quot;).children().children(&quot;.check-column&quot;).find(&quot;:checkbox&quot;).attr(&quot;checked&quot;,function(){if(g){return&quot;&quot;}else{if(j){return&quot;checked&quot;}}return&quot;&quot;})});d(&quot;#default-password-nag-no&quot;).click(function(){setUserSetting(&quot;default_password_nag&quot;,&quot;hide&quot;);d(&quot;div.default-password-nag&quot;).hide();return false});d(&quot;#newcontent&quot;).keydown(function(l){if(l.keyCode!=9){return true}var i=l.target,n=i.selectionStart,h=i.selectionEnd,m=i.value,g,k;try{this.lastKey=9}catch(j){}if(document.selection){i.focus();k=document.selection.createRange();k.text=&quot;\t&quot;}else{if(n&gt;=0){g=this.scrollTop;i.value=m.substring(0,n).concat(&quot;\t&quot;,m.substring(h));i.selectionStart=i.selectionEnd=n+1;this.scrollTop=g}}if(l.stopPropagation){l.stopPropagation()}if(l.preventDefault){l.preventDefault()}});d(&quot;#newcontent&quot;).blur(function(g){if(this.lastKey&amp;&amp;9==this.lastKey){this.focus()}})});
</del><span class="cx">\ No newline at end of file
</span><ins>+var showNotice,adminMenu,columns,validateForm;(function(a){adminMenu={init:function(){var b=a(&quot;#adminmenu&quot;);a(&quot;.wp-menu-toggle&quot;,b).each(function(){var c=a(this),d=c.siblings(&quot;.wp-submenu&quot;);if(d.length){c.click(function(){adminMenu.toggle(d)})}else{c.hide()}});this.favorites();a(&quot;.separator&quot;,b).click(function(){if(a(&quot;body&quot;).hasClass(&quot;folded&quot;)){adminMenu.fold(1);deleteUserSetting(&quot;mfold&quot;)}else{adminMenu.fold();setUserSetting(&quot;mfold&quot;,&quot;f&quot;)}return false});if(a(&quot;body&quot;).hasClass(&quot;folded&quot;)){this.fold()}this.restoreMenuState()},restoreMenuState:function(){a(&quot;li.wp-has-submenu&quot;,&quot;#adminmenu&quot;).each(function(c,d){var b=getUserSetting(&quot;m&quot;+c);if(a(d).hasClass(&quot;wp-has-current-submenu&quot;)){return true}if(&quot;o&quot;==b){a(d).addClass(&quot;wp-menu-open&quot;)}else{if(&quot;c&quot;==b){a(d).removeClass(&quot;wp-menu-open&quot;)}}})},toggle:function(b){var c=b.slideToggle(150,function(){b.css(&quot;display&quot;,&quot;&quot;)}).parent().toggleClass(&quot;wp-menu-open&quot;).attr(&quot;id&quot;);if(c){a(&quot;li.wp-has-submenu&quot;,&quot;#adminmenu&quot;).each(function(f,g){if(c==g.id){var d=a(g).hasClass(&quot;wp-menu-open&quot;)?&quot;o&quot;:&quot;c&quot;;setUserSetting(&quot;m&quot;+f,d)}})}return false},fold:function(b){if(b){a(&quot;body&quot;).removeClass(&quot;folded&quot;);a(&quot;#adminmenu li.wp-has-submenu&quot;).unbind()}else{a(&quot;body&quot;).addClass(&quot;folded&quot;);a(&quot;#adminmenu li.wp-has-submenu&quot;).hoverIntent({over:function(j){var d,c,g,k,i;d=a(this).find(&quot;.wp-submenu&quot;);c=a(this).offset().top+d.height()+1;g=a(&quot;#wpwrap&quot;).height();k=60+c-g;i=a(window).height()+a(window).scrollTop()-15;if(i&lt;(c-k)){k=c-i}if(k&gt;1){d.css({marginTop:&quot;-&quot;+k+&quot;px&quot;})}else{if(d.css(&quot;marginTop&quot;)){d.css({marginTop:&quot;&quot;})}}d.addClass(&quot;sub-open&quot;)},out:function(){a(this).find(&quot;.wp-submenu&quot;).removeClass(&quot;sub-open&quot;).css({marginTop:&quot;&quot;})},timeout:220,sensitivity:8,interval:100})}},favorites:function(){a(&quot;#favorite-inside&quot;).width(a(&quot;#favorite-actions&quot;).width()-4);a(&quot;#favorite-toggle, #favorite-inside&quot;).bind(&quot;mouseenter&quot;,function(){a(&quot;#favorite-inside&quot;).removeClass(&quot;slideUp&quot;).addClass(&quot;slideDown&quot;);setTimeout(function(){if(a(&quot;#favorite-inside&quot;).hasClass(&quot;slideDown&quot;)){a(&quot;#favorite-inside&quot;).slideDown(100);a(&quot;#favorite-first&quot;).addClass(&quot;slide-down&quot;)}},200)}).bind(&quot;mouseleave&quot;,function(){a(&quot;#favorite-inside&quot;).removeClass(&quot;slideDown&quot;).addClass(&quot;slideUp&quot;);setTimeout(function(){if(a(&quot;#favorite-inside&quot;).hasClass(&quot;slideUp&quot;)){a(&quot;#favorite-inside&quot;).slideUp(100,function(){a(&quot;#favorite-first&quot;).removeClass(&quot;slide-down&quot;)})}},300)})}};a(document).ready(function(){adminMenu.init()});columns={init:function(){var b=this;a(&quot;.hide-column-tog&quot;,&quot;#adv-settings&quot;).click(function(){var d=a(this),c=d.val();if(d.attr(&quot;checked&quot;)){b.checked(c)}else{b.unchecked(c)}columns.saveManageColumnsState()})},saveManageColumnsState:function(){var b=this.hidden();a.post(ajaxurl,{action:&quot;hidden-columns&quot;,hidden:b,screenoptionnonce:a(&quot;#screenoptionnonce&quot;).val(),page:pagenow})},checked:function(b){a(&quot;.column-&quot;+b).show();this.colSpanChange(+1)},unchecked:function(b){a(&quot;.column-&quot;+b).hide();this.colSpanChange(-1)},hidden:function(){return a(&quot;.manage-column&quot;).filter(&quot;:hidden&quot;).map(function(){return this.id}).get().join(&quot;,&quot;)},useCheckboxesForHidden:function(){this.hidden=function(){return a(&quot;.hide-column-tog&quot;).not(&quot;:checked&quot;).map(function(){var b=this.id;return b.substring(b,b.length-5)}).get().join(&quot;,&quot;)}},colSpanChange:function(b){var d=a(&quot;table&quot;).find(&quot;.colspanchange&quot;);if(!d.length){return}var c=parseInt(d.attr(&quot;colspan&quot;),10)+b;d.attr(&quot;colspan&quot;,c.toString())}};a(document).ready(function(){columns.init()});validateForm=function(b){return !a(b).find(&quot;.form-required&quot;).filter(function(){return a(&quot;input:visible&quot;,this).val()==&quot;&quot;}).addClass(&quot;form-invalid&quot;).find(&quot;input:visible&quot;).change(function(){a(this).closest(&quot;.form-invalid&quot;).removeClass(&quot;form-invalid&quot;)}).size()}})(jQuery);showNotice={warn:function(){var a=commonL10n.warnDelete||&quot;&quot;;if(confirm(a)){return true}return false},note:function(a){alert(a)}};jQuery(document).ready(function(d){var f=false,a,e,c,b;d(&quot;div.wrap h2:first&quot;).nextAll(&quot;div.updated, div.error&quot;).addClass(&quot;below-h2&quot;);d(&quot;div.updated, div.error&quot;).not(&quot;.below-h2, .inline&quot;).insertAfter(d(&quot;div.wrap h2:first&quot;));d(&quot;#show-settings-link&quot;).click(function(){if(!d(&quot;#screen-options-wrap&quot;).hasClass(&quot;screen-options-open&quot;)){d(&quot;#contextual-help-link-wrap&quot;).css(&quot;visibility&quot;,&quot;hidden&quot;)}d(&quot;#screen-options-wrap&quot;).slideToggle(&quot;fast&quot;,function(){if(d(this).hasClass(&quot;screen-options-open&quot;)){d(&quot;#show-settings-link&quot;).css({backgroundPosition:&quot;top right&quot;});d(&quot;#contextual-help-link-wrap&quot;).css(&quot;visibility&quot;,&quot;&quot;);d(this).removeClass(&quot;screen-options-open&quot;)}else{d(&quot;#show-settings-link&quot;).css({backgroundPosition:&quot;bottom right&quot;});d(this).addClass(&quot;screen-options-open&quot;)}});return false});d(&quot;#contextual-help-link&quot;).click(function(){if(!d(&quot;#contextual-help-wrap&quot;).hasClass(&quot;contextual-help-open&quot;)){d(&quot;#screen-options-link-wrap&quot;).css(&quot;visibility&quot;,&quot;hidden&quot;)}d(&quot;#contextual-help-wrap&quot;).slideToggle(&quot;fast&quot;,function(){if(d(this).hasClass(&quot;contextual-help-open&quot;)){d(&quot;#contextual-help-link&quot;).css({backgroundPosition:&quot;top right&quot;});d(&quot;#screen-options-link-wrap&quot;).css(&quot;visibility&quot;,&quot;&quot;);d(this).removeClass(&quot;contextual-help-open&quot;)}else{d(&quot;#contextual-help-link&quot;).css({backgroundPosition:&quot;bottom right&quot;});d(this).addClass(&quot;contextual-help-open&quot;)}});return false});d(&quot;tbody&quot;).children().children(&quot;.check-column&quot;).find(&quot;:checkbox&quot;).click(function(g){if(&quot;undefined&quot;==g.shiftKey){return true}if(g.shiftKey){if(!f){return true}a=d(f).closest(&quot;form&quot;).find(&quot;:checkbox&quot;);e=a.index(f);c=a.index(this);b=d(this).attr(&quot;checked&quot;);if(0&lt;e&amp;&amp;0&lt;c&amp;&amp;e!=c){a.slice(e,c).attr(&quot;checked&quot;,function(){if(d(this).closest(&quot;tr&quot;).is(&quot;:visible&quot;)){return b?&quot;checked&quot;:&quot;&quot;}return&quot;&quot;})}}f=this;return true});d(&quot;thead, tfoot&quot;).find(&quot;.check-column :checkbox&quot;).click(function(i){var j=d(this).attr(&quot;checked&quot;),h=&quot;undefined&quot;==typeof toggleWithKeyboard?false:toggleWithKeyboard,g=i.shiftKey||h;d(this).closest(&quot;table&quot;).children(&quot;tbody&quot;).filter(&quot;:visible&quot;).children().children(&quot;.check-column&quot;).find(&quot;:checkbox&quot;).attr(&quot;checked&quot;,function(){if(d(this).closest(&quot;tr&quot;).is(&quot;:hidden&quot;)){return&quot;&quot;}if(g){return d(this).attr(&quot;checked&quot;)?&quot;&quot;:&quot;checked&quot;}else{if(j){return&quot;checked&quot;}}return&quot;&quot;});d(this).closest(&quot;table&quot;).children(&quot;thead,  tfoot&quot;).filter(&quot;:visible&quot;).children().children(&quot;.check-column&quot;).find(&quot;:checkbox&quot;).attr(&quot;checked&quot;,function(){if(g){return&quot;&quot;}else{if(j){return&quot;checked&quot;}}return&quot;&quot;})});d(&quot;#default-password-nag-no&quot;).click(function(){setUserSetting(&quot;default_password_nag&quot;,&quot;hide&quot;);d(&quot;div.default-password-nag&quot;).hide();return false});d(&quot;#newcontent&quot;).keydown(function(l){if(l.keyCode!=9){return true}var i=l.target,n=i.selectionStart,h=i.selectionEnd,m=i.value,g,k;try{this.lastKey=9}catch(j){}if(document.selection){i.focus();k=document.selection.createRange();k.text=&quot;\t&quot;}else{if(n&gt;=0){g=this.scrollTop;i.value=m.substring(0,n).concat(&quot;\t&quot;,m.substring(h));i.selectionStart=i.selectionEnd=n+1;this.scrollTop=g}}if(l.stopPropagation){l.stopPropagation()}if(l.preventDefault){l.preventDefault()}});d(&quot;#newcontent&quot;).blur(function(g){if(this.lastKey&amp;&amp;9==this.lastKey){this.focus()}})});
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpincludesscriptloaderphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/script-loader.php (16367 => 16368)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/script-loader.php        2010-11-14 17:33:34 UTC (rev 16367)
+++ trunk/wp-includes/script-loader.php        2010-11-14 18:00:09 UTC (rev 16368)
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx">         
</span><span class="cx">         $scripts-&gt;add( 'utils', &quot;/wp-admin/js/utils$suffix.js&quot;, false, '20101110' );
</span><span class="cx"> 
</span><del>-        $scripts-&gt;add( 'common', &quot;/wp-admin/js/common$suffix.js&quot;, array('jquery', 'hoverIntent', 'utils'), '20101007' );
</del><ins>+        $scripts-&gt;add( 'common', &quot;/wp-admin/js/common$suffix.js&quot;, array('jquery', 'hoverIntent', 'utils'), '20101114' );
</ins><span class="cx">         $scripts-&gt;add_data( 'common', 'group', 1 );
</span><span class="cx">         $scripts-&gt;localize( 'common', 'commonL10n', array(
</span><span class="cx">                 'warnDelete' =&gt; __(&quot;You are about to permanently delete the selected items.\n  'Cancel' to stop, 'OK' to delete.&quot;),
</span></span></pre>
</div>
</div>

</body>
</html>