Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/litespee.../src
File: debug2.cls.php
* @return void
[500] Fix | Delete
*/
[501] Fix | Delete
public static function debug( $msg, $backtrace_limit = false ) {
[502] Fix | Delete
if ( ! defined( 'LSCWP_LOG' ) ) {
[503] Fix | Delete
return;
[504] Fix | Delete
}
[505] Fix | Delete
[506] Fix | Delete
if ( defined( 'LSCWP_DEBUG_EXC_STRINGS' ) && Utility::str_hit_array( $msg, LSCWP_DEBUG_EXC_STRINGS ) ) {
[507] Fix | Delete
return;
[508] Fix | Delete
}
[509] Fix | Delete
[510] Fix | Delete
if ( false !== $backtrace_limit ) {
[511] Fix | Delete
if ( ! is_numeric( $backtrace_limit ) ) {
[512] Fix | Delete
$backtrace_limit = self::trim_longtext( $backtrace_limit );
[513] Fix | Delete
if ( is_array( $backtrace_limit ) && 1 === count( $backtrace_limit ) && ! empty( $backtrace_limit[0] ) ) {
[514] Fix | Delete
$msg .= ' --- ' . $backtrace_limit[0];
[515] Fix | Delete
} else {
[516] Fix | Delete
// phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_var_export
[517] Fix | Delete
$msg .= ' --- ' . var_export( $backtrace_limit, true );
[518] Fix | Delete
}
[519] Fix | Delete
self::push( $msg );
[520] Fix | Delete
return;
[521] Fix | Delete
}
[522] Fix | Delete
[523] Fix | Delete
self::push( $msg, (int) $backtrace_limit + 1 );
[524] Fix | Delete
return;
[525] Fix | Delete
}
[526] Fix | Delete
[527] Fix | Delete
self::push( $msg );
[528] Fix | Delete
}
[529] Fix | Delete
[530] Fix | Delete
/**
[531] Fix | Delete
* Trim strings inside arrays/object dumps to reasonable length.
[532] Fix | Delete
*
[533] Fix | Delete
* @since 3.3
[534] Fix | Delete
* @param mixed $backtrace_limit Data to trim.
[535] Fix | Delete
* @return mixed
[536] Fix | Delete
*/
[537] Fix | Delete
public static function trim_longtext( $backtrace_limit ) {
[538] Fix | Delete
if ( is_array( $backtrace_limit ) ) {
[539] Fix | Delete
$backtrace_limit = array_map( __CLASS__ . '::trim_longtext', $backtrace_limit );
[540] Fix | Delete
}
[541] Fix | Delete
if ( is_string( $backtrace_limit ) && strlen( $backtrace_limit ) > 500 ) {
[542] Fix | Delete
$backtrace_limit = substr( $backtrace_limit, 0, 1000 ) . '...';
[543] Fix | Delete
}
[544] Fix | Delete
return $backtrace_limit;
[545] Fix | Delete
}
[546] Fix | Delete
[547] Fix | Delete
/**
[548] Fix | Delete
* Log a verbose debug message (requires O_DEBUG_LEVEL).
[549] Fix | Delete
*
[550] Fix | Delete
* @since 1.2.0
[551] Fix | Delete
* @access public
[552] Fix | Delete
*
[553] Fix | Delete
* @param string $msg Message.
[554] Fix | Delete
* @param int|array $backtrace_limit Backtrace depth or payload to append.
[555] Fix | Delete
* @return void
[556] Fix | Delete
*/
[557] Fix | Delete
public static function debug2( $msg, $backtrace_limit = false ) {
[558] Fix | Delete
if ( ! defined( 'LSCWP_LOG_MORE' ) ) {
[559] Fix | Delete
return;
[560] Fix | Delete
}
[561] Fix | Delete
self::debug( $msg, $backtrace_limit );
[562] Fix | Delete
}
[563] Fix | Delete
[564] Fix | Delete
/**
[565] Fix | Delete
* Append a message to the active log file.
[566] Fix | Delete
*
[567] Fix | Delete
* @since 1.1.0
[568] Fix | Delete
* @access private
[569] Fix | Delete
*
[570] Fix | Delete
* @param string $msg Message.
[571] Fix | Delete
* @param int|bool $backtrace_limit Backtrace depth.
[572] Fix | Delete
* @return void
[573] Fix | Delete
*/
[574] Fix | Delete
private static function push( $msg, $backtrace_limit = false ) {
[575] Fix | Delete
if ( defined( 'LSCWP_LOG_MORE' ) && false !== $backtrace_limit ) {
[576] Fix | Delete
$msg .= self::_backtrace_info( (int) $backtrace_limit );
[577] Fix | Delete
}
[578] Fix | Delete
[579] Fix | Delete
File::append( self::$log_path, self::format_message( $msg ) );
[580] Fix | Delete
}
[581] Fix | Delete
[582] Fix | Delete
/**
[583] Fix | Delete
* Create a compact backtrace string.
[584] Fix | Delete
*
[585] Fix | Delete
* @since 2.7
[586] Fix | Delete
* @access private
[587] Fix | Delete
*
[588] Fix | Delete
* @param int $backtrace_limit Depth.
[589] Fix | Delete
* @return string
[590] Fix | Delete
*/
[591] Fix | Delete
private static function _backtrace_info( $backtrace_limit ) {
[592] Fix | Delete
$msg = '';
[593] Fix | Delete
$limit = (int) $backtrace_limit;
[594] Fix | Delete
[595] Fix | Delete
// phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_debug_backtrace
[596] Fix | Delete
$trace = debug_backtrace( false, $limit + 3 );
[597] Fix | Delete
[598] Fix | Delete
for ( $i = 2; $i <= $limit + 2; $i++ ) {
[599] Fix | Delete
// 0 => _backtrace_info(), 1 => push().
[600] Fix | Delete
if ( empty( $trace[ $i ]['class'] ) ) {
[601] Fix | Delete
if ( empty( $trace[ $i ]['file'] ) ) {
[602] Fix | Delete
break;
[603] Fix | Delete
}
[604] Fix | Delete
$log = "\n" . $trace[ $i ]['file'];
[605] Fix | Delete
} else {
[606] Fix | Delete
if ( __CLASS__ === $trace[ $i ]['class'] ) {
[607] Fix | Delete
continue;
[608] Fix | Delete
}
[609] Fix | Delete
[610] Fix | Delete
$args = '';
[611] Fix | Delete
if ( ! empty( $trace[ $i ]['args'] ) ) {
[612] Fix | Delete
foreach ( $trace[ $i ]['args'] as $v ) {
[613] Fix | Delete
if ( is_array( $v ) ) {
[614] Fix | Delete
$v = 'ARRAY';
[615] Fix | Delete
}
[616] Fix | Delete
if ( is_string( $v ) || is_numeric( $v ) ) {
[617] Fix | Delete
$args .= $v . ',';
[618] Fix | Delete
}
[619] Fix | Delete
}
[620] Fix | Delete
$args = substr( $args, 0, strlen( $args ) > 100 ? 100 : -1 );
[621] Fix | Delete
}
[622] Fix | Delete
[623] Fix | Delete
$log = str_replace( 'Core', 'LSC', $trace[ $i ]['class'] ) . $trace[ $i ]['type'] . $trace[ $i ]['function'] . '(' . $args . ')';
[624] Fix | Delete
}
[625] Fix | Delete
[626] Fix | Delete
if ( ! empty( $trace[ $i - 1 ]['line'] ) ) {
[627] Fix | Delete
$log .= '@' . $trace[ $i - 1 ]['line'];
[628] Fix | Delete
}
[629] Fix | Delete
$msg .= " => $log";
[630] Fix | Delete
}
[631] Fix | Delete
[632] Fix | Delete
return $msg;
[633] Fix | Delete
}
[634] Fix | Delete
[635] Fix | Delete
/**
[636] Fix | Delete
* Clear all log files (debug|purge|crawler).
[637] Fix | Delete
*
[638] Fix | Delete
* @since 1.6.6
[639] Fix | Delete
* @access private
[640] Fix | Delete
* @return void
[641] Fix | Delete
*/
[642] Fix | Delete
private function _clear_log() {
[643] Fix | Delete
$logs = [ 'debug', 'purge', 'crawler' ];
[644] Fix | Delete
foreach ( $logs as $log ) {
[645] Fix | Delete
File::save( $this->path( $log ), '' );
[646] Fix | Delete
}
[647] Fix | Delete
}
[648] Fix | Delete
[649] Fix | Delete
/**
[650] Fix | Delete
* Handle requests routed to this class.
[651] Fix | Delete
*
[652] Fix | Delete
* @since 1.6.6
[653] Fix | Delete
* @access public
[654] Fix | Delete
* @return void
[655] Fix | Delete
*/
[656] Fix | Delete
public function handler() {
[657] Fix | Delete
$type = Router::verify_type();
[658] Fix | Delete
[659] Fix | Delete
switch ( $type ) {
[660] Fix | Delete
case self::TYPE_CLEAR_LOG:
[661] Fix | Delete
$this->_clear_log();
[662] Fix | Delete
break;
[663] Fix | Delete
[664] Fix | Delete
case self::TYPE_BETA_TEST:
[665] Fix | Delete
$this->beta_test();
[666] Fix | Delete
break;
[667] Fix | Delete
[668] Fix | Delete
default:
[669] Fix | Delete
break;
[670] Fix | Delete
}
[671] Fix | Delete
[672] Fix | Delete
Admin::redirect();
[673] Fix | Delete
}
[674] Fix | Delete
}
[675] Fix | Delete
[676] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function