Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.2.x will end 22 April 2024 (12 months).
  • Bug fixes for security issues in 4.2.x will end 7 October 2024 (18 months).
  • PHP version: minimum PHP 8.0.0 Note: minimum PHP version has increased since Moodle 4.1. PHP 8.1.x is supported too.
   1  <?php
   2  
   3  namespace PhpXmlRpc\Traits;
   4  
   5  use PhpXmlRpc\PhpXmlRpc;
   6  
   7  trait DeprecationLogger
   8  {
   9      use LoggerAware;
  10  
  11      protected function logDeprecation($message)
  12      {
  13          if (PhpXmlRpc::$xmlrpc_silence_deprecations) {
  14              return;
  15          }
  16  
  17          $this->getLogger()->warning('XML-RPC Deprecated: ' . $message);
  18      }
  19  
  20      /**
  21       * @param string $callee
  22       * @param string $expectedCaller atm only the method name is supported
  23       * @return void
  24       */
  25      protected function logDeprecationUnlessCalledBy($expectedCaller)
  26      {
  27          if (PhpXmlRpc::$xmlrpc_silence_deprecations) {
  28              return;
  29          }
  30  
  31          $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3);
  32          /// @todo we should check as well $trace[2]['class'], and make sure that it is a descendent of the class passed in in $expectedCaller
  33          if ($trace[2]['function'] === $expectedCaller) {
  34              return;
  35          }
  36  
  37          $this->getLogger()->warning('XML-RPC Deprecated: ' . $trace[1]['class'] . '::' . $trace[1]['function'] .
  38              ' is only supposed to be called by ' . $expectedCaller);
  39      }
  40  }