- WordPress core y plugins - Tema Twenty Twenty-Four configurado - Plugin allow-unfiltered-html.php simplificado - .gitignore configurado para excluir wp-config.php y uploads 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
65 lines
1.6 KiB
PHP
Executable File
65 lines
1.6 KiB
PHP
Executable File
<?php declare(strict_types = 1);
|
|
/**
|
|
* Database class used by the database dropin.
|
|
*
|
|
* @package query-monitor
|
|
*/
|
|
|
|
class QM_DB extends wpdb {
|
|
|
|
/**
|
|
* @var float
|
|
*/
|
|
public $time_start;
|
|
|
|
/**
|
|
* Performs a MySQL database query, using current database connection.
|
|
*
|
|
* @see wpdb::query()
|
|
*
|
|
* @param string $query Database query
|
|
* @return int|bool Boolean true for CREATE, ALTER, TRUNCATE and DROP queries. Number of rows
|
|
* affected/selected for all other queries. Boolean false on error.
|
|
*/
|
|
public function query( $query ) {
|
|
if ( $this->show_errors ) {
|
|
$this->hide_errors();
|
|
}
|
|
|
|
$result = parent::query( $query );
|
|
$i = $this->num_queries - 1;
|
|
|
|
if ( did_action( 'qm/cease' ) ) {
|
|
// It's not possible to prevent the parent class from logging queries because it reads
|
|
// the `SAVEQUERIES` constant and I don't want to override more methods than necessary.
|
|
$this->queries = array();
|
|
}
|
|
|
|
if ( ! isset( $this->queries[ $i ] ) ) {
|
|
return $result;
|
|
}
|
|
|
|
$this->queries[ $i ]['trace'] = new QM_Backtrace();
|
|
|
|
if ( ! isset( $this->queries[ $i ][3] ) ) {
|
|
$this->queries[ $i ][3] = $this->time_start;
|
|
}
|
|
|
|
if ( $this->last_error && ! $this->suppress_errors ) {
|
|
$code = 'qmdb';
|
|
|
|
// This needs to remain in place to account for a user still on PHP 5. Don't want to kill their site.
|
|
if ( $this->dbh instanceof mysqli ) {
|
|
$code = mysqli_errno( $this->dbh );
|
|
}
|
|
|
|
$this->queries[ $i ]['result'] = new WP_Error( $code, $this->last_error );
|
|
} else {
|
|
$this->queries[ $i ]['result'] = (int) $result;
|
|
}
|
|
|
|
return $result;
|
|
}
|
|
|
|
}
|