whoami7 - Manager
:
/
home
/
dataiclx
/
vielorbe.com
/
wp-content
/
themes
/
botiga
/
inc
/
customizer
/
Upload File:
files >> //home/dataiclx/vielorbe.com/wp-content/themes/botiga/inc/customizer/ajax-callbacks.php
<?php /** * Customizer * Ajax callback functions * * @package Botiga */ /** * Adobe fonts control kits ajax callback */ function botiga_typography_adobe_kits_control() { check_ajax_referer( 'customize-typography-adobe-kits-control-nonce', 'nonce' ); $token = isset( $_POST['token'] ) ? wp_strip_all_tags( wp_unslash( $_POST['token'] ) ) : ''; $url = 'https://typekit.com/api/v1/json/kits/'; $response = wp_remote_request( $url . '?token=' . esc_attr( $token ), array() ); if ( wp_remote_retrieve_response_code( $response ) !== 200 ) { update_option( 'botiga_adobe_fonts_kits', array() ); wp_send_json( array( 'status' => 'error', 'output' => '<p>' . esc_html__( 'Invalid API token.', 'botiga' ) . '</p>', ) ); } $fonts = array(); $response_body = json_decode( wp_remote_retrieve_body( $response ) ); foreach( $response_body->kits as $kit ) { $url = 'https://typekit.com/api/v1/json/kits/' . esc_attr( $kit->id ) . '?token=' . esc_attr( $token ); $response = wp_remote_request( $url, array() ); if ( wp_remote_retrieve_response_code( $response ) === 200 ) { $response_body = json_decode( wp_remote_retrieve_body( $response ) ); $fonts[ $response_body->kit->id ] = array( 'enable' => true, 'project_name' => $response_body->kit->name, ); foreach( $response_body->kit->families as $family ) { $fonts[ $response_body->kit->id ][ 'families' ][] = array( 'name' => $family->name, 'css_name' => $family->css_names, 'css_stack' => $family->css_stack, 'subset' => $family->subset, 'variations' => $family->variations, ); } update_option( 'botiga_adobe_fonts_kits', $fonts ); } } // Token is valid // But there's no fonts attached to the token if( count( $fonts ) === 0 ) { $output = sprintf( /* translators: 1: Adobe Fonts docs link */ __( 'Your API token is valid but you don\'t have fonts attached to this token. Click <a href="%s" target="_blank">here</a> to learn more about that.', 'botiga' ), 'https://docs.athemes.com/article/441-how-to-use-adobe-fonts' ); if( defined( 'BOTIGA_AWL_ACTIVE' ) ) { $output = __( 'Your API token is valid but you don\'t have fonts attached to this token.', 'botiga' ); } wp_send_json( array( 'status' => 'error', 'output' => '<p>' . wp_kses_post( $output ) . '</p>', ) ); } // Success. // There's fonts attached to the token wp_send_json( array( 'status' => 'success', 'output' => botiga_customize_control_adobe_font_kits_output( get_option( 'botiga_adobe_fonts_kits' ), false ), ) ); } add_action('wp_ajax_botiga_typography_adobe_kits_control', 'botiga_typography_adobe_kits_control'); /** * Adobe fonts control enable/disable kits ajax callback */ function botiga_typography_adobe_kits_control_enable_disable() { check_ajax_referer( 'customize-typography-adobe-kits-control-onoff-nonce', 'nonce' ); $kit_id = isset( $_POST['kit'] ) ? wp_strip_all_tags( wp_unslash( $_POST['kit'] ) ) : ''; $kits = get_option( 'botiga_adobe_fonts_kits', false ); if( $kits[ $kit_id ]['enable'] ) { $kits[ $kit_id ]['enable'] = 0; } else { $kits[ $kit_id ]['enable'] = 1; } update_option( 'botiga_adobe_fonts_kits', $kits ); wp_send_json( array( 'status' => 'success', 'kit_id' => $kit_id, 'kit_enabled' => $kits[ $kit_id ]['enable'], ) ); } add_action('wp_ajax_botiga_typography_adobe_kits_control_enable_disable', 'botiga_typography_adobe_kits_control_enable_disable'); /** * Create page control ajax callback */ function botiga_create_page_control() { check_ajax_referer( 'customize-create-page-control-nonce', 'nonce' ); $page_title = isset( $_POST['page_title'] ) ? wp_strip_all_tags( wp_unslash( $_POST['page_title'] ) ) : ''; $page_meta_key = isset( $_POST['page_meta_key'] ) ? sanitize_text_field( wp_unslash( $_POST['page_meta_key'] ) ) : ''; $page_meta_value = isset( $_POST['page_meta_value'] ) ? sanitize_text_field( wp_unslash( $_POST['page_meta_value'] ) ) : ''; $option_name = isset( $_POST['option_name'] ) ? sanitize_text_field( wp_unslash( $_POST['option_name'] ) ) : ''; $meta_input = array(); if( $page_meta_key && $page_meta_value ) { $meta_input = array( $page_meta_key => $page_meta_value, ); } $postarr = array( 'post_type' => 'page', 'post_status' => 'publish', 'post_title' => $page_title, 'post_content' => '', 'meta_input' => $meta_input, ); $page_id = wp_insert_post( $postarr ); if( ! is_wp_error( $page_id ) ) { if( $option_name ) { update_option( wp_unslash( $option_name ), $page_id ); } wp_send_json( array( 'status' => 'success', 'page_id' => $page_id, ) ); } else { wp_send_json( array( 'status' => 'error', ) ); } } add_action('wp_ajax_botiga_create_page_control', 'botiga_create_page_control'); /** * Display conditions ajax callback */ function botiga_display_conditions_select_ajax() { $term = ( isset( $_GET['term'] ) ) ? sanitize_text_field( wp_unslash( $_GET['term'] ) ) : ''; $nonce = ( isset( $_GET['nonce'] ) ) ? sanitize_text_field( wp_unslash( $_GET['nonce'] ) ) : ''; $source = ( isset( $_GET['source'] ) ) ? sanitize_text_field( wp_unslash( $_GET['source'] ) ) : ''; if ( ! empty( $term ) && ! empty( $source ) && ! empty( $nonce ) && wp_verify_nonce( $nonce, 'botiga_ajax_nonce' ) ) { $options = botiga_get_display_conditions_select_options( $term, $source ); wp_send_json_success( $options ); } else { wp_send_json_error(); } } add_action( 'wp_ajax_botiga_display_conditions_select_ajax', 'botiga_display_conditions_select_ajax' );
Copyright ©2021 || Defacer Indonesia