Example #1
0
 /**
  * Function to return individual options throughout the site, it
  * automatically returns the default option if a current value
  * doesn't exist in the current version
  *
  * @return array
  * @added 2.1
  */
 static function getOption($option)
 {
     $options = self::getOptions();
     if (isset($options[$option])) {
         return $options[$option];
     }
     return ResponsiveMenuPro_Registry::get('defaults', $option);
 }
Example #2
0
 /**
  * Adds External Styles to Header
  *
  * @return null
  * @added 2.0
  */
 static function addExternal()
 {
     $opt = ResponsiveMenuPro::getOptions();
     if (!wp_is_mobile() && $opt['use_only_on_mobile']) {
         return false;
     } else {
         wp_enqueue_style('responsive-menu-pro', ResponsiveMenuPro_Registry::get('config', 'plugin_data_uri') . 'css/responsive-menu-pro-' . get_current_blog_id() . '.css', array(), '1.0', 'all');
     }
 }
Example #3
0
 /**
  * Adds the external scripts to the site if required
  *
  * @return null
  * @added 1.4
  */
 static function addExternal()
 {
     $opt = ResponsiveMenuPro::getOptions();
     if (!wp_is_mobile() && $opt['use_only_on_mobile']) {
         return false;
     } else {
         wp_enqueue_script('responsive-menu-pro', ResponsiveMenuPro_Registry::get('config', 'plugin_data_uri') . 'js/responsive-menu-pro-' . get_current_blog_id() . '.js', 'jquery.mobile', '1.0', self::inFooter());
     }
 }
Example #4
0
 /**
  * Function to create export XML file
  *
  * @return file xml
  * @added 2.2
  */
 static function export()
 {
     if (!is_admin()) {
         exit;
     }
     $xml = '<?xml version="1.0" encoding="UTF-8"?>';
     $xml .= '<responsive_menu_pro_options>';
     foreach (ResponsiveMenuPro::getOptions() as $option_key => $option_val) {
         $xml .= '<' . $option_key . '>' . base64_encode($option_val) . '</' . $option_key . '>';
     }
     $xml .= '</responsive_menu_pro_options>';
     $FileCreator = new ResponsiveMenuPro_FileSystem_FileCreator();
     $NewFile = $FileCreator->create(ResponsiveMenuPro_Registry::get('config', 'plugin_base_dir') . DIRECTORY_SEPARATOR . 'public' . DIRECTORY_SEPARATOR . 'export' . DIRECTORY_SEPARATOR . 'export.xml', $xml);
     $link = ResponsiveMenuPro_Registry::get('config', 'plugin_base_uri') . 'public/export/export.xml';
     if ($NewFile) {
         ResponsiveMenuPro_Status::set('updated', '<a href="' . $link . '">' . __('You can download your exported file by clicking here', 'responsive-menu-pro') . '</a>');
     }
 }
Example #5
0
 public static function create()
 {
     $FolderCreator = new ResponsiveMenuPro_FileSystem_FolderCreator();
     $FolderCreator->create(ResponsiveMenuPro_Registry::get('config', 'plugin_base_dir') . DIRECTORY_SEPARATOR . 'public' . DIRECTORY_SEPARATOR . 'export');
     if (ResponsiveMenuPro::getOption('create_external_scripts')) {
         $FileCreator = new ResponsiveMenuPro_FileSystem_FileCreator();
         /* Create Folders */
         $FolderCreator->create(ResponsiveMenuPro_Registry::get('config', 'plugin_data_dir'));
         $FolderCreator->create(ResponsiveMenuPro_Registry::get('config', 'plugin_data_dir') . DIRECTORY_SEPARATOR . 'js');
         $FolderCreator->create(ResponsiveMenuPro_Registry::get('config', 'plugin_data_dir') . DIRECTORY_SEPARATOR . 'css');
         /* Create JS Content */
         $js = ResponsiveMenuPro_Models_JS::getJs(ResponsiveMenuPro::getOptions());
         $js = ResponsiveMenuPro::getOption('minify') == 'minify' ? ResponsiveMenuPro_Models_JS::Minify($js) : ($js = $js);
         /* Create JS File */
         $FileCreator->create(ResponsiveMenuPro_Registry::get('config', 'plugin_data_dir') . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'responsive-menu-pro-' . get_current_blog_id() . '.js', $js);
         /* Create CSS Content */
         $css = ResponsiveMenuPro_Models_CSS::getCSS(ResponsiveMenuPro::getOptions());
         $css = ResponsiveMenuPro::getOption('minify') == 'minify' ? ResponsiveMenuPro_Models_CSS::Minify($css) : ($css = $css);
         /* Create CSS File */
         $FileCreator->create(ResponsiveMenuPro_Registry::get('config', 'plugin_data_dir') . DIRECTORY_SEPARATOR . 'css' . DIRECTORY_SEPARATOR . 'responsive-menu-pro-' . get_current_blog_id() . '.css', $css);
     }
 }
Example #6
0
 /**
  * Creates the main admin page and saves the data if submitted
  *
  * @return null
  * @added 1.0
  */
 static function adminPage()
 {
     /* Is Export */
     if (ResponsiveMenuPro_Input::post('responsive_menu_pro_export')) {
         ResponsiveMenuPro_Export::export();
     }
     /* Is Import, Normal Save or Reset */
     if (ResponsiveMenuPro_Input::post('responsive_menu_pro_submit') || ResponsiveMenuPro_Input::post('responsive_menu_pro_import') || ResponsiveMenuPro_Input::post('responsive_menu_pro_reset') || ResponsiveMenuPro_Input::post('responsive_menu_pro_update_theme')) {
         /* Get our Data Array */
         $data = ResponsiveMenuPro_Input::post('responsive_menu_pro_import') ? ResponsiveMenuPro_Import::getData(ResponsiveMenuPro_Input::file('responsive_menu_pro_import_file')) : ResponsiveMenuPro_Input::post();
         /* Reset to defaults */
         if (ResponsiveMenuPro_Input::post('responsive_menu_pro_reset')) {
             $data = ResponsiveMenuPro_Registry::get('defaults');
             $data['arrow_shape_active'] = json_decode($data['arrow_shape_active']);
             $data['arrow_shape_inactive'] = json_decode($data['arrow_shape_inactive']);
         }
         /* Apply Theme Options if Required */
         if (ResponsiveMenuPro_Input::post('responsive_menu_pro_update_theme')) {
             $Theme = new ResponsiveMenuPro_Theme(ResponsiveMenuPro_Input::post());
             $data = $Theme->apply(ResponsiveMenuPro_Input::post('theme'));
         }
         /* Apply Final Filters to avoid setting conflicts */
         $FinalFilters = new ResponsiveMenuPro_Filters_Final($data);
         $data = $FinalFilters->apply();
         /* Save Details to database */
         ResponsiveMenuPro_Models_Admin::save($data);
         /* Clear Transient Menus */
         if (ResponsiveMenuPro::getOption('use_transient_caching')) {
             ResponsiveMenuPro_Transient::clearTransientMenus();
         }
         /* Create all our Files and Folders */
         ResponsiveMenuPro_Factories_FileFolderFactory::create();
     }
     /* Return with Admin Page */
     ResponsiveMenuPro_View::make('admin.page', ResponsiveMenuPro::getOptions());
 }
Example #7
0
 /**
  * Saves all the data from the admin page to the database
  *
  * @param  array  $data
  * @return null
  * @added 1.0
  */
 public static function save($data)
 {
     // Initialise Variables Correctly
     $menu = isset($data['menu']) ? $data['menu'] : ResponsiveMenuPro_Registry::get('defaults', 'menu');
     $title = isset($data['title']) ? $data['title'] : ResponsiveMenuPro_Registry::get('defaults', 'title');
     $breakpoint = $data['breakpoint'] ? $data['breakpoint'] : ResponsiveMenuPro_Registry::get('defaults', 'breakpoint');
     $depth = isset($data['depth']) ? $data['depth'] : ResponsiveMenuPro_Registry::get('defaults', 'depth');
     $top = isset($data['top']) ? $data['top'] : ResponsiveMenuPro_Registry::get('defaults', 'top');
     $right = isset($data['right']) ? $data['right'] : ResponsiveMenuPro_Registry::get('defaults', 'right');
     $css = isset($data['css']) ? $data['css'] : ResponsiveMenuPro_Registry::get('defaults', 'css');
     $button_line_colour = !empty($data['button_line_colour']) ? $data['button_line_colour'] : ResponsiveMenuPro_Registry::get('defaults', 'button_line_colour');
     $button_background_colour = !empty($data['button_background_colour']) ? $data['button_background_colour'] : ResponsiveMenuPro_Registry::get('defaults', 'button_background_colour');
     $button_text = isset($data['button_text']) ? $data['button_text'] : ResponsiveMenuPro_Registry::get('defaults', 'button_text');
     $is_button_background_transparent = isset($data['is_button_background_transparent']) ? $data['is_button_background_transparent'] : false;
     $is_fixed = isset($data['is_fixed']) ? $data['is_fixed'] : ResponsiveMenuPro_Registry::get('defaults', 'is_fixed');
     $title_image = isset($data['title_image']) ? $data['title_image'] : ResponsiveMenuPro_Registry::get('defaults', 'title_image');
     $width = $data['width'] ? $data['width'] : ResponsiveMenuPro_Registry::get('defaults', 'width');
     $background_colour = !empty($data['background_colour']) ? $data['background_colour'] : ResponsiveMenuPro_Registry::get('defaults', 'background_colour');
     $background_colour_hover = !empty($data['background_colour_hover']) ? $data['background_colour_hover'] : ResponsiveMenuPro_Registry::get('defaults', 'background_colour_hover');
     $title_colour = !empty($data['title_colour']) ? $data['title_colour'] : ResponsiveMenuPro_Registry::get('defaults', 'title_colour');
     $text_colour = !empty($data['text_colour']) ? $data['text_colour'] : ResponsiveMenuPro_Registry::get('defaults', 'text_colour');
     $link_border_colour = !empty($data['link_border_colour']) ? $data['link_border_colour'] : ResponsiveMenuPro_Registry::get('defaults', 'link_border_colour');
     $text_colour_hover = !empty($data['text_colour_hover']) ? $data['text_colour_hover'] : ResponsiveMenuPro_Registry::get('defaults', 'text_colour_hover');
     $title_colour_hover = !empty($data['title_colour_hover']) ? $data['title_colour_hover'] : ResponsiveMenuPro_Registry::get('defaults', 'title_colour_hover');
     /* Added in 1.6 */
     $animation_type = isset($data['animation_type']) ? $data['animation_type'] : ResponsiveMenuPro_Registry::get('defaults', 'animation_type');
     $push_animation_container_css = isset($data['push_animation_container_css']) ? $data['push_animation_container_css'] : ResponsiveMenuPro_Registry::get('defaults', 'push_animation_container_css');
     $title_background_colour = !empty($data['title_background_colour']) ? $data['title_background_colour'] : ResponsiveMenuPro_Registry::get('defaults', 'title_background_colour');
     $font = isset($data['font']) ? $data['font'] : ResponsiveMenuPro_Registry::get('defaults', 'font');
     $link_text_size = $data['link_text_size'] ? $data['link_text_size'] : ResponsiveMenuPro_Registry::get('defaults', 'link_text_size');
     $title_text_size = $data['title_text_size'] ? $data['title_text_size'] : ResponsiveMenuPro_Registry::get('defaults', 'title_text_size');
     $button_text_size = $data['button_text_size'] ? $data['button_text_size'] : ResponsiveMenuPro_Registry::get('defaults', 'button_text_size');
     $current_page_link_background = !empty($data['current_page_link_background']) ? $data['current_page_link_background'] : ResponsiveMenuPro_Registry::get('defaults', 'current_page_link_background');
     $current_page_link_colour = !empty($data['current_page_link_colour']) ? $data['current_page_link_colour'] : ResponsiveMenuPro_Registry::get('defaults', 'current_page_link_colour');
     $animation_speed = $data['animation_speed'] !== false ? $data['animation_speed'] : ResponsiveMenuPro_Registry::get('defaults', 'animation_speed');
     /* Added in 1.7 */
     $transition_speed = $data['transition_speed'] ? $data['transition_speed'] : ResponsiveMenuPro_Registry::get('defaults', 'transition_speed');
     $text_align = isset($data['text_align']) ? $data['text_align'] : ResponsiveMenuPro_Registry::get('defaults', 'text_align');
     $include_search = isset($data['include_search']) ? $data['include_search'] : ResponsiveMenuPro_Registry::get('defaults', 'include_search');
     $auto_expand_submenus = isset($data['auto_expand_submenus']) ? $data['auto_expand_submenus'] : ResponsiveMenuPro_Registry::get('defaults', 'auto_expand_submenus');
     $link_height = isset($data['link_height']) ? $data['link_height'] : ResponsiveMenuPro_Registry::get('defaults', 'link_height');
     /* Added in 1.8 */
     $create_external_scripts = isset($data['create_external_scripts']) ? $data['create_external_scripts'] : ResponsiveMenuPro_Registry::get('defaults', 'create_external_scripts');
     $slide_side = isset($data['slide_side']) ? $data['slide_side'] : ResponsiveMenuPro_Registry::get('defaults', 'slide_side');
     /* Added in 1.9 */
     $scripts_in_footer = isset($data['scripts_in_footer']) ? $data['scripts_in_footer'] : ResponsiveMenuPro_Registry::get('defaults', 'scripts_in_footer');
     $button_image = isset($data['button_image']) ? $data['button_image'] : ResponsiveMenuPro_Registry::get('defaults', 'button_image');
     $minify = isset($data['minify']) ? $data['minify'] : ResponsiveMenuPro_Registry::get('defaults', 'minify');
     $close_on_link_click = isset($data['close_on_link_click']) ? $data['close_on_link_click'] : ResponsiveMenuPro_Registry::get('defaults', 'close_on_link_click');
     $remove_important = isset($data['remove_important']) ? $data['remove_important'] : ResponsiveMenuPro_Registry::get('defaults', 'remove_important');
     $use_x = isset($data['use_x']) ? $data['use_x'] : ResponsiveMenuPro_Registry::get('defaults', 'use_x');
     $min_width = isset($data['min_width']) ? $data['min_width'] : ResponsiveMenuPro_Registry::get('defaults', 'min_width');
     /* Added in 2.0 */
     $max_width = isset($data['max_width']) ? $data['max_width'] : ResponsiveMenuPro_Registry::get('defaults', 'max_width');
     $expand_parents = isset($data['expand_parents']) ? $data['expand_parents'] : false;
     $ignore_parent_clicks = isset($data['ignore_parent_clicks']) ? $data['ignore_parent_clicks'] : ResponsiveMenuPro_Registry::get('defaults', 'ignore_parent_clicks');
     $click_to_close = isset($data['click_to_close']) ? $data['click_to_close'] : ResponsiveMenuPro_Registry::get('defaults', 'click_to_close');
     $search_position = isset($data['search_position']) ? $data['search_position'] : ResponsiveMenuPro_Registry::get('defaults', 'search_position');
     $title_link = isset($data['title_link']) ? $data['title_link'] : ResponsiveMenuPro_Registry::get('defaults', 'title_link');
     $title_target = isset($data['title_target']) ? $data['title_target'] : ResponsiveMenuPro_Registry::get('defaults', 'title_target');
     $html = isset($data['html']) ? $data['html'] : ResponsiveMenuPro_Registry::get('defaults', 'html');
     $html_location = isset($data['html_location']) ? $data['html_location'] : ResponsiveMenuPro_Registry::get('defaults', 'html_location');
     /* Added in 2.1 */
     $use_shortcode = isset($data['use_shortcode']) ? $data['use_shortcode'] : ResponsiveMenuPro_Registry::get('defaults', 'use_shortcode');
     /* Added in 2.2 */
     $line_height = isset($data['line_height']) ? $data['line_height'] : ResponsiveMenuPro_Registry::get('defaults', 'line_height');
     $line_width = isset($data['line_width']) ? $data['line_width'] : ResponsiveMenuPro_Registry::get('defaults', 'line_width');
     $line_margin = isset($data['line_margin']) ? $data['line_margin'] : ResponsiveMenuPro_Registry::get('defaults', 'line_margin');
     $button_image_clicked = isset($data['button_image_clicked']) ? $data['button_image_clicked'] : ResponsiveMenuPro_Registry::get('defaults', 'button_image_clicked');
     $use_accordion = isset($data['use_accordion']) ? $data['use_accordion'] : ResponsiveMenuPro_Registry::get('defaults', 'use_accordion');
     $arrow_shape_active = isset($data['arrow_shape_active']) ? $data['arrow_shape_active'] : ResponsiveMenuPro_Registry::get('defaults', 'arrow_shape_active');
     $arrow_shape_inactive = isset($data['arrow_shape_inactive']) ? $data['arrow_shape_inactive'] : ResponsiveMenuPro_Registry::get('defaults', 'arrow_shape_inactive');
     $array_image_active = isset($data['array_image_active']) ? $data['array_image_active'] : ResponsiveMenuPro_Registry::get('defaults', 'array_image_active');
     $arrow_image_inactive = isset($data['arrow_image_inactive']) ? $data['arrow_image_inactive'] : ResponsiveMenuPro_Registry::get('defaults', 'arrow_image_inactive');
     /* Added in 2.3 */
     $trigger = isset($data['trigger']) && !empty($data['trigger']) ? $data['trigger'] : ResponsiveMenuPro_Registry::get('defaults', 'trigger');
     $use_push_animation = isset($data['use_push_animation']) ? $data['use_push_animation'] : ResponsiveMenuPro_Registry::get('defaults', 'use_push_animation');
     $current_background_hover = !empty($data['current_background_hover']) ? $data['current_background_hover'] : ResponsiveMenuPro_Registry::get('defaults', 'current_background_hover');
     $current_colour_hover = !empty($data['current_colour_hover']) ? $data['current_colour_hover'] : ResponsiveMenuPro_Registry::get('defaults', 'current_colour_hover');
     /* Add by MKDGS */
     $walker = isset($data['walker']) ? $data['walker'] : ResponsiveMenuPro_Registry::get('defaults', 'walker');
     /* Added in 2.4 */
     $use_transient_caching = isset($data['use_transient_caching']) ? $data['use_transient_caching'] : ResponsiveMenuPro_Registry::get('defaults', 'use_transient_caching');
     $location = isset($data['location']) ? $data['location'] : ResponsiveMenuPro_Registry::get('defaults', 'location');
     /* Added in 2.6 Mkdgs */
     $theme_location = isset($data['theme_location']) ? $data['theme_location'] : ResponsiveMenuPro_Registry::get('defaults', 'theme_location');
     /* Added in PRO 1.0 */
     $use_only_on_mobile = isset($data['use_only_on_mobile']) ? $data['use_only_on_mobile'] : ResponsiveMenuPro_Registry::get('defaults', 'use_only_on_mobile');
     $use_single_site_menu = isset($data['use_single_site_menu']) ? $data['use_single_site_menu'] : ResponsiveMenuPro_Registry::get('defaults', 'use_single_site_menu');
     $set_auto_menu_height = isset($data['set_auto_menu_height']) ? $data['set_auto_menu_height'] : ResponsiveMenuPro_Registry::get('defaults', 'set_auto_menu_height');
     $use_header_bar = isset($data['use_header_bar']) ? $data['use_header_bar'] : ResponsiveMenuPro_Registry::get('defaults', 'use_header_bar');
     $header_bar_logo = isset($data['header_bar_logo']) ? $data['header_bar_logo'] : ResponsiveMenuPro_Registry::get('defaults', 'header_bar_logo');
     $header_bar_html = isset($data['header_bar_html']) ? $data['header_bar_html'] : ResponsiveMenuPro_Registry::get('defaults', 'header_bar_html');
     $header_bar_height = isset($data['header_bar_height']) ? $data['header_bar_height'] : ResponsiveMenuPro_Registry::get('defaults', 'header_bar_height');
     $header_bar_background_colour = isset($data['header_bar_background_colour']) ? $data['header_bar_background_colour'] : ResponsiveMenuPro_Registry::get('defaults', 'header_bar_background_colour');
     $single_menu_height = isset($data['single_menu_height']) ? $data['single_menu_height'] : ResponsiveMenuPro_Registry::get('defaults', 'single_menu_height');
     $single_menu_link_colour = isset($data['single_menu_link_colour']) ? $data['single_menu_link_colour'] : ResponsiveMenuPro_Registry::get('defaults', 'single_menu_link_colour');
     $single_menu_link_colour_hover = isset($data['single_menu_link_colour_hover']) ? $data['single_menu_link_colour_hover'] : ResponsiveMenuPro_Registry::get('defaults', 'single_menu_link_colour_hover');
     $disable_scrolling = isset($data['disable_scrolling']) ? $data['disable_scrolling'] : ResponsiveMenuPro_Registry::get('defaults', 'disable_scrolling');
     $word_wrap = isset($data['word_wrap']) ? $data['word_wrap'] : ResponsiveMenuPro_Registry::get('defaults', 'word_wrap');
     $search_text = isset($data['search_text']) ? $data['search_text'] : ResponsiveMenuPro_Registry::get('defaults', 'search_text');
     $optionsArray = array('menu' => self::Filter($menu), 'breakpoint' => intval($breakpoint), 'depth' => intval($depth), 'top' => intval($top), 'right' => intval($right), 'css' => self::Filter($css), 'title' => self::Filter($title), 'button_line_colour' => self::Filter($button_line_colour), 'button_background_colour' => self::Filter($button_background_colour), 'button_text' => self::Filter($button_text), 'is_button_background_transparent' => self::Filter($is_button_background_transparent), 'font' => self::Filter($font), 'is_fixed' => self::Filter($is_fixed), 'title_image' => self::Filter($title_image), 'width' => intval($width), 'background_colour' => self::Filter($background_colour), 'background_colour_hover' => self::Filter($background_colour_hover), 'title_colour' => self::Filter($title_colour), 'text_colour' => self::Filter($text_colour), 'link_border_colour' => self::Filter($link_border_colour), 'text_colour_hover' => self::Filter($text_colour_hover), 'title_colour_hover' => self::Filter($title_colour_hover), 'animation_type' => self::Filter($animation_type), 'push_animation_container_css' => self::Filter($push_animation_container_css), 'title_background_colour' => self::Filter($title_background_colour), 'link_text_size' => intval($link_text_size), 'title_text_size' => intval($title_text_size), 'button_text_size' => intval($button_text_size), 'current_page_link_background' => self::Filter($current_page_link_background), 'current_page_link_colour' => self::Filter($current_page_link_colour), 'animation_speed' => floatval($animation_speed), 'transition_speed' => floatval($transition_speed), 'text_align' => self::Filter($text_align), 'include_search' => self::Filter($include_search), 'auto_expand_submenus' => self::Filter($auto_expand_submenus), 'link_height' => intval($link_height), 'create_external_scripts' => self::Filter($create_external_scripts), 'slide_side' => self::Filter($slide_side), 'scripts_in_footer' => self::Filter($scripts_in_footer), 'button_image' => self::Filter($button_image), 'minify' => self::Filter($minify), 'close_on_link_click' => self::Filter($close_on_link_click), 'remove_important' => self::Filter($remove_important), 'use_x' => self::Filter($use_x), 'min_width' => intval($min_width), 'max_width' => intval($max_width), 'expand_parents' => self::Filter($expand_parents), 'ignore_parent_clicks' => self::Filter($ignore_parent_clicks), 'click_to_close' => self::Filter($click_to_close), 'search_position' => self::Filter($search_position), 'title_link' => self::Filter($title_link), 'title_target' => self::Filter($title_target), 'html' => self::FilterHtml($html), 'html_location' => self::Filter($html_location), 'use_shortcode' => self::Filter($use_shortcode), 'line_height' => intval($line_height), 'line_width' => intval($line_width), 'line_margin' => intval($line_margin), 'button_image_clicked' => self::Filter($button_image_clicked), 'use_accordion' => self::Filter($use_accordion), 'arrow_shape_active' => json_encode($arrow_shape_active), 'arrow_shape_inactive' => json_encode($arrow_shape_inactive), 'array_image_active' => self::Filter($array_image_active), 'arrow_image_inactive' => self::Filter($arrow_image_inactive), 'trigger' => self::Filter($trigger), 'use_push_animation' => self::Filter($use_push_animation), 'current_background_hover' => self::Filter($current_background_hover), 'current_colour_hover' => self::Filter($current_colour_hover), 'walker' => class_exists($walker) ? $walker : '', 'use_transient_caching' => self::Filter($use_transient_caching), 'location' => self::Filter($location), 'theme_location' => self::Filter($theme_location), 'use_only_on_mobile' => self::Filter($use_only_on_mobile), 'use_single_site_menu' => self::Filter($use_single_site_menu), 'set_auto_menu_height' => self::Filter($set_auto_menu_height), 'use_header_bar' => self::Filter($use_header_bar), 'header_bar_logo' => self::Filter($header_bar_logo), 'header_bar_html' => self::FilterHtml($header_bar_html), 'header_bar_height' => intval($header_bar_height), 'header_bar_background_colour' => self::Filter($header_bar_background_colour), 'single_menu_height' => intval($single_menu_height), 'single_menu_link_colour' => self::Filter($single_menu_link_colour), 'single_menu_link_colour_hover' => self::Filter($single_menu_link_colour_hover), 'disable_scrolling' => self::Filter($disable_scrolling), 'word_wrap' => self::Filter($word_wrap), 'search_text' => self::Filter($search_text));
     // Update Submitted Options
     update_option('responsive_menu_pro_options', $optionsArray);
     // Clear Transient Menus
     ResponsiveMenuPro_Transient::clearTransientMenus();
     // And save the status
     ResponsiveMenuPro_Status::set('updated', __('You have successfully updated the Responsive Menu Pro options', 'responsive-menu-pro'));
 }
Example #8
0
File: JS.php Project: watsonad/gpoa
 /**
  * Function to format, create and get the JS itself
  *
  * @param array $options
  * @return string
  * @added 1.0
  */
 static function getJS($options)
 {
     $setHeight = $options['is_fixed'] == 'fixed' ? '' : " \$responsive_menu_pro_jquery( '#responsive_menu_pro' ).css( 'height', \$responsive_menu_pro_jquery( document ).height() ); ";
     $breakpoint = empty($options['breakpoint']) ? "600" : $options['breakpoint'];
     $push_animation_container_css = empty($options['push_animation_container_css']) ? "" : $options['push_animation_container_css'];
     $slideOpen = $options['animation_type'] == 'push' && !empty($options['push_animation_container_css']) ? " \$responsive_menu_pro_jquery( 'body' ).addClass( 'responsive_menu_pro_push_open' ); " : '';
     $slideRemove = $options['animation_type'] == 'push' && !empty($options['push_animation_container_css']) ? " \$responsive_menu_pro_jquery( 'body' ).removeClass( 'responsive_menu_pro_push_open' ); " : '';
     /* Added 1.8 */
     switch ($options['slide_side']) {
         case 'left':
             $side = 'left';
             break;
         case 'right':
             $side = 'right';
             break;
         case 'top':
             $side = 'top';
             break;
         case 'bottom':
             $side = 'top';
             break;
         default:
             $side = 'left';
             break;
     }
     /* Added 2.0 */
     switch ($options['slide_side']) {
         case 'left':
             $width = $options['width'];
             $neg = '-';
             break;
         case 'right':
             $width = $options['width'];
             $neg = '-';
             break;
         case 'top':
             $width = '100';
             $neg = '-';
             break;
         case 'bottom':
             $width = '100';
             $neg = '';
             break;
         default:
             $width = '75';
             break;
     }
     switch ($options['slide_side']) {
         case 'left':
             $pushSide = 'left';
             $pos = '';
             break;
         case 'right':
             $pushSide = 'left';
             $pos = '-';
             break;
         case 'top':
             $pushSide = 'marginTop';
             $pos = '';
             break;
         case 'bottom':
             $pushSide = 'marginTop';
             $pos = '-';
             break;
     }
     switch ($options['slide_side']) {
         case 'left':
             $pushBtnSide = 'left';
             break;
         case 'right':
             $pushBtnSide = 'right';
             break;
         case 'top':
             $pushBtnSide = 'top';
             break;
         case 'bottom':
             $pushBtnSide = 'bottom';
             break;
     }
     $sideSlideOpen = $side == 'right' && empty($slideOpen) ? " \$responsive_menu_pro_jquery( 'body' ).addClass( 'responsive_menu_pro_push_open' ); " : '';
     $sideSlideRemove = $side == 'right' && empty($slideRemove) ? " \$responsive_menu_pro_jquery( 'body' ).removeClass( 'responsive_menu_pro_push_open' ); " : '';
     /* Added 2.3 */
     $trigger = isset($options['trigger']) ? $options['trigger'] : ResponsiveMenuPro_Registry::get('defaults', 'trigger');
     $speed = $options['animation_speed'] * 1000;
     /* Added 2.5 */
     $location = $options['location'];
     /* Added 1.0 PRO */
     $use_as_only_menu = empty($options['use_single_site_menu']) ? false : true;
     $disable_scrolling = empty($options['disable_scrolling']) ? false : true;
     /*
     |--------------------------------------------------------------------------
     | Slide Push Animation
     |--------------------------------------------------------------------------
     |
     | This is where we deal with the JavaScript needed to change the main lines
     | to an X if this option has been set
     |
     */
     $slideOver = null;
     if ($options['animation_type'] == 'push') {
         if ($options['slide_side'] == 'top' || $options['slide_side'] == 'bottom') {
             $slideOver = "\n\n                    var MenuHeight = \$responsive_menu_pro_jquery( '#responsive_menu_pro' ).css( 'height' );\n\n                    \$responsive_menu_pro_jquery( '{$push_animation_container_css}' ).animate( { {$pushSide}: \"{$pos}\" + MenuHeight }, {$speed}, 'linear' );\n\n\n                ";
             if ($options['use_push_animation']) {
                 $slideOver .= "\n\n                        \$responsive_menu_pro_jquery( '#responsive_menu_pro_button' ).animate( { {$pushBtnSide}: '{$width}%' }, {$speed}, 'linear' );\n                        \$responsive_menu_pro_jquery( '#responsive_menu_pro_button' ).css( '{$location}', 'auto' );\n\n                        ";
             }
         } else {
             $slideOver = "\n\n                    \$responsive_menu_pro_jquery( '{$push_animation_container_css}' ).animate( { {$pushSide}: \"{$pos}{$width}%\" }, {$speed}, 'linear' );\n\n\n                ";
             if ($options['use_push_animation']) {
                 $slideOver .= "\n\n                        \$responsive_menu_pro_jquery( '#responsive_menu_pro_button' ).animate( { {$pushBtnSide}: '{$width}%' }, {$speed}, 'linear' );\n                        \$responsive_menu_pro_jquery( '#responsive_menu_pro_button' ).css( '{$location}', 'auto' );\n\n                    ";
             }
         }
     }
     $slideOverCss = $options['animation_type'] == 'push' && !empty($options['push_animation_container_css']) ? " \$responsive_menu_pro_jquery( '{$push_animation_container_css}' ).addClass( 'responsive_menu_pro_push_slide' ); " : '';
     $slideBack = $options['animation_type'] == 'push' && !empty($options['push_animation_container_css']) ? " \$responsive_menu_pro_jquery( '{$push_animation_container_css}' ).animate( { {$pushSide}: \"0\" }, {$speed}, 'linear' ); " : '';
     if ($options['use_push_animation'] && $options['animation_type'] == 'push') {
         $slideBack .= "\n\n                \$responsive_menu_pro_jquery( '#responsive_menu_pro_button' ).animate( { {$pushBtnSide}: '{$options['right']}%' }, {$speed}, 'linear', function() {\n\n                    \$responsive_menu_pro_jquery( '#responsive_menu_pro_button' ).removeAttr( 'style' );\n\n                });\n\n            ";
     }
     $slideOverCssRemove = $options['animation_type'] == 'push' && !empty($options['push_animation_container_css']) ? " \$responsive_menu_pro_jquery( '{$push_animation_container_css}' ).removeClass( 'responsive_menu_pro_push_slide' ); " : '';
     /*
     |--------------------------------------------------------------------------
     | Change to X or Clicked Menu Image Option
     |--------------------------------------------------------------------------
     |
     | This is where we deal with the JavaScript needed to change the main lines
     | to an X or click image if this option has been set
     |
     */
     if ($options['use_x'] || $options['button_image_clicked']) {
         $closeX = " \$responsive_menu_pro_jquery( '#responsive_menu_pro_button #responsive_menu_x' ).css( 'display', 'none' );\n                        \$responsive_menu_pro_jquery( '#responsive_menu_pro_button #responsive_menu_pro_three_lines' ).css( 'display', 'block' ); ";
         $showX = " \$responsive_menu_pro_jquery( '#responsive_menu_pro_button #responsive_menu_pro_three_lines' ).css( 'display', 'none' );\n                         \$responsive_menu_pro_jquery( '#responsive_menu_pro_button #responsive_menu_x' ).css( 'display', 'block' ); ";
     } else {
         $closeX = "";
         $showX = "";
     }
     /*
     |--------------------------------------------------------------------------
     | Menu Expansion Options
     |--------------------------------------------------------------------------
     |
     | This is where we deal with the array of expansion options, the current
     | combinations are:
     |
     | - Auto Expand Current Parent Items ['expand_parents']
     | - Auto Expand Current Parent Items + Auto Expand Sub-Menus ['expand_parents'] && ['auto_expand_submenus']
     | - Auto Expand Sub-Menus ['auto_expand_submenus']
     | - None !['expand_parents'] && !['auto_expand_submenus']
     |
     */
     $activeArrow = $options['array_image_active'] ? '<img src="' . $options['array_image_active'] . '" />' : json_decode($options['arrow_shape_active']);
     $inactiveArrow = $options['arrow_image_inactive'] ? '<img src="' . $options['arrow_image_inactive'] . '" />' : json_decode($options['arrow_shape_inactive']);
     if (!$options['auto_expand_submenus']) {
         $clickedLink = '<span class=\\"responsive_menu_pro_append_link responsive_menu_pro_append_inactive\\">' . $inactiveArrow . '</span>';
         $clickLink = '<span class=\\"responsive_menu_pro_append_link responsive_menu_pro_append_inactive\\">' . $inactiveArrow . '</span>';
     } else {
         $clickedLink = '<span class=\\"responsive_menu_pro_append_link responsive_menu_pro_append_active\\">' . $activeArrow . '</span>';
         $clickLink = '<span class=\\"responsive_menu_pro_append_link responsive_menu_pro_append_active\\">' . $activeArrow . '</span>';
     }
     if ($options['expand_parents']) {
         $clickedLink = '<span class=\\"responsive_menu_pro_append_link responsive_menu_pro_append_active\\">' . $activeArrow . '</span>';
         $clickLink = '<span class=\\"responsive_menu_pro_append_link responsive_menu_pro_append_inactive\\">' . $inactiveArrow . '</span>';
     }
     if ($options['expand_parents'] && $options['auto_expand_submenus']) {
         $clickedLink = '<span class=\\"responsive_menu_pro_append_link responsive_menu_pro_append_active\\">' . $activeArrow . '</span>';
         $clickLink = '<span class=\\"responsive_menu_pro_append_link responsive_menu_pro_append_active\\">' . $activeArrow . '</span>';
     }
     /*
     |--------------------------------------------------------------------------
     | Initialise Output
     |--------------------------------------------------------------------------
     |
     | Initialise the JavaScript output variable ready for appending
     |
     */
     $js = null;
     /*
     |--------------------------------------------------------------------------
     | Strip Tags If Needed
     |--------------------------------------------------------------------------
     |
     | Determine whether to use the <script> tags (when using internal scripts)
     |
     */
     $js .= $options['create_external_scripts'] ? '' : '<script>';
     /*
     |--------------------------------------------------------------------------
     | Initial Setup
     |--------------------------------------------------------------------------
     |
     | Setup the initial noConflict and document ready checks
     |
     */
     $js .= "\n\n            var \$responsive_menu_pro_jquery = jQuery.noConflict();\n\n            \$responsive_menu_pro_jquery( document ).ready( function() { ";
     /*
     |--------------------------------------------------------------------------
     | Stop Main Parent Item Clicks
     |--------------------------------------------------------------------------
     |
     | Stop clicks on the main parent items if option selected
     | Added 2.0
     */
     if ($options['ignore_parent_clicks']) {
         $js .= "\n\n                \$responsive_menu_pro_jquery( '#responsive_menu_pro ul > li.menu-item-has-children' ).children( 'a' ).addClass( 'responsive_menu_parent_click_disabled' );\n\n                \$responsive_menu_pro_jquery( '#responsive_menu_pro ul > li.menu-item-has-children' ).children( 'a' ).on( 'click', function( e ) {\n\n                    e.preventDefault();\n\n                });\n\n                \$responsive_menu_pro_jquery( '#responsive_menu_pro ul > li.page_item_has_children' ).children( 'a' ).addClass( 'responsive_menu_parent_click_disabled' );\n\n                \$responsive_menu_pro_jquery( '#responsive_menu_pro ul > li.page_item_has_children' ).children( 'a' ).on( 'click', function( e ) {\n\n                    e.preventDefault();\n\n                });\n\n            ";
     }
     /*
     |--------------------------------------------------------------------------
     | Closes the menu on page clicks
     |--------------------------------------------------------------------------
     |
     | Close menu on page clicks if required
     | Added 2.0
     */
     if ($options['click_to_close']) {
         $js .= "\n\n                \$responsive_menu_pro_jquery( document ).bind( 'vclick', function( e ) { \n\n                    if( e.which != 2 && !\$responsive_menu_pro_jquery( e.target ).closest( '#responsive_menu_pro, {$trigger}' ).length ) { \n\n                        closeRM(); \n\n                    } \n\n                });\n\n            ";
     }
     /*
     |--------------------------------------------------------------------------
     | Click Menu Function
     |--------------------------------------------------------------------------
     |
     | This is our Click Handler to determine whether or not to open or close 
     | the menu when the click menu button has been clicked.
     |
     */
     $js .= "\n\n            var isOpen = false;\n\n            \$responsive_menu_pro_jquery( document ).on( 'click', '{$trigger}', function() {\n            \t\t\n\t\t";
     if ($use_as_only_menu) {
         $js .= "if( \$responsive_menu_pro_jquery( window ).width() <= {$breakpoint} ) { ";
     }
     $js .= "{$setHeight}\n\n                !isOpen ? openRM() : closeRM(); ";
     if ($use_as_only_menu) {
         $js .= "}";
     }
     $js .= " });\n\n        ";
     /*
     |--------------------------------------------------------------------------
     | Menu Open Function
     |--------------------------------------------------------------------------
     |
     | This is the main function that deals with opening the menu and then sets
     | its state to open
     |
     */
     $js .= "\n\n            function openRM() {\n            \t\t\t\t\n            \t\t\t\n        \t\t\$responsive_menu_pro_jquery( '#responsive_menu_pro' ).css( '{$side}', '' );\n\n                {$slideOpen}  \n                {$sideSlideOpen}\n                {$slideOverCss}\n                {$slideOver}\n                {$showX}\n\n                \$responsive_menu_pro_jquery( '#responsive_menu_pro' ).css( 'display', 'block' ); \n                \$responsive_menu_pro_jquery( '#responsive_menu_pro' ).addClass( 'responsive_menu_pro_opened' );  \n                \$responsive_menu_pro_jquery( '#responsive_menu_pro_button' ).addClass( 'responsive_menu_pro_button_active' );  \n\n                \$responsive_menu_pro_jquery( '#responsive_menu_pro' ).stop().animate( { {$side}: \"0\" }, {$speed}, 'linear', function() { \n\n              \t{$setHeight} ";
     if ($disable_scrolling) {
         $js .= " \$responsive_menu_pro_jquery( '#responsive_menu_pro_disable_scrolling' ).addClass( 'responsive_menu_pro_disable_scrolling_active' ); ";
         $js .= " \$responsive_menu_pro_jquery( 'body' ).addClass( 'responsive_menu_pro_disable_scrolling_body' ); ";
     }
     $js .= " isOpen = true;\n\n                } ); \n\n            }\n\n        ";
     /*
     |--------------------------------------------------------------------------
     | Menu Close Function
     |--------------------------------------------------------------------------
     |
     | This is the main function that deals with Closing the Menu and then sets
     | its state to closed
     |
     | Added by Bhupender
     | Modified negative width to take directly width of menu instead of '%', 
     | this works for condition where animation is push and max width of menu is less then %
     |
     */
     $js .= "\n\n            function closeRM() {\n\n                {$slideBack}\n\n                \$responsive_menu_pro_jquery( '#responsive_menu_pro' ).animate( { {$side}: {$neg}\$responsive_menu_pro_jquery( '#responsive_menu_pro' ).width() }, {$speed}, 'linear', function() {\n\n                    {$slideRemove}\n                    {$sideSlideRemove}\n                    {$slideOverCssRemove}\n                    {$closeX}\n                    \$responsive_menu_pro_jquery( '#responsive_menu_pro' ).css( 'display', 'none' );  \n                    \$responsive_menu_pro_jquery( '#responsive_menu_pro' ).removeClass( 'responsive_menu_pro_opened' );  \n                    \$responsive_menu_pro_jquery( '#responsive_menu_pro_button' ).removeClass( 'responsive_menu_pro_button_active' ); ";
     if ($use_as_only_menu) {
         $js .= " if( \$responsive_menu_pro_jquery( window ).width() >= {$breakpoint} ) { \t\n\t\t\t\t \t\t\$responsive_menu_pro_jquery( '#responsive_menu_pro' ).removeAttr( 'style' ); } ";
     }
     if ($disable_scrolling) {
         $js .= " \$responsive_menu_pro_jquery( '#responsive_menu_pro_disable_scrolling' ).removeClass( 'responsive_menu_pro_disable_scrolling_active' ); ";
         $js .= " \$responsive_menu_pro_jquery( 'body' ).removeClass( 'responsive_menu_pro_disable_scrolling_body' ); ";
     }
     $js .= " isOpen = false;\n\n                } ); ";
     $js .= "}\n\n        ";
     /*
             |--------------------------------------------------------------------------
             | Menu Resize Function
             |--------------------------------------------------------------------------
             |
             | This is the main function that deals with resizing the page and is used 
             | to judge whether the menu needs closing once the screen is resized
             |
             |
             | Added by Bhupender
             | - Modified negative width to take directly width of menu instead of '%', 
             |   this works for condition where animation is push and max width of menu is less then %
     */
     $js .= "\n\n            \$responsive_menu_pro_jquery( window ).resize( function() { \n\n                \$responsive_menu_pro_jquery( '#responsive_menu_pro' ).stop( true, true );\n\n                {$setHeight}\n\n                if( \$responsive_menu_pro_jquery( window ).width() >= {$breakpoint} ) { \n\n                    if( \$responsive_menu_pro_jquery( '#responsive_menu_pro' ).css( '{$side}' ) != -\$responsive_menu_pro_jquery( '#responsive_menu_pro' ).width() ) {\n\n                        closeRM();\n\n                    }\n\n                }\n\n            });\n\n        ";
     /*
     |--------------------------------------------------------------------------
     | Expand children links of parents
     |--------------------------------------------------------------------------
     |
     | Section to automatically expand children links of parents if necessary
     | Added 2.0
     |
     */
     if ($options['expand_parents']) {
         $js .= "\n\n                \$responsive_menu_pro_jquery( '#responsive_menu_pro ul ul' ).css( 'display', 'none' );\n\n                \$responsive_menu_pro_jquery( '#responsive_menu_pro .current_page_ancestor.menu-item-has-children' ).children( 'ul' ).css( 'display', 'block' );\n                \$responsive_menu_pro_jquery( '#responsive_menu_pro .current-menu-ancestor.menu-item-has-children' ).children( 'ul' ).css( 'display', 'block' );\n                \$responsive_menu_pro_jquery( '#responsive_menu_pro .current-menu-item.menu-item-has-children' ).children( 'ul' ).css( 'display', 'block' );\n\n                \$responsive_menu_pro_jquery( '#responsive_menu_pro .current_page_ancestor.page_item_has_children' ).children( 'ul' ).css( 'display', 'block' );\n                \$responsive_menu_pro_jquery( '#responsive_menu_pro .current-menu-ancestor.page_item_has_children' ).children( 'ul' ).css( 'display', 'block' );\n                \$responsive_menu_pro_jquery( '#responsive_menu_pro .current-menu-item.page_item_has_children' ).children( 'ul' ).css( 'display', 'block' );\n\n            ";
     }
     /*
     |--------------------------------------------------------------------------
     | Add Toggle Buttons
     |--------------------------------------------------------------------------
     |
     | This is the main section that deals with Adding the correct Toggle buttons
     | when needed to the links
     |
     */
     if ($options['auto_expand_submenus']) {
         $js .= " \$responsive_menu_pro_jquery( '#responsive_menu_pro ul ul' ).css( 'display', 'block' ); ";
     }
     $js .= " \n\n            var clickLink = '{$clickLink}';\n            var clickedLink = '{$clickedLink}';\n\n            \$responsive_menu_pro_jquery( '#responsive_menu_pro .responsive_menu_pro_menu li' ).each( function() {\n\n                if( \$responsive_menu_pro_jquery( this ).children( 'ul' ).length > 0 ) {\n\n                    if( \$responsive_menu_pro_jquery( this ).find( '> ul' ).css( 'display' ) == 'none' ) {\n\n                        \$responsive_menu_pro_jquery( this ).prepend( clickLink );  \n\n                    } else {\n\n                        \$responsive_menu_pro_jquery( this ).prepend( clickedLink );  \n\n                    }\n\n                }\n\n            });\n\n        ";
     /*
     |--------------------------------------------------------------------------
     | Accordion Animation
     |--------------------------------------------------------------------------
     |
     | This is the part that deals with the accordion animation
     |
     */
     if ($options['use_accordion'] && $options['use_accordion'] == 'accordion') {
         $accordion = " \n\n            if( \$responsive_menu_pro_jquery( this ).closest( 'ul' ).is( '.responsive_menu_pro_menu' ) ) {\n\n                \$responsive_menu_pro_jquery( '.accordion-open' ).removeClass( 'accordion-open' );\n                \$responsive_menu_pro_jquery( this ).parent( 'li' ).addClass( 'accordion-open' );\n\n                \$responsive_menu_pro_jquery( '.responsive_menu_pro_menu > li:not( .accordion-open ) > ul' ).slideUp();\n\n\t\tif( \$responsive_menu_pro_jquery( this ).siblings( 'ul' ).is( ':visible' ) ) {\n\t\t\t\$responsive_menu_pro_jquery( this ).parent( 'li' ).removeClass( 'accordion-open' );\t\n\t\t} else {\n\t\t\t\$responsive_menu_pro_jquery( this ).parent( 'li' ).addClass( 'accordion-open' );\t\n\t\t}\n\t\t\n\t\t\$responsive_menu_pro_jquery( '.responsive_menu_pro_menu > li > .responsive_menu_pro_append_link' ).removeClass( 'responsive_menu_pro_append_inactive' );\n\t\t\$responsive_menu_pro_jquery( '.responsive_menu_pro_menu > li > .responsive_menu_pro_append_link' ).addClass( 'responsive_menu_pro_append_active' );\t\t\t\t\n                \n                var AllClosed = true;\n                \n\t\t\$responsive_menu_pro_jquery( '.responsive_menu_pro_menu > li > .responsive_menu_pro_append_link' ).each( function( i ) {\n\t\t\t\$responsive_menu_pro_jquery( this ).html( \$responsive_menu_pro_jquery( this ).hasClass( 'responsive_menu_pro_append_active' ) ? '{$inactiveArrow}' : '{$activeArrow}' );\t\n\t\t\tAllClosed = \$responsive_menu_pro_jquery( this ).parent( 'li' ).hasClass( 'accordion-open' )? false : AllClosed;\t\t\n\t\t});\n\t\t\n\t\t\$responsive_menu_pro_jquery( this ).removeClass( 'responsive_menu_pro_append_active' );\n\t\t\$responsive_menu_pro_jquery( this ).addClass( 'responsive_menu_pro_append_inactive' );\n\t\t\n\t\tif( AllClosed ) {\n\t\t\t\$responsive_menu_pro_jquery( this ).removeClass( 'responsive_menu_pro_append_inactive' );\n\t\t\t\$responsive_menu_pro_jquery( this ).addClass( 'responsive_menu_pro_append_active' );\n\t\t\n\t\t}\n\t\t\t\t\n            }\n\n            ";
     } else {
         $accordion = null;
     }
     /*
     |--------------------------------------------------------------------------
     | Toggle Buttons Function
     |--------------------------------------------------------------------------
     |
     | This is the function that deals with toggling the toggle buttons
     |
     */
     $js .= "   \n\n            \$responsive_menu_pro_jquery( '.responsive_menu_pro_append_link' ).on( 'click', function() { \n\n                {$accordion}\n\n                \$responsive_menu_pro_jquery( this ).nextAll( '#responsive_menu_pro ul ul' ).slideToggle(); \n\n                \$responsive_menu_pro_jquery( this ).html( \$responsive_menu_pro_jquery( this ).hasClass( 'responsive_menu_pro_append_active' ) ? '{$inactiveArrow}' : '{$activeArrow}' );\n                \$responsive_menu_pro_jquery( this ).toggleClass( 'responsive_menu_pro_append_active responsive_menu_pro_append_inactive' );\n\n                {$setHeight}\n\n            });\n\n            \$responsive_menu_pro_jquery( '.responsive_menu_parent_click_disabled' ).on( 'click', function() { \n\n                {$accordion}\n\n                \$responsive_menu_pro_jquery( this ).nextAll( '#responsive_menu_pro ul ul' ).slideToggle(); \n\n                \$responsive_menu_pro_jquery( this ).siblings( '.responsive_menu_pro_append_link' ).html( \$responsive_menu_pro_jquery( this ).hasClass( 'responsive_menu_pro_append_active' ) ? '{$inactiveArrow}' : '{$activeArrow}' );\n                \$responsive_menu_pro_jquery( this ).toggleClass( 'responsive_menu_pro_append_active responsive_menu_pro_append_inactive' );\n\n                {$setHeight}\n\n            }); \n\n        ";
     /*
     |--------------------------------------------------------------------------
     | Finally Hide Appropriate Hidden Objects
     |--------------------------------------------------------------------------
     |
     | This is the function that deals with toggling the toggle buttons
     |
     */
     $js .= "   \n\n            \$responsive_menu_pro_jquery( '.responsive_menu_pro_append_inactive' ).siblings( 'ul' ).css( 'display', 'none' );\n\n        ";
     /*
     |--------------------------------------------------------------------------
     | Menu Closing Options
     |--------------------------------------------------------------------------
     |
     | This is where we set the menu to retract if a link is clicked
     | Added 1.9
     |
     */
     if (isset($options['close_on_link_click']) && $options['close_on_link_click'] == 'close') {
         $js .= " \n               \$responsive_menu_pro_jquery( '#responsive_menu_pro ul li a' ).on( 'click', function() { \n\n                   closeRM();\n\n               } );";
     }
     /*
     |--------------------------------------------------------------------------
     | Close Tags
     |--------------------------------------------------------------------------
     |
     | This closes the initial document ready call
     |
     */
     $js .= '}); ';
     /*
     |--------------------------------------------------------------------------
     | Strip Tags If Needed
     |--------------------------------------------------------------------------
     |
     | Determine whether to use the <script> tags (when using internal scripts)
     |
     */
     $js .= $options['create_external_scripts'] ? '' : '</script>';
     /*
     |--------------------------------------------------------------------------
     | Return Finished Script
     |--------------------------------------------------------------------------
     |
     | Finally we return the final script back
     |
     */
     return $js;
 }
Example #9
0
 /**
  * Create a new view for display throughout the application
  * Users .phtml files found in the app/views folder
  *
  * @param  string  $page
  * @param mixed $data
  * @return null
  * @added 2.0
  */
 static function make($page, $data)
 {
     require ResponsiveMenuPro_Registry::get('config', 'plugin_base_dir') . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . str_replace('.', DIRECTORY_SEPARATOR, $page) . '.phtml';
 }
Example #10
0
|--------------------------------------------------------------------------
| Save Config to the Registry
|--------------------------------------------------------------------------
|
| Again, some people don't like Registry's in PHP Applications, but here we
| have one and it is very useful for retrieving our settings throughout the app
|
*/
ResponsiveMenuPro_Registry::set('config', $config);
/*
|--------------------------------------------------------------------------
| Responsive Menu Defaults
|--------------------------------------------------------------------------
|
| Another configuration array of type, this time we hold all the application
| default options.
|
*/
$defaults = array('menu' => '', 'breakpoint' => 1100, 'depth' => 5, 'top' => 10, 'right' => 5, 'css' => '', 'title' => null, 'button_line_colour' => '#FFFFFF', 'button_background_colour' => '#000000', 'button_text' => '', 'is_button_background_transparent' => false, 'font' => '', 'is_fixed' => '', 'title_image' => '', 'width' => '75', 'background_colour' => '#43494C', 'background_colour_hover' => '#3C3C3C', 'title_colour' => '#FFFFFF', 'text_colour' => '#FFFFFF', 'link_border_colour' => '#3C3C3C', 'text_colour_hover' => '#FFFFFF', 'title_colour_hover' => '#FFFFFF', 'animation_type' => 'overlay', 'push_animation_container_css' => '', 'title_background_colour' => '#43494C', 'link_text_size' => 13, 'title_text_size' => 14, 'button_text_size' => 13, 'current_page_link_background' => '#43494C', 'current_page_link_colour' => '#FFFFFF', 'animation_speed' => 0.5, 'transition_speed' => 1, 'text_align' => 'left', 'include_search' => false, 'auto_expand_submenus' => false, 'link_height' => 20, 'create_external_scripts' => false, 'slide_side' => 'left', 'scripts_in_footer' => true, 'button_image' => false, 'minify' => null, 'close_on_link_click' => false, 'remove_important' => false, 'use_x' => false, 'min_width' => null, 'max_width' => null, 'expand_parents' => true, 'ignore_parent_clicks' => false, 'click_to_close' => false, 'search_position' => 'below', 'title_link' => null, 'title_target' => '_self', 'html' => null, 'html_location' => 'bottom', 'use_shortcode' => false, 'line_height' => 5, 'line_width' => 33, 'line_margin' => 6, 'button_image_clicked' => null, 'use_accordion' => false, 'arrow_shape_active' => json_encode('&#x25B2;'), 'arrow_shape_inactive' => json_encode('&#x25BC;'), 'array_image_active' => false, 'arrow_image_inactive' => false, 'trigger' => '#responsive_menu_pro_button', 'use_push_animation' => false, 'current_background_hover' => '#3C3C3C', 'current_colour_hover' => '#FFFFFF', 'walker' => null, 'use_transient_caching' => null, 'location' => 'right', 'theme_location' => null, 'use_only_on_mobile' => false, 'use_single_site_menu' => false, 'set_auto_menu_height' => false, 'use_header_bar' => false, 'header_bar_logo' => null, 'header_bar_html' => null, 'header_bar_height' => 54, 'header_bar_background_colour' => '#43494C', 'single_menu_height' => 50, 'single_menu_link_colour' => '#000000', 'single_menu_link_colour_hover' => '#000000', 'disable_scrolling' => false, 'word_wrap' => false, 'search_text' => 'Search');
/*
|--------------------------------------------------------------------------
| Save Defaults to the Registry
|--------------------------------------------------------------------------
|
| Again, some people don't like Registry's in PHP Applications, but here we
| have it again and it is very useful for retrieving our default values
| throughout the app
|
*/
ResponsiveMenuPro_Registry::set('defaults', $defaults);
Example #11
0
 /**
  * Makes sure jQuery Mobile is added to all front pages if the specific option is selected 
  * as it is needed for some of the functions to work
  *
  * @return null
  * @added 2.0
  */
 static function jQueryMobile()
 {
     wp_register_script('touch', ResponsiveMenuPro_Registry::get('config', 'plugin_base_uri') . 'public/js/touch.js', 'jquery', '', false);
     wp_enqueue_script('touch');
 }
Example #12
0
 /**
  * Sets our initial default options when menu
  * is first installed
  *
  * @return null
  * @added 1.0
  */
 static function install()
 {
     add_option('responsive_menu_pro_version', ResponsiveMenuPro_Registry::get('config', 'current_version'));
     add_option('responsive_menu_pro_options', ResponsiveMenuPro_Registry::get('defaults'));
 }
Example #13
0
 /**
  * Determines whether or not the site needs upgrading
  *
  * @return boolean
  * @added 2.0
  */
 static function needsUpgrade()
 {
     return version_compare(get_option('responsive_menu_pro_version'), ResponsiveMenuPro_Registry::get('config', 'current_version'), '<');
 }