diff --git a/assets/js/admin.js b/assets/js/admin.js index 9fba205..62d0994 100644 --- a/assets/js/admin.js +++ b/assets/js/admin.js @@ -20,9 +20,10 @@ css_class = (runtime > 2) ? ' error' : css_class; html += ` - -
` + row.url + `
- + +
` + row.url + `
+ + ` + row.referrer + ` ` + row.status_code + ` ` + row.runtime + ` ` + row.date_added + ` @@ -66,7 +67,7 @@ $('.http-request-args').text(JSON.stringify(JSON.parse(data.request_args), null, 2)); $('.http-response').text(JSON.stringify(JSON.parse(data.response), null, 2)); $('.media-modal').addClass('open'); - $('.media-modal-backdrop').addClass('open'); + $('.media-modal-backdrop').addClass('open'); } // Page change diff --git a/includes/class-query.php b/includes/class-query.php index 83d6a0c..ed2a3e7 100644 --- a/includes/class-query.php +++ b/includes/class-query.php @@ -33,7 +33,7 @@ function get_results( $args ) { $this->sql = " SELECT SQL_CALC_FOUND_ROWS - id, url, request_args, response, runtime, date_added + id, url, request_args, referrer, referrer_args, response, runtime, date_added FROM {$this->wpdb->prefix}lhr_log ORDER BY $orderby $order, id DESC LIMIT $limit @@ -60,6 +60,8 @@ function get_results( $args ) { $row['date_raw'] = $row['date_added']; $row['date_added'] = LHR()->time_since( $row['date_added'] ); $row['url'] = esc_url( $row['url'] ); + $row['referrer'] = esc_url( $row['referrer'] ); + $row['referrer_args'] = json_decode( $row['referrer_args'] ); $output[] = $row; } diff --git a/includes/class-upgrade.php b/includes/class-upgrade.php index dadf1c4..436b5f2 100644 --- a/includes/class-upgrade.php +++ b/includes/class-upgrade.php @@ -26,21 +26,42 @@ function __construct() { private function clean_install() { global $wpdb; - $sql = " - CREATE TABLE IF NOT EXISTS {$wpdb->prefix}lhr_log ( - id BIGINT unsigned not null auto_increment, - url TEXT, - request_args MEDIUMTEXT, - response MEDIUMTEXT, - runtime VARCHAR(64), - date_added DATETIME, - PRIMARY KEY (id) - ) DEFAULT CHARSET=utf8mb4"; - $wpdb->query( $sql ); - } + $sql = + "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}lhr_log ( + id BIGINT unsigned not null auto_increment, + url TEXT, + request_args MEDIUMTEXT, + response MEDIUMTEXT, + runtime VARCHAR(64), + referrer TEXT null, + referrer_args MEDIUMTEXT null, + date_added DATETIME, + PRIMARY KEY (id), + KEY date_added (date_added) + ) COLLATE {$wpdb->collate};"; + require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); + dbDelta( $sql ); + } private function run_upgrade() { global $wpdb; + + $sql = + "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}lhr_log ( + id BIGINT unsigned not null auto_increment, + url TEXT, + request_args MEDIUMTEXT, + response MEDIUMTEXT, + runtime VARCHAR(64), + referrer TEXT null, + referrer_args MEDIUMTEXT null, + date_added DATETIME, + PRIMARY KEY (id), + KEY date_added (date_added) + ) COLLATE {$wpdb->collate};"; + + require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); + dbDelta( $sql ); } } diff --git a/log-http-requests.php b/log-http-requests.php index 987d78c..609d876 100644 --- a/log-http-requests.php +++ b/log-http-requests.php @@ -26,6 +26,7 @@ class Log_HTTP_Requests { + /** @var \LHR_Query */ public $query; public $start_time; public static $instance; @@ -34,7 +35,7 @@ class Log_HTTP_Requests function __construct() { // setup variables - define( 'LHR_VERSION', '1.4.1' ); + define( 'LHR_VERSION', '1.4.2' ); define( 'LHR_DIR', dirname( __FILE__ ) ); define( 'LHR_URL', plugins_url( '', __FILE__ ) ); define( 'LHR_BASENAME', plugin_basename( __FILE__ ) ); @@ -49,7 +50,7 @@ function __construct() { add_action( 'wp_ajax_lhr_clear', [ $this, 'lhr_clear' ] ); } - + /** @return \Log_HTTP_Requests */ public static function instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self; @@ -147,7 +148,9 @@ function capture_request( $response, $context, $transport, $args, $url ) { 'request_args' => json_encode( $args ), 'response' => json_encode( $response ), 'runtime' => ( microtime( true ) - $this->start_time ), - 'date_added' => current_time( 'mysql' ) + 'date_added' => current_time( 'mysql' ), + 'referrer' => $_SERVER['REQUEST_URI'] ?: null, + 'referrer_args' => json_encode( $_GET ) ?: null ]); if ( false !== $log_data ) { diff --git a/templates/page-settings.php b/templates/page-settings.php index 7f5e69e..04e9bb6 100644 --- a/templates/page-settings.php +++ b/templates/page-settings.php @@ -20,6 +20,7 @@ URL + Referrer Status Runtime Date Added