| Server IP : 38.190.208.107 / Your IP : 216.73.217.46 Web Server : nginx/1.28.1 System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64 User : root ( 0) PHP Version : 8.2.28 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/wp.3/wp-content/plugins/better-block-editor/admin/js/demo-content/ |
Upload File : |
( function ( $ ) {
$( function () {
window.wpbbeDownloadFseFonts = function ( fonts ) {
if ( ! fonts || fonts.length === 0 ) {
console.error( 'No fonts to download' );
return $.Deferred().resolve().promise();
}
const deferred = $.Deferred();
wp.apiRequest( {
path: '/wp/v2/font-collections',
method: 'GET',
} )
.done( async function ( response ) {
try {
const googleFonts = response.find( function ( fontCollection ) {
return fontCollection.slug === 'google-fonts';
} );
const themeFonts = fonts.map( function ( font ) {
font.fontFamily = font.fontFamily.replace( /\"/g, '' );
return font;
} );
const themeUniqueFontFamilies = themeFonts
.map( function ( font ) {
return font.fontFamily;
} )
.filter( function ( fontFamily, index, self ) {
return self.indexOf( fontFamily ) === index;
} );
const fontFamilies = googleFonts.font_families
.filter( function ( fontFamily ) {
return themeUniqueFontFamilies.includes(
fontFamily.font_family_settings.name
);
} )
.reduce( function ( acc, fontFamily ) {
acc.push( ...fontFamily.font_family_settings.fontFace );
return acc;
}, [] )
.reduce( function ( acc, fontFace ) {
const key = [
fontFace.fontFamily,
fontFace.fontStyle,
fontFace.fontWeight,
].join( '-' );
acc[ key ] = fontFace.src;
return acc;
}, {} );
for ( const fontFace of themeFonts ) {
const key = [
fontFace.fontFamily,
fontFace.fontStyle,
fontFace.fontWeight,
].join( '-' );
if ( fontFamilies.hasOwnProperty( key ) ) {
try {
const response = await fetch( fontFamilies[ key ], {
mode: 'cors',
} );
const blob = await response.blob();
const fileName = fontFamilies[ key ].split( '/' ).pop();
const formData = new FormData();
formData.append( 'font', blob, fileName );
// Upload font to server via REST API.
await wp.apiRequest( {
path: '/wpbbe/v1/fse-font',
method: 'POST',
data: formData,
contentType: false,
processData: false,
} );
} catch ( error ) {
console.error( 'Error uploading font:', error );
}
}
}
deferred.resolve();
} catch ( error ) {
console.error( 'Error processing fonts:', error );
deferred.resolve();
}
} )
.fail( function ( response ) {
console.log( 'Cannot get font collections', response );
deferred.resolve();
} );
return deferred.promise();
};
} );
} )( jQuery );