File: /home/ic3/domains/thcsanphu.ic3.info/public_html/wp-content/plugins/foxtool/main/font.php
<?php
if ( ! defined( 'ABSPATH' ) ) { exit; }
function foxtool_font_options_page() {
if( isset($_GET['delete_font_key']) ){
$delete = foxtool_delete_font();
}
ob_start();
?>
<div class="wrap ft-wrap">
<div class="ft-wrap-top">
<?php include( FOXTOOL_DIR . 'main/page/ft-aff-top.php'); ?>
</div>
<div class="ft-wrap2">
<div class="ft-box">
<div class="ft-menu">
<div class="ft-logo ft-logoquay">
<a class="ft-logoquaya" href="https://foxtheme.net" target="_blank">
<span><?php foxtool_logo(); ?></span>
</a>
</div>
<button class="sotab sotab-select" onclick="fttab(event, 'tab1')"><i class="fa-regular fa-book-font"></i> <?php _e('ADD FONT', 'foxtool'); ?></button>
<button class="sotab" onclick="fttab(event, 'tab2')"><i class="fa-regular fa-font-case"></i> <?php _e('USE FONT', 'foxtool'); ?></button>
</div>
<div class="ft-main">
<?php
if( isset($_GET['valid']) && $_GET['valid'] == 'true' ){
echo '<div class="ft-updated">'. __('Upload font success', 'foxtool'). '</div>';
} else if( isset($_GET['valid']) && $_GET['valid'] == 'false' ){
echo '<div class="ft-updated">'. __('Upload font error', 'foxtool'). '</div>';
}
if( isset($_GET['delete_font_key']) ){
echo '<div class="ft-updated">'.$delete['status'].'</div>';
}
?>
<!-- FONT -->
<div class="sotab-box ftbox" id="tab1" style="margin-bottom:-80px;">
<form id="ft-form-font" method="post" enctype="multipart/form-data">
<h2><?php _e('ADD FONT', 'foxtool'); ?></h2>
<div class="ft-card">
<h3><i class="fa-regular fa-book-font"></i> <?php _e('Add fonts', 'foxtool') ?></h3>
<p>
<input class="ft-input-big" type="text" placeholder="<?php _e('Name the font', 'foxtool'); ?>" name="foxtool_font_name" required />
</p>
<label class="ft-label-file">
<input class="ft-input-file" type="file" name="foxtool_upload_file" required />
<b id="file-co"><?php _e('BROWSE FILE', 'foxtool'); ?></b>
<p><em><?php _e('Accepted Font Format : woff2, ttf, otf, off | Font Size: Upto 25 MB', 'foxtool'); ?></em></p>
</label>
<div class="ft-label-sub">
<button type="submit"><i class="fa-regular fa-folder-arrow-up"></i> <?php _e('UPLOAD FONT', 'foxtool'); ?></button>
</div>
<ul class="font-list">
<?php
$fontsData = foxtool_get_uploaded_font_data();
if (!empty($fontsData)){
foreach ($fontsData as $key => $fontData){ ?>
<li>
<article class="ft-box-font">
<div class="ft-box-top">
<div class="font-name font-demo <?php echo $fontData['font_name'];?>"><?php echo $fontData['font_name'];?></div>
<div class="font-class"><?php _e('font-family:', 'foxtool'); ?> '<?php echo $fontData['font_name'];?>', sans-serif;</div>
</div>
<div class="ft-box-dow">
<div class="font-dele">
<a onclick="if (!confirm('<?php _e('Do you want to delete?', 'foxtool'); ?>')){return false;}" href="admin.php?page=foxtool-font-options&delete_font_key=<?php echo $key; ?>"><i class="fa-regular fa-trash"></i></a>
</div>
</div>
</article>
</li>
<?php }
}
?>
</ul>
</div>
</form>
</div>
<!-- set font -->
<div class="sotab-box ftbox" id="tab2" style="display:none">
<?php
global $foxtool_fontset_options;
if( isset($_GET['settings-updated']) ) {
require_once( FOXTOOL_DIR . 'main/completed.php');
}
?>
<form method="post" action="options.php">
<?php settings_fields('foxtool_fontset_settings_group'); ?>
<h2><?php _e('USE FONT', 'foxtool'); ?></h2>
<div class="ft-card">
<h3><i class="fa-regular fa-font-case"></i> <?php _e('Use fonts on the web', 'foxtool') ?></h3>
<?php
if (!empty($fontsData)){
$p_contents = array(
'<h4>'. __('Choose a font for the', 'foxtool'). ' <i style="color:#ff4444">div</i> tag</h4>',
'<h4>'. __('Choose a font for the', 'foxtool'). ' <i style="color:#ff4444">p</i> tag</h4>',
'<h4>'. __('Choose a font for the', 'foxtool'). ' <i style="color:#ff4444">a</i> tag</h4>',
'<h4>'. __('Choose a font for the', 'foxtool'). ' <i style="color:#ff4444">span</i> tag</h4>',
'<h4>'. __('Choose a font for the', 'foxtool'). ' <i style="color:#ff4444">button</i> tag</h4>',
'<h4>'. __('Choose a font for the', 'foxtool'). ' <i style="color:#ff4444">input</i> tag</h4>',
'<h4>'. __('Choose a font for the', 'foxtool'). ' <i style="color:#ff4444">textarea</i> tag</h4>',
'<h4>'. __('Choose a font for the', 'foxtool'). ' <i style="color:#ff4444">select</i> tag</h4>',
'<h4>'. __('Choose a font for the', 'foxtool'). ' <i style="color:#ff4444">h1</i> tag</h4>',
'<h4>'. __('Choose a font for the', 'foxtool'). ' <i style="color:#ff4444">h2</i> tag</h4>',
'<h4>'. __('Choose a font for the', 'foxtool'). ' <i style="color:#ff4444">h3</i> tag</h4>',
'<h4>'. __('Choose a font for the', 'foxtool'). ' <i style="color:#ff4444">h4</i> tag</h4>',
'<h4>'. __('Choose a font for the', 'foxtool'). ' <i style="color:#ff4444">h5</i> tag</h4>',
'<h4>'. __('Choose a font for the', 'foxtool'). ' <i style="color:#ff4444">h6</i> tag</h4>',
);
echo '<div class="ft-font-box">';
for ($i = 1; $i <= 14; $i++) {
echo '<div class="ft-font-sel">' . $p_contents[$i - 1] . '';
$selected = ($foxtool_fontset_options['font' . $i] ?? '') === 'Default' ? 'selected="selected"' : ''; ?>
<p>
<select name="foxtool_fontset_settings[font<?php echo $i; ?>]" class="font-select select2" style="width:100%;">
<option value="Default" <?php echo $selected; ?>>Default</option>
<?php
foreach ($fontsData as $fontData) {
$selected = ($foxtool_fontset_options['font' . $i] ?? '') === $fontData['font_name'] ? 'selected="selected"' : ''; ?>
<option value="<?php echo $fontData['font_name']; ?>" <?php echo $selected; ?>><?php echo $fontData['font_name']; ?></option>
<?php } ?>
</select>
</p>
<div id="fontview<?php echo $i; ?>" class="font-view">This is a font demo</div>
</div>
<?php
}
echo '</div>';
}
?>
<div class="ft-submit">
<button type="submit"><i class="fa-regular fa-floppy-disk"></i> <?php _e('SAVE CONTENT', 'foxtool'); ?></button>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="ft-sidebar">
<?php include( FOXTOOL_DIR . 'main/page/ft-aff.php'); ?>
</div>
</div>
</div>
<script>
jQuery('#ft-form-font').on('submit', function(e){
e.preventDefault();
var formData = new FormData(this);
var ajax_nonce = '<?php echo wp_create_nonce('foxtool_font_nonce'); ?>';
formData.append('action', 'foxtool_upload_fonts');
formData.append('security', ajax_nonce);
jQuery.ajax({
url: '<?php echo admin_url( 'admin-ajax.php' ); ?>',
type: 'POST',
data: formData,
cache: false,
contentType: false,
processData: false,
beforeSend: function(){},
success: function(response) {
if (response == '1' || response == 1) {
window.location.href = "admin.php?page=foxtool-font-options&valid=true";
} else {
window.location.href = "admin.php?page=foxtool-font-options&valid=false";
}
},
})
});
jQuery(document).ready(function($){
$('.ft-input-file').change(function() {
var fileName = $(this).val().split('\\').pop();
$('#file-co').text(fileName);
});
$('.font-select').change(function(){
var selectedFont = $(this).val();
var divId = $(this).attr('name').replace('foxtool_fontset_settings[font', 'fontview').replace(']', '');
if(selectedFont === 'Default') {
$('#' + divId).hide();
} else {
$('#' + divId).css('font-family', selectedFont);
$('#' + divId).show();
}
});
$('.font-select').each(function() {
var selectedFont = $(this).val();
var divId = $(this).attr('name').replace('foxtool_fontset_settings[font', 'fontview').replace(']', '');
if(selectedFont === 'Default') {
$('#' + divId).hide();
} else {
$('#' + divId).css('font-family', selectedFont);
$('#' + divId).show();
}
});
});
// select font
jQuery(document).ready(function($) {
$('.select2').select2({
width: 'resolve'
});
});
</script>
<?php
// style foxtool
require_once( FOXTOOL_DIR . 'main/style.php');
echo ob_get_clean();
}
function foxtool_font_options_link() {
add_submenu_page ('foxtool-options', 'Font', '<i class="fa-regular fa-book-font" style="width:20px;"></i> '. __('Font', 'foxtool'), 'manage_options', 'foxtool-font-options', 'foxtool_font_options_page');
}
add_action('admin_menu', 'foxtool_font_options_link');
function foxtool_font_register_settings() {
register_setting('foxtool_fontset_settings_group', 'foxtool_fontset_settings');
}
add_action('admin_init', 'foxtool_font_register_settings');
// clear cache
function foxtool_fontset_settings_cache($old_value, $value) {
wp_cache_delete('foxtool_fontset_settings', 'options');
}
add_action('update_option_foxtool_fontset_settings', 'foxtool_fontset_settings_cache', 10, 2);