includes(); $this->init_hooks(); } /** * Register a custom opitons. */ public function aae_for_elementor_admin_options(){ add_submenu_page( 'elementor', esc_html__( 'Advanced Addons', 'aa_elementor' ), esc_html__( 'Advanced Addons', 'aa_elementor' ), 'manage_options', 'aae-settings', array($this, 'display_settings_pages') ); } /** * Register all hooks */ public function init_hooks() { // Build admin main menu add_action('admin_menu', array($this, 'aae_for_elementor_admin_options'),99); // Build admin notice //add_action('admin_notices', array($this, 'switch_lite_welcome_admin_notice')); // Build admin script add_action('init', array( $this, 'aae_for_elementor_admin_page_scripts' ) ); // Param check add_action('admin_init', array( $this, 'aae_for_elementor_admin_get_param_check' ) ); // Build admin view and save add_action( 'wp_ajax_aae_save_admin_addons_settings', array( $this, 'aae_for_elementor_sections_with_ajax') ); // font-awesome wp_enqueue_style( 'font-awesome', AAE_DIR_ASSETS . 'vendor/css/font-awesome.min.css', null, AAE_VERSION ); add_action('admin_enqueue_scripts', array( $this, 'aae_for_elementor_admin_script')); } /** * Register scripts */ public function aae_for_elementor_admin_page_scripts () { // admin css wp_enqueue_style( 'aae-admin', plugins_url('/assets/css/admin.css', __FILE__ )); // sweetalart css wp_enqueue_style( 'aae-sweetalert2-css', plugins_url('/assets/css/sweetalert2.min.css', __FILE__ )); // Admin script wp_enqueue_script('aae-elementor-admin-js', plugins_url('/assets/js/admin.js', __FILE__) , array('jquery','jquery-ui-tabs'), '1.0' , true ); // Core script wp_enqueue_script( 'aae-sweet-js', plugins_url('/assets/js/core.js', __FILE__), array( 'jquery' ), '1.0', true ); // Sweetalert2 script wp_enqueue_script( 'aae-sweetalert2-js', plugins_url('/assets/js/sweetalert2.min.js', __FILE__), array( 'jquery', 'aae-sweet-js' ), '1.0', true ); } function aae_for_elementor_admin_script(){ wp_enqueue_script( 'admin-notice-js', plugins_url('/assets/js/admin-notice.js', __FILE__), array( 'jquery' ), '1.0', true ); } function aae_for_elementor_admin_get_param_check(){ if (isset($_GET['dismissed']) && $_GET['dismissed'] == 1) { update_option("notice_dissmissed", 1); } } /** * Register display view */ public function display_settings_pages() { $js_info = array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ); wp_localize_script( 'aae-elementor-admin-js', 'settings', $js_info ); $this->aae_default_settings = array_fill_keys( $this->aae_elements_keys, true ); $this->aae_get_settings = get_option( 'aae_save_settings', $this->aae_default_settings ); $aae_new_settings = array_diff_key( $this->aae_default_settings, $this->aae_get_settings ); if( ! empty( $aae_new_settings ) ) { $aae_updated_settings = array_merge( $this->aae_get_settings, $aae_new_settings ); update_option( 'aae_save_settings', $aae_updated_settings ); } $this->aae_get_settings = get_option( 'aae_save_settings', $this->aae_default_settings ); ?>