Current Path: > home > transcarter > > www > wp-content > plugins > query-monitor > collectors >
Operation : Linux host59.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64 Software : Apache Server IP : 198.54.126.42 | Your IP: 216.73.216.135 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
admin.php | File | 3426 bytes | July 17 2025 21:05:45. | |
assets_scripts.php | File | 1215 bytes | July 17 2025 21:05:45. | |
assets_styles.php | File | 862 bytes | July 17 2025 21:05:45. | |
block_editor.php | File | 5528 bytes | July 17 2025 21:05:45. | |
cache.php | File | 3576 bytes | July 17 2025 21:05:45. | |
caps.php | File | 7352 bytes | July 17 2025 21:05:45. | |
conditionals.php | File | 2803 bytes | July 17 2025 21:05:45. | |
db_callers.php | File | 1140 bytes | July 17 2025 21:05:45. | |
db_components.php | File | 1175 bytes | July 17 2025 21:05:45. | |
db_dupes.php | File | 3498 bytes | July 17 2025 21:05:45. | |
db_queries.php | File | 6415 bytes | July 17 2025 21:05:45. | |
debug_bar.php | File | 2757 bytes | July 17 2025 21:05:45. | |
doing_it_wrong.php | File | 12778 bytes | July 17 2025 21:05:45. | |
environment.php | File | 9074 bytes | July 17 2025 21:05:45. | |
hooks.php | File | 2019 bytes | July 17 2025 21:05:45. | |
http.php | File | 11557 bytes | July 17 2025 21:05:45. | |
languages.php | File | 7552 bytes | July 17 2025 21:05:45. | |
logger.php | File | 7945 bytes | July 17 2025 21:05:45. | |
multisite.php | File | 1631 bytes | July 17 2025 21:05:45. | |
overview.php | File | 2845 bytes | July 17 2025 21:05:45. | |
php_errors.php | File | 15565 bytes | July 17 2025 21:05:45. | |
raw_request.php | File | 2424 bytes | July 17 2025 21:05:45. | |
redirects.php | File | 1365 bytes | July 17 2025 21:05:45. | |
request.php | File | 7325 bytes | July 17 2025 21:05:45. | |
theme.php | File | 17934 bytes | July 17 2025 21:05:45. | |
timing.php | File | 4448 bytes | July 17 2025 21:05:45. | |
transients.php | File | 3010 bytes | July 17 2025 21:05:45. |
<?php declare(strict_types = 1); /** * Block editor (née Gutenberg) collector. * * @package query-monitor */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * @extends QM_DataCollector<QM_Data_Block_Editor> */ class QM_Collector_Block_Editor extends QM_DataCollector { public $id = 'block_editor'; /** * @var array<int, mixed[]> */ protected $block_context = array(); /** * @var array<int, QM_Timer|false> */ protected $block_timing = array(); /** * @var QM_Timer|null */ protected $block_timer = null; public function get_storage(): QM_Data { return new QM_Data_Block_Editor(); } /** * @return void */ public function set_up() { parent::set_up(); add_filter( 'pre_render_block', array( $this, 'filter_pre_render_block' ), 9999, 2 ); add_filter( 'render_block_context', array( $this, 'filter_render_block_context' ), -9999, 2 ); add_filter( 'render_block_data', array( $this, 'filter_render_block_data' ), -9999 ); add_filter( 'render_block', array( $this, 'filter_render_block' ), 9999, 2 ); } /** * @return void */ public function tear_down() { remove_filter( 'pre_render_block', array( $this, 'filter_pre_render_block' ), 9999 ); remove_filter( 'render_block_context', array( $this, 'filter_render_block_context' ), -9999 ); remove_filter( 'render_block_data', array( $this, 'filter_render_block_data' ), -9999 ); remove_filter( 'render_block', array( $this, 'filter_render_block' ), 9999 ); parent::tear_down(); } /** * @return array<int, string> */ public function get_concerned_filters() { return array( 'allowed_block_types', 'allowed_block_types_all', 'block_editor_settings_all', 'block_type_metadata', 'block_type_metadata_settings', 'block_parser_class', 'pre_render_block', 'register_block_type_args', 'render_block_context', 'render_block_data', 'render_block', 'use_widgets_block_editor', ); } /** * @param string|null $pre_render * @param mixed[] $block * @return string|null */ public function filter_pre_render_block( $pre_render, array $block ) { if ( null !== $pre_render ) { $this->block_timing[] = false; } return $pre_render; } /** * @param mixed[] $context * @param mixed[] $block * @return mixed[] */ public function filter_render_block_context( array $context, array $block ) { $this->block_context[] = $context; return $context; } /** * @param mixed[] $block * @return mixed[] */ public function filter_render_block_data( array $block ) { $this->block_timer = new QM_Timer(); $this->block_timer->start(); return $block; } /** * @param string $block_content * @param mixed[] $block * @return string */ public function filter_render_block( $block_content, array $block ) { if ( isset( $this->block_timer ) ) { $this->block_timing[] = $this->block_timer->stop(); } return $block_content; } public function process() { global $_wp_current_template_content; if ( ! empty( $_wp_current_template_content ) ) { // Full site editor: $content = $_wp_current_template_content; } elseif ( is_singular() ) { // Post editor: $post = get_post( get_queried_object_id() ); if ( ! $post ) { return; } $content = $post->post_content; } else { // Nada: return; } $this->data->post_has_blocks = has_blocks( $content ); $this->data->post_blocks = array_values( parse_blocks( $content ) ); $this->data->all_dynamic_blocks = get_dynamic_block_names(); $this->data->total_blocks = 0; $this->data->has_block_context = false; $this->data->has_block_timing = false; if ( $this->data->post_has_blocks ) { $this->data->post_blocks = array_values( array_filter( array_map( array( $this, 'process_block' ), $this->data->post_blocks ) ) ); } } /** * @param mixed[] $block * @return mixed[]|null */ protected function process_block( array $block ) { $context = array_shift( $this->block_context ); $timing = array_shift( $this->block_timing ); // Remove empty blocks caused by two consecutive line breaks in content if ( ! $block['blockName'] && ! trim( $block['innerHTML'] ) ) { return null; } $this->data->total_blocks++; $block_type = WP_Block_Type_Registry::get_instance()->get_registered( $block['blockName'] ); $dynamic = false; $callback = null; if ( $block_type && $block_type->is_dynamic() ) { $dynamic = true; $callback = QM_Util::populate_callback( array( 'function' => $block_type->render_callback, ) ); } $timing = array_shift( $this->block_timing ); $block['dynamic'] = $dynamic; $block['callback'] = $callback; $block['innerHTML'] = trim( $block['innerHTML'] ); $block['size'] = strlen( $block['innerHTML'] ); if ( $context ) { $block['context'] = $context; $this->data->has_block_context = true; } if ( $timing ) { $block['timing'] = $timing->get_time(); $this->data->has_block_timing = true; } if ( ! empty( $block['innerBlocks'] ) ) { $block['innerBlocks'] = array_values( array_filter( array_map( array( $this, 'process_block' ), $block['innerBlocks'] ) ) ); } return $block; } } /** * @param array<string, QM_Collector> $collectors * @param QueryMonitor $qm * @return array<string, QM_Collector> */ function register_qm_collector_block_editor( array $collectors, QueryMonitor $qm ) { $collectors['block_editor'] = new QM_Collector_Block_Editor(); return $collectors; } add_filter( 'qm/collectors', 'register_qm_collector_block_editor', 10, 2 );
SILENT KILLER Tool