1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- <?php
- namespace Elgg;
- class DeprecationService {
-
- protected $session;
-
- protected $logger;
-
- public function __construct(\ElggSession $session, Logger $logger) {
- $this->session = $session;
- $this->logger = $logger;
- }
-
- function sendNotice($msg, $dep_version, $backtrace_level = 1) {
- if (!$dep_version) {
- return false;
- }
- $elgg_version = elgg_get_version(true);
- $elgg_version_arr = explode('.', $elgg_version);
- $elgg_major_version = (int)$elgg_version_arr[0];
- $elgg_minor_version = (int)$elgg_version_arr[1];
- $dep_version_arr = explode('.', (string)$dep_version);
- $dep_major_version = (int)$dep_version_arr[0];
- $dep_minor_version = (int)$dep_version_arr[1];
- $msg = "Deprecated in $dep_major_version.$dep_minor_version: $msg Called from ";
-
-
- $stack = array();
- $backtrace = debug_backtrace();
-
- array_shift($backtrace);
- $i = count($backtrace);
- foreach ($backtrace as $trace) {
- $stack[] = "[#$i] {$trace['file']}:{$trace['line']}";
- $i--;
- if ($backtrace_level > 0) {
- if ($backtrace_level <= 1) {
- break;
- }
- $backtrace_level--;
- }
- }
- $msg .= implode("<br /> -> ", $stack);
- $this->logger->warn($msg);
- return true;
- }
- }
|