Merge branch 'develop' into 'ent-4190-mejoras-para-el-menu-de-gestionar-ha'

# Conflicts:
#   pandora_console/extras/mr/32.sql
This commit is contained in:
fbsanchez 2019-09-12 11:17:44 +02:00
commit ebcce5cad4
47 changed files with 224 additions and 166 deletions

View File

@ -1,5 +1,5 @@
package: pandorafms-agent-unix
Version: 7.0NG.738-190904
Version: 7.0NG.738-190912
Architecture: all
Priority: optional
Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
pandora_version="7.0NG.738-190904"
pandora_version="7.0NG.738-190912"
echo "Test if you has the tools for to make the packages."
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null

View File

@ -42,7 +42,7 @@ my $Sem = undef;
my $ThreadSem = undef;
use constant AGENT_VERSION => '7.0NG.738';
use constant AGENT_BUILD => '190904';
use constant AGENT_BUILD => '190912';
# Agent log default file size maximum and instances
use constant DEFAULT_MAX_LOG_SIZE => 600000;

View File

@ -3,7 +3,7 @@
#
%define name pandorafms_agent_unix
%define version 7.0NG.738
%define release 190904
%define release 190912
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}

View File

@ -3,7 +3,7 @@
#
%define name pandorafms_agent_unix
%define version 7.0NG.738
%define release 190904
%define release 190912
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}

View File

@ -10,7 +10,7 @@
# **********************************************************************
PI_VERSION="7.0NG.738"
PI_BUILD="190904"
PI_BUILD="190912"
OS_NAME=`uname -s`
FORCE=0

View File

@ -186,7 +186,7 @@ UpgradeApplicationID
{}
Version
{190904}
{190912}
ViewReadme
{Yes}

View File

@ -1214,7 +1214,8 @@ Pandora_Module_Factory::getModuleFromDefinition (string definition) {
module_source,
module_eventtype,
module_eventcode,
module_pattern);
module_pattern,
module_application);
} else if (module_wmiquery != "") {
module = new Pandora_Module_WMIQuery (module_name,
module_wmiquery, module_wmicolumn);

View File

@ -53,7 +53,7 @@ static EvtUpdateBookmarkT EvtUpdateBookmarkF = NULL;
* @param name Module name.
* @param service_name Service internal name to check.
*/
Pandora_Module_Logchannel::Pandora_Module_Logchannel (string name, string source, string type, string id, string pattern)
Pandora_Module_Logchannel::Pandora_Module_Logchannel (string name, string source, string type, string id, string pattern, string application)
: Pandora_Module (name) {
int i;
vector<wstring> query;
@ -93,6 +93,13 @@ Pandora_Module_Logchannel::Pandora_Module_Logchannel (string name, string source
query.push_back(ss.str());
}
// Set the application
if (application != "") {
wstringstream ss;
ss << L"*[System/Provider[@Name='" << application.c_str() << L"']]";
query.push_back(ss.str());
}
// Fill the filter
if (query.size() == 0) {
this->filter = L"*";
@ -579,4 +586,4 @@ Pandora_Module_Logchannel::GetMessageString(EVT_HANDLE hMetadata, EVT_HANDLE hEv
}
return pBuffer;
}
}

View File

@ -75,7 +75,7 @@ namespace Pandora_Modules {
LPWSTR GetMessageString(EVT_HANDLE hMetadata, EVT_HANDLE hEvent, EVT_FORMAT_MESSAGE_FLAGS FormatId);
public:
Pandora_Module_Logchannel (string name, string source, string type, string id, string pattern);
Pandora_Module_Logchannel (string name, string source, string type, string id, string pattern, string application);
void run ();
};
}

View File

@ -30,7 +30,7 @@ using namespace Pandora;
using namespace Pandora_Strutils;
#define PATH_SIZE _MAX_PATH+1
#define PANDORA_VERSION ("7.0NG.738(Build 190904)")
#define PANDORA_VERSION ("7.0NG.738(Build 190912)")
string pandora_path;
string pandora_dir;

View File

@ -11,7 +11,7 @@ BEGIN
VALUE "LegalCopyright", "Artica ST"
VALUE "OriginalFilename", "PandoraAgent.exe"
VALUE "ProductName", "Pandora FMS Windows Agent"
VALUE "ProductVersion", "(7.0NG.738(Build 190904))"
VALUE "ProductVersion", "(7.0NG.738(Build 190912))"
VALUE "FileVersion", "1.0.0.0"
END
END

View File

@ -1,5 +1,5 @@
package: pandorafms-console
Version: 7.0NG.738-190904
Version: 7.0NG.738-190912
Architecture: all
Priority: optional
Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
pandora_version="7.0NG.738-190904"
pandora_version="7.0NG.738-190912"
package_pear=0
package_pandora=1

View File

@ -44,24 +44,16 @@ $groups = groups_get_all();
// Add the All group to the beginning to be always the first
// Use this instead array_unshift to keep the array keys
$groups = ([0 => __('All')] + $groups);
$html = '';
$style = 'style="padding: 2px 10px; display: inline-block;"';
$groups_selected = [];
foreach ($groups as $id => $name) {
$checked = in_array($id, $file['groups']);
$all_checked = false;
if ($id === 0) {
$checkbox = html_print_checkbox_extended('groups[]', $id, $checked, false, '', 'class="chkb_all"', true);
$all_checked = $checked;
} else {
$checkbox = html_print_checkbox_extended('groups[]', $id, $checked, $all_checked, '', 'class="chkb_group"', true);
if (in_array($id, $file['groups'])) {
$groups_selected[] = $id;
}
$html .= "<div $style>$name&nbsp;$checkbox</div>";
}
$row = [];
$row[0] = __('Groups');
$row[1] = $html;
$row[1] = html_print_select($groups, 'groups[]', $groups_selected, '', '', '', true, true, '', '', '');
$table->data[] = $row;
$table->colspan[][1] = 3;

View File

@ -193,7 +193,7 @@ function files_repo_add_file($file_input_name='upfile', $description='', $groups
global $config;
$attachment_path = io_safe_output($config['attachment_store']);
$files_repo_path = $attachment_path.'/'.'files_repo';
$files_repo_path = $attachment_path.'/files_repo';
$result = [];
$result['status'] = false;

View File

@ -11,4 +11,8 @@ ALTER TABLE `tdatabase` ADD COLUMN `ssh_pubkey` TEXT;
UPDATE `tdatabase` set `label`=`host`;
COMMIT
UPDATE `tlayout_data` SET `height` = 70 , `width` = 70 WHERE `height` = 0 && `width` = 0 && image NOT LIKE '%dot%' && ((`type` IN (0,5)) ||
(`type` = 10 && `image` IS NOT NULL && `image` != '' && `image` != 'none') ||
(`type` = 11 && `image` IS NOT NULL && `image` != '' && `image` != 'none' && `show_statistics` = 0));
COMMIT;

View File

@ -1358,7 +1358,11 @@ if ($update_module || $create_module) {
$parent_module_id = (int) get_parameter('parent_module_id');
$ip_target = (string) get_parameter('ip_target');
if ($ip_target == '') {
// No autofill if the module is a webserver module.
if ($ip_target == ''
&& $id_module_type < MODULE_WEBSERVER_CHECK_LATENCY
&& $id_module_type > MODULE_WEBSERVER_RETRIEVE_STRING_DATA
) {
$ip_target = 'auto';
}
@ -1381,11 +1385,7 @@ if ($update_module || $create_module) {
$ff_type = (int) get_parameter('ff_type');
$each_ff = (int) get_parameter('each_ff');
$ff_timeout = (int) get_parameter('ff_timeout');
$unit = (string) get_parameter('unit_select');
if ($unit == 'none') {
$unit = (string) get_parameter('unit_text');
}
$unit = (string) get_parameter('unit');
$id_tag = (array) get_parameter('id_tag_selected');
$serialize_ops = (string) get_parameter('serialize_ops');
$critical_instructions = (string) get_parameter('critical_instructions');
@ -2107,8 +2107,7 @@ if ($delete_module) {
}
}
// MODULE DUPLICATION
// ==================.
// MODULE DUPLICATION.
if (!empty($duplicate_module)) {
// DUPLICATE agent module !
$id_duplicate_module = $duplicate_module;
@ -2154,8 +2153,46 @@ if (!empty($duplicate_module)) {
}
}
// UPDATE GIS
// ==========.
// MODULE ENABLE/DISABLE.
if ($enable_module) {
$result = modules_change_disabled($enable_module, 0);
$modulo_nombre = db_get_row_sql('SELECT nombre FROM tagente_modulo WHERE id_agente_modulo = '.$enable_module.'');
$modulo_nombre = $modulo_nombre['nombre'];
if ($result === NOERR) {
enterprise_hook('config_agents_enable_module_conf', [$id_agente, $enable_module]);
db_pandora_audit('Module management', 'Enable #'.$enable_module.' | '.$modulo_nombre.' | '.$agent['alias']);
} else {
db_pandora_audit('Module management', 'Fail to enable #'.$enable_module.' | '.$modulo_nombre.' | '.$agent['alias']);
}
ui_print_result_message(
$result,
__('Successfully enabled'),
__('Could not be enabled')
);
}
if ($disable_module) {
$result = modules_change_disabled($disable_module, 1);
$modulo_nombre = db_get_row_sql('SELECT nombre FROM tagente_modulo WHERE id_agente_modulo = '.$disable_module.'');
$modulo_nombre = $modulo_nombre['nombre'];
if ($result === NOERR) {
enterprise_hook('config_agents_disable_module_conf', [$id_agente, $disable_module]);
db_pandora_audit('Module management', 'Disable #'.$disable_module.' | '.$modulo_nombre.' | '.$agent['alias']);
} else {
db_pandora_audit('Module management', 'Fail to disable #'.$disable_module.' | '.$modulo_nombre.' | '.$agent['alias']);
}
ui_print_result_message(
$result,
__('Successfully disabled'),
__('Could not be disabled')
);
}
// UPDATE GIS.
$updateGIS = get_parameter('update_gis', 0);
if ($updateGIS) {
$updateGisData = get_parameter('update_gis_data');
@ -2243,8 +2280,11 @@ switch ($tab) {
break;
case 'alert':
// Because $id_agente is set, it will show only agent alerts.
// This var is for not display create button on alert list.
/*
* Because $id_agente is set, it will show only agent alerts
* This var is for not display create button on alert list
*/
$dont_display_alert_create_bttn = true;
include 'godmode/alerts/alert_list.php';
break;

View File

@ -443,6 +443,14 @@ ui_pagination($total_agents, "index.php?sec=gagente&sec2=godmode/agentes/modific
if ($agents !== false) {
// Urls to sort the table.
// Agent name size and description for Chinese and Japanese languages are adjusted
$agent_font_size = '7';
$description_font_size = '6.5';
if ($config['language'] == 'ja' || $config['language'] == 'zh_CN' || $own_info['language'] == 'ja' || $own_info['language'] == 'zh_CN') {
$agent_font_size = '15';
$description_font_size = '11';
}
$url_up_agente = 'index.php?sec=gagente&sec2=godmode/agentes/modificar_agente&group_id='.$ag_group.'&recursion='.$recursion.'&search='.$search.'&os='.$os.'&offset='.$offset.'&sort_field=name&sort=up&disabled=$disabled';
$url_down_agente = 'index.php?sec=gagente&sec2=godmode/agentes/modificar_agente&group_id='.$ag_group.'&recursion='.$recursion.'&search='.$search.'&os='.$os.'&offset='.$offset.'&sort_field=name&sort=down&disabled=$disabled';
$url_up_remote = 'index.php?sec=gagente&sec2=godmode/agentes/modificar_agente&group_id='.$ag_group.'&recursion='.$recursion.'&search='.$search.'&os='.$os.'&offset='.$offset.'&sort_field=remote&sort=up&disabled=$disabled';
@ -529,7 +537,7 @@ if ($agents !== false) {
} else {
echo '<a alt ='.$agent['nombre']." href='index.php?sec=gagente&
sec2=godmode/agentes/configurar_agente&tab=$main_tab&
id_agente=".$agent['id_agente']."'>".'<span style="font-size: 7pt" title="'.$agent['nombre'].'">'.$agent['alias'].'</span>'.'</a>';
id_agente=".$agent['id_agente']."'>".'<span style="font-size: '.$agent_font_size.'pt" title="'.$agent['nombre'].'">'.$agent['alias'].'</span>'.'</a>';
}
echo '</strong>';
@ -629,7 +637,7 @@ if ($agents !== false) {
// Group icon and name
echo "<td class='$tdcolor' align='left' valign='middle'>".ui_print_group_icon($agent['id_grupo'], true).'</td>';
// Description
echo "<td class='".$tdcolor."f9'>".ui_print_truncate_text($agent['comentarios'], 'description', true, true, true, '[&hellip;]', 'font-size: 6.5pt;').'</td>';
echo "<td class='".$tdcolor."f9'>".ui_print_truncate_text($agent['comentarios'], 'description', true, true, true, '[&hellip;]', 'font-size: '.$description_font_size.'pt;').'</td>';
// Action
// When there is only one element in page it's necesary go back page.
if ((count($agents) == 1) && ($offset >= $config['block_size'])) {

View File

@ -1930,11 +1930,7 @@ function process_manage_edit($module_name, $agents_select=null, $module_status='
case 'unit_select':
if ($value != -1) {
if ($value == 'none') {
$values['unit'] = (string) get_parameter('unit_text');
} else {
$values['unit'] = $value;
}
$values['unit'] = (string) get_parameter('unit');
}
break;

View File

@ -727,7 +727,7 @@ class ConsoleSupervisor
'type' => 'NOTIF.LICENSE.LIMITED',
'title' => __('Limited mode.'),
'message' => io_safe_output($config['limited_mode']),
'url' => 'index.php?sec=gsetup&sec2=godmode/setup/license',
'url' => ui_get_full_url('index.php?sec=gsetup&sec2=godmode/setup/license'),
]
);
} else {
@ -745,7 +745,7 @@ class ConsoleSupervisor
'Your license will expire in %d days. Please, contact our sales department.',
$days_to_expiry
),
'url' => 'index.php?sec=gsetup&sec2=godmode/setup/license',
'url' => ui_get_full_url('index.php?sec=gsetup&sec2=godmode/setup/license'),
]
);
} else if ($days_to_expiry < 0) {
@ -755,7 +755,7 @@ class ConsoleSupervisor
'type' => 'NOTIF.LICENSE.EXPIRATION',
'title' => __('Expired license'),
'message' => __('Your license has expired. Please, contact our sales department.'),
'url' => 'index.php?sec=gsetup&sec2=godmode/setup/license',
'url' => ui_get_full_url('index.php?sec=gsetup&sec2=godmode/setup/license'),
]
);
return false;
@ -832,7 +832,7 @@ class ConsoleSupervisor
'Directory %s is not writable. Please, configure corresponding permissions.',
$config['attachment_store']
),
'url' => 'index.php?sec=general&sec2=godmode/setup/setup&section=general',
'url' => ui_get_full_url('index.php?sec=general&sec2=godmode/setup/setup&section=general'),
]
);
return;
@ -854,7 +854,7 @@ class ConsoleSupervisor
'There are more than %d files in attachment, consider cleaning up attachment directory manually.',
$config['num_files_attachment']
),
'url' => 'index.php?sec=general&sec2=godmode/setup/setup&section=perf',
'url' => ui_get_full_url('index.php?sec=general&sec2=godmode/setup/setup&section=perf'),
]
);
} else {
@ -886,7 +886,7 @@ class ConsoleSupervisor
'Remote configuration directory %s is not readable. Please, adjust configuration.',
$config['remote_config']
),
'url' => 'index.php?sec=general&sec2=godmode/setup/setup&section=general',
'url' => ui_get_full_url('index.php?sec=general&sec2=godmode/setup/setup&section=general'),
]
);
return;
@ -905,7 +905,7 @@ class ConsoleSupervisor
'Remote configuration directory %s is not writable. Please, adjust configuration.',
$config['remote_config'].'/conf'
),
'url' => 'index.php?sec=general&sec2=godmode/setup/setup&section=general',
'url' => ui_get_full_url('index.php?sec=general&sec2=godmode/setup/setup&section=general'),
]
);
} else {
@ -923,7 +923,7 @@ class ConsoleSupervisor
'Collections directory %s is not writable. Please, adjust configuration.',
$config['remote_config'].'/collections'
),
'url' => 'index.php?sec=general&sec2=godmode/setup/setup&section=general',
'url' => ui_get_full_url('index.php?sec=general&sec2=godmode/setup/setup&section=general'),
]
);
} else {
@ -941,7 +941,7 @@ class ConsoleSupervisor
'MD5 directory %s is not writable. Please, adjust configuration.',
$config['remote_config'].'/md5'
),
'url' => 'index.php?sec=general&sec2=godmode/setup/setup&section=general',
'url' => ui_get_full_url('index.php?sec=general&sec2=godmode/setup/setup&section=general'),
]
);
} else {
@ -972,7 +972,7 @@ class ConsoleSupervisor
$MAX_FILES_DATA_IN,
$config['remote_config']
),
'url' => 'index.php?sec=general&sec2=godmode/setup/setup&section=perf',
'url' => ui_get_full_url('index.php?sec=general&sec2=godmode/setup/setup&section=perf'),
]
);
} else {
@ -995,7 +995,7 @@ class ConsoleSupervisor
$MAX_BADXML_FILES_DATA_IN,
$config['remote_config']
),
'url' => 'index.php?sec=general&sec2=godmode/setup/setup&section=perf',
'url' => ui_get_full_url('index.php?sec=general&sec2=godmode/setup/setup&section=perf'),
]
);
} else {
@ -1081,7 +1081,7 @@ class ConsoleSupervisor
$modules_queued,
$queue['queued_modules']
),
'url' => 'index.php?sec=gservers&sec2=godmode/servers/modificar_server&refr=60',
'url' => ui_get_full_url('index.php?sec=gservers&sec2=godmode/servers/modificar_server&refr=60'),
]
);
} else {
@ -1191,7 +1191,7 @@ class ConsoleSupervisor
'type' => 'NOTIF.SERVER.STATUS.'.$server['id_server'],
'title' => $msg,
'message' => $description,
'url' => 'index.php?sec=gservers&sec2=godmode/servers/modificar_server&refr=60',
'url' => ui_get_full_url('index.php?sec=gservers&sec2=godmode/servers/modificar_server&refr=60'),
]
);
}
@ -1499,7 +1499,7 @@ class ConsoleSupervisor
'type' => 'NOTIF.HISTORYDB',
'title' => __('Historical database not available'),
'message' => __('Historical database is enabled, though not accessible with the current configuration.'),
'url' => 'index.php?sec=general&sec2=godmode/setup/setup&section=hist_db',
'url' => ui_get_full_url('index.php?sec=general&sec2=godmode/setup/setup&section=hist_db'),
]
);
} else {
@ -1546,7 +1546,7 @@ class ConsoleSupervisor
'Your database hasn\'t been through maintenance for 48hrs. Please, check documentation on how to perform this maintenance process on %s and enable it as soon as possible.',
io_safe_output(get_product_name())
),
'url' => 'index.php?sec=general&sec2=godmode/setup/setup&section=perf',
'url' => ui_get_full_url('index.php?sec=general&sec2=godmode/setup/setup&section=perf'),
]
);
} else {
@ -1606,7 +1606,7 @@ class ConsoleSupervisor
'Historical database maintenance problem.'
),
'message' => __('Your historical database hasn\'t been through maintenance for 48hrs. Please, check documentation on how to perform this maintenance process on %s and enable it as soon as possible.', get_product_name()),
'url' => 'index.php?sec=general&sec2=godmode/setup/setup&section=perf',
'url' => ui_get_full_url('index.php?sec=general&sec2=godmode/setup/setup&section=perf'),
]
);
} else {
@ -1645,7 +1645,7 @@ class ConsoleSupervisor
'type' => 'NOTIF.HISTORYDB.MR',
'title' => __('Historical database MR mismatch'),
'message' => __('Your historical database is not using the same schema as the main DB. This could produce anomalies while storing historical data.'),
'url' => 'index.php?sec=general&sec2=godmode/setup/setup&section=hist_db',
'url' => ui_get_full_url('index.php?sec=general&sec2=godmode/setup/setup&section=hist_db'),
]
);
} else {
@ -1687,7 +1687,7 @@ class ConsoleSupervisor
'type' => 'NOTIF.EXT.ELASTICSEARCH',
'title' => __('Log collector cannot connect to ElasticSearch'),
'message' => __('ElasticSearch is not available using current configuration.'),
'url' => 'index.php?sec=general&sec2=godmode/setup/setup&section=log',
'url' => ui_get_full_url('index.php?sec=general&sec2=godmode/setup/setup&section=log'),
]
);
} else {
@ -1757,7 +1757,7 @@ class ConsoleSupervisor
'type' => 'NOTIF.METACONSOLE.DB_CONNECTION',
'title' => __('Metaconsole DB is not available.'),
'message' => __('Cannot connect with Metaconsole DB using current configuration.'),
'url' => 'index.php?sec=general&sec2=godmode/setup/setup&section=enterprise',
'url' => ui_get_full_url('index.php?sec=general&sec2=godmode/setup/setup&section=enterprise'),
]
);
}
@ -1786,7 +1786,7 @@ class ConsoleSupervisor
'type' => 'NOTIF.DOWNTIME',
'title' => __('Scheduled downtime running.'),
'message' => __('A scheduled downtime is running. Some monitoring data won\'t be available while downtime is taking place.'),
'url' => 'index.php?sec=gagente&sec2=godmode/agentes/planned_downtime.list',
'url' => ui_get_full_url('index.php?sec=gagente&sec2=godmode/agentes/planned_downtime.list'),
]
);
return;
@ -1947,7 +1947,7 @@ class ConsoleSupervisor
date('M j, G:i:s ', $next_downtime_begin),
date('M j, G:i:s ', $next_downtime_end)
),
'url' => 'index.php?sec=gagente&sec2=godmode/agentes/planned_downtime.list',
'url' => ui_get_full_url('index.php?sec=gagente&sec2=godmode/agentes/planned_downtime.list'),
]
);
return;
@ -2043,7 +2043,7 @@ class ConsoleSupervisor
'type' => 'NOTIF.SECURITY.DEFAULT_PASSWORD',
'title' => __('Default password for "Admin" user has not been changed'),
'message' => __('Please, change the default password since it is a commonly reported vulnerability.'),
'url' => 'index.php?sec=gusuarios&sec2=godmode/users/user_list',
'url' => ui_get_full_url('index.php?sec=gusuarios&sec2=godmode/users/user_list'),
]
);
} else {
@ -2069,7 +2069,7 @@ class ConsoleSupervisor
'type' => 'NOTIF.MISC.FONTPATH',
'title' => __('Default font doesn\'t exist'),
'message' => __('Your defined font doesn\'t exist or is not defined. Please, check font parameters in your config'),
'url' => 'index.php?sec=gsetup&sec2=godmode/setup/setup&section=vis',
'url' => ui_get_full_url('index.php?sec=gsetup&sec2=godmode/setup/setup&section=vis'),
]
);
} else {
@ -2096,7 +2096,7 @@ class ConsoleSupervisor
'Your %s has the "develop_bypass" mode enabled. This is a developer mode and should be disabled in a production environment. This value is located in the main index.php file',
get_product_name()
),
'url' => 'index.php',
'url' => ui_get_full_url('index.php'),
]
);
} else {
@ -2119,7 +2119,7 @@ class ConsoleSupervisor
'type' => 'NOTIF.MISC.EVENTSTORMPROTECTION',
'title' => __('Event storm protection is enabled.'),
'message' => __('Some events may get lost while this mode is enabled. The server must be restarted after altering this setting.'),
'url' => 'index.php?sec=gsetup&sec2=godmode/setup/setup&section=general',
'url' => ui_get_full_url('index.php?sec=gsetup&sec2=godmode/setup/setup&section=general'),
]
);
} else {
@ -2146,7 +2146,7 @@ class ConsoleSupervisor
'type' => 'NOTIF.UPDATEMANAGER.OPENSETUP',
'title' => __('Failed to retrieve updates, please configure utility'),
'message' => $message,
'url' => 'index.php?sec=gsetup&sec2=godmode/setup/setup&section=general',
'url' => ui_get_full_url('index.php?sec=gsetup&sec2=godmode/setup/setup&section=general'),
]
);
}
@ -2165,8 +2165,8 @@ class ConsoleSupervisor
'New %s Console update',
get_product_name()
),
'message' => __('There is a new update available. Please<a style="font-weight:bold;" href="index.php?sec=gsetup&sec2=godmode/update_manager/update_manager&tab=online"> go to Administration:Setup:Update Manager</a> for more details.'),
'url' => 'index.php?sec=gsetup&sec2=godmode/update_manager/update_manager&tab=online',
'message' => __('There is a new update available. Please<a style="font-weight:bold;" href="'.ui_get_full_url('index.php?sec=gsetup&sec2=godmode/update_manager/update_manager&tab=online').'"> go to Administration:Setup:Update Manager</a> for more details.'),
'url' => ui_get_full_url('index.php?sec=gsetup&sec2=godmode/update_manager/update_manager&tab=online'),
]
);
} else {
@ -2204,7 +2204,7 @@ class ConsoleSupervisor
'There is one or more minor releases available. <a style="font-size:8pt;font-style:italic;" target="blank" href="%s">.About minor release update</a>.',
$url
),
'url' => 'index.php?sec=messages&sec2=godmode/update_manager/update_manager&tab=online',
'url' => ui_get_full_url('index.php?sec=messages&sec2=godmode/update_manager/update_manager&tab=online'),
]
);
} else {
@ -2253,7 +2253,7 @@ class ConsoleSupervisor
'type' => 'NOTIF.CRON.CONFIGURED',
'title' => __('DiscoveryConsoleTasks is not configured.'),
'message' => __($message_conf_cron),
'url' => 'index.php?sec=gservers&sec2=godmode/servers/discovery&wiz=tasklist',
'url' => ui_get_full_url('index.php?sec=gservers&sec2=godmode/servers/discovery&wiz=tasklist'),
]
);
} else {

View File

@ -20,7 +20,7 @@
/**
* Pandora build version and version
*/
$build_version = 'PC190904';
$build_version = 'PC190912';
$pandora_version = 'v7.0NG.738';
// Do not overwrite default timezone set if defined.

View File

@ -355,6 +355,12 @@ define('MODULE_PREDICTION_CLUSTER', 5);
define('MODULE_PREDICTION_CLUSTER_AA', 6);
define('MODULE_PREDICTION_CLUSTER_AP', 7);
// Type of Webserver Modules.
define('MODULE_WEBSERVER_CHECK_LATENCY', 30);
define('MODULE_WEBSERVER_CHECK_SERVER_RESPONSE', 31);
define('MODULE_WEBSERVER_RETRIEVE_NUMERIC_DATA', 32);
define('MODULE_WEBSERVER_RETRIEVE_STRING_DATA', 33);
// SNMP CONSTANTS.
define('SNMP_DIR_MIBS', 'attachment/mibs');

View File

@ -2489,7 +2489,7 @@ function html_print_image(
if (!is_readable($working_dir.'/enterprise/meta'.$src)) {
if ($isExternalLink) {
$src = ui_get_full_url($src);
$src = ui_get_full_url($src, false, false, false);
} else {
$src = ui_get_full_url('../..'.$src);
}

View File

@ -3278,12 +3278,7 @@ function visual_map_get_color_line_status($layoutData)
*/
function visual_map_get_image_status_element($layoutData, $status=false)
{
$metaconsole_hack = '';
if (is_metaconsole()) {
$metaconsole_hack = '../../';
}
$img = $metaconsole_hack.'images/console/icons/'.$layoutData['image'];
$img = 'images/console/icons/'.$layoutData['image'];
if ($layoutData['type'] == 5) {
// ICON ELEMENT

View File

@ -91,6 +91,11 @@ function pandora_session_write($session_id, $data)
{
$session_id = addslashes($session_id);
// If it's an api call, the session must not be created.
if (get_parameter('op', false) && get_parameter('op2', false)) {
return true;
}
if (is_ajax()) {
// Avoid session upadte while processing ajax responses - notifications.
if (get_parameter('check_new_notifications', false)) {

View File

@ -291,21 +291,9 @@ final class Group extends Item
$width = (int) $data['width'];
$height = (int) $data['height'];
if ($width === 0 || $height === 0) {
// TODO: This will be the default behaviour after we finish the
// builder. Don't delete this code.
// $sizeImage = getimagesize($config['homedir'].'/'.$imagePath);
// $data['width'] = $sizeImage[0];
// $data['height'] = $sizeImage[1];
$sizeImage = getimagesize($config['homedir'].'/'.$imagePath);
$imageHeight = $sizeImage[1];
if ($width === 0) {
$data['width'] = 70;
}
if ($height === 0) {
$data['height'] = ($imageHeight > 70) ? 70 : $imageHeight;
}
$data['width'] = $sizeImage[0];
$data['height'] = $sizeImage[1];
}
$data['html'] = '<img src="'.$data['statusImageSrc'].'">';

View File

@ -120,21 +120,9 @@ final class Icon extends Item
$width = (int) $data['width'];
$height = (int) $data['height'];
if ($width === 0 || $height === 0) {
// TODO: This will be the default behaviour after we finish the
// builder. Don't delete this code.
// $sizeImage = getimagesize($config['homedir'].'/'.$imagePath);
// $data['width'] = $sizeImage[0];
// $data['height'] = $sizeImage[1];
$sizeImage = getimagesize($config['homedir'].'/'.$imagePath);
$imageHeight = $sizeImage[1];
if ($width === 0) {
$data['width'] = 70;
}
if ($height === 0) {
$data['height'] = ($imageHeight > 70) ? 70 : $imageHeight;
}
$data['width'] = $sizeImage[0];
$data['height'] = $sizeImage[1];
}
return $data;

View File

@ -184,23 +184,9 @@ final class StaticGraph extends Item
$width = (int) $data['width'];
$height = (int) $data['height'];
if ($width === 0 || $height === 0) {
// TODO: This will be the default behaviour after we finish the
// builder. Don't delete this code.
// $sizeImage = getimagesize($config['homedir'].'/'.$imagePath);
// $data['width'] = $sizeImage[0];
// $data['height'] = $sizeImage[1];
// Default value. Will be replaced by a dynamic image size
// calculation after the phase 3.
$sizeImage = getimagesize($config['homedir'].'/'.$imagePath);
$imageHeight = $sizeImage[1];
if ($width === 0) {
$data['width'] = 70;
}
if ($height === 0) {
$data['height'] = ($imageHeight > 70) ? 70 : $imageHeight;
}
$data['width'] = $sizeImage[0];
$data['height'] = $sizeImage[1];
}
// Get last value.

View File

@ -129,7 +129,7 @@
<div style='height: 10px'>
<?php
$version = '7.0NG.738';
$build = '190904';
$build = '190912';
$banner = "v$version Build $build";
error_reporting(0);

View File

@ -624,6 +624,13 @@ if (empty($agents)) {
$agents = [];
}
$agent_font_size = 'font-size: 7px';
$description_font_size = 'font-size: 6.5px';
if ($config['language'] == 'ja' || $config['language'] == 'zh_CN' || $own_info['language'] == 'ja' || $own_info['language'] == 'zh_CN') {
$agent_font_size = 'font-size: 15px';
$description_font_size = 'font-size: 11px';
}
// Urls to sort the table.
$url_up_agente = 'index.php?sec=view&amp;sec2=operation/agentes/estado_agente&amp;refr='.$refr.'&amp;offset='.$offset.'&amp;group_id='.$group_id.'&amp;recursion='.$recursion.'&amp;search='.$search.'&amp;status='.$status.'&amp;sort_field=name&amp;sort=up';
$url_down_agente = 'index.php?sec=view&amp;sec2=operation/agentes/estado_agente&amp;refr='.$refr.'&amp;offset='.$offset.'&amp;group_id='.$group_id.'&amp;recursion='.$recursion.'&amp;search='.$search.'&amp;status='.$status.'&amp;sort_field=name&amp;sort=down';
@ -739,7 +746,7 @@ foreach ($agents as $agent) {
$data[0] = '<div class="left_'.$agent['id_agente'].'">';
$data[0] .= '<span>';
$data[0] .= '<a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$agent['id_agente'].'"> <span style="font-size: 7pt;font-weight:bold" title ="'.$agent['nombre'].'">'.$agent['alias'].'</span></a>';
$data[0] .= '<a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$agent['id_agente'].'"> <span style="'.$agent_font_size.';font-weight:bold" title ="'.$agent['nombre'].'">'.$agent['alias'].'</span></a>';
$data[0] .= '</span>';
if ($agent['quiet']) {
@ -772,7 +779,7 @@ foreach ($agents as $agent) {
$data[0] .= '</div></div>';
$data[1] = ui_print_truncate_text($agent['description'], 'description', false, true, true, '[&hellip;]', 'font-size: 6.5pt');
$data[1] = ui_print_truncate_text($agent['description'], 'description', false, true, true, '[&hellip;]', $description_font_size);
$data[10] = '';

View File

@ -1031,15 +1031,14 @@ $adv_inputs[] = $in;
// Only alert events.
$data = html_print_select(
[
'-1' => __('All'),
'0' => __('Filter alert events'),
'1' => __('Only alert events'),
'0' => __('Filter alert events'),
'1' => __('Only alert events'),
],
'filter_only_alert',
$filter_only_alert,
'',
'',
'',
__('All'),
-1,
true
);
$in = '<div class="filter_input"><label>'.__('Alert events').'</label>';

View File

@ -155,7 +155,7 @@ foreach ($traps_generated_by_source as $trap) {
$row['source'] = '<a href="index.php?sec=estado&sec2=godmode/agentes/configurar_agente&new_agent=1&direccion='.$trap['source'].'" title="'.__('Create agent').'">'.$trap['source'].'</a>';
} else {
$agent_id = $agent['id_agente'];
$agent_name = ui_print_truncate_text($agent['nombre'], 'agent_medium', true, true, true, '[&hellip;]', '');
$agent_name = ui_print_truncate_text($agent['alias'], 'agent_medium', true, true, true, '[&hellip;]', '');
$row['source'] = "<a href=\"index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente=$agent_id\" title=\"".__('View agent details').'">';
$row['source'] .= "<strong>$agent_name</strong></a>";
}

View File

@ -40,6 +40,9 @@ ob_start('ui_process_page_head');
// Enterprise main
enterprise_include('index.php');
$url_css = ui_get_full_url('include/styles/visual_maps.css', false, false, false);
echo '<link rel="stylesheet" href="'.$url_css.'" type="text/css" />';
require_once 'include/functions_visual_map.php';
$hash = get_parameter('hash');
@ -96,31 +99,40 @@ if ($layout) {
echo '<div id="vc-container"></div>';
}
// Floating menu - Start
// Floating menu - Start.
echo '<div id="vc-controls" style="z-index:300;">';
echo '<div id="menu_tab">';
echo '<ul class="mn">';
echo '<ul class="mn white-box-content box-shadow flex-row">';
// QR code
// QR code.
echo '<li class="nomn">';
echo '<a href="javascript: show_dialog_qrcode();">';
echo '<img class="vc-qr" src="../../images/qrcode_icon_2.jpg"/>';
echo '</a>';
echo '</li>';
// Countdown
// Countdown.
echo '<li class="nomn">';
echo '<div class="vc-refr">';
echo '<div class="vc-countdown"></div>';
echo '<div id="vc-refr-form">';
echo __('Refresh').':';
echo html_print_select(get_refresh_time_array(), 'refr', $refr, '', '', 0, true, false, false);
echo html_print_select(
get_refresh_time_array(),
'vc-refr',
$refr,
'',
'',
0,
true,
false,
false
);
echo '</div>';
echo '</div>';
echo '</li>';
// Console name
// Console name.
echo '<li class="nomn">';
echo '<div class="vc-title">'.$layout_name.'</div>';
echo '</li>';
@ -129,15 +141,15 @@ echo '</ul>';
echo '</div>';
echo '</div>';
// Floating menu - End
// QR code dialog
// QR code dialog.
echo '<div style="display: none;" id="qrcode_container" title="'.__('QR code of the page').'">';
echo '<div id="qrcode_container_image"></div>';
echo '</div>';
ui_require_jquery_file('countdown');
ui_require_javascript_file('wz_jsgraphics');
ui_require_javascript_file('pandora_visual_console');
ui_require_jquery_file('countdown', 'include/javascript/', true);
ui_require_javascript_file('wz_jsgraphics', 'include/javascript/', true);
ui_require_javascript_file('pandora_visual_console', 'include/javascript/', true);
$ignored_params['refr'] = '';
?>

View File

@ -42,6 +42,9 @@ ob_start('ui_process_page_head');
// Enterprise main.
enterprise_include('index.php');
$url_css = ui_get_full_url('include/styles/visual_maps.css', false, false, false);
echo '<link rel="stylesheet" href="'.$url_css.'" type="text/css" />';
require_once 'include/functions_visual_map.php';
$hash = (string) get_parameter('hash');
@ -134,7 +137,7 @@ if (!users_can_manage_group_all('AR')) {
}
$ignored_params['refr'] = '';
ui_require_javascript_file('pandora_visual_console');
ui_require_javascript_file('pandora_visual_console', 'include/javascript/', true);
include_javascript_d3();
visual_map_load_client_resources();
@ -157,6 +160,10 @@ $visualConsoleItems = VisualConsole::getItemsFromDB(
var props = <?php echo (string) $visualConsole; ?>;
var items = <?php echo '['.implode($visualConsoleItems, ',').']'; ?>;
var baseUrl = "<?php echo ui_get_full_url('/', false, false, false); ?>";
var controls = document.getElementById('vc-controls');
autoHideElement(controls, 1000);
var handleUpdate = function (prevProps, newProps) {
if (!newProps) return;

View File

@ -3,7 +3,7 @@
#
%define name pandorafms_console
%define version 7.0NG.738
%define release 190904
%define release 190912
# User and Group under which Apache is running
%define httpd_name httpd

View File

@ -3,7 +3,7 @@
#
%define name pandorafms_console
%define version 7.0NG.738
%define release 190904
%define release 190912
# User and Group under which Apache is running
%define httpd_name httpd

View File

@ -3,7 +3,7 @@
#
%define name pandorafms_console
%define version 7.0NG.738
%define release 190904
%define release 190912
%define httpd_name httpd
# User and Group under which Apache is running
%define httpd_name apache2

View File

@ -1,5 +1,5 @@
package: pandorafms-server
Version: 7.0NG.738-190904
Version: 7.0NG.738-190912
Architecture: all
Priority: optional
Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
pandora_version="7.0NG.738-190904"
pandora_version="7.0NG.738-190912"
package_cpan=0
package_pandora=1

View File

@ -45,7 +45,7 @@ our @EXPORT = qw(
# version: Defines actual version of Pandora Server for this module only
my $pandora_version = "7.0NG.738";
my $pandora_build = "190904";
my $pandora_build = "190912";
our $VERSION = $pandora_version." ".$pandora_build;
# Setup hash

View File

@ -32,7 +32,7 @@ our @ISA = qw(Exporter);
# version: Defines actual version of Pandora Server for this module only
my $pandora_version = "7.0NG.738";
my $pandora_build = "190904";
my $pandora_build = "190912";
our $VERSION = $pandora_version." ".$pandora_build;
our %EXPORT_TAGS = ( 'all' => [ qw() ] );

View File

@ -3,7 +3,7 @@
#
%define name pandorafms_server
%define version 7.0NG.738
%define release 190904
%define release 190912
Summary: Pandora FMS Server
Name: %{name}

View File

@ -3,7 +3,7 @@
#
%define name pandorafms_server
%define version 7.0NG.738
%define release 190904
%define release 190912
Summary: Pandora FMS Server
Name: %{name}

View File

@ -9,7 +9,7 @@
# **********************************************************************
PI_VERSION="7.0NG.738"
PI_BUILD="190904"
PI_BUILD="190912"
MODE=$1
if [ $# -gt 1 ]; then

View File

@ -34,7 +34,7 @@ use PandoraFMS::Config;
use PandoraFMS::DB;
# version: define current version
my $version = "7.0NG.738 PS190904";
my $version = "7.0NG.738 PS190912";
# Pandora server configuration
my %conf;
@ -136,7 +136,7 @@ sub pandora_purgedb ($$) {
pandora_delete_old_export_data ($dbh, $ulimit_timestamp);
# Delete sessions data
pandora_delete_old_session_data ($dbh, $ulimit_timestamp);
pandora_delete_old_session_data (\%conf, $dbh, $ulimit_timestamp);
# Delete old inventory data
@ -678,6 +678,7 @@ sub pandora_load_config_pdb ($) {
$conf->{'_netflow_nfexpire'} = get_db_value ($dbh, "SELECT value FROM tconfig WHERE token = 'netflow_nfexpire'");
$conf->{'_netflow_path'} = get_db_value ($dbh, "SELECT value FROM tconfig WHERE token = 'netflow_path'");
$conf->{'_delete_notinit'} = get_db_value ($dbh, "SELECT value FROM tconfig WHERE token = 'delete_notinit'");
$conf->{'_session_timeout'} = get_db_value ($dbh, "SELECT value FROM tconfig WHERE token = 'session_timeout'");
$conf->{'_big_operation_step_datos_purge'} = get_db_value ($dbh, "SELECT value FROM tconfig WHERE token = 'big_operation_step_datos_purge'");
$conf->{'_small_operation_step_datos_purge'} = get_db_value ($dbh, "SELECT value FROM tconfig WHERE token = 'small_operation_step_datos_purge'");
@ -990,12 +991,28 @@ sub pandora_delete_old_export_data {
# Delete old session data.
##############################################################################
sub pandora_delete_old_session_data {
my ($dbh, $ulimit_timestamp) = @_;
my ($conf, $dbh, $ulimit_timestamp) = @_;
my $session_timeout = $conf->{'_session_timeout'};
if ($session_timeout ne '') {
if ($session_timeout == -1) {
# The session expires in 10 years
$session_timeout = 315576000;
} else {
$session_timeout *= 60;
}
$ulimit_timestamp = time() - $session_timeout;
}
log_message ('PURGE', "Deleting old session data from tsessions_php\n");
while(db_delete_limit ($dbh, 'tsessions_php', 'last_active < ?', $SMALL_OPERATION_STEP, $ulimit_timestamp) ne '0E0') {
usleep (10000);
};
db_do ($dbh, "DELETE FROM tsessions_php WHERE
data IS NULL OR id_session REGEXP '^cron-'");
}
###############################################################################

View File

@ -36,7 +36,7 @@ use Encode::Locale;
Encode::Locale::decode_argv;
# version: define current version
my $version = "7.0NG.738 PS190904";
my $version = "7.0NG.738 PS190912";
# save program name for logging
my $progname = basename($0);