Merge branch 'ent-7472-errores-visuales-black-theme' into 'develop'
fixed visual error black theme See merge request artica/pandorafms!4095
This commit is contained in:
commit
9070ababed
|
@ -383,7 +383,7 @@ function mainAgentsModules()
|
|||
&full_agents_id='.$full_agents.'&selection_agent_module='.$selection_a_m.'">'.html_print_image('images/full_screen.png', true, ['title' => __('Full screen mode'), 'class' => 'invert_filter']).'</a>';
|
||||
} else {
|
||||
$fullscreen['text'] = '<a href="index.php?extension_in_menu=estado&sec=extensions&sec2=extensions/agents_modules&pure=1&
|
||||
offset='.$offset.'&group_id='.$group_id.'&modulegroup='.$modulegroup.'&refresh='.$refr.'">'.html_print_image('images/full_screen.png', true, ['title' => __('Full screen mode')]).'</a>';
|
||||
offset='.$offset.'&group_id='.$group_id.'&modulegroup='.$modulegroup.'&refresh='.$refr.'">'.html_print_image('images/full_screen.png', true, ['title' => __('Full screen mode'), 'class' => 'invert_filter']).'</a>';
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -238,7 +238,7 @@ echo '</table>';
|
|||
if (!$config['disable_help']) {
|
||||
echo '<div class="disable_help">';
|
||||
echo '<strong>';
|
||||
echo "<a class='color-black-grey' target='_blank' href='http://pandorafms.com/Library/Library/'>".__('Get more modules on Monitoring Library').'</a>';
|
||||
echo "<a class='color-black-grey invert_filter' target='_blank' href='http://pandorafms.com/Library/Library/'>".__('Get more modules on Monitoring Library').'</a>';
|
||||
echo '</strong>';
|
||||
echo '</div>';
|
||||
}
|
||||
|
|
|
@ -810,7 +810,8 @@ foreach ($simple_alerts as $alert) {
|
|||
'images/lightbulb_off.png',
|
||||
1,
|
||||
'padding:0px',
|
||||
true
|
||||
true,
|
||||
['class' => 'invert_filter']
|
||||
);
|
||||
$data[4] .= html_print_input_hidden('enable_alert', 1, true);
|
||||
} else {
|
||||
|
@ -879,7 +880,10 @@ foreach ($simple_alerts as $alert) {
|
|||
$data[4] .= html_print_image(
|
||||
'images/add.disabled.png',
|
||||
true,
|
||||
['title' => __('Add action')]
|
||||
[
|
||||
'title' => __('Add action'),
|
||||
'class' => 'invert_filter',
|
||||
]
|
||||
);
|
||||
} else {
|
||||
if ((int) $alert['id_policy_alerts'] === 0) {
|
||||
|
|
|
@ -224,31 +224,31 @@ $table_days->data[0] = array_fill(0, 7, html_print_image('images/blade.png', tru
|
|||
|
||||
$days = [];
|
||||
if ($template['monday']) {
|
||||
$table_days->data[0][0] = html_print_image('images/tick.png', true);
|
||||
$table_days->data[0][0] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
}
|
||||
|
||||
if ($template['tuesday']) {
|
||||
$table_days->data[0][1] = html_print_image('images/tick.png', true);
|
||||
$table_days->data[0][1] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
}
|
||||
|
||||
if ($template['wednesday']) {
|
||||
$table_days->data[0][2] = html_print_image('images/tick.png', true);
|
||||
$table_days->data[0][2] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
}
|
||||
|
||||
if ($template['thursday']) {
|
||||
$table_days->data[0][3] = html_print_image('images/tick.png', true);
|
||||
$table_days->data[0][3] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
}
|
||||
|
||||
if ($template['friday']) {
|
||||
$table_days->data[0][4] = html_print_image('images/tick.png', true);
|
||||
$table_days->data[0][4] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
}
|
||||
|
||||
if ($template['saturday']) {
|
||||
$table_days->data[0][5] = html_print_image('images/tick.png', true);
|
||||
$table_days->data[0][5] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
}
|
||||
|
||||
if ($template['sunday']) {
|
||||
$table_days->data[0][6] = html_print_image('images/tick.png', true);
|
||||
$table_days->data[0][6] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
}
|
||||
|
||||
$data[0] = html_print_table($table_days, true);
|
||||
|
@ -265,7 +265,7 @@ $table_time->styleTable = 'padding: 1px; margin: 0px; text-align: center; height
|
|||
// $data[0] = __('Time from') . ' / ' . __('Time to');
|
||||
if ($template['time_from'] == $template['time_to']) {
|
||||
$table_time->head[0] = '00:00:00<br>-<br>23:59:59';
|
||||
$table_time->data[0][0] = html_print_image('images/tick.png', true);
|
||||
$table_time->data[0][0] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
} else {
|
||||
$from_array = explode(':', $template['time_from']);
|
||||
$from = ($from_array[0] * SECONDS_1HOUR + $from_array[1] * SECONDS_1MINUTE + $from_array[2]);
|
||||
|
@ -278,7 +278,7 @@ if ($template['time_from'] == $template['time_to']) {
|
|||
}
|
||||
|
||||
$table_time->head[1] = $template['time_from'].'<br>-<br>'.$template['time_to'];
|
||||
$table_time->data[0][1] = html_print_image('images/tick.png', true);
|
||||
$table_time->data[0][1] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
|
||||
if ($template['time_to'] != '23:59:59') {
|
||||
$table_time->head[2] = $template['time_to'].'<br>-<br>23:59:59';
|
||||
|
@ -287,15 +287,15 @@ if ($template['time_from'] == $template['time_to']) {
|
|||
} else {
|
||||
if ($template['time_to'] != '00:00:00') {
|
||||
$table_time->head[0] = '00:00:00<br>-<br>'.$template['time_to'];
|
||||
$table_time->data[0][0] = html_print_image('images/tick.png', true);
|
||||
$table_time->data[0][0] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
}
|
||||
|
||||
$table_time->head[1] = $template['time_to'].'<br>-<br>'.$template['time_from'];
|
||||
$table_time->data[0][1] = html_print_image('images/blade.png', true);
|
||||
$table_time->data[0][1] = html_print_image('images/blade.png', true, ['class' => 'invert_filter']);
|
||||
|
||||
if ($template['time_from'] != '23:59:59') {
|
||||
$table_time->head[2] = $template['time_from'].'<br>-<br>23:59:59';
|
||||
$table_time->data[0][2] = html_print_image('images/tick.png', true);
|
||||
$table_time->data[0][2] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -354,7 +354,7 @@ $table->style[0] = 'font-weight: bold; text-align: left;';
|
|||
if (count($actions) == 1 && isset($actions[0])) {
|
||||
$table->head[1] = __('Every time that the alert is fired');
|
||||
$table->data[0][0] = $actions[0]['name'];
|
||||
$table->data[0][1] = html_print_image('images/tick.png', true);
|
||||
$table->data[0][1] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
} else {
|
||||
foreach ($actions as $kaction => $action) {
|
||||
$table->data[$kaction][0] = $action['name'];
|
||||
|
@ -364,7 +364,7 @@ if (count($actions) == 1 && isset($actions[0])) {
|
|||
|
||||
foreach ($action['escalation'] as $k => $v) {
|
||||
if ($v > 0) {
|
||||
$table->data[$kaction][$k] = html_print_image('images/tick.png', true);
|
||||
$table->data[$kaction][$k] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
} else {
|
||||
$table->data[$kaction][$k] = html_print_image('images/blade.png', true);
|
||||
}
|
||||
|
|
|
@ -1075,7 +1075,7 @@ class CredentialStore extends Wizard
|
|||
|
||||
item.options = '<a href="javascript:" onclick="show_form(\'';
|
||||
item.options += id;
|
||||
item.options += '\')" ><?php echo html_print_image('images/operation.png', true, ['title' => __('Show')]); ?></a>';
|
||||
item.options += '\')" ><?php echo html_print_image('images/operation.png', true, ['title' => __('Show'), 'class' => 'invert_filter']); ?></a>';
|
||||
|
||||
item.options += '<a href="javascript:" onclick="delete_key(\'';
|
||||
item.options += id;
|
||||
|
|
|
@ -221,6 +221,8 @@ class ExternalTools extends HTML
|
|||
'style' => 'vertical-align: middle;',
|
||||
'width' => '16',
|
||||
'title' => __('Play sound'),
|
||||
'class' => 'invert_filter',
|
||||
|
||||
]
|
||||
),
|
||||
],
|
||||
|
@ -249,6 +251,8 @@ class ExternalTools extends HTML
|
|||
'style' => 'vertical-align: middle;',
|
||||
'width' => '16',
|
||||
'title' => __('Play sound'),
|
||||
'class' => 'invert_filter',
|
||||
|
||||
]
|
||||
),
|
||||
],
|
||||
|
@ -277,6 +281,8 @@ class ExternalTools extends HTML
|
|||
'style' => 'vertical-align: middle;',
|
||||
'width' => '16',
|
||||
'title' => __('Play sound'),
|
||||
'class' => 'invert_filter',
|
||||
|
||||
]
|
||||
),
|
||||
],
|
||||
|
@ -326,6 +332,8 @@ class ExternalTools extends HTML
|
|||
'title' => __('Add new custom command'),
|
||||
'onclick' => 'manageCommandLines(event)',
|
||||
'id' => 'img_add_button_custom_command',
|
||||
'class' => 'invert_filter',
|
||||
|
||||
]
|
||||
),
|
||||
],
|
||||
|
@ -420,6 +428,7 @@ class ExternalTools extends HTML
|
|||
'title' => __('Delete this custom command'),
|
||||
'onclick' => 'manageCommandLines(event)',
|
||||
'id' => 'img_delete_button_custom_'.$index,
|
||||
'class' => 'invert_filter',
|
||||
]
|
||||
),
|
||||
],
|
||||
|
|
|
@ -743,7 +743,8 @@ class ManageNetScanScripts extends Wizard
|
|||
$datam[2] .= '<a href="javascript:delete_macro_form(\'table-form-recon_\');update_preview();">';
|
||||
$datam[2] .= html_print_image(
|
||||
'images/delete.png',
|
||||
true
|
||||
true,
|
||||
['class' => 'invert_filter']
|
||||
);
|
||||
$datam[2] .= '</a></div>';
|
||||
|
||||
|
|
|
@ -2984,7 +2984,7 @@ class NetworkMap
|
|||
'',
|
||||
false,
|
||||
'',
|
||||
'class="sub"',
|
||||
'class="sub next"',
|
||||
true
|
||||
);
|
||||
|
||||
|
@ -3013,7 +3013,7 @@ class NetworkMap
|
|||
'',
|
||||
false,
|
||||
'add_fictional_node();',
|
||||
'class="sub"',
|
||||
'class="sub next"',
|
||||
true
|
||||
);
|
||||
|
||||
|
@ -3065,9 +3065,9 @@ class NetworkMap
|
|||
$table->data['template_row']['node_target'] = '';
|
||||
$table->data['template_row']['edit'] = '';
|
||||
|
||||
$table->data['template_row']['edit'] .= '<span class="edit_icon_correct" style="display: none">'.html_print_image('images/dot_green.png', true).'</span><span class="edit_icon_fail" style="display: none" >'.html_print_image('images/dot_red.png', true).'</span><span class="edit_icon_progress" style="display: none">'.html_print_image('images/spinner.gif', true).'</span><span class="edit_icon"><a class="edit_icon_link" title="'.__('Update').'" href="#">'.html_print_image('images/config.png', true).'</a></span>';
|
||||
$table->data['template_row']['edit'] .= '<span class="edit_icon_correct" style="display: none">'.html_print_image('images/dot_green.png', true).'</span><span class="edit_icon_fail" style="display: none" >'.html_print_image('images/dot_red.png', true).'</span><span class="edit_icon_progress" style="display: none">'.html_print_image('images/spinner.gif', true).'</span><span class="edit_icon"><a class="edit_icon_link" title="'.__('Update').'" href="#">'.html_print_image('images/config.png', true, ['class' => 'invert_filter']).'</a></span>';
|
||||
|
||||
$table->data['template_row']['edit'] .= '<a class="delete_icon" href="#">'.html_print_image('images/delete.png', true).'</a>';
|
||||
$table->data['template_row']['edit'] .= '<a class="delete_icon" href="#">'.html_print_image('images/delete.png', true, ['class' => 'invert_filter']).'</a>';
|
||||
|
||||
$table->colspan['no_relations']['0'] = 5;
|
||||
$table->cellstyle['no_relations']['0'] = 'text-align: center;';
|
||||
|
|
|
@ -397,7 +397,7 @@ class OrderInterpreter extends Wizard
|
|||
if ($iterator <= 9 && $this->canShowItem($enterprise, $this->pages_menu[$key]['url'])) {
|
||||
echo '<li class="list_found" name="'.$iterator.'" id="'.$iterator.'">';
|
||||
echo '
|
||||
Go to
|
||||
<span class="invert_filter"> Go to </span>
|
||||
<img src="'.$this->pages_menu[$key]['icon'].'">';
|
||||
echo '
|
||||
<a href="'.$this->pages_menu[$key]['url'].'">
|
||||
|
@ -419,12 +419,12 @@ class OrderInterpreter extends Wizard
|
|||
echo $this->loadJS();
|
||||
echo '</ul>';
|
||||
if ($iterator > 10) {
|
||||
echo '<div class="more_results">
|
||||
+ '.$more_results.' '.__('results found').'</div>';
|
||||
echo '<div class="more_results"><span class="invert_filter">
|
||||
+ '.$more_results.' '.__('results found').'</span></div>';
|
||||
}
|
||||
|
||||
if ($iterator === 0) {
|
||||
echo __('Press enter to search');
|
||||
echo '<span class="invert_filter">'.__('Press enter to search').'</span>';
|
||||
}
|
||||
|
||||
echo '</div>';
|
||||
|
|
|
@ -644,7 +644,7 @@ function filemanager_file_explorer(
|
|||
}
|
||||
|
||||
if (($prev_dir_str != '') && ($father != $relative_directory)) {
|
||||
$table->data[0][0] = html_print_image('images/go_previous.png', true);
|
||||
$table->data[0][0] = html_print_image('images/go_previous.png', true, ['class' => 'invert_filter']);
|
||||
$table->data[0][1] = '<a href="'.$url.'&directory='.$prev_dir_str.'&hash2='.md5($prev_dir_str.$config['dbpass']).'">';
|
||||
$table->data[0][1] .= __('Parent directory');
|
||||
$table->data[0][1] .= '</a>';
|
||||
|
@ -660,26 +660,26 @@ function filemanager_file_explorer(
|
|||
|
||||
switch ($fileinfo['mime']) {
|
||||
case MIME_DIR:
|
||||
$data[0] = html_print_image('images/mimetypes/directory.png', true, ['title' => __('Directory')]);
|
||||
$data[0] = html_print_image('images/mimetypes/directory.png', true, ['title' => __('Directory'), 'class' => 'invert_filter']);
|
||||
break;
|
||||
|
||||
case MIME_IMAGE:
|
||||
$data[0] = html_print_image('images/mimetypes/image.png', true, ['title' => __('Image')]);
|
||||
$data[0] = html_print_image('images/mimetypes/image.png', true, ['title' => __('Image'), 'class' => 'invert_filter']);
|
||||
break;
|
||||
|
||||
case MIME_ZIP:
|
||||
$data[0] = html_print_image('images/mimetypes/zip.png', true, ['title' => __('Compressed file')]);
|
||||
$data[0] = html_print_image('images/mimetypes/zip.png', true, ['title' => __('Compressed file'), 'class' => 'invert_filter']);
|
||||
break;
|
||||
|
||||
case MIME_TEXT:
|
||||
$data[0] = html_print_image('images/mimetypes/text.png', true, ['title' => __('Text file')]);
|
||||
$data[0] = html_print_image('images/mimetypes/text.png', true, ['title' => __('Text file'), 'class' => 'invert_filter']);
|
||||
break;
|
||||
|
||||
case MIME_UNKNOWN:
|
||||
if ($fileinfo['size'] == 0) {
|
||||
if ((strstr($fileinfo['name'], '.txt') !== false) || (strstr($fileinfo['name'], '.conf') !== false) || (strstr($fileinfo['name'], '.sql') !== false) || (strstr($fileinfo['name'], '.pl') !== false)) {
|
||||
$fileinfo['mime'] = MIME_TEXT;
|
||||
$data[0] = html_print_image('images/mimetypes/text.png', true, ['title' => __('Text file')]);
|
||||
$data[0] = html_print_image('images/mimetypes/text.png', true, ['title' => __('Text file'), 'class' => 'invert_filter']);
|
||||
} else {
|
||||
// unknow
|
||||
$data[0] = '';
|
||||
|
@ -691,7 +691,7 @@ function filemanager_file_explorer(
|
|||
break;
|
||||
|
||||
default:
|
||||
$data[0] = html_print_image('images/mimetypes/unknown.png', true, ['title' => __('Unknown')]);
|
||||
$data[0] = html_print_image('images/mimetypes/unknown.png', true, ['title' => __('Unknown'), 'class' => 'invert_filter']);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -759,7 +759,7 @@ function filemanager_file_explorer(
|
|||
&& ($typefile != 'iso') && ($typefile != 'docx') && ($typefile != 'doc') && ($fileinfo['mime'] != MIME_DIR)
|
||||
) {
|
||||
$hash = md5($fileinfo['realpath'].$config['dbpass']);
|
||||
$data[4] .= "<a style='vertical-align: top;' href='$url&edit_file=1&hash=".$hash.'&location_file='.$fileinfo['realpath']."' style='float: left;'>".html_print_image('images/edit.png', true, ['style' => 'margin-top: 2px;', 'title' => __('Edit file')]).'</a>';
|
||||
$data[4] .= "<a style='vertical-align: top;' href='$url&edit_file=1&hash=".$hash.'&location_file='.$fileinfo['realpath']."' style='float: left;'>".html_print_image('images/edit.png', true, ['style' => 'margin-top: 2px;', 'title' => __('Edit file'), 'class' => 'invert_filter']).'</a>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -768,7 +768,7 @@ function filemanager_file_explorer(
|
|||
$filename = base64_encode($fileinfo['name']);
|
||||
$hash = md5($filename.$config['dbpass']);
|
||||
$data[4] .= '<a href="include/get_file.php?file='.urlencode($filename).'&hash='.$hash.'" style="vertical-align: 25%;">';
|
||||
$data[4] .= html_print_image('images/file.png', true);
|
||||
$data[4] .= html_print_image('images/file.png', true, ['class' => 'invert_filter']);
|
||||
$data[4] .= '</a>';
|
||||
}
|
||||
|
||||
|
@ -870,7 +870,7 @@ function filemanager_file_explorer(
|
|||
echo '</div>';
|
||||
} else {
|
||||
echo "<div style='text-align: right; width: ".$table->width."; color:#AC4444; margin-bottom:10px;'>";
|
||||
echo "<image src='images/info.png' />".__('The directory is read-only');
|
||||
echo "<image class='invert_filter' src='images/info.png' />".__('The directory is read-only');
|
||||
echo '</div>';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10748,6 +10748,7 @@ function reporting_get_stats_users($data)
|
|||
} else {
|
||||
$users = users_get_user_users($config['id_user'], 'AR', false);
|
||||
}
|
||||
|
||||
$tdata[1] = count($users);
|
||||
$tdata[1] = '<a class="big_data" href="'.$urls['defined_users'].'">'.$tdata[1].'</a>';
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
<div class="pdd_l_30px w150px float-left line_17px">
|
||||
<h3>Validate</h3>
|
||||
<?php html_print_image('images/tick.png', false, ['title' => 'Validated event', 'alt' => 'Validated event', 'width' => '10', 'height' => '10']); ?> - Validated event<br>
|
||||
<?php html_print_image('images/tick.png', false, ['class' => 'invert_filter', 'title' => 'Validated event', 'alt' => 'Validated event', 'width' => '10', 'height' => '10']); ?> - Validated event<br>
|
||||
<div class="w10px height_10px inline"></div> - Event not validated
|
||||
</div>
|
||||
|
||||
|
|
|
@ -644,7 +644,7 @@ var TreeController = {
|
|||
$content.append($statusImage);
|
||||
}
|
||||
var image_tooltip =
|
||||
'<span><img src="' +
|
||||
'<span><img class="invert_filter" src="' +
|
||||
(controller.baseURL.length > 0 ? controller.baseURL : "") +
|
||||
'images/help.png" class="img_help" title="' +
|
||||
element.name +
|
||||
|
@ -653,7 +653,7 @@ var TreeController = {
|
|||
'"/></span> ';
|
||||
|
||||
var $serviceDetailImage = $(
|
||||
'<img src="' +
|
||||
'<img class="invert_filter" src="' +
|
||||
(controller.baseURL.length > 0 ? controller.baseURL : "") +
|
||||
'images/tree_service_map.png" /> '
|
||||
);
|
||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -55,7 +55,9 @@ table.databox,
|
|||
input.sub,
|
||||
.introjs-tooltip,
|
||||
button.sub,
|
||||
.bg_general {
|
||||
.bg_general,
|
||||
.show_result_interpreter,
|
||||
div#rules::after {
|
||||
background-color: #222 !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
@ -232,7 +234,8 @@ div#foot {
|
|||
}
|
||||
|
||||
/* Overwrite inline styles */
|
||||
.textodialogo td .white_important {
|
||||
.textodialogo td .white_important,
|
||||
.multi-select-container {
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
|
@ -884,6 +887,7 @@ div#dashboard-controls {
|
|||
text-anchor: middle;
|
||||
fill: #fff;
|
||||
font-family: Verdana;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.tickLabel {
|
||||
|
@ -1027,3 +1031,18 @@ table.alternate tr:nth-child(2n + 1) td {
|
|||
table.alternate tr:nth-child(2n) td {
|
||||
background-color: #111;
|
||||
}
|
||||
|
||||
.results-found {
|
||||
background-color: #111;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#graph_container {
|
||||
background-color: #111 !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#elasticsearch_editor,
|
||||
#elasticsearch_view {
|
||||
filter: invert(100%);
|
||||
}
|
||||
|
|
|
@ -96,7 +96,10 @@ if (check_acl_restricted_all($config['id_user'], $report_group, 'RW')) {
|
|||
$options['main']['text'] = '<a href="index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&tab=main&action=edit&id_report='.$id_report.'&pure='.$pure.'">'.html_print_image(
|
||||
'images/op_reporting.png',
|
||||
true,
|
||||
['title' => __('Main data')]
|
||||
[
|
||||
'title' => __('Main data'),
|
||||
'class' => 'invert_filter',
|
||||
]
|
||||
).'</a>';
|
||||
|
||||
$options['list_items']['text'] = '<a href="index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&tab=list_items&action=edit&id_report='.$id_report.'&pure='.$pure.'">'.html_print_image(
|
||||
|
|
Loading…
Reference in New Issue