version = $version; $this->options = get_option( 'add_search_to_menu' ); $this->networkactive = ( is_multisite() && array_key_exists( plugin_basename( __FILE__ ), (array) get_site_option( 'active_sitewide_plugins' ) ) ); } /** * PHP 4 Compatible Constructor * */ function Add_Search_To_Menu_Admin() { $this->__construct(); } /** * Loads plugin javascript and stylesheet files in the admin area * */ function add_search_to_menu_load_admin_assets(){ wp_register_script( 'add-search-to-menu-scripts', plugins_url( '/js/add-search-to-menu-admin.js', __FILE__ ), array( 'jquery' ), '1.0', true ); wp_localize_script( 'add-search-to-menu-scripts', 'add_search_to_menu', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); // Enqueued script with localized data. wp_enqueue_script( 'add-search-to-menu-scripts' ); } /** * Add a link to the settings page to the plugins list * * @param array $links array of links for the plugins, adapted when the current plugin is found. * @param string $file the filename for the current plugin, which the filter loops through. * * @return array $links */ function add_search_to_menu_settings_link( $links, $file ) { if ( false !== strpos( $file, 'add-search-to-menu' ) ) { $mylinks = array( '' . esc_html__( 'Get Support', 'add-search-to-menu' ) . '', '' . esc_html__( 'Settings', 'add-search-to-menu' ) . '' ); $links = array_merge( $mylinks, $links ); } return $links; } /** * Displays plugin configuration notice in admin area * */ function add_search_to_menu_setup_notice(){ if ( strpos( get_current_screen()->id, 'settings_page_add_search_to_menu' ) === 0 ) return; $hascaps = $this->networkactive ? is_network_admin() && current_user_can( 'manage_network_plugins' ) : current_user_can( 'manage_options' ); if ( $hascaps ) { $url = is_network_admin() ? network_site_url() : site_url( '/' ); echo '

' . sprintf( __( 'To configure Add Search To Menu plugin please visit its configuration page and to get plugin support contact us on plugin support forum or contact us page.', 'add-search-to-menu'), $url . 'wp-admin/options-general.php?page=add_search_to_menu', 'http://freewptp.com/forum/wordpress-plugins-forum/add-search-to-menu/', 'http://freewptp.com/contact/' ) . '

'; } } /** * Handles plugin notice dismiss functionality using AJAX * */ function add_search_to_menu_notice_dismiss() { if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) { $options = $this->options; $options['dismiss_admin_notices'] = 1; update_option( 'add_search_to_menu', $options ); } die(); } /* Registers menu item */ function add_search_to_menu_admin_menu_setup(){ add_submenu_page( 'options-general.php', __( 'Add Search To Menu Settings', 'add-search-to-menu' ), __( 'Add Search To Menu', 'add-search-to-menu' ), 'manage_options', 'add_search_to_menu', array( $this, 'add_search_to_menu_admin_page_screen' ) ); } /* Displays plugin admin page content */ function add_search_to_menu_admin_page_screen() { ?>
' . esc_html__( 'Configure the Add Search To Menu plugin settings here.', 'add-search-to-menu' ) . '

'; } /* add search to menu choose locations field output */ function add_search_to_menu_locations() { $options = $this->options; $html = ''; $menus = get_registered_nav_menus(); if ( ! empty( $menus ) ){ if ( empty( $options ) || ! isset( $options['add_search_to_menu_locations'] ) ){ $location = array_keys( $menus ); $options['add_search_to_menu_locations'][ $location[0] ] = $location[0]; update_option( 'add_search_to_menu', $options ); } if ( isset( $options['add_search_to_menu_locations']['initial'] ) ){ unset( $options['add_search_to_menu_locations']['initial'] ); $location = array_keys( $menus ); $options['add_search_to_menu_locations'][ $location[0] ] = $location[0]; update_option( 'add_search_to_menu', $options ); } foreach ( $menus as $location => $description ) { $check_value = isset( $options['add_search_to_menu_locations'][$location] ) ? $options['add_search_to_menu_locations'][ $location ] : 0; $html .= ''; $html .= '
'; } } else { $html = __( 'No navigation menu registered on your site.', 'add-search-to-menu' ); } echo $html; } /* add search to menu choose post types field output */ function add_search_to_menu_posts() { $options = $this->options; $html = ''; $args = array( 'exclude_from_search' => false ); $posts = get_post_types( $args ); if ( ! empty( $posts ) ){ if ( empty( $options ) || ! isset( $options['add_search_to_menu_posts'] ) ){ $post_keys = array_keys( $posts ); foreach ( $post_keys as $post_key ) { $options['add_search_to_menu_posts'][ $post_key ] = $post_key; } update_option( 'add_search_to_menu', $options ); } if ( isset( $options['add_search_to_menu_posts']['initial'] ) ){ unset( $options['add_search_to_menu_posts']['initial'] ); $post_keys = array_keys( $posts ); foreach ( $post_keys as $post_key ) { $options['add_search_to_menu_posts'][ $post_key ] = $post_key; } update_option( 'add_search_to_menu', $options ); } foreach ( $posts as $key => $post ) { $check_value = isset( $options['add_search_to_menu_posts'][$key] ) ? $options['add_search_to_menu_posts'][ $key ] : 0; $html .= ''; $html .= '
'; } } else { $html = __( 'No post types registered on your site.', 'add-search-to-menu' ); } echo $html; } /* add search to menu search form style field output */ function add_search_to_menu_style() { $options = $this->options; $styles = array( 'default' => __( 'Default', 'add-search-to-menu' ), 'dropdown' => __( 'Dropdown', 'add-search-to-menu' ), 'sliding' => __( 'Sliding', 'add-search-to-menu' ), 'full-width-menu' => __( 'Full Width', 'add-search-to-menu' ) ); if ( empty( $options ) || ! isset( $options['add_search_to_menu_style'] ) ) { $options['add_search_to_menu_style'] = 'default'; update_option( 'add_search_to_menu', $options ); } $html = ''; $check_value = isset( $options['add_search_to_menu_style'] ) ? $options['add_search_to_menu_style'] : 'default'; foreach ( $styles as $key => $style ) { $html .= ''; $html .= '
'; } echo $html; } /* add search to menu title field output */ function add_search_to_menu_title() { $options = $this->options; $options['add_search_to_menu_title'] = isset( $options['add_search_to_menu_title'] ) ? $options['add_search_to_menu_title'] : ''; $html = ''; $html .= '
'; echo $html; } /* add search to menu classes field output */ function add_search_to_menu_classes() { $options = $this->options; $options['add_search_to_menu_classes'] = isset( $options['add_search_to_menu_classes'] ) ? $options['add_search_to_menu_classes'] : 'astm-search-menu'; $html = ''; $html .= '
'; echo $html; } /* add search to menu google cse field output */ function add_search_to_menu_gcse() { $options = $this->options; $options['add_search_to_menu_gcse'] = isset( $options['add_search_to_menu_gcse'] ) ? $options['add_search_to_menu_gcse'] : ''; $html = ''; $html .= '
'; echo $html; } /* add search to menu display in header field output */ function add_search_to_menu_display_in_header() { $options = $this->options; $check_value = isset( $options['add_search_to_menu_display_in_header'] ) ? $options['add_search_to_menu_display_in_header'] : 0; $html = ''; $html .= ''; echo $html; } /* add search to menu custom css field output */ function add_search_to_menu_css() { $options = $this->options; $options['add_search_to_menu_css'] = isset( $options['add_search_to_menu_css'] ) ? $options['add_search_to_menu_css'] : ''; $html = ''; $html .= '
'; echo $html; } /* add search to menu do not load plugin files field output */ function do_not_load_plugin_files() { $options = $this->options; $styles = array( 'plugin-css-file' => __( 'Plugin CSS File', 'add-search-to-menu' ), 'plugin-js-file' => __( 'Plugin JavaScript File', 'add-search-to-menu' ) ); $html = ''; foreach ( $styles as $key => $file ) { $check_value = isset( $options['do_not_load_plugin_files'][ $key] ) ? $options['do_not_load_plugin_files'][ $key ] : 0; $html .= ''; $html .= ''; if ( $key == 'plugin-css-file' ){ $html .= '
'; $html .= '
' . plugins_url( '/add-search-to-menu/public/js/add-search-to-menu.js' ) . ''; $html .= '

'; } else { $html .= '
'; $html .= '
' . plugins_url( '/add-search-to-menu/public/css/add-search-to-menu.css' ) . ''; } } echo $html; } }