[ 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
/
modules
/
pro-install
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📄 connect-page-renderer.php
5,816 B
SET
[ EDIT ]
|
[ DEL ]
📄 connect.php
885 B
SET
[ EDIT ]
|
[ DEL ]
📄 editor-one-connect-account-menu-item.php
1,493 B
SET
[ EDIT ]
|
[ DEL ]
📄 module.php
2,508 B
SET
[ EDIT ]
|
[ DEL ]
📄 plugin-installer.php
2,348 B
SET
[ EDIT ]
|
[ DEL ]
📄 pro-install-menu-item.php
1,030 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: module.php
<?php namespace Elementor\Modules\ProInstall; use Elementor\Core\Common\Modules\Connect\Module as ConnectModule; use Elementor\Core\Base\Module as BaseModule; use Elementor\Plugin; use Elementor\Utils; use Elementor\Modules\EditorOne\Classes\Menu_Data_Provider; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } class Module extends BaseModule { public function get_name() { return 'pro-install'; } public static function is_active() { return ! Utils::has_pro() && current_user_can( 'manage_options' ); } public function __construct() { parent::__construct(); add_action( 'admin_post_elementor_do_pro_install', [ $this, 'admin_post_elementor_do_pro_install' ] ); add_action( 'elementor/connect/apps/register', function ( ConnectModule $connect_module ) { $connect_module->register_app( 'pro-install', Connect::get_class_name() ); } ); add_action( 'elementor/editor-one/menu/excluded_level3_slugs', function ( array $excluded_slugs ): array { $excluded_slugs[] = 'elementor-connect'; return $excluded_slugs; } ); add_action( 'elementor/editor-one/menu/register', function( Menu_Data_Provider $menu_data_provider ) { $menu_data_provider->register_menu( new Editor_One_Connect_Account_Menu_Item( $this->get_connect_app(), $this->get_pro_install_page_assets() ) ); } ); } private function get_connect_app(): Connect { return Plugin::$instance->common->get_component( 'connect' )->get_app( 'pro-install' ); } public function admin_post_elementor_do_pro_install() { if ( ! current_user_can( 'install_plugins' ) ) { wp_die( esc_html__( 'You do not have sufficient permissions to access this page.', 'elementor' ) ); } check_admin_referer( 'elementor_do_pro_install' ); $app = $this->get_connect_app(); $download_link = $app->get_download_link(); if ( empty( $download_link ) ) { wp_die( esc_html__( 'There are no available subscriptions at the moment.', 'elementor' ) ); } $plugin_installer = new Plugin_Installer( 'elementor-pro', $download_link ); $response = $plugin_installer->install(); if ( is_wp_error( $response ) ) { wp_die( esc_html( $response->get_error_message() ) ); } wp_safe_redirect( admin_url( 'admin.php?page=elementor-license' ) ); } private function get_pro_install_page_assets(): array { return [ 'elementor-pro-install-events', $this->get_js_assets_url( 'pro-install-events' ), [ 'elementor-common' ], ELEMENTOR_VERSION, true, ]; } }