Allow multiple selection of display debug types

This commit is contained in:
Kijin Sung 2018-09-06 17:00:50 +09:00
parent 0dd20267af
commit b048200a30
5 changed files with 33 additions and 20 deletions

View file

@ -806,13 +806,18 @@ class adminAdminController extends admin
{
$vars = Context::getRequestVars();
// Save display type settings
$display_type = array_values(array_filter($vars->debug_display_type, function($str) {
return in_array($str, ['panel', 'comment', 'file']);
}));
// Debug settings
Rhymix\Framework\Config::set('debug.enabled', $vars->debug_enabled === 'Y');
Rhymix\Framework\Config::set('debug.log_slow_queries', max(0, floatval($vars->debug_log_slow_queries)));
Rhymix\Framework\Config::set('debug.log_slow_triggers', max(0, floatval($vars->debug_log_slow_triggers)));
Rhymix\Framework\Config::set('debug.log_slow_widgets', max(0, floatval($vars->debug_log_slow_widgets)));
Rhymix\Framework\Config::set('debug.log_slow_remote_requests', max(0, floatval($vars->debug_log_slow_remote_requests)));
Rhymix\Framework\Config::set('debug.display_type', strval($vars->debug_display_type) ?: 'comment');
Rhymix\Framework\Config::set('debug.display_type', $display_type);
Rhymix\Framework\Config::set('debug.display_to', strval($vars->debug_display_to) ?: 'admin');
Rhymix\Framework\Config::set('debug.write_error_log', strval($vars->debug_write_error_log) ?: 'fatal');

View file

@ -556,7 +556,7 @@ class adminAdminView extends admin
Context::set('debug_log_slow_widgets', Rhymix\Framework\Config::get('debug.log_slow_widgets'));
Context::set('debug_log_slow_remote_requests', Rhymix\Framework\Config::get('debug.log_slow_remote_requests'));
Context::set('debug_log_filename', Rhymix\Framework\Config::get('debug.log_filename') ?: 'files/debug/YYYYMMDD.php');
Context::set('debug_display_type', Rhymix\Framework\Config::get('debug.display_type'));
Context::set('debug_display_type', (array)Rhymix\Framework\Config::get('debug.display_type'));
Context::set('debug_display_content', Rhymix\Framework\Config::get('debug.display_content'));
Context::set('debug_display_to', Rhymix\Framework\Config::get('debug.display_to'));
Context::set('debug_write_error_log', Rhymix\Framework\Config::get('debug.write_error_log'));

View file

@ -45,9 +45,9 @@
<div class="x_control-group">
<label class="x_control-label" for="debug_log_slow_widgets">{$lang->debug_display_type}</label>
<div class="x_controls">
<label for="debug_display_type_comment" class="x_inline"><input type="radio" name="debug_display_type" id="debug_display_type_comment" value="comment" checked="checked"|cond="$debug_display_type=='comment'" /> {$lang->debug_display_type_comment}</label>
<label for="debug_display_type_panel" class="x_inline"><input type="radio" name="debug_display_type" id="debug_display_type_panel" value="panel" checked="checked"|cond="$debug_display_type=='panel'" /> {$lang->debug_display_type_panel}</label>
<label for="debug_display_type_file" class="x_inline"><input type="radio" name="debug_display_type" id="debug_display_type_file" value="file" checked="checked"|cond="$debug_display_type=='file'" /> {$lang->debug_display_type_file}</label>
<label for="debug_display_type_comment" class="x_inline"><input type="checkbox" name="debug_display_type[]" id="debug_display_type_comment" value="comment" checked="checked"|cond="in_array('comment', $debug_display_type)" /> {$lang->debug_display_type_comment}</label>
<label for="debug_display_type_panel" class="x_inline"><input type="checkbox" name="debug_display_type[]" id="debug_display_type_panel" value="panel" checked="checked"|cond="in_array('panel', $debug_display_type)" /> {$lang->debug_display_type_panel}</label>
<label for="debug_display_type_file" class="x_inline"><input type="checkbox" name="debug_display_type[]" id="debug_display_type_file" value="file" checked="checked"|cond="in_array('file', $debug_display_type)" /> {$lang->debug_display_type_file}</label>
</div>
</div>
<div class="x_control-group">