<!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>[16963] trunk: Plugin install and thickbox for the network admin.</title>
</head>
<body>

<div id="msg">
<dl>
<dt>Revision</dt> <dd><a href="http://trac.wordpress.org/changeset/16963">16963</a></dd>
<dt>Author</dt> <dd>nacin</dd>
<dt>Date</dt> <dd>2010-12-15 18:48:40 +0000 (Wed, 15 Dec 2010)</dd>
</dl>

<h3>Log Message</h3>
<pre>Plugin install and thickbox for the network admin. props ocean90, fixes <a href="http://trac.wordpress.org/ticket/15510">#15510</a>, fixes <a href="http://trac.wordpress.org/ticket/15750">#15750</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkwpadminincludesmsphp">trunk/wp-admin/includes/ms.php</a></li>
<li><a href="#trunkwpadminjsplugininstalldevjs">trunk/wp-admin/js/plugin-install.dev.js</a></li>
<li><a href="#trunkwpadminjsplugininstalljs">trunk/wp-admin/js/plugin-install.js</a></li>
<li><a href="#trunkwpadminnetworkindexphp">trunk/wp-admin/network/index.php</a></li>
<li><a href="#trunkwpincludesgeneraltemplatephp">trunk/wp-includes/general-template.php</a></li>
<li><a href="#trunkwpincludesscriptloaderphp">trunk/wp-includes/script-loader.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkwpadminincludesmsphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/includes/ms.php (16962 => 16963)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/includes/ms.php        2010-12-15 18:34:59 UTC (rev 16962)
+++ trunk/wp-admin/includes/ms.php        2010-12-15 18:48:40 UTC (rev 16963)
</span><span class="lines">@@ -719,6 +719,7 @@
</span><span class="cx">         }
</span><span class="cx">         return false;
</span><span class="cx"> }
</span><ins>+
</ins><span class="cx"> /**
</span><span class="cx">  * Whether or not we can edit this network from this page
</span><span class="cx">  *
</span><span class="lines">@@ -737,4 +738,22 @@
</span><span class="cx"> 
</span><span class="cx">         return apply_filters( 'can_edit_network', $result, $site_id );
</span><span class="cx"> }
</span><ins>+
+/**
+ * Thickbox image paths for Network Admin.
+ *
+ * @since 3.1.0
+ * @access private
+ */
+function _thickbox_path_admin_subfolder() {
</ins><span class="cx"> ?&gt;
</span><ins>+&lt;script type=&quot;text/javascript&quot;&gt;
+//&lt;![CDATA[
+var tb_pathToImage = &quot;../../wp-includes/js/thickbox/loadingAnimation.gif&quot;;
+var tb_closeImage = &quot;../../wp-includes/js/thickbox/tb-close.png&quot;;
+//]]&gt;
+&lt;/script&gt;
+&lt;?
+}
+
+?&gt;
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpadminjsplugininstalldevjs"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/js/plugin-install.dev.js (16962 => 16963)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/js/plugin-install.dev.js        2010-12-15 18:34:59 UTC (rev 16962)
+++ trunk/wp-admin/js/plugin-install.dev.js        2010-12-15 18:48:40 UTC (rev 16963)
</span><span class="lines">@@ -1,14 +1,18 @@
</span><span class="cx"> /* Plugin Browser Thickbox related JS*/
</span><ins>+var tb_position;
</ins><span class="cx"> jQuery(document).ready(function($) {
</span><del>-        var thickDims = function() {
-                var tbWindow = $('#TB_window'), width = $(window).width(), H = $(window).height(), W = ( 720 &lt; width ) ? 720 : width;
</del><ins>+        tb_position = function() {
+                var tbWindow = $('#TB_window'), width = $(window).width(), H = $(window).height(), W = ( 720 &lt; width ) ? 720 : width, adminbar_height = 0;
</ins><span class="cx"> 
</span><ins>+                if ( $('body.admin-bar').length )
+                        adminbar_height = 28;
+
</ins><span class="cx">                 if ( tbWindow.size() ) {
</span><del>-                        tbWindow.width( W - 50 ).height( H - 45 );
-                        $('#TB_iframeContent').width( W - 50 ).height( H - 75 );
</del><ins>+                        tbWindow.width( W - 50 ).height( H - 45 - adminbar_height );
+                        $('#TB_iframeContent').width( W - 50 ).height( H - 75 - adminbar_height );
</ins><span class="cx">                         tbWindow.css({'margin-left': '-' + parseInt((( W - 50 ) / 2),10) + 'px'});
</span><del>-                        if ( ! ( $.browser.msie &amp;&amp; $.browser.version.substr(0,1) &lt; 7 ) )
-                                tbWindow.css({'top':'20px','margin-top':'0'});
</del><ins>+                        if ( typeof document.body.style.maxWidth != 'undefined' )
+                                tbWindow.css({'top': 20 + adminbar_height + 'px','margin-top':'0'});
</ins><span class="cx">                 };
</span><span class="cx"> 
</span><span class="cx">                 return $('#dashboard_plugins a.thickbox, .plugins a.thickbox').each( function() {
</span><span class="lines">@@ -17,11 +21,13 @@
</span><span class="cx">                                 return;
</span><span class="cx">                         href = href.replace(/&amp;width=[0-9]+/g, '');
</span><span class="cx">                         href = href.replace(/&amp;height=[0-9]+/g, '');
</span><del>-                        $(this).attr( 'href', href + '&amp;width=' + ( W - 80 ) + '&amp;height=' + ( H - 85 ) );
</del><ins>+                        $(this).attr( 'href', href + '&amp;width=' + ( W - 80 ) + '&amp;height=' + ( H - 85 - adminbar_height ) );
</ins><span class="cx">                 });
</span><span class="cx">         };
</span><span class="cx"> 
</span><del>-        thickDims().click( function() {
</del><ins>+        $(window).resize(function(){ tb_position(); });
+
+         $('#dashboard_plugins a.thickbox, .plugins a.thickbox').click( function() {
</ins><span class="cx">                 tb_click.call(this);
</span><span class="cx"> 
</span><span class="cx">                 $('#TB_title').css({'background-color':'#222','color':'#cfcfcf'});
</span></span></pre></div>
<a id="trunkwpadminjsplugininstalljs"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/js/plugin-install.js (16962 => 16963)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/js/plugin-install.js        2010-12-15 18:34:59 UTC (rev 16962)
+++ trunk/wp-admin/js/plugin-install.js        2010-12-15 18:48:40 UTC (rev 16963)
</span><span class="lines">@@ -1 +1 @@
</span><del>-jQuery(document).ready(function(b){var a=function(){var f=b(&quot;#TB_window&quot;),e=b(window).width(),d=b(window).height(),c=(720&lt;e)?720:e;if(f.size()){f.width(c-50).height(d-45);b(&quot;#TB_iframeContent&quot;).width(c-50).height(d-75);f.css({&quot;margin-left&quot;:&quot;-&quot;+parseInt(((c-50)/2),10)+&quot;px&quot;});if(!(b.browser.msie&amp;&amp;b.browser.version.substr(0,1)&lt;7)){f.css({top:&quot;20px&quot;,&quot;margin-top&quot;:&quot;0&quot;})}}return b(&quot;#dashboard_plugins a.thickbox, .plugins a.thickbox&quot;).each(function(){var g=b(this).attr(&quot;href&quot;);if(!g){return}g=g.replace(/&amp;width=[0-9]+/g,&quot;&quot;);g=g.replace(/&amp;height=[0-9]+/g,&quot;&quot;);b(this).attr(&quot;href&quot;,g+&quot;&amp;width=&quot;+(c-80)+&quot;&amp;height=&quot;+(d-85))})};a().click(function(){tb_click.call(this);b(&quot;#TB_title&quot;).css({&quot;background-color&quot;:&quot;#222&quot;,color:&quot;#cfcfcf&quot;});b(&quot;#TB_ajaxWindowTitle&quot;).html(&quot;&lt;strong&gt;&quot;+plugininstallL10n.plugin_information+&quot;&lt;/strong&gt;&amp;nbsp;&quot;+b(this).attr(&quot;title&quot;));return false});b(&quot;#plugin-information #sidemenu a&quot;).click(function(){var c=b(this).attr(&quot;name&quot;);b(&quot;#plugin-information-header a.current&quot;).removeClass(&quot;current&quot;);b(this).addClass(&quot;current&quot;);b(&quot;#section-holder div.section&quot;).hide();b(&quot;#section-&quot;+c).show();return false});b(&quot;#install-plugins .action-links .install-now&quot;).click(function(){return confirm(plugininstallL10n.ays)})});
</del><span class="cx">\ No newline at end of file
</span><ins>+var tb_position;jQuery(document).ready(function(a){tb_position=function(){var f=a(&quot;#TB_window&quot;),e=a(window).width(),d=a(window).height(),c=(720&lt;e)?720:e,b=0;if(a(&quot;body.admin-bar&quot;).length){b=28}if(f.size()){f.width(c-50).height(d-45-b);a(&quot;#TB_iframeContent&quot;).width(c-50).height(d-75-b);f.css({&quot;margin-left&quot;:&quot;-&quot;+parseInt(((c-50)/2),10)+&quot;px&quot;});if(typeof document.body.style.maxWidth!=&quot;undefined&quot;){f.css({top:20+b+&quot;px&quot;,&quot;margin-top&quot;:&quot;0&quot;})}}return a(&quot;#dashboard_plugins a.thickbox, .plugins a.thickbox&quot;).each(function(){var g=a(this).attr(&quot;href&quot;);if(!g){return}g=g.replace(/&amp;width=[0-9]+/g,&quot;&quot;);g=g.replace(/&amp;height=[0-9]+/g,&quot;&quot;);a(this).attr(&quot;href&quot;,g+&quot;&amp;width=&quot;+(c-80)+&quot;&amp;height=&quot;+(d-85-b))})};a(window).resize(function(){tb_position()});a(&quot;#dashboard_plugins a.thickbox, .plugins a.thickbox&quot;).click(function(){tb_click.call(this);a(&quot;#TB_title&quot;).css({&quot;background-color&quot;:&quot;#222&quot;,color:&quot;#cfcfcf&quot;});a(&quot;#TB_ajaxWindowTitle&quot;).html(&quot;&lt;strong&gt;&quot;+plugininstallL10n.plugin_information+&quot;&lt;/strong&gt;&amp;nbsp;&quot;+a(this).attr(&quot;title&quot;));return false});a(&quot;#plugin-information #sidemenu a&quot;).click(function(){var b=a(this).attr(&quot;name&quot;);a(&quot;#plugin-information-header a.current&quot;).removeClass(&quot;current&quot;);a(this).addClass(&quot;current&quot;);a(&quot;#section-holder div.section&quot;).hide();a(&quot;#section-&quot;+b).show();return false});a(&quot;#install-plugins .action-links .install-now&quot;).click(function(){return confirm(plugininstallL10n.ays)})});
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpadminnetworkindexphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/network/index.php (16962 => 16963)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/network/index.php        2010-12-15 18:34:59 UTC (rev 16962)
+++ trunk/wp-admin/network/index.php        2010-12-15 18:48:40 UTC (rev 16963)
</span><span class="lines">@@ -35,7 +35,9 @@
</span><span class="cx"> wp_dashboard_setup();
</span><span class="cx"> 
</span><span class="cx"> wp_enqueue_script( 'dashboard' );
</span><ins>+wp_enqueue_script( 'plugin-install' );
</ins><span class="cx"> wp_admin_css( 'dashboard' );
</span><ins>+wp_admin_css( 'plugin-install' );
</ins><span class="cx"> add_thickbox();
</span><span class="cx"> 
</span><span class="cx"> add_screen_option('layout_columns', array('max' =&gt; 4, 'default' =&gt; 2) );
</span></span></pre></div>
<a id="trunkwpincludesgeneraltemplatephp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/general-template.php (16962 => 16963)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/general-template.php        2010-12-15 18:34:59 UTC (rev 16962)
+++ trunk/wp-includes/general-template.php        2010-12-15 18:48:40 UTC (rev 16963)
</span><span class="lines">@@ -2154,6 +2154,9 @@
</span><span class="cx"> function add_thickbox() {
</span><span class="cx">         wp_enqueue_script( 'thickbox' );
</span><span class="cx">         wp_enqueue_style( 'thickbox' );
</span><ins>+
+        if ( is_network_admin() )
+                add_action( 'admin_head', '_thickbox_path_admin_subfolder' );
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span></span></pre></div>
<a id="trunkwpincludesscriptloaderphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/script-loader.php (16962 => 16963)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/script-loader.php        2010-12-15 18:34:59 UTC (rev 16962)
+++ trunk/wp-includes/script-loader.php        2010-12-15 18:48:40 UTC (rev 16963)
</span><span class="lines">@@ -404,7 +404,7 @@
</span><span class="cx">                         'l10n_print_after' =&gt; 'try{convertEntities(inlineEditL10n);}catch(e){};'
</span><span class="cx">                 ) );
</span><span class="cx"> 
</span><del>-                $scripts-&gt;add( 'plugin-install', &quot;/wp-admin/js/plugin-install$suffix.js&quot;, array( 'jquery', 'thickbox' ), '20100407' );
</del><ins>+                $scripts-&gt;add( 'plugin-install', &quot;/wp-admin/js/plugin-install$suffix.js&quot;, array( 'jquery', 'thickbox' ), '20101215' );
</ins><span class="cx">                 $scripts-&gt;add_data( 'plugin-install', 'group', 1 );
</span><span class="cx">                 $scripts-&gt;localize( 'plugin-install', 'plugininstallL10n', array(
</span><span class="cx">                         'plugin_information' =&gt; __('Plugin Information:'),
</span></span></pre>
</div>
</div>

</body>
</html>