mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 03:18:26 +00:00
Extracting methods from nasty Debugger::output().
This commit is contained in:
parent
ea3b38ef3e
commit
35fc8352ce
1 changed files with 47 additions and 21 deletions
|
@ -554,14 +554,24 @@ class Debugger {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Switches output format, updates format strings.
|
* Get/Set the output format for Debugger error rendering.
|
||||||
* Can be used to switch the active output format:
|
|
||||||
*
|
*
|
||||||
* `Debugger::output('js');`
|
* @param string $format The format you want errors to be output as.
|
||||||
|
* Leave null to get the current format.
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public static function outputAs($format = null) {
|
||||||
|
$self = Debugger::getInstance();
|
||||||
|
if ($format === null) {
|
||||||
|
return $self->_outputFormat;
|
||||||
|
}
|
||||||
|
$self->_outputFormat = $format;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add an output format or update a format in Debugger.
|
||||||
*
|
*
|
||||||
* Can be used to add new output types to debugger.
|
* `Debugger::addFormat('custom', $data);`
|
||||||
*
|
|
||||||
* `Debugger::output('custom', $data);`
|
|
||||||
*
|
*
|
||||||
* Where $data is an array of strings that use String::insert() variable
|
* Where $data is an array of strings that use String::insert() variable
|
||||||
* replacement. The template vars should be in a `{:id}` style.
|
* replacement. The template vars should be in a `{:id}` style.
|
||||||
|
@ -584,29 +594,45 @@ class Debugger {
|
||||||
* @param string $format Format to use, including 'js' for JavaScript-enhanced HTML, 'html' for
|
* @param string $format Format to use, including 'js' for JavaScript-enhanced HTML, 'html' for
|
||||||
* straight HTML output, or 'txt' for unformatted text.
|
* straight HTML output, or 'txt' for unformatted text.
|
||||||
* @param array $strings Template strings to be used for the output format.
|
* @param array $strings Template strings to be used for the output format.
|
||||||
|
* @return The resulting format string set.
|
||||||
|
*/
|
||||||
|
public static function addFormat($format, array $strings) {
|
||||||
|
$self = Debugger::getInstance();
|
||||||
|
if (isset($self->_templates[$format])) {
|
||||||
|
if (isset($strings['links'])) {
|
||||||
|
$self->_templates[$format]['links'] = array_merge(
|
||||||
|
$self->_templates[$format]['links'],
|
||||||
|
$strings['links']
|
||||||
|
);
|
||||||
|
unset($strings['links']);
|
||||||
|
}
|
||||||
|
$self->_templates[$format] = array_merge($self->_templates[$format], $strings);
|
||||||
|
} else {
|
||||||
|
$self->_templates[$format] = $strings;
|
||||||
|
}
|
||||||
|
return $self->_templates[$format];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Switches output format, updates format strings.
|
||||||
|
* Can be used to switch the active output format:
|
||||||
|
*
|
||||||
|
* @param string $format Format to use, including 'js' for JavaScript-enhanced HTML, 'html' for
|
||||||
|
* straight HTML output, or 'txt' for unformatted text.
|
||||||
|
* @param array $strings Template strings to be used for the output format.
|
||||||
|
* @deprecated Use Debugger::outputFormat() and Debugger::addFormat(). Will be removed
|
||||||
|
* in 3.0
|
||||||
*/
|
*/
|
||||||
public function output($format = null, $strings = array()) {
|
public function output($format = null, $strings = array()) {
|
||||||
$_this = Debugger::getInstance();
|
$_this = Debugger::getInstance();
|
||||||
$data = null;
|
$data = null;
|
||||||
|
|
||||||
if (is_null($format)) {
|
if (is_null($format)) {
|
||||||
return $_this->_outputFormat;
|
return Debugger::outputAs();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($strings)) {
|
if (!empty($strings)) {
|
||||||
if (isset($_this->_templates[$format])) {
|
return Debugger::addFormat($format, $strings);
|
||||||
if (isset($strings['links'])) {
|
|
||||||
$_this->_templates[$format]['links'] = array_merge(
|
|
||||||
$_this->_templates[$format]['links'],
|
|
||||||
$strings['links']
|
|
||||||
);
|
|
||||||
unset($strings['links']);
|
|
||||||
}
|
|
||||||
$_this->_templates[$format] = array_merge($_this->_templates[$format], $strings);
|
|
||||||
} else {
|
|
||||||
$_this->_templates[$format] = $strings;
|
|
||||||
}
|
|
||||||
return $_this->_templates[$format];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($format === true && !empty($_this->_data)) {
|
if ($format === true && !empty($_this->_data)) {
|
||||||
|
@ -614,7 +640,7 @@ class Debugger {
|
||||||
$_this->_data = array();
|
$_this->_data = array();
|
||||||
$format = false;
|
$format = false;
|
||||||
}
|
}
|
||||||
$_this->_outputFormat = $format;
|
Debugger::outputAs($format);
|
||||||
|
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue