HEX
Server: Apache
System: Linux sys.digiflyeg.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User: opal (1023)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/opal/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/utilities/DebugLog.php
<?php

namespace WPML\Utilities;

class DebugLog implements \IWPML_Backend_Action, \IWPML_AJAX_Action, \IWPML_REST_Action {

	public static $trace;

	public function add_hooks() {
		if ( ! defined( 'WPML_DEBUG_LOG' ) || ! WPML_DEBUG_LOG ) {
			return;
		}
		add_action( 'shutdown', [$this, 'onShutdown'] );
	}

	public static function storeBackTrace() {
		if ( ! defined( 'WPML_DEBUG_LOG' ) || ! WPML_DEBUG_LOG ) {
			return;
		}

		$log_entry = sprintf(
			"%s [WPML Logs] - Req [%s] - URI [%s] - Message: %s",
			time(),
			$_SERVER['REQUEST_METHOD'] ?? '',
			$_SERVER['REQUEST_URI'] ?? '',
			print_r(debug_backtrace(0, 25), true)
		);

		static::$trace[] = $log_entry;
	}

	public function onShutdown() {
		if ( ! static::$trace ) {
			return;
		}

		$fp = fopen(is_string( constant( 'WPML_DEBUG_LOG' ) ) ? constant( 'WPML_DEBUG_LOG' ) : ABSPATH . 'debug.wpml.log', 'a+');
		if ( ! $fp ) {
			return;
		}

		fwrite( $fp, implode("\r\n ", static::$trace ) . PHP_EOL );
		fclose($fp);
	}
}