}
/**
- * this function is used to return error details
+ * This function is used to return error details
*
- * @param $pearError
+ * @param PEAR_Error $pearError
*
* @return array $error
*/
* so we can interrupt a potential POST/redirect
*
* @param string $name name of debug section
- * @param $variable mixed reference to variables that we need a trace of
+ * @param mixed $variable reference to variables that we need a trace of
* @param bool $log should we log or return the output
* @param bool $html whether to generate a HTML-escaped output
* @param bool $checkPermission should we check permissions before displaying output
*
* @param string $status
* The status message to set.
- *
- * @param null $redirect
- * @param string $title
+ * @param string|null $redirect
+ * @param string|null $title
*/
public static function statusBounce($status, $redirect = NULL, $title = NULL) {
$session = CRM_Core_Session::singleton();
/**
* PEAR error-handler which converts errors to exceptions
*
- * @param $pearError
+ * @param PEAR_Error $pearError
* @throws PEAR_Exception
*/
public static function exceptionHandler($pearError) {
$callerClass = $dbt[1]['class'] ?? NULL;
$oldMethod = "{$callerClass}::{$callerFunction}";
}
- self::deprecatedWarning("Deprecated function $oldMethod, use $newMethod.");
+ $message = "Deprecated function $oldMethod, use $newMethod.";
+ Civi::log()->warning($message, ['civi.tag' => 'deprecated']);
+ trigger_error($message, E_USER_DEPRECATED);
}
/**
* Output a deprecated notice about a deprecated call path, rather than deprecating a whole function.
+ *
* @param string $message
*/
public static function deprecatedWarning($message) {
// Even though the tag is no longer used within the log() function,
// \Civi\API\LogObserver instances may still be monitoring it.
+ $dbt = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3);
+ $callerFunction = $dbt[2]['function'] ?? NULL;
+ $callerClass = $dbt[2]['class'] ?? NULL;
+ $message .= " Caller: {$callerClass}::{$callerFunction}";
Civi::log()->warning($message, ['civi.tag' => 'deprecated']);
trigger_error($message, E_USER_DEPRECATED);
}