82 lines
4.2 KiB
PHP
82 lines
4.2 KiB
PHP
|
|
<?php
|
|||
|
|
if (!empty( $_REQUEST['handle'])) {
|
|||
|
|
if (!empty($_REQUEST['_wpnonce']) && wp_verify_nonce($_REQUEST['_wpnonce'], 'remove_log')) {
|
|||
|
|
$log_handler = new WC_Log_Handler_File();
|
|||
|
|
$log_handler->remove($_REQUEST['handle']);
|
|||
|
|
wp_redirect('options-general.php?page=mailchimp-woocommerce&tab=logs');
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
$files = defined('WC_LOG_DIR') ? @scandir( WC_LOG_DIR ) : array();
|
|||
|
|
$logs = array();
|
|||
|
|
if (!empty($files)) {
|
|||
|
|
foreach ($files as $key => $value) {
|
|||
|
|
if (!in_array( $value, array( '.', '..' ))) {
|
|||
|
|
if (!is_dir($value) && mailchimp_string_contains($value, 'mailchimp_woocommerce')) {
|
|||
|
|
$logs[sanitize_title($value)] = $value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if (!empty($_REQUEST['log_file']) && isset($logs[sanitize_title( $_REQUEST['log_file'])])) {
|
|||
|
|
$viewed_log = $logs[sanitize_title($_REQUEST['log_file'])];
|
|||
|
|
} elseif (!empty($logs)) {
|
|||
|
|
$viewed_log = current( $logs );
|
|||
|
|
}
|
|||
|
|
$handle = !empty($viewed_log) ? substr($viewed_log, 0, strlen($viewed_log) > 37 ? strlen($viewed_log) - 37 : strlen($viewed_log) - 4) : '';
|
|||
|
|
?>
|
|||
|
|
|
|||
|
|
<h2 style="padding-top: 1em;">Logging Preference</h2>
|
|||
|
|
<p>
|
|||
|
|
Advanced troubleshooting can be conducted with the logging capability turned on.
|
|||
|
|
By default, it’s set to “none” and you may toggle to either “standard” or “debug” as needed.
|
|||
|
|
With standard logging, you can see basic information about the data submission to MailChimp including any errors.
|
|||
|
|
“Debug” gives a much deeper insight that is useful to share with support if problems arise.
|
|||
|
|
</p>
|
|||
|
|
<fieldset>
|
|||
|
|
<legend class="screen-reader-text">
|
|||
|
|
<span>Logging Preference</span>
|
|||
|
|
</legend>
|
|||
|
|
<label for="<?php echo $this->plugin_name; ?>-logging">
|
|||
|
|
<select name="<?php echo $this->plugin_name; ?>[mailchimp_logging]" style="width:30%" required>
|
|||
|
|
<?php $logging_preference = mailchimp_environment_variables()->logging; ?>
|
|||
|
|
<?php
|
|||
|
|
foreach(array('none' => 'None', 'debug' => 'Debug', 'standard' => 'Standard',) as $log_value => $log_label) {
|
|||
|
|
echo '<option value="'.esc_attr($log_value).'" '.selected($log_value === $logging_preference, true, false ) . '>' . esc_html($log_label) . '</option>';
|
|||
|
|
}
|
|||
|
|
?>
|
|||
|
|
</select>
|
|||
|
|
</label>
|
|||
|
|
</fieldset>
|
|||
|
|
|
|||
|
|
<?php submit_button('Save all changes', 'primary','submit', TRUE);?>
|
|||
|
|
|
|||
|
|
<?php if (isset($logs) && isset($viewed_log)) : ?>
|
|||
|
|
<div id="log-viewer-select">
|
|||
|
|
<div class="alignleft">
|
|||
|
|
<h2>
|
|||
|
|
<?php echo esc_html( $viewed_log ); ?>
|
|||
|
|
<?php if ( ! empty( $handle ) ) : ?>
|
|||
|
|
<a class="page-title-action" href="<?php echo esc_url( wp_nonce_url( add_query_arg( array( 'handle' => $handle ), admin_url( 'options-general.php?page=mailchimp-woocommerce&tab=logs&mc_action=remove_log' ) ), 'remove_log' ) ); ?>" class="button"><?php esc_html_e( 'Delete log', 'woocommerce' );?></a>
|
|||
|
|
<?php endif; ?>
|
|||
|
|
</h2>
|
|||
|
|
</div>
|
|||
|
|
<div class="alignright">
|
|||
|
|
<form action="<?php echo admin_url( 'options-general.php?page=mailchimp-woocommerce&tab=logs&mc_action=view_log' ); ?>" method="post">
|
|||
|
|
<input type="hidden" name="<?php echo $this->plugin_name; ?>[mailchimp_active_tab]" value="logs"/>
|
|||
|
|
<select name="log_file">
|
|||
|
|
<?php foreach ( $logs as $log_key => $log_file ) : ?>
|
|||
|
|
<option value="<?php echo esc_attr( $log_key ); ?>" <?php selected( sanitize_title( $viewed_log ), $log_key ); ?>><?php echo esc_html( $log_file ); ?> (<?php echo date_i18n( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), filemtime( WC_LOG_DIR . $log_file ) ); ?>)</option>
|
|||
|
|
<?php endforeach; ?>
|
|||
|
|
</select>
|
|||
|
|
<input type="submit" class="button" value="<?php esc_attr_e( 'View', 'woocommerce' ); ?>" />
|
|||
|
|
</form>
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
<div id="log-viewer">
|
|||
|
|
<pre><?php echo esc_html( file_get_contents( WC_LOG_DIR . $viewed_log ) ); ?></pre>
|
|||
|
|
</div>
|
|||
|
|
<?php else : ?>
|
|||
|
|
<div class="updated woocommerce-message inline"><p><?php _e( 'There are currently no logs to view.', 'woocommerce' ); ?></p></div>
|
|||
|
|
<?php endif; ?>
|