mirror of
https://github.com/moodle/moodle.git
synced 2025-07-25 08:11:39 +02:00
41 lines
1.1 KiB
PHP
41 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace PhpXmlRpc\Traits;
|
|
|
|
use PhpXmlRpc\PhpXmlRpc;
|
|
|
|
trait DeprecationLogger
|
|
{
|
|
use LoggerAware;
|
|
|
|
protected function logDeprecation($message)
|
|
{
|
|
if (PhpXmlRpc::$xmlrpc_silence_deprecations) {
|
|
return;
|
|
}
|
|
|
|
$this->getLogger()->warning('XML-RPC Deprecated: ' . $message);
|
|
}
|
|
|
|
/**
|
|
* @param string $callee
|
|
* @param string $expectedCaller atm only the method name is supported
|
|
* @return void
|
|
*/
|
|
protected function logDeprecationUnlessCalledBy($expectedCaller)
|
|
{
|
|
if (PhpXmlRpc::$xmlrpc_silence_deprecations) {
|
|
return;
|
|
}
|
|
|
|
$trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3);
|
|
/// @todo we should check as well $trace[2]['class'], and make sure that it is a descendent of the class passed in in $expectedCaller
|
|
if ($trace[2]['function'] === $expectedCaller) {
|
|
return;
|
|
}
|
|
|
|
$this->getLogger()->warning('XML-RPC Deprecated: ' . $trace[1]['class'] . '::' . $trace[1]['function'] .
|
|
' is only supposed to be called by ' . $expectedCaller);
|
|
}
|
|
}
|