%PDF- %PDF-
Direktori : /home/eirtvhdf/makkitrust.org/wp-content/themes/alhambra/includes/ |
Current File : /home/eirtvhdf/makkitrust.org/wp-content/themes/alhambra/includes/admin.php |
<?php /** * Admin utilities * * @package WordPress * @subpackage ALHAMBRA * @since ALHAMBRA 1.0.1 */ // Disable direct call if ( ! defined( 'ABSPATH' ) ) { exit; } //------------------------------------------------------- //-- Theme init //------------------------------------------------------- // Theme init priorities: // 1 - register filters to add/remove lists items in the Theme Options // 2 - create Theme Options // 3 - add/remove Theme Options elements // 5 - load Theme Options // 9 - register other filters (for installer, etc.) //10 - standard Theme init procedures (not ordered) if ( !function_exists('alhambra_admin_theme_setup') ) { add_action( 'after_setup_theme', 'alhambra_admin_theme_setup' ); function alhambra_admin_theme_setup() { // Add theme icons add_action('admin_footer', 'alhambra_admin_footer'); // Enqueue scripts and styles for admin add_action("admin_enqueue_scripts", 'alhambra_admin_scripts'); add_action("admin_footer", 'alhambra_admin_localize_scripts'); // Show admin notice add_action('admin_notices', 'alhambra_admin_notice', 2); add_action('wp_ajax_alhambra_hide_admin_notice', 'alhambra_callback_hide_admin_notice'); // TGM Activation plugin add_action('tgmpa_register', 'alhambra_register_plugins'); // Init internal admin messages alhambra_init_admin_messages(); } } //------------------------------------------------------- //-- Admin notice and internal messages //------------------------------------------------------- // Show admin notice if ( !function_exists( 'alhambra_admin_notice' ) ) { //Handler of the add_action('admin_notices', 'alhambra_admin_notice', 2); function alhambra_admin_notice() { if (in_array(alhambra_get_value_gp('action'), array('vc_load_template_preview'))) return; if (alhambra_get_value_gp('page') == 'alhambra_about') return; $opt_name = 'alhambra_admin_notice'; $show = get_option('alhambra_admin_notice'); if ($show !== false && (int) $show == 0) return; require_once alhambra_get_file_dir( 'templates/admin-notice.php' ); } } // Hide admin notice if ( !function_exists( 'alhambra_callback_hide_admin_notice' ) ) { //Handler of the add_action('wp_ajax_alhambra_hide_admin_notice', 'alhambra_callback_hide_admin_notice'); function alhambra_callback_hide_admin_notice() { update_option('alhambra_admin_notice', '0'); exit; } } // Init internal admin messages if ( !function_exists( 'alhambra_init_admin_messages' ) ) { function alhambra_init_admin_messages() { $msg = get_option('alhambra_admin_messages'); if (is_array($msg)) update_option('alhambra_admin_messages', ''); else $msg = array(); alhambra_storage_set('admin_messages', $msg); } } // Add internal admin message if ( !function_exists( 'alhambra_add_admin_message' ) ) { function alhambra_add_admin_message($text, $type='success', $cur_session=false) { if (!empty($text)) { $new_msg = array('message' => $text, 'type' => $type); if ($cur_session) { alhambra_storage_push_array('admin_messages', '', $new_msg); } else { $msg = get_option('alhambra_admin_messages'); if (!is_array($msg)) $msg = array(); $msg[] = $new_msg; update_option('alhambra_admin_messages', $msg); } } } } // Show internal admin messages if ( !function_exists( 'alhambra_show_admin_messages' ) ) { function alhambra_show_admin_messages() { $msg = alhambra_storage_get('admin_messages'); if (!is_array($msg) || count($msg) == 0) return; ?><div class="alhambra_admin_messages"><?php foreach ($msg as $m) { ?><div class="alhambra_admin_message_item <?php echo str_replace('success', 'updated', $m['type']); ?>"> <p><?php echo wp_kses_data($m['message']); ?></p> </div><?php } ?></div><?php } } //------------------------------------------------------- //-- Styles and scripts //------------------------------------------------------- // Load inline styles if ( !function_exists( 'alhambra_admin_footer' ) ) { //Handler of the add_action('admin_footer', 'alhambra_admin_footer'); function alhambra_admin_footer() { // Get current screen $screen = function_exists('get_current_screen') ? get_current_screen() : false; if (is_object($screen) && $screen->id=='nav-menus') { alhambra_show_layout(alhambra_show_custom_field('alhambra_icons_popup', array( 'type' => 'icons', 'style' => alhambra_get_theme_setting('icons_type'), 'button'=> false, 'icons' => true ), null) ); } } } // Load required styles and scripts for admin mode if ( !function_exists( 'alhambra_admin_scripts' ) ) { //Handler of the add_action("admin_enqueue_scripts", 'alhambra_admin_scripts'); function alhambra_admin_scripts() { // Add theme styles wp_enqueue_style( 'alhambra-admin', alhambra_get_file_url('css/admin.css') ); if ( is_rtl() ) { wp_enqueue_style( 'alhambra-admin-style-rtl', alhambra_get_file_url('/css/wp-admin-rtl.css')); } // Links to selected fonts $screen = function_exists('get_current_screen') ? get_current_screen() : false; if (is_object($screen)) { if (alhambra_allow_override_options(!empty($screen->post_type) ? $screen->post_type : $screen->id)) { // Load font icons // This style NEED theme prefix, because style 'fontello' some plugin contain different set of characters // and can't be used instead this style! wp_enqueue_style( 'fontello-icons', alhambra_get_file_url('css/font-icons/css/fontello-embedded.css') ); wp_enqueue_style( 'fontello-icons-animation', alhambra_get_file_url('css/font-icons/css/animation.css') ); // Load theme fonts $links = alhambra_theme_fonts_links(); if (count($links) > 0) { foreach ($links as $slug => $link) { wp_enqueue_style( sprintf('alhambra-font-%s', $slug), $link ); } } } else if (apply_filters('alhambra_filter_allow_theme_icons', is_customize_preview() || $screen->id=='nav-menus', !empty($screen->post_type) ? $screen->post_type : $screen->id)) { // Load font icons // This style NEED theme prefix, because style 'fontello' some plugin contain different set of characters // and can't be used instead this style! wp_enqueue_style( 'fontello-icons', alhambra_get_file_url('css/font-icons/css/fontello-embedded.css') ); } } // Add theme scripts wp_enqueue_script( 'alhambra-utils', alhambra_get_file_url('js/_utils.js'), array('jquery'), null, true ); wp_enqueue_script( 'alhambra-admin', alhambra_get_file_url('js/_admin.js'), array('jquery'), null, true ); } } // Add variables in the admin mode if ( !function_exists( 'alhambra_admin_localize_scripts' ) ) { //Handler of the add_action("admin_footer", 'alhambra_admin_localize_scripts'); function alhambra_admin_localize_scripts() { $screen = function_exists('get_current_screen') ? get_current_screen() : false; wp_localize_script( 'alhambra-admin', 'ALHAMBRA_STORAGE', apply_filters( 'alhambra_filter_localize_script_admin', array( 'admin_mode' => true, 'screen_id' => is_object($screen) ? esc_attr($screen->id) : '', 'ajax_url' => esc_url(admin_url('admin-ajax.php')), 'ajax_nonce' => esc_attr(wp_create_nonce(admin_url('admin-ajax.php'))), 'ajax_error_msg' => esc_html__('Server response error', 'alhambra'), 'icon_selector_msg' => esc_html__('Select the icon for this menu item', 'alhambra'), 'user_logged_in' => true )) ); } } //------------------------------------------------------- //-- Third party plugins //------------------------------------------------------- // Register optional plugins if ( !function_exists( 'alhambra_register_plugins' ) ) { function alhambra_register_plugins() { tgmpa( apply_filters('alhambra_filter_tgmpa_required_plugins', array( // Plugins to include in the autoinstall queue. )), array( 'id' => 'tgmpa', // Unique ID for hashing notices for multiple instances of TGMPA. 'default_path' => '', // Default absolute path to bundled plugins. 'menu' => 'tgmpa-install-plugins', // Menu slug. 'parent_slug' => 'themes.php', // Parent menu slug. 'capability' => 'edit_theme_options', // Capability needed to view plugin install page, should be a capability associated with the parent menu used. 'has_notices' => true, // Show admin notices or not. 'dismissable' => true, // If false, a user cannot dismiss the nag message. 'dismiss_msg' => '', // If 'dismissable' is false, this message will be output at top of nag. 'is_automatic' => true, // Automatically activate plugins after installation or not. 'message' => '' // Message to output right before the plugins table. ) ); } } ?>