* @throws Exception
*/
public static function fatal($message = NULL, $code = NULL, $email = NULL) {
+ CRM_Core_Error::deprecatedFunctionWarning('throw new CRM_Core_Exception or use CRM_Core_Error::statusBounce', 'CRM_Core_Error::fatal');
$vars = [
'message' => $message,
'code' => $code,
if (CRM_Utils_Array::value('snippet', $_REQUEST) === CRM_Core_Smarty::PRINT_JSON) {
$out = [
'status' => 'fatal',
- 'content' => '<div class="messages status no-popup"><div class="icon inform-icon"></div>' . ts('Sorry but we are not able to provide this at the moment.') . '</div>',
+ 'content' => '<div class="messages status no-popup">' . CRM_Core_Page::crmIcon('fa-info-circle') . ' ' . ts('Sorry but we are not able to provide this at the moment.') . '</div>',
];
if ($config->backtrace && CRM_Core_Permission::check('view debug output')) {
$out['backtrace'] = self::parseBacktrace(debug_backtrace());
}
$file_log->close();
- // Use the custom fatalErrorHandler if defined
- if (in_array($priority, [PEAR_LOG_EMERG, PEAR_LOG_ALERT, PEAR_LOG_CRIT, PEAR_LOG_ERR])) {
- if ($config->fatalErrorHandler && function_exists($config->fatalErrorHandler)) {
- $name = $config->fatalErrorHandler;
- $vars = [
- 'debugLogMessage' => $message,
- 'priority' => $priority,
- ];
- $name($vars);
- }
- }
-
if (!isset(\Civi::$statics[__CLASS__]['userFrameworkLogging'])) {
// Set it to FALSE first & then try to set it. This is to prevent a loop as calling
// $config->userFrameworkLogging can trigger DB queries & under log mode this
/**
* Output a deprecated function warning to log file. Deprecated class:function is automatically generated from calling function.
*
- * @param $newMethod
+ * @param string $newMethod
* description of new method (eg. "buildOptions() method in the appropriate BAO object").
+ * @param string $oldMethod
+ * optional description of old method (if not the calling method). eg. CRM_MyClass::myOldMethodToGetTheOptions()
*/
- public static function deprecatedFunctionWarning($newMethod) {
- $dbt = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2);
- $callerFunction = $dbt[1]['function'] ?? NULL;
- $callerClass = $dbt[1]['class'] ?? NULL;
- Civi::log()->warning("Deprecated function $callerClass::$callerFunction, use $newMethod.", ['civi.tag' => 'deprecated']);
+ public static function deprecatedFunctionWarning($newMethod, $oldMethod = NULL) {
+ if (!$oldMethod) {
+ $dbt = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2);
+ $callerFunction = $dbt[1]['function'] ?? NULL;
+ $callerClass = $dbt[1]['class'] ?? NULL;
+ $oldMethod = "{$callerClass}::{$callerFunction}";
+ }
+ Civi::log()->warning("Deprecated function $oldMethod, use $newMethod.", ['civi.tag' => 'deprecated']);
}
}