1, 'depth' => 2, 'format' => 'array'));
$search = array(ROOT);
if (defined('CAKE_CORE_INCLUDE_PATH')) {
array_unshift($search, CAKE_CORE_INCLUDE_PATH);
}
$file = str_replace($search, '', $trace[0]['file']);
$line = $trace[0]['line'];
}
$html = <<
%s
%s
HTML;
$text = <<%s (line %s)', $file, $line);
}
}
printf($template, $lineInfo, $var);
}
}
if (!function_exists('stackTrace')) {
/**
* Outputs a stack trace based on the supplied options.
*
* ### Options
*
* - `depth` - The number of stack frames to return. Defaults to 999
* - `args` - Should arguments for functions be shown? If true, the arguments for each method call
* will be displayed.
* - `start` - The stack frame to start generating a trace from. Defaults to 1
*
* @param array $options Format for outputting stack trace
* @return mixed Formatted stack trace
* @see Debugger::trace()
*/
function stackTrace(array $options = array()) {
if (!Configure::read('debug')) {
return;
}
$options += array('start' => 0);
$options['start']++;
echo Debugger::trace($options);
}
}
if (!function_exists('__')) {
/**
* Returns a translated string if one is found; Otherwise, the submitted message.
*
* @param string $singular Text to translate
* @param mixed $args Array with arguments or multiple arguments in function
* @return mixed translated string
* @link http://book.cakephp.org/3.0/en/core-libraries/global-constants-and-functions.html#__
*/
function __($singular, $args = null) {
if (!$singular) {
return;
}
$arguments = func_num_args() === 2 ? (array)$args : array_slice(func_get_args(), 1);
return I18n::translator()->translate($singular, $arguments);
}
}
if (!function_exists('__n')) {
/**
* Returns correct plural form of message identified by $singular and $plural for count $count.
* Some languages have more than one form for plural messages dependent on the count.
*
* @param string $singular Singular text to translate
* @param string $plural Plural text
* @param int $count Count
* @param mixed $args Array with arguments or multiple arguments in function
* @return mixed plural form of translated string
* @link http://book.cakephp.org/3.0/en/core-libraries/global-constants-and-functions.html#__n
*/
function __n($singular, $plural, $count, $args = null) {
if (!$singular) {
return;
}
$arguments = func_num_args() === 4 ? (array)$args : array_slice(func_get_args(), 3);
return I18n::translator()->translate(
$plural,
['_count' => $count, '_singular' => $singular] + $arguments
);
}
}
if (!function_exists('__d')) {
/**
* Allows you to override the current domain for a single message lookup.
*
* @param string $domain Domain
* @param string $msg String to translate
* @param mixed $args Array with arguments or multiple arguments in function
* @return string translated string
* @link http://book.cakephp.org/3.0/en/core-libraries/global-constants-and-functions.html#__d
*/
function __d($domain, $msg, $args = null) {
if (!$msg) {
return;
}
$arguments = func_num_args() === 3 ? (array)$args : array_slice(func_get_args(), 2);
return I18n::translator($domain)->translate($msg, $arguments);
}
}
if (!function_exists('__dn')) {
/**
* Allows you to override the current domain for a single plural message lookup.
* Returns correct plural form of message identified by $singular and $plural for count $count
* from domain $domain.
*
* @param string $domain Domain
* @param string $singular Singular string to translate
* @param string $plural Plural
* @param int $count Count
* @param mixed $args Array with arguments or multiple arguments in function
* @return string plural form of translated string
* @link http://book.cakephp.org/3.0/en/core-libraries/global-constants-and-functions.html#__dn
*/
function __dn($domain, $singular, $plural, $count, $args = null) {
if (!$singular) {
return;
}
$arguments = func_num_args() === 5 ? (array)$args : array_slice(func_get_args(), 4);
return I18n::translator($domain)->translate(
$plural,
['_count' => $count, '_singular' => $singular] + $arguments
);
}
}
if (!function_exists('__x')) {
/**
* Returns a translated string if one is found; Otherwise, the submitted message.
* The context is a unique identifier for the translations string that makes it unique
* for in the same domain.
*
* @param string $context Context of the text
* @param string $singular Text to translate
* @param mixed $args Array with arguments or multiple arguments in function
* @return mixed translated string
* @link http://book.cakephp.org/3.0/en/core-libraries/global-constants-and-functions.html#__
*/
function __x($context, $singular, $args = null) {
if (!$singular) {
return;
}
$arguments = func_num_args() === 3 ? (array)$args : array_slice(func_get_args(), 2);
return I18n::translator()->translate($singular, ['_context' => $context] + $arguments);
}
}
if (!function_exists('__xn')) {
/**
* Returns correct plural form of message identified by $singular and $plural for count $count.
* Some languages have more than one form for plural messages dependent on the count.
* The context is a unique identifier for the translations string that makes it unique
* for in the same domain.
*
* @param string $context Context of the text
* @param string $singular Singular text to translate
* @param string $plural Plural text
* @param int $count Count
* @param mixed $args Array with arguments or multiple arguments in function
* @return mixed plural form of translated string
* @link http://book.cakephp.org/3.0/en/core-libraries/global-constants-and-functions.html#__xn
*/
function __xn($context, $singular, $plural, $count, $args = null) {
if (!$singular) {
return;
}
$arguments = func_num_args() === 5 ? (array)$args : array_slice(func_get_args(), 2);
return I18n::translator()->translate(
$singular,
['_count' => $count, '_singular' => $singular, '_context' => $context] + $arguments
);
}
}
if (!function_exists('__dx')) {
/**
* Allows you to override the current domain for a single message lookup.
* The context is a unique identifier for the translations string that makes it unique
* for in the same domain.
*
* @param string $domain Domain
* @param string $context Context of the text
* @param string $msg String to translate
* @param mixed $args Array with arguments or multiple arguments in function
* @return string translated string
* @link http://book.cakephp.org/3.0/en/core-libraries/global-constants-and-functions.html#__dx
*/
function __dx($domain, $context, $msg, $args = null) {
if (!$msg) {
return;
}
$arguments = func_num_args() === 4 ? (array)$args : array_slice(func_get_args(), 2);
return I18n::translator($domain)->translate(
$msg,
['_context' => $context] + $arguments
);
}
}
if (!function_exists('__dxn')) {
/**
* Returns correct plural form of message identified by $singular and $plural for count $count.
* Allows you to override the current domain for a single message lookup.
* The context is a unique identifier for the translations string that makes it unique
* for in the same domain.
*
* @param string $domain Domain
* @param string $context Context of the text
* @param string $singular Singular text to translate
* @param string $plural Plural text
* @param int $count Count
* @param mixed $args Array with arguments or multiple arguments in function
* @return mixed plural form of translated string
* @link http://book.cakephp.org/3.0/en/core-libraries/global-constants-and-functions.html#__dxn
*/
function __dxn($domain, $context, $singular, $plural, $count, $args = null) {
if (!$singular) {
return;
}
$arguments = func_num_args() === 6 ? (array)$args : array_slice(func_get_args(), 2);
return I18n::translator($domain)->translate(
$singular,
['_count' => $count, '_singular' => $singular, '_context' => $context] + $arguments
);
}
}