Current Path : /proc/self/cwd/sudancam.sd/wp-content/plugins/ibtana-visual-editor/classes/ |
Current File : //proc/self/cwd/sudancam.sd/wp-content/plugins/ibtana-visual-editor/classes/ive-notice.php |
<?php defined( 'ABSPATH' ) || exit; if ( ! class_exists( 'IVE_Admin_Notice' ) ) { class IVE_Admin_Notice { function __construct() { add_action( 'admin_notices', array( $this, 'ive_admin_notice' ) ); add_action( 'wp_ajax_ive_get_admin_notices', array( $this, 'ive_get_admin_notices' ) ); add_action( 'wp_ajax_ive_admin_notice_ignore', array( $this, 'ive_admin_notice_ignore' ) ); add_action( 'wp_ajax_ive_get_theme_license_activation_duration', array( $this, 'ive_get_theme_license_activation_duration' ) ); add_action( 'wp_ajax_ive_get_client_meta_box_info', array( $this, 'ive_get_client_meta_box_info' ) ); add_action( 'admin_enqueue_scripts', array( $this, 'ive_notice_scripts' ) ); $is_sirat_theme_installed = false; if ( count( wp_get_themes() ) && ( gettype( wp_get_themes() ) == 'array' ) ) { if ( isset( wp_get_themes()['sirat'] ) ) { $is_sirat_theme_installed = true; } } $ive_vw_theme_admin_notice_dismiss = false; if ( ( wp_get_theme()->get( 'TextDomain' ) != 'sirat' ) && $is_sirat_theme_installed && !$ive_vw_theme_admin_notice_dismiss ) { add_action( 'admin_notices', array( $this, 'ive_admin_notice_sirat' ) ); add_action( 'admin_init', array( $this, 'ive_vw_theme_admin_notice_dismiss' ) ); } } function ive_get_client_meta_box_info() { // Check for nonce security if ( ! wp_verify_nonce( $_POST['wpnonce'], 'ive_notice_nonce' ) ) { exit; } if ( ! current_user_can( 'manage_options' ) ) { exit; } $endpoint = IBTANA_LICENSE_API_ENDPOINT . 'get_client_meta_box_info'; $args = [ 'theme_text_domain' => wp_get_theme()->get( 'TextDomain' ) ]; $body = wp_json_encode( $args ); $options = [ 'body' => $body, 'headers' => [ 'Content-Type' => 'application/json', ], ]; $request_data = wp_remote_post( $endpoint, $options ); } function ive_get_theme_license_activation_duration() { // Check for nonce security if ( ! wp_verify_nonce( $_POST['wpnonce'], 'ive_notice_nonce' ) ) { exit; } if ( ! current_user_can( 'manage_options' ) ) { exit; } $endpoint = IBTANA_LICENSE_API_ENDPOINT . 'get_theme_license_activation_duration'; $args = [ 'site_url' => site_url(), 'vw_pro_theme_key' => sanitize_text_field( $_POST['vw_pro_theme_key'] ), 'pro_theme_text_domain' => sanitize_text_field( $_POST['pro_theme_text_domain'] ) ]; $body = wp_json_encode( $args ); $options = [ 'body' => $body, 'headers' => [ 'Content-Type' => 'application/json', ], ]; $request_data = wp_remote_post( $endpoint, $options ); if ( is_wp_error( $request_data ) ) { $response = array( 'success' => false, 'msg' => __( 'Something Went Wrong!', 'ibtana-visual-editor' ) ); wp_send_json( $response ); exit; } $response_json = json_decode( wp_remote_retrieve_body( $request_data ) ); if ( !$response_json ) { $response = array( 'success' => false, 'msg' => __( 'Something Went Wrong!', 'ibtana-visual-editor' ) ); wp_send_json( $response ); exit; } wp_send_json( $response_json ); } function ive_vw_theme_admin_notice_dismiss() { if ( isset( $_GET['ive-vw-theme-admin-notice-dismiss'] ) ) { update_option( 'ive-vw-theme-admin-notice-dismiss', true ); } } function ive_admin_notice_sirat() { $ive_sirat_theme_activate_action_url = wp_nonce_url( 'themes.php?action=activate&template=sirat&stylesheet=sirat', 'switch-theme_sirat' ); ?> <div id="ive-admin-notice-sirat" class="notice notice-info"> <p> <?php printf( '<strong>%s</strong> %s <strong>%s</strong> %s', __( 'Ibtana - WordPress Website Builder', 'ibtana-visual-editor' ), __( 'better works with', 'ibtana-visual-editor' ), __( 'Sirat', 'ibtana-visual-editor' ), __( 'theme.', 'ibtana-visual-editor' ) ); ?> </p> <p> <a href="<?php echo esc_url( $ive_sirat_theme_activate_action_url ); ?>" class="button-primary"> <?php esc_html_e( 'Activate Sirat Theme', 'ibtana-visual-editor' ); ?> </a> </p> <!-- <a class="notice-dismiss" href="?ive-vw-theme-admin-notice-dismiss" type="button"></a> --> </div> <?php } function ive_get_admin_notices() { // Check for nonce security if ( ! wp_verify_nonce( $_POST['wpnonce'], 'ive_notice_nonce' ) ) { exit; } if ( ! current_user_can( 'manage_options' ) ) { exit; } $endpoint = IBTANA_LICENSE_API_ENDPOINT . 'get_client_admin_notices_for_client'; $response = wp_remote_post( $endpoint ); if ( is_wp_error( $response ) ) { $response = array( 'status' => false, 'msg' => 'Something Went Wrong!' ); wp_send_json( $response ); exit; } $response_json = json_decode( wp_remote_retrieve_body( $response ) ); $notices_data = $response_json->data; wp_send_json_success( $notices_data ); } function ive_notice_scripts() { wp_enqueue_style( 'ive-notice-style', IBTANA_PLUGIN_DIR_URL . 'dist/css/ive-notice.css' ); wp_enqueue_script( 'ive-notice-script', IBTANA_PLUGIN_DIR_URL . 'dist/js/ive-notice.js' ); $ive_admin_notices = get_option( 'ive_admin_notices', [] ); // Theme Text Domain START $theme_text_domain = ''; if ( defined( 'CUSTOM_TEXT_DOMAIN' ) ) { $theme_text_domain = CUSTOM_TEXT_DOMAIN; } else { $theme_text_domain = wp_get_theme()->get( 'TextDomain' ); if ( is_child_theme() ) { $theme_text_domain = wp_get_theme()->get( 'Template' ); } } // Theme Text Domain END // Check if vw theme license is activated START $free_theme_text_domain = ''; $pro_theme_text_domain = ''; if ( defined( 'CUSTOM_TEXT_DOMAIN' ) ) { $pro_theme_text_domain = wp_get_theme()->get( 'TextDomain' ); if ( is_child_theme() ) { $pro_theme_text_domain = wp_get_theme()->get( 'Template' ); } } else { $free_theme_text_domain = wp_get_theme()->get( 'TextDomain' ); if ( is_child_theme() ) { $free_theme_text_domain = wp_get_theme()->get( 'Template' ); } } $theme_validation_status_option_key = str_replace( "-", "_", $pro_theme_text_domain ) . '_theme_validation_status'; $theme_validation_status = get_option( $theme_validation_status_option_key, false ); $vw_pro_theme_key = get_option( 'vw_pro_theme_key', '' ); // Check if vw theme license is activated END $ive_notice_params = array( 'IBTANA_LICENSE_API_ENDPOINT' => IBTANA_LICENSE_API_ENDPOINT, 'ajax_url' => esc_url( admin_url( 'admin-ajax.php' ) ), 'ive_admin_notices' => $ive_admin_notices, 'free_theme_text_domain' => $free_theme_text_domain, 'theme_text_domain' => $theme_text_domain, 'admin_url' => esc_url( admin_url() ), 'pro_theme_text_domain' => $pro_theme_text_domain, 'theme_validation_status' => $theme_validation_status, 'vw_pro_theme_key' => $vw_pro_theme_key, 'date' => date( "Y-m-d H:i:s" ), 'wpnonce' => wp_create_nonce( 'ive_notice_nonce' ) ); wp_localize_script( 'ive-notice-script', 'ive_notice_params', $ive_notice_params ); } function ive_admin_notice() { ?> <div id="ive-admin-notice" class="notice"> </div> <?php } function ive_admin_notice_ignore() { // Check for nonce security if ( ! wp_verify_nonce( $_POST['wpnonce'], 'ive_notice_nonce' ) ) { exit; } if ( ! current_user_can( 'manage_options' ) ) { exit; } $ive_admin_notice_id = sanitize_text_field( $_POST['ive_admin_notice_id'] ); $ive_admin_notices = get_option( 'ive_admin_notices', [] ); array_push( $ive_admin_notices, $ive_admin_notice_id ); if ( count( $ive_admin_notices ) > 50 ) { array_shift( $ive_admin_notices ); } update_option( 'ive_admin_notices', $ive_admin_notices ); wp_send_json_success(); } } new IVE_Admin_Notice(); }