| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | 
							- <?php
 
- namespace Elgg;
 
- /**
 
-  * WARNING: API IN FLUX. DO NOT USE DIRECTLY.
 
-  *
 
-  * Use the elgg_* versions instead.
 
-  *
 
-  * @access private
 
-  *
 
-  * @package    Elgg.Core
 
-  * @subpackage Deprecation
 
-  * @since      1.11.0
 
-  */
 
- class DeprecationService {
 
- 	/**
 
- 	 * @var \ElggSession
 
- 	 */
 
- 	protected $session;
 
- 	/**
 
- 	 * @var Logger
 
- 	 */
 
- 	protected $logger;
 
- 	/**
 
- 	 * Constructor
 
- 	 *
 
- 	 * @param \ElggSession $session Session service
 
- 	 * @param Logger       $logger  Logger service
 
- 	 */
 
- 	public function __construct(\ElggSession $session, Logger $logger) {
 
- 		$this->session = $session;
 
- 		$this->logger = $logger;
 
- 	}
 
- 	/**
 
- 	 * Sends a notice about deprecated use of a function, view, etc.
 
- 	 *
 
- 	 * @param string $msg             Message to log
 
- 	 * @param string $dep_version     Human-readable *release* version: 1.7, 1.8, ...
 
- 	 * @param int    $backtrace_level How many levels back to display the backtrace.
 
- 	 *                                Useful if calling from functions that are called
 
- 	 *                                from other places (like elgg_view()). Set to -1
 
- 	 *                                for a full backtrace.
 
- 	 * @return bool
 
- 	 */
 
- 	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 ";
 
- 		// Get a file and line number for the log. Skip over the function that
 
- 		// sent this notice and see who called the deprecated function itself.
 
- 		$stack = array();
 
- 		$backtrace = debug_backtrace();
 
- 		// never show this call.
 
- 		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;
 
- 	}
 
- }
 
 
  |