<?php
/**
* The Template for displaying the Error Log.
*
* @package YITH\PluginFramework\Templates\SysInfo
*/
defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
$debug_files = array(
// WordPress' debug.log file.
'debug.log' => array(
'label' => __( 'WP debug.log file', 'yith-plugin-fw' ),
'path' => WP_CONTENT_DIR . '/debug.log',
),
// PHP error_log file.
'error_log' => array(
'label' => __( 'PHP error_log file', 'yith-plugin-fw' ),
'path' => ABSPATH . 'error_log',
),
);
?>
<div class="yith-system-info__section">
<h2>
<?php esc_html_e( 'Log Files', 'yith-plugin-fw' ); ?>
</h2>
<table class="form-table" role="presentation">
<?php
global $wp_filesystem;
if ( empty( $wp_filesystem ) ) {
require_once ABSPATH . '/wp-admin/includes/file.php';
WP_Filesystem();
}
$max_file_size = 8388608; // 8 MB.
$missing_files = 0;
?>
<?php foreach ( $debug_files as $key => $debug_file ) : ?>
<?php
if ( ! file_exists( $debug_file['path'] ) ) {
$missing_files ++;
continue;
}
$file_size = filesize( $debug_file['path'] );
?>
<tr>
<th scope="row"><label for="<?php echo esc_attr( $key ); ?>"><?php echo esc_html( $debug_file['label'] ); ?></label></th>
<td>
<?php
if ( $file_size > $max_file_size ) {
yith_plugin_fw_get_field(
array(
'id' => $key,
'type' => 'buttons',
'buttons' => array(
array(
'name' => __( 'Download', 'yith-plugin-fw' ),
'class' => 'yith-download-log',
'data' => array(
'action' => 'yith_create_log_file',
'file' => $key,
'nonce' => wp_create_nonce( 'yith-export-log' ),
),
),
),
),
true
);
echo '<span class="description">' . esc_html__( 'The file size exceeds 8 megabytes so it must be downloaded', 'yith-plugin-fw' ) . '</span>';
} else {
yith_plugin_fw_get_field(
array(
'id' => $key,
'type' => 'textarea',
'value' => $wp_filesystem->get_contents( $debug_file['path'] ),
'class' => 'yith-system-info-debug',
'custom_attributes' => 'readonly',
),
true
);
}
?>
</td>
</tr>
<?php endforeach; ?>
<?php if ( 2 === $missing_files ) : ?>
<tr>
<td>
<?php
// translators: %s file name.
echo sprintf( esc_html__( 'No Log file available. Enable the WordPress debug by adding this in the %s file of your installation', 'yith-plugin-fw' ), '<code>wp-config.php</code>' );
?>
<br/>
<br/>
<span class="debug-code">
define( 'WP_DEBUG', true );<br/>
define( 'WP_DEBUG_LOG', true );<br/>
define( 'WP_DEBUG_DISPLAY', false );<br/>
</span>
<a href="#" data-tooltip="<?php esc_attr_e( 'Copied!', 'yith-plugin-fw' ); ?>" class="copy-link"><?php esc_html_e( 'Copy Code', 'yith-plugin-fw' ); ?></a>
</td>
</tr>
<?php endif; ?>
</table>
</div>