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 .= '