Domain: antoinekatan.com
Server Adress: 10.127.20.23
privdayz.com
<?php
if ( ! defined( 'ABSPATH' ) ) exit;
function uaf_create_menu() {
add_menu_page( 'Use Any Font', 'Use Any Font', 'manage_options', 'use-any-font', 'uaf_interface', 'dashicons-editor-textcolor');
}
function uaf_admin_assets(){
wp_register_style('uaf_admin_css', plugins_url('../assets/css/uaf_admin.css', __FILE__),'', $GLOBALS['uaf_current_version']);
wp_enqueue_style('uaf_admin_css');
$uaf_upload = wp_upload_dir();
$uaf_upload_url = set_url_scheme($uaf_upload['baseurl']);
$uaf_upload_url = $uaf_upload_url . '/useanyfont/';
wp_register_style('uaf-font-style', $uaf_upload_url.'admin-uaf.css', array(), get_option('uaf_css_updated_timestamp'));
wp_enqueue_style('uaf-font-style');
add_editor_style($uaf_upload_url.'admin-uaf.css');
wp_register_script('uaf_admin_js', plugins_url('../assets/js/uaf_admin.js', __FILE__), '', $GLOBALS['uaf_current_version'], true);
$uaf_server_url = array($GLOBALS['uaf_user_settings']['uaf_server_url']);
wp_localize_script( 'uaf_admin_js', 'uaf_server_url', $uaf_server_url );
wp_enqueue_script( 'uaf_admin_js' );
}
function uaf_interface(){
$uaf_tabs = array(
'api' => array('name'=>'API Key','path'=>'uaf_api_interface.php'),
'font_upload' => array('name'=>'Upload Font','path'=>'uaf_font_upload_js.php'), // PHP Uploader discontinued.
//'font_upload' => array('name'=>'Upload Font','path'=>'uaf_font_upload_'.$GLOBALS['uaf_user_settings']['uaf_uploader_type'].'.php'),
'font_assign' => array('name'=>'Assign Font','path'=>'uaf_font_assign.php'),
'settings' => array('name'=>"Settings",'path'=>'uaf_settings.php'),
'instructions' => array('name'=>"Instructions",'path'=>'uaf_instructions.php')
);
$uaf_tabs = apply_filters( 'uaf_tabs_filter', $uaf_tabs);
include UAF_FILE_PATH.'includes/views/uaf_main.php';
}
function uaf_predefined_font_interface(){
include UAF_FILE_PATH.'includes/views/uaf_predefined_fonts.php';
wp_die();
}
function uaf_get_options(){
$uaf_user_settings = $GLOBALS['uaf_user_settings'];
foreach ($uaf_user_settings as $option_name => $option_value) {
$GLOBALS['uaf_user_settings'][$option_name] = get_option($option_name, $option_value);
}
$GLOBALS['uaf_user_settings']['uaf_server_url'] = $GLOBALS['uaf_fix_settings']['serverUrl'][$GLOBALS['uaf_user_settings']['uaf_server_url_type']];
}
function uaf_api_key_activate(){
$uaf_api_key = trim(sanitize_key($_POST['uaf_api_key']));
$uaf_site_url = site_url();
if (!empty($uaf_api_key)){
$api_key_return = wp_remote_get($GLOBALS['uaf_user_settings']['uaf_server_url'].'/uaf_convertor/validate_key.php?license_key='.$uaf_api_key.'&url='.$uaf_site_url, array('timeout'=>60,'sslverify'=>false,'user-agent'=>get_bloginfo( 'url' )));
if ( is_wp_error( $api_key_return ) ) {
$error_message = $api_key_return->get_error_message();
$return['body'] = "Something went wrong: $error_message";
$return['status'] = 'error';
} else {
$response_code = wp_remote_retrieve_response_code($api_key_return);
$response_body = wp_remote_retrieve_body($api_key_return);
if ($response_code == 200) {
$api_key_return = json_decode($response_body);
if ($api_key_return->status == 'success') {
update_option('uaf_api_key', $uaf_api_key);
update_option('uaf_activated_url', base64_encode($uaf_site_url));
update_option('uaf_hide_key', 'no');
uaf_get_options();
uaf_write_css();
}
$return['body'] = $api_key_return->msg;
$return['status'] = $api_key_return->status;
} else {
$return['body'] = 'Unexpected Error Occured. Please enable/disable alternative server from settings tab and try again.';
$return['status'] = 'error';
}
}
} else {
$return['body'] = 'Please keep API key to activate.';
$return['status'] = 'error';
}
return $return;
}
function uaf_api_key_deactivate(){
$uaf_api_key = $GLOBALS['uaf_user_settings']['uaf_api_key'];
$uaf_activated_url = base64_decode($GLOBALS['uaf_user_settings']['uaf_activated_url']);
$api_key_return = wp_remote_get($GLOBALS['uaf_user_settings']['uaf_server_url'].'/uaf_convertor/deactivate_key.php?license_key='.$uaf_api_key.'&url='.$uaf_activated_url, array('timeout'=>60,'sslverify'=>false,'user-agent'=>get_bloginfo( 'url' )));
if ( is_wp_error( $api_key_return ) ) {
$error_message = $api_key_return->get_error_message();
$return['body'] = "Something went wrong: $error_message";
$return['status'] = 'error';
} else {
$response_code = wp_remote_retrieve_response_code($api_key_return);
$response_body = wp_remote_retrieve_body($api_key_return);
if ($response_code == 200) {
$api_key_return = json_decode($response_body);
if ($api_key_return->status == 'success'){
update_option('uaf_api_key', '');
update_option('uaf_activated_url', '');
uaf_get_options();
uaf_write_css();
}
$return['status'] = $api_key_return->status;
$return['body'] = $api_key_return->msg;
} else {
$return['body'] = 'Unexpected Error Occured. Please enable/disable alternative server from settings tab and try again.';
$return['status'] = 'error';
}
}
return $return;
}
function uaf_api_key_hide(){
update_option('uaf_hide_key','yes');
$return['status'] = 'success';
$return['body'] = 'Key hidden. You must remove the key and add again to see it back.';
uaf_get_options();
return $return;
}
function uaf_plugin_initialize(){
if (get_option('uaf_current_version') != $GLOBALS['uaf_current_version']){
add_option('uaf_install_date', date('Y-m-d'));
if (!empty(trim(get_option('uaf_api_key')))){
update_option('uaf_activated_url',base64_encode(site_url()));
}
uaf_create_folder();
uaf_write_css();
update_option('uaf_current_version', $GLOBALS['uaf_current_version']);
$uaf_user_settings = $GLOBALS['uaf_user_settings'];
foreach ($uaf_user_settings as $option_name => $option_value) {
add_option($option_name, $option_value);
}
}
uaf_get_options();
uaf_trigger_actions();
//uaf_check_site_url();
include UAF_FILE_PATH.'includes/functions/uaf_editor_functions.php'; // EDITOR FILTERS AND HOOKS
}
function uaf_plugin_activated(){
uaf_create_folder();
uaf_get_options();
uaf_write_css();
}
function uaf_max_upload_size_for_php($sendinbytes = false){
$maxUploadSizeForPHP = $GLOBALS['uaf_fix_settings']['allowedFontSize'];
$wpAllowedMaxSize = wp_max_upload_size();
$wpAllowedMaxSizeToMB = $wpAllowedMaxSize / 1048576 ;
if ($wpAllowedMaxSizeToMB < $GLOBALS['uaf_fix_settings']['allowedFontSize']){
$maxUploadSizeForPHP = $wpAllowedMaxSizeToMB;
}
if ($sendinbytes) {
return $maxUploadSizeForPHP * 1048576;
} else {
return $maxUploadSizeForPHP;
}
}
function uaf_check_site_url(){
$uaf_api_key = $GLOBALS['uaf_user_settings']['uaf_api_key'];
$uaf_site_url = $GLOBALS['uaf_user_settings']['uaf_site_url'];
$uaf_current_url = base64_encode(site_url());
if (!empty($uaf_api_key) && ($uaf_site_url != $uaf_current_url)){
uaf_write_css();
}
}
function uaf_save_options(){
$all_fields_name = array(
'uaf_server_url_type',
//'uaf_uploader_type',
'uaf_use_absolute_font_path',
'uaf_disbale_editor_font_list',
'uaf_enable_multi_lang_support',
'uaf_font_display_property'
);
foreach ($all_fields_name as $fieldname) {
update_option($fieldname,sanitize_text_field($_POST[$fieldname]));
}
uaf_get_options();
uaf_write_css();
$return['status'] = 'ok';
$return['body'] = 'Settings Saved';
return $return;
}
function uaf_admin_notices(){
// ASKING FOR REVIEW
if (isset($_GET['uaf_reviews_notice_hide']) && $_GET['uaf_reviews_notice_hide'] == '1') {
update_option('uaf_reviews_notice_hide','yes');
}
if (get_option('uaf_reviews_notice_hide') != 'yes'){
$installedDate = strtotime(get_option('uaf_install_date'));
$todayDate = time();
$installedDays = round(($todayDate - $installedDate) / (60 * 60 * 24));
$fonts_uploaded = uaf_count_uploaded_fonts();
if ($installedDays > 30 && $fonts_uploaded > 1){
echo '<div class="updated success" style="padding:10px; font-size:16px; line-height:1.6;color:#205225;">
Hey, You have been using Use Any Font for more than 30 days - that’s awesome! Could you please do us a BIG favor and give it a 5-star rating on WordPress ? Just to help us spread the word and boost our motivation.<br/>
<ul style="padding-left:50px;list-style-type: square;">
<li><a href="https://wordpress.org/support/plugin/use-any-font/reviews/?filter=5" target="_blank">Ok, you deserve it</a></li>
<li><a href="https://dineshkarki.com.np/contact" target="_blank">I still have problem !!</a></li>
<li><a href="'.esc_url(add_query_arg('uaf_reviews_notice_hide', '1')).'">I already did</a></li>
<li><a href="'.esc_url(add_query_arg('uaf_reviews_notice_hide', '1')).'">Hide this message</a></li>
</ul>
</div>';
}
}
// EOF ASKING FOR REVIEW
// CSS WRITE ERROR NOTICE
$error_message = get_transient('uaf_css_write_error');
if ($error_message) {
echo '<div class="notice notice-error is-dismissible">
<p><strong>Use Any Font Error:</strong> ' . esc_html($error_message) . '</p>
</div>';
delete_transient('uaf_css_write_error'); // Remove the error after displaying
}
}
function uaf_trigger_actions(){
$actionReturn = array();
if (current_user_can('manage_options')){
$actionReturnNonceError = array(
'status' => 'error',
'body' => 'Sorry, your nonce did not verify. Please try again.'
);
if (isset($_POST['uaf_api_key_activate'])){
if ( isset($_POST['uaf_nonce']) && wp_verify_nonce($_POST['uaf_nonce'], 'uaf_api_key_actions')) {
$actionReturn = uaf_api_key_activate();
} else {
$actionReturn = $actionReturnNonceError;
}
}
if (isset($_POST['uaf_api_key_deactivate'])){
if ( isset($_POST['uaf_nonce']) && wp_verify_nonce($_POST['uaf_nonce'], 'uaf_api_key_actions')) {
$actionReturn = uaf_api_key_deactivate();
} else {
$actionReturn = $actionReturnNonceError;
}
}
if (isset($_POST['uaf_api_key_hide'])){
if ( isset($_POST['uaf_nonce']) && wp_verify_nonce($_POST['uaf_nonce'], 'uaf_api_key_actions')) {
$actionReturn = uaf_api_key_hide();
} else {
$actionReturn = $actionReturnNonceError;
}
}
if (isset($_POST['submit-uaf-font-js'])){
if ( isset($_POST['uaf_nonce']) && wp_verify_nonce($_POST['uaf_nonce'], 'uaf_font_upload_js')) {
$font_weight = $font_style = '';
if (isset($_POST['enable_font_variation'])){
$font_weight = sanitize_key($_POST['font_weight']);
$font_style = sanitize_key($_POST['font_style']);
}
$actionReturn = uaf_save_font_files($_POST['font_name'], $font_weight, $font_style, $_POST['convert_response']);
} else {
$actionReturn = $actionReturnNonceError;
}
}
/* NOT in use till API accepts font file in Binary
if (isset($_POST['submit-uaf-font-php'])){
if ( isset($_POST['uaf_nonce']) && wp_verify_nonce($_POST['uaf_nonce'], 'uaf_font_upload_php')) {
$actionReturn = uaf_upload_font_to_server();
if ($actionReturn['status'] == 'success'){
$font_weight = $font_style = '';
if (isset($_POST['enable_font_variation'])){
$font_weight = sanitize_key($_POST['font_weight']);
$font_style = sanitize_key($_POST['font_style']);
}
$actionReturn = uaf_save_font_files($_POST['font_name'], $font_weight, $font_style, $actionReturn['body']);
}
} else {
$actionReturn = $actionReturnNonceError;
}
}*/
if (isset($_POST['submit-uaf-font-assign'])){
if ( isset($_POST['uaf_nonce']) && wp_verify_nonce($_POST['uaf_nonce'], 'uaf_font_assign')) {
$actionReturn = uaf_save_font_assign();
} else {
$actionReturn = $actionReturnNonceError;
}
}
if (isset($_GET['delete_font_assign_key'])){
if ( isset($_GET['uaf_nonce']) && wp_verify_nonce($_GET['uaf_nonce'], 'uaf_delete_font_assign')) {
$actionReturn = uaf_delete_font_assign();
} else {
$actionReturn = $actionReturnNonceError;
}
}
if (isset($_GET['delete_font_key'])){
if ( isset($_GET['uaf_nonce']) && wp_verify_nonce($_GET['uaf_nonce'], 'uaf_delete_font')) {
$actionReturn = uaf_delete_font();
} else {
$actionReturn = $actionReturnNonceError;
}
}
if (isset($_POST['save-uaf-options'])){
if ( isset($_POST['uaf_nonce']) && wp_verify_nonce($_POST['uaf_nonce'], 'uaf_save_settings')) {
$actionReturn = uaf_save_options();
} else {
$actionReturn = $actionReturnNonceError;
}
}
if (isset($_GET['predefinedfontid'])){
$actionReturn = uaf_add_pre_defined_font($_GET['predefinedfontid']);
}
} else {
$actionReturn = array(
'status' => 'error',
'body' => 'Sorry, Something went wrong !'
);
}
$GLOBALS['uaf_action_return'] = $actionReturn;
}
