[ SYSTEM ]: Linux wordpress 6.1.0-44-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.164-1 (2026-03-09) x86_64
[ SERVER ]: Apache/2.4.66 (Debian) | PHP: 8.2.30
[ USER ]: www-data | IP: 172.19.30.54
GEFORCE FILE MANAGER
/
var
/
www
/
html
/
wordpress
/
wp-content
/
plugins
/
elementor
/
core
/
common
/
modules
/
connect
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📁 admin-menu-items
SET
[ DEL ]
📁 apps
SET
[ DEL ]
📁 rest
SET
[ DEL ]
📄 admin.php
3,404 B
SET
[ EDIT ]
|
[ DEL ]
📄 connect-menu-item.php
1,183 B
SET
[ EDIT ]
|
[ DEL ]
📄 module.php
6,159 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: admin.php
<?php namespace Elementor\Core\Common\Modules\Connect; use Elementor\Core\Admin\Menu\Admin_Menu_Manager; use Elementor\Plugin; use Elementor\Settings; use Elementor\Utils; use Elementor\Modules\EditorOne\Classes\Menu_Data_Provider; use Elementor\Core\Common\Modules\Connect\AdminMenuItems\Editor_One_Connect_Menu; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } class Admin { const PAGE_ID = 'elementor-connect'; public static $url = ''; private function get_valid_redirect_to_from_request() { // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Only reading a URL parameter. $raw = Utils::get_super_global_value( $_GET, 'redirect_to' ); if ( ! $raw ) { return ''; } $raw = esc_url_raw( $raw ); $validated = wp_validate_redirect( $raw, '' ); if ( ! $validated ) { return ''; } $admin_host = wp_parse_url( admin_url(), PHP_URL_HOST ); $dest_host = wp_parse_url( $validated, PHP_URL_HOST ); if ( $dest_host && $admin_host && ! hash_equals( $admin_host, $dest_host ) ) { return ''; } return $validated; } public function register_editor_one_menu( Menu_Data_Provider $menu_data_provider ) { $menu_data_provider->register_menu( new Editor_One_Connect_Menu() ); } /** * @since 2.3.0 * @access public */ public function on_load_page() { if ( ! $this->user_has_enough_permissions() ) { wp_die( 'You do not have sufficient permissions to access this page.', 'You do not have sufficient permissions to access this page.', [ 'back_link' => true, ] ); } // Allow a per-request default landing URL when provided via a safe `redirect_to` parameter. $maybe_redirect_to = $this->get_valid_redirect_to_from_request(); if ( $maybe_redirect_to ) { self::$url = $maybe_redirect_to; } if ( isset( $_GET['action'], $_GET['app'] ) ) { $manager = Plugin::$instance->common->get_component( 'connect' ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended $app_slug = Utils::get_super_global_value( $_GET, 'app' ); $app = $manager->get_app( $app_slug ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended $action = Utils::get_super_global_value( $_GET, 'action' ); $nonce_action = $app_slug . $action; if ( ! $app ) { wp_die( 'Unknown app: ' . esc_attr( $app_slug ) ); } if ( ! wp_verify_nonce( Utils::get_super_global_value( $_GET, 'nonce' ), $nonce_action ) ) { wp_die( 'Invalid Nonce', 'Invalid Nonce', [ 'back_link' => true, ] ); } $method = 'action_' . $action; if ( method_exists( $app, $method ) ) { call_user_func( [ $app, $method ] ); } } } private function user_has_enough_permissions() { if ( current_user_can( 'manage_options' ) ) { return true; } if ( 'library' === Utils::get_super_global_value( $_GET, 'app' ) ) { return current_user_can( 'edit_posts' ); } return false; } /** * @since 2.3.0 * @access public */ public function __construct() { self::$url = admin_url( 'admin.php?page=' . self::PAGE_ID ); add_action( 'elementor/editor-one/menu/register', [ $this, 'register_editor_one_menu' ] ); add_action( 'elementor/editor-one/menu/after_register_hidden_submenus', function ( array $hooks ) { if ( ! empty( $hooks[ static::PAGE_ID ] ) ) { add_action( 'load-' . $hooks[ static::PAGE_ID ], [ $this, 'on_load_page' ] ); } } ); } }