Merge branch 'develop' into ent-3543-Cambio-visual-de-radio-buttons-y-checkbox-en-el-setup
Conflicts: pandora_console/install.php Former-commit-id: 89c947d8a835c4a63a8f9a91df5542a3fbc230d9
This commit is contained in:
commit
1acde54a3f
|
@ -1,5 +1,5 @@
|
||||||
package: pandorafms-agent-unix
|
package: pandorafms-agent-unix
|
||||||
Version: 7.0NG.732-190307
|
Version: 7.0NG.732-190311
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
pandora_version="7.0NG.732-190307"
|
pandora_version="7.0NG.732-190311"
|
||||||
|
|
||||||
echo "Test if you has the tools for to make the packages."
|
echo "Test if you has the tools for to make the packages."
|
||||||
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
||||||
|
|
|
@ -42,7 +42,7 @@ my $Sem = undef;
|
||||||
my $ThreadSem = undef;
|
my $ThreadSem = undef;
|
||||||
|
|
||||||
use constant AGENT_VERSION => '7.0NG.732';
|
use constant AGENT_VERSION => '7.0NG.732';
|
||||||
use constant AGENT_BUILD => '190307';
|
use constant AGENT_BUILD => '190311';
|
||||||
|
|
||||||
# Agent log default file size maximum and instances
|
# Agent log default file size maximum and instances
|
||||||
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
%define name pandorafms_agent_unix
|
%define name pandorafms_agent_unix
|
||||||
%define version 7.0NG.732
|
%define version 7.0NG.732
|
||||||
%define release 190307
|
%define release 190311
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, PERL version
|
Summary: Pandora FMS Linux agent, PERL version
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
%define name pandorafms_agent_unix
|
%define name pandorafms_agent_unix
|
||||||
%define version 7.0NG.732
|
%define version 7.0NG.732
|
||||||
%define release 190307
|
%define release 190311
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, PERL version
|
Summary: Pandora FMS Linux agent, PERL version
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
# **********************************************************************
|
# **********************************************************************
|
||||||
|
|
||||||
PI_VERSION="7.0NG.732"
|
PI_VERSION="7.0NG.732"
|
||||||
PI_BUILD="190307"
|
PI_BUILD="190311"
|
||||||
OS_NAME=`uname -s`
|
OS_NAME=`uname -s`
|
||||||
|
|
||||||
FORCE=0
|
FORCE=0
|
||||||
|
|
|
@ -186,7 +186,7 @@ UpgradeApplicationID
|
||||||
{}
|
{}
|
||||||
|
|
||||||
Version
|
Version
|
||||||
{190307}
|
{190311}
|
||||||
|
|
||||||
ViewReadme
|
ViewReadme
|
||||||
{Yes}
|
{Yes}
|
||||||
|
|
|
@ -30,7 +30,7 @@ using namespace Pandora;
|
||||||
using namespace Pandora_Strutils;
|
using namespace Pandora_Strutils;
|
||||||
|
|
||||||
#define PATH_SIZE _MAX_PATH+1
|
#define PATH_SIZE _MAX_PATH+1
|
||||||
#define PANDORA_VERSION ("7.0NG.732(Build 190307)")
|
#define PANDORA_VERSION ("7.0NG.732(Build 190311)")
|
||||||
|
|
||||||
string pandora_path;
|
string pandora_path;
|
||||||
string pandora_dir;
|
string pandora_dir;
|
||||||
|
|
|
@ -11,7 +11,7 @@ BEGIN
|
||||||
VALUE "LegalCopyright", "Artica ST"
|
VALUE "LegalCopyright", "Artica ST"
|
||||||
VALUE "OriginalFilename", "PandoraAgent.exe"
|
VALUE "OriginalFilename", "PandoraAgent.exe"
|
||||||
VALUE "ProductName", "Pandora FMS Windows Agent"
|
VALUE "ProductName", "Pandora FMS Windows Agent"
|
||||||
VALUE "ProductVersion", "(7.0NG.732(Build 190307))"
|
VALUE "ProductVersion", "(7.0NG.732(Build 190311))"
|
||||||
VALUE "FileVersion", "1.0.0.0"
|
VALUE "FileVersion", "1.0.0.0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
package: pandorafms-console
|
package: pandorafms-console
|
||||||
Version: 7.0NG.732-190307
|
Version: 7.0NG.732-190311
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
pandora_version="7.0NG.732-190307"
|
pandora_version="7.0NG.732-190311"
|
||||||
|
|
||||||
package_pear=0
|
package_pear=0
|
||||||
package_pandora=1
|
package_pandora=1
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
START TRANSACTION;
|
||||||
|
|
||||||
|
-- ----------------------------------------------------------------------
|
||||||
|
-- Add column in table `tagent_custom_fields`
|
||||||
|
-- ----------------------------------------------------------------------
|
||||||
|
ALTER TABLE tagent_custom_fields ADD COLUMN `combo_values` VARCHAR(255) DEFAULT '';
|
||||||
|
|
||||||
|
COMMIT;
|
|
@ -1199,13 +1199,13 @@ ALTER TABLE titem MODIFY `source_data` int(10) unsigned;
|
||||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('big_operation_step_datos_purge', '100');
|
INSERT INTO `tconfig` (`token`, `value`) VALUES ('big_operation_step_datos_purge', '100');
|
||||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('small_operation_step_datos_purge', '1000');
|
INSERT INTO `tconfig` (`token`, `value`) VALUES ('small_operation_step_datos_purge', '1000');
|
||||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('days_autodisable_deletion', '30');
|
INSERT INTO `tconfig` (`token`, `value`) VALUES ('days_autodisable_deletion', '30');
|
||||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('MR', 25);
|
INSERT INTO `tconfig` (`token`, `value`) VALUES ('MR', 26);
|
||||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('custom_docs_logo', 'default_docs.png');
|
INSERT INTO `tconfig` (`token`, `value`) VALUES ('custom_docs_logo', 'default_docs.png');
|
||||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('custom_support_logo', 'default_support.png');
|
INSERT INTO `tconfig` (`token`, `value`) VALUES ('custom_support_logo', 'default_support.png');
|
||||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('custom_logo_white_bg_preview', 'pandora_logo_head_white_bg.png');
|
INSERT INTO `tconfig` (`token`, `value`) VALUES ('custom_logo_white_bg_preview', 'pandora_logo_head_white_bg.png');
|
||||||
UPDATE tconfig SET value = 'https://licensing.artica.es/pandoraupdate7/server.php' WHERE token='url_update_manager';
|
UPDATE tconfig SET value = 'https://licensing.artica.es/pandoraupdate7/server.php' WHERE token='url_update_manager';
|
||||||
DELETE FROM `tconfig` WHERE `token` = 'current_package_enterprise';
|
DELETE FROM `tconfig` WHERE `token` = 'current_package_enterprise';
|
||||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('current_package_enterprise', '732');
|
INSERT INTO `tconfig` (`token`, `value`) VALUES ('current_package_enterprise', '733');
|
||||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('status_monitor_fields', 'policy,agent,data_type,module_name,server_type,interval,status,graph,warn,data,timestamp');
|
INSERT INTO `tconfig` (`token`, `value`) VALUES ('status_monitor_fields', 'policy,agent,data_type,module_name,server_type,interval,status,graph,warn,data,timestamp');
|
||||||
|
|
||||||
-- ---------------------------------------------------------------------
|
-- ---------------------------------------------------------------------
|
||||||
|
@ -2036,3 +2036,7 @@ INSERT INTO `tnotification_user` (`id_mensaje`, `id_user`) SELECT `id_mensaje`,
|
||||||
-- ----------------------------------------------------------------------
|
-- ----------------------------------------------------------------------
|
||||||
INSERT INTO `trecon_script` (`name`,`description`,`script`,`macros`) VALUES ('Discovery.Application.VMware', 'Discovery Application script to monitor VMware technologies (ESXi, VCenter, VSphere)', '/usr/share/pandora_server/util/recon_scripts/vmware-plugin.pl', '{"1":{"macro":"_field1_","desc":"Configuration file","help":"","value":"","hide":""}}');
|
INSERT INTO `trecon_script` (`name`,`description`,`script`,`macros`) VALUES ('Discovery.Application.VMware', 'Discovery Application script to monitor VMware technologies (ESXi, VCenter, VSphere)', '/usr/share/pandora_server/util/recon_scripts/vmware-plugin.pl', '{"1":{"macro":"_field1_","desc":"Configuration file","help":"","value":"","hide":""}}');
|
||||||
INSERT INTO `trecon_script` (`name`,`description`,`script`,`macros`) VALUES ('Discovery.Cloud', 'Discovery Cloud script to monitor Cloud technologies (AWS.EC2, AWS.S3, AWS.RDS, RDS,ȊWS.EKS)', '/usr/share/pandora_server/util/recon_scripts/pcm_client.pl', '{"1":{"macro":"_field1_","desc":"Configuration file","help":"","value":"","hide":""}}');
|
INSERT INTO `trecon_script` (`name`,`description`,`script`,`macros`) VALUES ('Discovery.Cloud', 'Discovery Cloud script to monitor Cloud technologies (AWS.EC2, AWS.S3, AWS.RDS, RDS,ȊWS.EKS)', '/usr/share/pandora_server/util/recon_scripts/pcm_client.pl', '{"1":{"macro":"_field1_","desc":"Configuration file","help":"","value":"","hide":""}}');
|
||||||
|
-- ----------------------------------------------------------------------
|
||||||
|
-- Add column in table `tagent_custom_fields`
|
||||||
|
-- ----------------------------------------------------------------------
|
||||||
|
ALTER TABLE tagent_custom_fields ADD COLUMN `combo_values` VARCHAR(255) DEFAULT '';
|
||||||
|
|
|
@ -708,6 +708,13 @@ foreach ($fields as $field) {
|
||||||
__('This field allows url insertion using the BBCode\'s url tag').'.<br />'.__('The format is: [url=\'url to navigate\']\'text to show\'[/url]').'.<br /><br />'.__('e.g.: [url=google.com]Google web search[/url]'),
|
__('This field allows url insertion using the BBCode\'s url tag').'.<br />'.__('The format is: [url=\'url to navigate\']\'text to show\'[/url]').'.<br /><br />'.__('e.g.: [url=google.com]Google web search[/url]'),
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
$combo = [];
|
||||||
|
$combo = $field['combo_values'];
|
||||||
|
$combo = explode(',', $combo);
|
||||||
|
$combo_values = [];
|
||||||
|
foreach ($combo as $value) {
|
||||||
|
$combo_values[$value] = $value;
|
||||||
|
}
|
||||||
|
|
||||||
$custom_value = db_get_value_filter(
|
$custom_value = db_get_value_filter(
|
||||||
'description',
|
'description',
|
||||||
|
@ -747,6 +754,28 @@ foreach ($fields as $field) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($field['combo_values'] !== '') {
|
||||||
|
$data[1] = html_print_select(
|
||||||
|
$combo_values,
|
||||||
|
'customvalue_'.$field['id_field'],
|
||||||
|
$custom_value,
|
||||||
|
'',
|
||||||
|
__('None'),
|
||||||
|
'',
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
'',
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
'',
|
||||||
|
false
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
array_push($table->data, $data);
|
array_push($table->data, $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -757,7 +786,7 @@ if (!empty($fields)) {
|
||||||
echo '<div class="action-buttons" style="width: '.$table->width.'">';
|
echo '<div class="action-buttons" style="width: '.$table->width.'">';
|
||||||
|
|
||||||
|
|
||||||
// The context help about the learning mode
|
// The context help about the learning mode.
|
||||||
if ($modo == 0) {
|
if ($modo == 0) {
|
||||||
echo "<span id='modules_not_learning_mode_context_help' style=''>";
|
echo "<span id='modules_not_learning_mode_context_help' style=''>";
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -25,13 +25,16 @@ $id_field = (int) get_parameter('id_field', 0);
|
||||||
$name = (string) get_parameter('name', '');
|
$name = (string) get_parameter('name', '');
|
||||||
$display_on_front = (bool) get_parameter('display_on_front', 0);
|
$display_on_front = (bool) get_parameter('display_on_front', 0);
|
||||||
$is_password_type = (bool) get_parameter('is_password_type', 0);
|
$is_password_type = (bool) get_parameter('is_password_type', 0);
|
||||||
|
$is_combo_enable = (bool) get_parameter('is_combo_enable', 0);
|
||||||
// Header
|
$combo_values = (string) get_parameter('combo_values', '');
|
||||||
|
// Header.
|
||||||
if ($id_field) {
|
if ($id_field) {
|
||||||
$field = db_get_row_filter('tagent_custom_fields', ['id_field' => $id_field]);
|
$field = db_get_row_filter('tagent_custom_fields', ['id_field' => $id_field]);
|
||||||
$name = $field['name'];
|
$name = $field['name'];
|
||||||
$display_on_front = $field['display_on_front'];
|
$display_on_front = $field['display_on_front'];
|
||||||
$is_password_type = $field['is_password_type'];
|
$is_password_type = $field['is_password_type'];
|
||||||
|
$combo_values = $field['combo_values'];
|
||||||
|
$is_combo_enable = $config['is_combo_enable'];
|
||||||
ui_print_page_header(__('Update agent custom field'), 'images/custom_field.png', false, '', true, '');
|
ui_print_page_header(__('Update agent custom field'), 'images/custom_field.png', false, '', true, '');
|
||||||
} else {
|
} else {
|
||||||
ui_print_page_header(__('Create agent custom field'), 'images/custom_field.png', false, '', true, '');
|
ui_print_page_header(__('Create agent custom field'), 'images/custom_field.png', false, '', true, '');
|
||||||
|
@ -40,17 +43,87 @@ if ($id_field) {
|
||||||
$table = new stdClass();
|
$table = new stdClass();
|
||||||
$table->width = '100%';
|
$table->width = '100%';
|
||||||
$table->class = 'databox filters';
|
$table->class = 'databox filters';
|
||||||
|
$table->id = 'configure_field';
|
||||||
$table->style[0] = 'font-weight: bold';
|
$table->style[0] = 'font-weight: bold';
|
||||||
$table->style[2] = 'font-weight: bold';
|
$table->style[2] = 'font-weight: bold';
|
||||||
|
$table->style[4] = 'font-weight: bold';
|
||||||
|
$table->style[6] = 'font-weight: bold';
|
||||||
|
|
||||||
|
echo "<div id='message_set_password' title='".__('Agent Custom Fields Information')."' style='display:none;'>";
|
||||||
|
echo "<p style='text-align: center;font-weight: bold;'>".__('You cannot set the Password type until you clear the combo values and click on update button.').'</p>';
|
||||||
|
echo '</div>';
|
||||||
|
|
||||||
|
echo "<div id='message_set_combo' title='".__('Agent Custom Fields Information')."' style='display:none;'>";
|
||||||
|
echo "<p style='text-align: center;font-weight: bold;'>".__('You cannot unset the enable combo until you clear the combo values and click on update.').'</p>';
|
||||||
|
echo '</div>';
|
||||||
|
|
||||||
|
echo "<div id='message_no_set_password' title='".__('Agent Custom Fields Information')."' style='display:none;'>";
|
||||||
|
echo "<p style='text-align: center;font-weight: bold;'>".__('If you select Enabled combo the Password type will be disabled.').'</p>';
|
||||||
|
echo '</div>';
|
||||||
|
|
||||||
|
echo "<div id='message_no_set_combo' title='".__('Agent Custom Fields Information')."' style='display:none;'>";
|
||||||
|
echo "<p style='text-align: center;font-weight: bold;'>".__('If you select Passord type the Enabled combo will be disabled.').'</p>';
|
||||||
|
echo '</div>';
|
||||||
|
|
||||||
|
|
||||||
$table->data = [];
|
$table->data = [];
|
||||||
|
|
||||||
$table->data[0][0] = __('Name');
|
$table->data[0][0] = __('Name');
|
||||||
$table->data[0][1] = html_print_input_text('name', $name, '', 35, 100, true);
|
$table->data[0][1] = html_print_input_text(
|
||||||
|
'name',
|
||||||
|
$name,
|
||||||
|
'',
|
||||||
|
35,
|
||||||
|
100,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
$table->data[0][2] = __('Pass type').ui_print_help_tip(__('The fields with pass type enabled will be displayed like html input type pass in html'), true);
|
$table->data[1][0] = __('Pass type').ui_print_help_tip(
|
||||||
$table->data[0][3] = html_print_checkbox('is_password_type', 1, $is_password_type, true);
|
__('The fields with pass type enabled will be displayed like html input type pass in html'),
|
||||||
|
true
|
||||||
|
);
|
||||||
|
$table->data[1][1] = html_print_checkbox_switch(
|
||||||
|
'is_password_type',
|
||||||
|
1,
|
||||||
|
$is_password_type,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
$table->data[0][4] = __('Display on front').ui_print_help_tip(__('The fields with display on front enabled will be displayed into the agent details'), true);
|
$table->data[2][0] = __('Display on front').ui_print_help_tip(
|
||||||
$table->data[0][5] = html_print_checkbox('display_on_front', 1, $display_on_front, true);
|
__('The fields with display on front enabled will be displayed into the agent details'),
|
||||||
|
true
|
||||||
|
);
|
||||||
|
$table->data[2][1] = html_print_checkbox_switch(
|
||||||
|
'display_on_front',
|
||||||
|
1,
|
||||||
|
$display_on_front,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
|
$table->data[3][0] = __('Enabled combo');
|
||||||
|
$table->data[3][1] = html_print_checkbox_switch_extended(
|
||||||
|
'is_combo_enable',
|
||||||
|
0,
|
||||||
|
$config['is_combo_enable'],
|
||||||
|
false,
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
|
$table->rowstyle[4] = 'display: none;';
|
||||||
|
$table->data[4][0] = __('Combo values').ui_print_help_tip(
|
||||||
|
__('Set values separated by comma'),
|
||||||
|
true
|
||||||
|
);
|
||||||
|
$table->data[4][1] = html_print_input_text(
|
||||||
|
'combo_values',
|
||||||
|
io_safe_output($combo_values),
|
||||||
|
'',
|
||||||
|
35,
|
||||||
|
200,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
echo '<form name="field" method="post" action="index.php?sec=gagente&sec2=godmode/agentes/fields_manager">';
|
echo '<form name="field" method="post" action="index.php?sec=gagente&sec2=godmode/agentes/fields_manager">';
|
||||||
html_print_table($table);
|
html_print_table($table);
|
||||||
|
@ -67,3 +140,67 @@ if ($id_field) {
|
||||||
|
|
||||||
echo '</div>';
|
echo '</div>';
|
||||||
echo '</form>';
|
echo '</form>';
|
||||||
|
?>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(document).ready (function () {
|
||||||
|
if($('input[type=hidden][name=update_field]').val() == 1 && $('input[type=text][name=combo_values]').val() != ''){
|
||||||
|
$('input[type=checkbox][name=is_combo_enable]').prop('checked', true);
|
||||||
|
$('#configure_field-4').show();
|
||||||
|
$('input[type=checkbox][name=is_password_type]').change(function (e) {
|
||||||
|
dialog_message("#message_set_password");
|
||||||
|
$('input[type=checkbox][name=is_password_type]').prop('checked', false);
|
||||||
|
$('input[type=checkbox][name=is_combo_enable]').prop('checked', true);
|
||||||
|
$('#configure_field-4').show();
|
||||||
|
e.preventDefault();
|
||||||
|
});
|
||||||
|
$('input[type=checkbox][name=is_combo_enable]').change(function (e) {
|
||||||
|
if($('input[type=text][name=combo_values]').val() != '' && $('input[type=checkbox][name=is_combo_enable]').prop('checked', true)){
|
||||||
|
dialog_message("#message_set_combo");
|
||||||
|
$('input[type=checkbox][name=is_combo_enable]').prop('checked', true);
|
||||||
|
$('#configure_field-4').show();
|
||||||
|
e.preventDefault();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$('input[type=checkbox][name=is_combo_enable]').change(function () {
|
||||||
|
if( $(this).is(":checked") ){
|
||||||
|
$('#configure_field-4').show();
|
||||||
|
dialog_message("#message_no_set_password");
|
||||||
|
$('#configure_field-1').hide();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$('#configure_field-4').hide();
|
||||||
|
$('#configure_field-1').show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$('input[type=checkbox][name=is_password_type]').change(function () {
|
||||||
|
if( $(this).is(":checked")){
|
||||||
|
dialog_message("#message_no_set_combo");
|
||||||
|
$('#configure_field-3').hide();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$('#configure_field-3').show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function dialog_message(message_id) {
|
||||||
|
$(message_id)
|
||||||
|
.css("display", "inline")
|
||||||
|
.dialog({
|
||||||
|
modal: true,
|
||||||
|
show: "blind",
|
||||||
|
hide: "blind",
|
||||||
|
width: "400px",
|
||||||
|
buttons: {
|
||||||
|
Close: function() {
|
||||||
|
$(this).dialog("close");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
|
@ -26,7 +26,7 @@ if (!check_acl($config['id_user'], 0, 'PM')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Header
|
// Header.
|
||||||
ui_print_page_header(__('Agents custom fields manager'), 'images/custom_field.png', false, '', true, '');
|
ui_print_page_header(__('Agents custom fields manager'), 'images/custom_field.png', false, '', true, '');
|
||||||
|
|
||||||
$create_field = (bool) get_parameter('create_field');
|
$create_field = (bool) get_parameter('create_field');
|
||||||
|
@ -36,10 +36,12 @@ $id_field = (int) get_parameter('id_field', 0);
|
||||||
$name = (string) get_parameter('name', '');
|
$name = (string) get_parameter('name', '');
|
||||||
$display_on_front = (int) get_parameter('display_on_front', 0);
|
$display_on_front = (int) get_parameter('display_on_front', 0);
|
||||||
$is_password_type = (int) get_parameter('is_password_type', 0);
|
$is_password_type = (int) get_parameter('is_password_type', 0);
|
||||||
|
$combo_values = (string) get_parameter('combo_values', '');
|
||||||
|
$combo_value_selected = (string) get_parameter('combo_value_selected', '');
|
||||||
|
|
||||||
// Create field
|
// Create field.
|
||||||
if ($create_field) {
|
if ($create_field) {
|
||||||
// Check if name field is empty
|
// Check if name field is empty.
|
||||||
if ($name == '') {
|
if ($name == '') {
|
||||||
ui_print_error_message(__('The name must not be empty'));
|
ui_print_error_message(__('The name must not be empty'));
|
||||||
} else if ($name == db_get_value('name', 'tagent_custom_fields', 'name', $name)) {
|
} else if ($name == db_get_value('name', 'tagent_custom_fields', 'name', $name)) {
|
||||||
|
@ -51,20 +53,22 @@ if ($create_field) {
|
||||||
'name' => $name,
|
'name' => $name,
|
||||||
'display_on_front' => $display_on_front,
|
'display_on_front' => $display_on_front,
|
||||||
'is_password_type' => $is_password_type,
|
'is_password_type' => $is_password_type,
|
||||||
|
'combo_values' => $combo_values,
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
ui_print_success_message(__('Field successfully created'));
|
ui_print_success_message(__('Field successfully created'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update field
|
// Update field.
|
||||||
if ($update_field) {
|
if ($update_field) {
|
||||||
// Check if name field is empty
|
// Check if name field is empty.
|
||||||
if ($name != '') {
|
if ($name != '') {
|
||||||
$values = [
|
$values = [
|
||||||
'name' => $name,
|
'name' => $name,
|
||||||
'display_on_front' => $display_on_front,
|
'display_on_front' => $display_on_front,
|
||||||
'is_password_type' => $is_password_type,
|
'is_password_type' => $is_password_type,
|
||||||
|
'combo_values' => $combo_values,
|
||||||
];
|
];
|
||||||
|
|
||||||
$result = db_process_sql_update('tagent_custom_fields', $values, ['id_field' => $id_field]);
|
$result = db_process_sql_update('tagent_custom_fields', $values, ['id_field' => $id_field]);
|
||||||
|
@ -79,7 +83,7 @@ if ($update_field) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete field
|
// Delete field.
|
||||||
if ($delete_field) {
|
if ($delete_field) {
|
||||||
$result = db_process_sql_delete(
|
$result = db_process_sql_delete(
|
||||||
'tagent_custom_fields',
|
'tagent_custom_fields',
|
||||||
|
|
|
@ -431,7 +431,7 @@ if (modules_is_string_type($id_module_type) || $edit) {
|
||||||
str_replace('"', '', $str_warning),
|
str_replace('"', '', $str_warning),
|
||||||
'',
|
'',
|
||||||
10,
|
10,
|
||||||
255,
|
1024,
|
||||||
true,
|
true,
|
||||||
$disabledBecauseInPolicy,
|
$disabledBecauseInPolicy,
|
||||||
false,
|
false,
|
||||||
|
@ -484,7 +484,7 @@ if (modules_is_string_type($id_module_type) || $edit) {
|
||||||
str_replace('"', '', $str_critical),
|
str_replace('"', '', $str_critical),
|
||||||
'',
|
'',
|
||||||
10,
|
10,
|
||||||
255,
|
1024,
|
||||||
true,
|
true,
|
||||||
$disabledBecauseInPolicy,
|
$disabledBecauseInPolicy,
|
||||||
false,
|
false,
|
||||||
|
|
|
@ -689,6 +689,13 @@ foreach ($fields as $field) {
|
||||||
__('This field allows url insertion using the BBCode\'s url tag').'.<br />'.__('The format is: [url=\'url to navigate\']\'text to show\'[/url]').'.<br /><br />'.__('e.g.: [url=google.com]Google web search[/url]'),
|
__('This field allows url insertion using the BBCode\'s url tag').'.<br />'.__('The format is: [url=\'url to navigate\']\'text to show\'[/url]').'.<br /><br />'.__('e.g.: [url=google.com]Google web search[/url]'),
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
$combo = [];
|
||||||
|
$combo = $field['combo_values'];
|
||||||
|
$combo = explode(',', $combo);
|
||||||
|
$combo_values = [];
|
||||||
|
foreach ($combo as $value) {
|
||||||
|
$combo_values[$value] = $value;
|
||||||
|
}
|
||||||
|
|
||||||
$custom_value = db_get_value_filter('description', 'tagent_custom_data', ['id_field' => $field['id_field'], 'id_agent' => $id_agente]);
|
$custom_value = db_get_value_filter('description', 'tagent_custom_data', ['id_field' => $field['id_field'], 'id_agent' => $id_agente]);
|
||||||
|
|
||||||
|
@ -714,6 +721,28 @@ foreach ($fields as $field) {
|
||||||
$data[1] = html_print_textarea('customvalue_'.$field['id_field'], 2, 65, $custom_value, 'style="min-height: 30px;"', true);
|
$data[1] = html_print_textarea('customvalue_'.$field['id_field'], 2, 65, $custom_value, 'style="min-height: 30px;"', true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($field['combo_values'] !== '') {
|
||||||
|
$data[1] = html_print_select(
|
||||||
|
$combo_values,
|
||||||
|
'customvalue_'.$field['id_field'],
|
||||||
|
$custom_value,
|
||||||
|
'',
|
||||||
|
__('No change'),
|
||||||
|
'',
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
'',
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
'',
|
||||||
|
false
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
array_push($table->data, $data);
|
array_push($table->data, $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -562,7 +562,7 @@ $table->data['edit1'][1] = '<table width="100%">';
|
||||||
'',
|
'',
|
||||||
'',
|
'',
|
||||||
5,
|
5,
|
||||||
255,
|
1024,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
$table->data['edit1'][1] .= '</td>';
|
$table->data['edit1'][1] .= '</td>';
|
||||||
|
@ -631,7 +631,7 @@ $table->data['edit1'][1] = '<table width="100%">';
|
||||||
'',
|
'',
|
||||||
'',
|
'',
|
||||||
5,
|
5,
|
||||||
255,
|
1024,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
$table->data['edit1'][3] .= '</td>';
|
$table->data['edit1'][3] .= '</td>';
|
||||||
|
|
|
@ -190,7 +190,7 @@ $table->data[4][1] .= html_print_input_text(
|
||||||
$str_warning,
|
$str_warning,
|
||||||
'',
|
'',
|
||||||
5,
|
5,
|
||||||
64,
|
1024,
|
||||||
true
|
true
|
||||||
).'</span>';
|
).'</span>';
|
||||||
$table->data[4][1] .= '<br /><em>'.__('Inverse interval').'</em>';
|
$table->data[4][1] .= '<br /><em>'.__('Inverse interval').'</em>';
|
||||||
|
@ -225,7 +225,7 @@ $table->data[5][1] .= html_print_input_text(
|
||||||
$str_critical,
|
$str_critical,
|
||||||
'',
|
'',
|
||||||
5,
|
5,
|
||||||
64,
|
1024,
|
||||||
true
|
true
|
||||||
).'</span>';
|
).'</span>';
|
||||||
$table->data[5][1] .= '<br /><em>'.__('Inverse interval').'</em>';
|
$table->data[5][1] .= '<br /><em>'.__('Inverse interval').'</em>';
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
/**
|
/**
|
||||||
* Pandora build version and version
|
* Pandora build version and version
|
||||||
*/
|
*/
|
||||||
$build_version = 'PC190307';
|
$build_version = 'PC190311';
|
||||||
$pandora_version = 'v7.0NG.732';
|
$pandora_version = 'v7.0NG.732';
|
||||||
|
|
||||||
// Do not overwrite default timezone set if defined.
|
// Do not overwrite default timezone set if defined.
|
||||||
|
|
|
@ -127,7 +127,7 @@ if (isset($config['homedir_filemanager'])) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$sec2 = get_parameter('sec2');
|
$sec2 = get_parameter('sec2');
|
||||||
if ($sec2 == 'enterprise/godmode/agentes/collections') {
|
if ($sec2 == 'enterprise/godmode/agentes/collections' || $sec2 == 'advanced/collections') {
|
||||||
$homedir_filemanager .= '/attachment/collection/';
|
$homedir_filemanager .= '/attachment/collection/';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -4531,7 +4531,7 @@ function reporting_get_event_histogram($events, $text_header_event=false)
|
||||||
[],
|
[],
|
||||||
true,
|
true,
|
||||||
$ttl,
|
$ttl,
|
||||||
false,
|
true,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -4752,7 +4752,10 @@ function reporting_html_planned_downtimes_table($planned_downtimes)
|
||||||
|
|
||||||
$table = new StdClass();
|
$table = new StdClass();
|
||||||
$table->width = '99%';
|
$table->width = '99%';
|
||||||
$table->title = __('This SLA has been affected by the following planned downtimes');
|
$table->title = __('This SLA has been affected by the following planned downtimes').ui_print_help_tip(
|
||||||
|
__('If the duration of the planned downtime is less than 5 minutes it will not be represented in the graph'),
|
||||||
|
true
|
||||||
|
);
|
||||||
$table->head = [];
|
$table->head = [];
|
||||||
$table->head[0] = __('Name');
|
$table->head[0] = __('Name');
|
||||||
$table->head[1] = __('Description');
|
$table->head[1] = __('Description');
|
||||||
|
|
|
@ -748,7 +748,7 @@ function flot_slicesbar_graph(
|
||||||
if ($widgets) {
|
if ($widgets) {
|
||||||
$return = "<div id='$graph_id' class='noresizevc graph $adapt_key' style='width: ".$width.'px; height: '.$height."px;'></div>";
|
$return = "<div id='$graph_id' class='noresizevc graph $adapt_key' style='width: ".$width.'px; height: '.$height."px;'></div>";
|
||||||
} else {
|
} else {
|
||||||
$return = "<div id='$graph_id' class='noresizevc graph $adapt_key' style='width: ".$width.'px; height: '.$height."px;'></div>";
|
$return = "<div id='$graph_id' class='noresizevc graph $adapt_key' style='width: ".$width.'%; height: '.$height."px;'></div>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -129,7 +129,7 @@
|
||||||
<div style='height: 10px'>
|
<div style='height: 10px'>
|
||||||
<?php
|
<?php
|
||||||
$version = '7.0NG.732';
|
$version = '7.0NG.732';
|
||||||
$build = '190307';
|
$build = '190311';
|
||||||
$banner = "v$version Build $build";
|
$banner = "v$version Build $build";
|
||||||
|
|
||||||
error_reporting(0);
|
error_reporting(0);
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.732
|
%define version 7.0NG.732
|
||||||
%define release 190307
|
%define release 190311
|
||||||
|
|
||||||
# User and Group under which Apache is running
|
# User and Group under which Apache is running
|
||||||
%define httpd_name httpd
|
%define httpd_name httpd
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.732
|
%define version 7.0NG.732
|
||||||
%define release 190307
|
%define release 190311
|
||||||
%define httpd_name httpd
|
%define httpd_name httpd
|
||||||
# User and Group under which Apache is running
|
# User and Group under which Apache is running
|
||||||
%define httpd_name apache2
|
%define httpd_name apache2
|
||||||
|
|
|
@ -1894,6 +1894,7 @@ CREATE TABLE IF NOT EXISTS `tagent_custom_fields` (
|
||||||
`name` varchar(45) NOT NULL default '',
|
`name` varchar(45) NOT NULL default '',
|
||||||
`display_on_front` tinyint(1) NOT NULL default 0,
|
`display_on_front` tinyint(1) NOT NULL default 0,
|
||||||
`is_password_type` tinyint(1) NOT NULL default 0,
|
`is_password_type` tinyint(1) NOT NULL default 0,
|
||||||
|
`combo_values` VARCHAR(255) DEFAULT '',
|
||||||
PRIMARY KEY (`id_field`)
|
PRIMARY KEY (`id_field`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
|
|
|
@ -111,10 +111,10 @@ INSERT INTO `tconfig` (`token`, `value`) VALUES
|
||||||
('custom_report_front_logo', 'images/pandora_logo_white.jpg'),
|
('custom_report_front_logo', 'images/pandora_logo_white.jpg'),
|
||||||
('custom_report_front_header', ''),
|
('custom_report_front_header', ''),
|
||||||
('custom_report_front_footer', ''),
|
('custom_report_front_footer', ''),
|
||||||
('MR', 25),
|
('MR', 26),
|
||||||
('identification_reminder', 1),
|
('identification_reminder', 1),
|
||||||
('identification_reminder_timestamp', 0),
|
('identification_reminder_timestamp', 0),
|
||||||
('current_package_enterprise', '732'),
|
('current_package_enterprise', '733'),
|
||||||
('post_process_custom_values', '{"0.00000038580247":"Seconds to months","0.00000165343915":"Seconds to weeks","0.00001157407407":"Seconds to days","0.01666666666667":"Seconds to minutes","0.00000000093132":"Bytes to Gigabytes","0.00000095367432":"Bytes to Megabytes","0.0009765625":"Bytes to Kilobytes","0.00000001653439":"Timeticks to weeks","0.00000011574074":"Timeticks to days"}'),
|
('post_process_custom_values', '{"0.00000038580247":"Seconds to months","0.00000165343915":"Seconds to weeks","0.00001157407407":"Seconds to days","0.01666666666667":"Seconds to minutes","0.00000000093132":"Bytes to Gigabytes","0.00000095367432":"Bytes to Megabytes","0.0009765625":"Bytes to Kilobytes","0.00000001653439":"Timeticks to weeks","0.00000011574074":"Timeticks to days"}'),
|
||||||
('custom_docs_logo', 'default_docs.png'),
|
('custom_docs_logo', 'default_docs.png'),
|
||||||
('custom_support_logo', 'default_support.png'),
|
('custom_support_logo', 'default_support.png'),
|
||||||
|
@ -1151,7 +1151,7 @@ INSERT INTO `tplugin` (`id`, `name`, `description`, `max_timeout`, `execute`, `p
|
||||||
|
|
||||||
INSERT INTO `tplugin` (`id`, `name`, `description`, `max_timeout`, `max_retries`, `execute`, `net_dst_opt`, `net_port_opt`, `user_opt`, `pass_opt`, `plugin_type`, `macros`, `parameters`) VALUES (9,'Packet Loss','Checks for dropped packages after X seconds of testing. It returns % of dropped packets. It uses ping flood mode to launch 50 consecutive pings to a remote destination. On local, stable networks, value should be 0.
',30,0,'/usr/share/pandora_server/util/plugin/packet_loss.sh','','','','',0,'{\"1\":{\"macro\":\"_field1_\",\"desc\":\"Test time\",\"help\":\"\",\"value\":\"8\",\"hide\":\"\"},\"2\":{\"macro\":\"_field2_\",\"desc\":\"Target IP\",\"help\":\"\",\"value\":\"\",\"hide\":\"\"}}','_field1_ _field2_');
|
INSERT INTO `tplugin` (`id`, `name`, `description`, `max_timeout`, `max_retries`, `execute`, `net_dst_opt`, `net_port_opt`, `user_opt`, `pass_opt`, `plugin_type`, `macros`, `parameters`) VALUES (9,'Packet Loss','Checks for dropped packages after X seconds of testing. It returns % of dropped packets. It uses ping flood mode to launch 50 consecutive pings to a remote destination. On local, stable networks, value should be 0.
',30,0,'/usr/share/pandora_server/util/plugin/packet_loss.sh','','','','',0,'{\"1\":{\"macro\":\"_field1_\",\"desc\":\"Test time\",\"help\":\"\",\"value\":\"8\",\"hide\":\"\"},\"2\":{\"macro\":\"_field2_\",\"desc\":\"Target IP\",\"help\":\"\",\"value\":\"\",\"hide\":\"\"}}','_field1_ _field2_');
|
||||||
|
|
||||||
INSERT INTO `tagent_custom_fields` VALUES (1,'Serial Number',0,0),(2,'Department',0,0),(3,'Additional ID',0,0),(4,'eHorusID',0,0);
|
INSERT INTO `tagent_custom_fields` VALUES (1,'Serial Number',0,0,''),(2,'Department',0,0,''),(3,'Additional ID',0,0,''),(4,'eHorusID',0,0,'');
|
||||||
|
|
||||||
INSERT INTO `ttag` VALUES (1,'network','Network equipment','http://artica.es','',''),(2,'critical','Critical modules','','',''),(3,'dmz','DMZ Network Zone','','',''),(4,'performance','Performance anda capacity modules','','',''),(5,'configuration','','','','');
|
INSERT INTO `ttag` VALUES (1,'network','Network equipment','http://artica.es','',''),(2,'critical','Critical modules','','',''),(3,'dmz','DMZ Network Zone','','',''),(4,'performance','Performance anda capacity modules','','',''),(5,'configuration','','','','');
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
package: pandorafms-server
|
package: pandorafms-server
|
||||||
Version: 7.0NG.732-190307
|
Version: 7.0NG.732-190311
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
pandora_version="7.0NG.732-190307"
|
pandora_version="7.0NG.732-190311"
|
||||||
|
|
||||||
package_cpan=0
|
package_cpan=0
|
||||||
package_pandora=1
|
package_pandora=1
|
||||||
|
|
|
@ -45,7 +45,7 @@ our @EXPORT = qw(
|
||||||
|
|
||||||
# version: Defines actual version of Pandora Server for this module only
|
# version: Defines actual version of Pandora Server for this module only
|
||||||
my $pandora_version = "7.0NG.732";
|
my $pandora_version = "7.0NG.732";
|
||||||
my $pandora_build = "190307";
|
my $pandora_build = "190311";
|
||||||
our $VERSION = $pandora_version." ".$pandora_build;
|
our $VERSION = $pandora_version." ".$pandora_build;
|
||||||
|
|
||||||
# Setup hash
|
# Setup hash
|
||||||
|
|
|
@ -32,7 +32,7 @@ our @ISA = qw(Exporter);
|
||||||
|
|
||||||
# version: Defines actual version of Pandora Server for this module only
|
# version: Defines actual version of Pandora Server for this module only
|
||||||
my $pandora_version = "7.0NG.732";
|
my $pandora_version = "7.0NG.732";
|
||||||
my $pandora_build = "190307";
|
my $pandora_build = "190311";
|
||||||
our $VERSION = $pandora_version." ".$pandora_build;
|
our $VERSION = $pandora_version." ".$pandora_build;
|
||||||
|
|
||||||
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
%define name pandorafms_server
|
%define name pandorafms_server
|
||||||
%define version 7.0NG.732
|
%define version 7.0NG.732
|
||||||
%define release 190307
|
%define release 190311
|
||||||
|
|
||||||
Summary: Pandora FMS Server
|
Summary: Pandora FMS Server
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
%define name pandorafms_server
|
%define name pandorafms_server
|
||||||
%define version 7.0NG.732
|
%define version 7.0NG.732
|
||||||
%define release 190307
|
%define release 190311
|
||||||
|
|
||||||
Summary: Pandora FMS Server
|
Summary: Pandora FMS Server
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
# **********************************************************************
|
# **********************************************************************
|
||||||
|
|
||||||
PI_VERSION="7.0NG.732"
|
PI_VERSION="7.0NG.732"
|
||||||
PI_BUILD="190307"
|
PI_BUILD="190311"
|
||||||
|
|
||||||
MODE=$1
|
MODE=$1
|
||||||
if [ $# -gt 1 ]; then
|
if [ $# -gt 1 ]; then
|
||||||
|
|
|
@ -34,7 +34,7 @@ use PandoraFMS::Config;
|
||||||
use PandoraFMS::DB;
|
use PandoraFMS::DB;
|
||||||
|
|
||||||
# version: define current version
|
# version: define current version
|
||||||
my $version = "7.0NG.732 PS190307";
|
my $version = "7.0NG.732 PS190311";
|
||||||
|
|
||||||
# Pandora server configuration
|
# Pandora server configuration
|
||||||
my %conf;
|
my %conf;
|
||||||
|
|
|
@ -36,7 +36,7 @@ use Encode::Locale;
|
||||||
Encode::Locale::decode_argv;
|
Encode::Locale::decode_argv;
|
||||||
|
|
||||||
# version: define current version
|
# version: define current version
|
||||||
my $version = "7.0NG.732 PS190307";
|
my $version = "7.0NG.732 PS190311";
|
||||||
|
|
||||||
# save program name for logging
|
# save program name for logging
|
||||||
my $progname = basename($0);
|
my $progname = basename($0);
|
||||||
|
|
Loading…
Reference in New Issue