芝麻web文件管理V1.00
编辑当前文件:/home/paymbalq/public_html/wp-content/plugins/w3-total-cache/UsageStatistics_Page.php
get_boolean( 'stats.enabled' ) ) { wp_enqueue_script( 'w3tc-canvasjs', plugins_url( 'pub/js/chartjs.min.js', W3TC_FILE ), array(), W3TC_VERSION, false ); wp_enqueue_script( 'w3tc-widget-usage-statistics', plugins_url( 'UsageStatistics_Page_View.js', W3TC_FILE ), array( 'w3tc-canvasjs' ), W3TC_VERSION, false ); } } /** * Renders the usage statistics page. * * This method checks if W3 Total Cache Pro is active and if statistics are enabled. Based on * the request view (e.g., database requests, object cache requests, page cache requests), it * loads the relevant statistics view and data. * * @return void */ public function render() { $c = Dispatcher::config(); $enabled = ( $c->get_boolean( 'stats.enabled' ) && Util_Environment::is_w3tc_pro( $c ) ); if ( ! $enabled ) { if ( ! Util_Environment::is_w3tc_pro( $c ) ) { include W3TC_DIR . '/UsageStatistics_Page_View_Free.php'; } else { include W3TC_DIR . '/UsageStatistics_Page_View_Disabled.php'; } return; } $view_val = Util_Request::get_string( 'view' ); if ( ! empty( $view_val ) && 'db_requests' === $view_val ) { $storage = new UsageStatistics_StorageReader(); $summary = $storage->get_history_summary(); $timestamp_start = $summary['period']['timestamp_start']; $sort_val = Util_Request::get_string( 'sort' ); $sort_column = ! empty( $sort_val ) ? $sort_val : ''; if ( ! in_array( $sort_column, array( 'query', 'count_total', 'count_hit', 'avg_size', 'avg_time_ms', 'sum_time_ms', ), true ) ) { $sort_column = 'sum_time_ms'; } if ( ! $c->get_boolean( 'dbcache.debug' ) ) { include W3TC_DIR . '/UsageStatistics_Page_View_NoDebugMode.php'; return; } $reader = new UsageStatistics_Source_DbQueriesLog( $timestamp_start, $sort_column ); $items = $reader->list_entries(); $result = array( 'date_min' => Util_UsageStatistics::time_mins( $timestamp_start ), 'date_max' => Util_UsageStatistics::time_mins( time() ), 'sort_column' => $sort_column, 'items' => $items, ); include W3TC_DIR . '/UsageStatistics_Page_DbRequests_View.php'; } elseif ( ! empty( $view_val ) && 'oc_requests' === $view_val ) { $storage = new UsageStatistics_StorageReader(); $summary = $storage->get_history_summary(); $timestamp_start = $summary['period']['timestamp_start']; $sort_val = Util_Request::get_string( 'sort' ); $sort_column = ! empty( $sort_val ) ? $sort_val : ''; if ( ! in_array( $sort_column, array( 'group', 'count_total', 'count_get_total', 'count_get_hit', 'count_set', 'avg_size', 'sum_size', 'sum_time_ms', ), true ) ) { $sort_column = 'sum_time_ms'; } if ( ! $c->get_boolean( 'objectcache.debug' ) ) { include W3TC_DIR . '/UsageStatistics_Page_View_NoDebugMode.php'; return; } $reader = new UsageStatistics_Source_ObjectCacheLog( $timestamp_start, $sort_column ); $items = $reader->list_entries(); $result = array( 'date_min' => Util_UsageStatistics::time_mins( $timestamp_start ), 'date_max' => Util_UsageStatistics::time_mins( time() ), 'sort_column' => $sort_column, 'items' => $items, ); include W3TC_DIR . '/UsageStatistics_Page_ObjectCacheLog_View.php'; } elseif ( ! empty( $view_val ) && 'pagecache_requests' === $view_val ) { $storage = new UsageStatistics_StorageReader(); $summary = $storage->get_history_summary(); $timestamp_start = $summary['period']['timestamp_start']; $sort_val = Util_Request::get_string( 'sort' ); $sort_column = ! empty( $sort_val ) ? $sort_val : ''; if ( ! in_array( $sort_column, array( 'uri', 'count', 'avg_size', 'avg_time_ms', 'sum_time_ms', ), true ) ) { $sort_column = 'sum_time_ms'; } if ( ! $c->get_boolean( 'pgcache.debug' ) ) { include W3TC_DIR . '/UsageStatistics_Page_View_NoDebugMode.php'; return; } $reader = new UsageStatistics_Source_PageCacheLog( $timestamp_start, Util_Request::get_string( 'status' ), $sort_column ); $items = $reader->list_entries(); $result = array( 'date_min' => Util_UsageStatistics::time_mins( $timestamp_start ), 'date_max' => Util_UsageStatistics::time_mins( time() ), 'sort_column' => $sort_column, 'items' => $items, ); include W3TC_DIR . '/UsageStatistics_Page_PageCacheRequests_View.php'; } else { $c = Dispatcher::config(); $php_php_requests_pagecache_hit_name = 'Cache hit'; if ( $c->get_boolean( 'pgcache.enabled' ) && 'file_generic' === $c->get_string( 'pgcache.engine' ) ) { $php_php_requests_pagecache_hit_name = 'Cache fallback hit'; } include W3TC_DIR . '/UsageStatistics_Page_View.php'; } } /** * Displays a sortable link for the statistics table. * * This method generates a sortable link for the statistics page based on the specified column. * If the column is already the active sort column, it displays the name in bold. Otherwise, it * creates a link to sort by the specified column. * * @param array $result The result array containing current sorting information. * @param string $name The name of the column to display. * @param string $sort_column The column name to sort by. * * @return void */ public function sort_link( $result, $name, $sort_column ) { if ( $result['sort_column'] === $sort_column ) { echo '
' . esc_html( $name ) . '
'; return; } $new_query_string = $_GET; // phpcs:ignore WordPress.Security.NonceVerification.Recommended $new_query_string['sort'] = sanitize_text_field( $sort_column ); echo '
' . esc_html( $name ) . '
'; } /** * Displays a checkbox for a summary item on the usage statistics page. * * This method generates a checkbox input for a summary item, allowing the user to toggle * visibility in the chart. It includes additional options like background color and optional * linking to more detailed statistics. * * @param string $id The ID of the summary item. * @param string $name The name of the summary item. * @param bool $checked Whether the checkbox is checked or not. Default is false. * @param string $extra_class Extra CSS classes to apply to the item. * @param string $column_background Background color for the column associated with the item. * @param string $link_key Optional link key for generating a clickable link. * * @return void */ public function summary_item( $id, $name, $checked = false, $extra_class = '', $column_background = '', $link_key = '' ) { echo '
'; echo '
'; echo '
'; if ( ! empty( $link_key ) ) { $link_url = 'admin.php?page=w3tc_stats&view=pagecache_requests&status=' . rawurlencode( $link_key ) . '&status_name=' . rawurlencode( $name ); echo '
' . esc_html( $name ) . '
'; } else { echo esc_html( $name ); } echo ':
'; echo '
'; echo '
'; } }