| Server IP : 216.238.66.20 / Your IP : 216.73.216.51 Web Server : nginx/1.30.4 System : Linux woropds 5.15.0-187-generic #197-Ubuntu SMP Fri Jul 17 19:17:01 UTC 2026 x86_64 User : root ( 0) PHP Version : 8.2.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/sweetheart.mx/htdocs/wp-content/plugins/redirection/models/log/ |
Upload File : |
<?php
/**
* @phpstan-type Log404Row object{
* id: int,
* created: string,
* url: string,
* agent: string,
* referrer: string,
* ip: string,
* domain?: string
* }
*
* 404 error logging. Extends the base log class with specifics for 404s
*/
class Red_404_Log extends Red_Log {
/**
* Get's the table name for this log object
*
* @param \wpdb $wpdb WPDB object.
* @return string
*/
protected static function get_table_name( $wpdb ) {
return "{$wpdb->prefix}redirection_404";
}
/**
* Create a 404 log entry
*
* @param string $domain Domain name of request.
* @param string $url URL of request.
* @param string $ip IP of client.
* @param array<string, mixed> $details Other log details.
* @return int|false Log ID, or false
*/
public static function create( $domain, $url, $ip, array $details ) {
global $wpdb;
$insert = static::sanitize_create( $domain, $url, $ip, $details );
$insert = apply_filters( 'redirection_404_data', $insert );
if ( $insert ) {
do_action( 'redirection_404', $insert );
$wpdb->insert( $wpdb->prefix . 'redirection_404', $insert );
if ( $wpdb->insert_id ) {
return $wpdb->insert_id;
}
}
return false;
}
/**
* Get the CSV filename for this log object
*
* @return string
*/
public static function get_csv_filename() {
return 'redirection-404';
}
/**
* Get the CSV headers for this log object
*
* @return array<int, string>
*/
public static function get_csv_header() {
return [ 'date', 'source', 'ip', 'referrer', 'useragent' ];
}
/**
* @return array<string, string>
*/
protected static function get_export_field_labels() {
return [
'date' => 'date',
'method' => 'method',
'domain' => 'domain',
'url' => 'source',
'code' => 'code',
'referrer' => 'referrer',
'agent' => 'useragent',
'ip' => 'ip',
'count' => 'count',
];
}
/**
* Get the CSV row for this log object
*
* @param object $row Log row.
* @return array<int, string>
*/
public static function get_csv_row( $row ) {
/** @var Log404Row $row */
// Raw values are returned here. Formula escaping is applied by Red_Log's CSV writers.
return [
(string) $row->created,
(string) $row->url,
(string) $row->ip,
(string) $row->referrer,
(string) $row->agent,
];
}
}