[ 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
/
includes
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📁 admin-templates
SET
[ DEL ]
📁 base
SET
[ DEL ]
📁 controls
SET
[ DEL ]
📁 editor-templates
SET
[ DEL ]
📁 elements
SET
[ DEL ]
📁 interfaces
SET
[ DEL ]
📁 libraries
SET
[ DEL ]
📁 managers
SET
[ DEL ]
📁 settings
SET
[ DEL ]
📁 template-library
SET
[ DEL ]
📁 widgets
SET
[ DEL ]
📄 api.php
8,813 B
SET
[ EDIT ]
|
[ DEL ]
📄 autoloader.php
10,022 B
SET
[ EDIT ]
|
[ DEL ]
📄 beta-testers.php
3,059 B
SET
[ EDIT ]
|
[ DEL ]
📄 compatibility.php
11,221 B
SET
[ EDIT ]
|
[ DEL ]
📄 conditions.php
2,768 B
SET
[ EDIT ]
|
[ DEL ]
📄 db.php
16,276 B
SET
[ EDIT ]
|
[ DEL ]
📄 editor-assets-api.php
3,054 B
SET
[ EDIT ]
|
[ DEL ]
📄 embed.php
8,679 B
SET
[ EDIT ]
|
[ DEL ]
📄 fonts.php
64,029 B
SET
[ EDIT ]
|
[ DEL ]
📄 frontend.php
40,527 B
SET
[ EDIT ]
|
[ DEL ]
📄 heartbeat.php
2,635 B
SET
[ EDIT ]
|
[ DEL ]
📄 maintenance-mode.php
11,426 B
SET
[ EDIT ]
|
[ DEL ]
📄 maintenance.php
2,881 B
SET
[ EDIT ]
|
[ DEL ]
📄 plugin.php
16,886 B
SET
[ EDIT ]
|
[ DEL ]
📄 preview.php
7,874 B
SET
[ EDIT ]
|
[ DEL ]
📄 rollback.php
4,255 B
SET
[ EDIT ]
|
[ DEL ]
📄 shapes.php
7,999 B
SET
[ EDIT ]
|
[ DEL ]
📄 stylesheet.php
9,124 B
SET
[ EDIT ]
|
[ DEL ]
📄 tracker.php
17,407 B
SET
[ EDIT ]
|
[ DEL ]
📄 user-data.php
3,522 B
SET
[ EDIT ]
|
[ DEL ]
📄 user.php
10,230 B
SET
[ EDIT ]
|
[ DEL ]
📄 utils.php
24,940 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: heartbeat.php
<?php namespace Elementor; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Elementor heartbeat. * * Elementor heartbeat handler class is responsible for initializing Elementor * heartbeat. The class communicates with WordPress Heartbeat API while working * with Elementor. * * @since 1.0.0 */ class Heartbeat { /** * Heartbeat received. * * Locks the Heartbeat response received when editing with Elementor. * * Fired by `heartbeat_received` filter. * * @since 1.0.0 * @access public * * @param array $response The Heartbeat response. * @param array $data The `$_POST` data sent. * * @return array Heartbeat response received. */ public function heartbeat_received( $response, $data ) { if ( isset( $data['elementor_post_lock']['post_ID'] ) ) { $post_id = $data['elementor_post_lock']['post_ID']; $locked_user = Plugin::$instance->editor->get_locked_user( $post_id ); if ( ! $locked_user || ! empty( $data['elementor_force_post_lock'] ) ) { Plugin::$instance->editor->lock_post( $post_id ); } else { $response['locked_user'] = $locked_user->display_name; } /** @var Core\Common\Modules\Ajax\Module $ajax */ $ajax = Plugin::$instance->common->get_component( 'ajax' ); $response['elementorNonce'] = $ajax->create_nonce(); } return $response; } /** * Refresh nonces. * * Filter the nonces to send to the editor when editing with Elementor. Used * to refresh the nonce when the nonce expires while editing. This way the * user doesn't need to log-in again as Elementor fetches the new nonce from * the server using ajax. * * Fired by `wp_refresh_nonces` filter. * * @since 1.8.0 * @access public * * @param array $response The no-priv Heartbeat response object or array. * @param array $data The `$_POST` data sent. * * @return array Refreshed nonces. */ public function refresh_nonces( $response, $data ) { if ( isset( $data['elementor_post_lock']['post_ID'] ) ) { /** @var Core\Common\Modules\Ajax\Module $ajax */ $ajax = Plugin::$instance->common->get_component( 'ajax' ); $response['elementor-refresh-nonces'] = [ 'elementorNonce' => $ajax->create_nonce(), 'heartbeatNonce' => wp_create_nonce( 'heartbeat-nonce' ), ]; } return $response; } /** * Heartbeat constructor. * * Initializing Elementor heartbeat. * * @since 1.0.0 * @access public */ public function __construct() { add_filter( 'heartbeat_received', [ $this, 'heartbeat_received' ], 10, 2 ); add_filter( 'wp_refresh_nonces', [ $this, 'refresh_nonces' ], 30, 2 ); } }