Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /proc/self/cwd/wp-content/plugins/bdthemes-element-pack/includes/context-menu/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/self/cwd/wp-content/plugins/bdthemes-element-pack/includes/context-menu/settings.php
<?php

namespace ElementPack;

use Elementor\Plugin;
use Elementor\Icons_Manager;

if (!defined('ABSPATH')) exit; // Exit if accessed directly
final class Context_Menu_Markup {
    public function __construct() {
        add_action('wp_head', [$this, 'styles']);
        add_action('wp_footer', [$this, 'ep_context_menu_should_display']);
    }

    public function styles() {
        wp_register_style('context-menu', BDTEP_URL . 'assets/css/ep-context-menu.css', [], BDTEP_VER);
        wp_enqueue_style('context-menu');
    }

    public function ep_context_menu_settings($setting_id) {
        global $context_menu_settings;
        $return = '';
        if (!isset($context_menu_settings['kit_settings'])) {
            $kit = Plugin::$instance->documents->get(Plugin::$instance->kits_manager->get_active_id(), false);
            $context_menu_settings['kit_settings'] = $kit->get_settings();
        }

        if (isset($context_menu_settings['kit_settings'][$setting_id])) {
            $return = $context_menu_settings['kit_settings'][$setting_id];
        }

        return apply_filters('context_menu_settings' . $setting_id, $return);
    }


    public function ep_context_menu_should_display() {
        if ($this->ep_context_menu_settings('ep_context_menu_enable') === 'yes') {
            if ($this->ep_context_menu_settings('ep_context_menu_only_loggin_in') === 'yes') {
                if (is_user_logged_in()) {
                    if ($this->ep_context_menu_settings('ep_context_menu_specific_page') === 'yes') {
                        $selected_ids = $this->ep_context_menu_settings('ep_context_menu_page_ids');
                        $results = explode(',', $selected_ids);
                        $current_id = get_the_ID();
                        if (in_array($current_id, $results)) {
                            $this->ep_render_data();
                            $this->load_context_menu_scripts();
                        }
                    } else {
                        $this->ep_render_data();
                        $this->load_context_menu_scripts();
                    }
                }
            } else {
                if ($this->ep_context_menu_settings('ep_context_menu_specific_page') === 'yes') {
                    $selected_ids = $this->ep_context_menu_settings('ep_context_menu_page_ids');
                    $results = explode(',', $selected_ids);
                    $current_id = get_the_ID();
                    if (in_array($current_id, $results)) {
                        $this->ep_render_data();
                        $this->load_context_menu_scripts();
                    }
                } else {
                    $this->ep_render_data();
                    $this->load_context_menu_scripts();
                }
            }
        }
    }
    public function ep_render_data() {
        $menus = $this->ep_context_menu_settings('menus');
?>
        <div class="bdt-context-menu">
            <ul class="bdt-context" id="context-menu" style="display: none;">

                <?php foreach ($menus as $item) : ?>

                    <?php
                    $target = (!empty($item['menu_link']['is_external'])) ? 'target="_blank"' : '';
                    $nofollow = (!empty($item['menu_link']['nofollow'])) ? ' rel="nofollow"' : '';

                    if ($item['menu_type'] == 'child_start') {
                        $item_class = 'has-arrow';
                    } else {
                        $item_class = '';
                    }

                    ?>

                    <?php if ($item['menu_type'] !== 'child_end') : ?>
                        <li class="bdt-menu-item">
                            <a class="<?php echo $item_class; ?>" href="<?php echo esc_url($item['menu_link']['url']); ?>" <?php echo wp_kses_post($target);
                                                                                                                            echo wp_kses_post($nofollow); ?>>
                                <span>
                                    <?php if (!empty($item['menu_icon']['value'])) : ?>
                                        <span class="bdt-menu-icon">
                                            <?php Icons_Manager::render_icon($item['menu_icon'], ['aria-hidden' => 'true']); ?>
                                        </span>
                                    <?php endif; ?>
                                    <?php echo wp_kses($item['menu_title'], element_pack_allow_tags('title')); ?>
                                </span>

                                <?php if ($item['menu_type'] == 'child_start') : ?>
                                    <i class="eicon-caret-right"></i>
                                <?php endif; ?>

                            </a>
                        <?php endif; ?>

                        <?php if ($item['menu_type'] == 'child_start') : ?>
                            <ul class="bdt-context sub">
                            <?php endif; ?>

                            <?php if ($item['menu_type'] == 'child_end') : ?>
                            </ul>
                        </li>
                    <?php endif; ?>

                    <?php if ($item['menu_type'] == 'item') : ?>
                        </li>
                    <?php endif; ?>

                <?php endforeach; ?>
            </ul>
        </div>
    <?php
    }

    public function load_context_menu_scripts() {
    ?>
        <script>
            (function($) {
                $(document).ready(function() {
                    $(function() {
                        var $doc = $(document),
                            $context = $(".bdt-context:not(.sub)");
                        $doc.on("contextmenu", function(e) {

                            var $window = $("body"),
                                $sub = $context.find(".sub");
                            $sub.removeClass("oppositeX oppositeY");

                            e.preventDefault();

                            var w = $context.width();
                            var h = $context.height();

                            var x = e.pageX;
                            var y = e.pageY;
                            var ww = $window.width();
                            var wh = $window.height();
                            var padx = 30;
                            var pady = 20;
                            var fx = x;
                            var fy = y;
                            var hitsRight = (x + w >= ww - padx);
                            var hitsBottom = (y + h >= wh - pady);


                            if (hitsRight) {
                                fx = fx - $context.width();
                            }

                            if (hitsBottom) {
                                fy = fy - $context.height();
                            }

                            $context
                                .css({
                                    left: fx - 1,
                                    top: fy - 1
                                });

                            var sw = $sub.width();
                            var sh = $sub.height();
                            var sx = $sub.offset().left;
                            var sy = $sub.offset().top;
                            var subHitsRight = (sx + sw - padx >= ww - padx);
                            var subHitsBottom = (sy + sh - pady >= wh - pady);

                            if (subHitsRight) {
                                $sub.addClass("oppositeX");
                            }

                            if (subHitsBottom) {
                                $sub.addClass("oppositeY");
                            }

                            $context.addClass("is-visible");
                            $context.css("display", 'inline-block');


                            $doc.on("mousedown", function(e) {
                                var $tar = $(e.target);

                                if (!$tar.is($context) &&
                                    !$tar.closest(".bdt-context").length) {

                                    $context.removeClass("is-visible");
                                    $doc.off(e);

                                }

                            });

                        });

                        $context.on("mousedown touchstart", "li:not(.nope)", function(e) {

                            if (e.which === 1) {

                                var $item = $(this);

                                $item.removeClass("active");

                                setTimeout(function() {
                                    $item.addClass("active");
                                }, 10);

                            }

                        });
                        $doc.click(function(event) {
                            var relX = event.pageX;
                            var relY = event.pageY;
                        });
                    });
                });
            })(jQuery);
        </script>
<?php }
}
new Context_Menu_Markup();

Spamworldpro Mini