mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-28 08:14:38 +02:00
2014-07-24 Miguel de Dios <miguel.dedios@artica.es>
* operation/snmpconsole/snmp_view.php, operation/events/events_list.php, operation/incidents/incident.php, extensions/files_repo.php, extensions/files_repo/sql/files_repo.postgreSQL.sql, extensions/files_repo/functions_files_repo.php, extensions/files_repo/files_repo_list.php, godmode/agentes/modificar_agente.php, godmode/snmpconsole/snmp_alert.php, godmode/db/db_info.php, include/functions_graph.php, include/functions_db.php, include/db/postgresql.php, include/db/oracle.php, include/db/mysql.php, include/functions_update_manager.php, include/functions_events.php, include/graphs/functions_flot.php, include/graphs/fgraph.php: tiny fixes for the improve the support of postgreSQL databases. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@10354 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
4afc69698e
commit
d11b4d0cb3
@ -1,3 +1,20 @@
|
|||||||
|
2014-07-24 Miguel de Dios <miguel.dedios@artica.es>
|
||||||
|
|
||||||
|
* operation/snmpconsole/snmp_view.php,
|
||||||
|
operation/events/events_list.php, operation/incidents/incident.php,
|
||||||
|
extensions/files_repo.php,
|
||||||
|
extensions/files_repo/sql/files_repo.postgreSQL.sql,
|
||||||
|
extensions/files_repo/functions_files_repo.php,
|
||||||
|
extensions/files_repo/files_repo_list.php,
|
||||||
|
godmode/agentes/modificar_agente.php,
|
||||||
|
godmode/snmpconsole/snmp_alert.php, godmode/db/db_info.php,
|
||||||
|
include/functions_graph.php, include/functions_db.php,
|
||||||
|
include/db/postgresql.php, include/db/oracle.php,
|
||||||
|
include/db/mysql.php, include/functions_update_manager.php,
|
||||||
|
include/functions_events.php, include/graphs/functions_flot.php,
|
||||||
|
include/graphs/fgraph.php: tiny fixes for the improve the support of
|
||||||
|
postgreSQL databases.
|
||||||
|
|
||||||
2014-07-23 Miguel de Dios <miguel.dedios@artica.es>
|
2014-07-23 Miguel de Dios <miguel.dedios@artica.es>
|
||||||
|
|
||||||
* extensions/module_groups.php, extensions/agents_alerts.php,
|
* extensions/module_groups.php, extensions/agents_alerts.php,
|
||||||
|
@ -18,12 +18,14 @@
|
|||||||
function pandora_files_repo_install () {
|
function pandora_files_repo_install () {
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
|
|
||||||
if (isset($config['files_repo_installed'])) {
|
if (isset($config['files_repo_installed'])) {
|
||||||
if ($config['files_repo_installed'] == 1) {
|
if ($config['files_repo_installed'] == 1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$full_extensions_dir = $config['homedir']."/".EXTENSIONS_DIR."/";
|
$full_extensions_dir = $config['homedir']."/".EXTENSIONS_DIR."/";
|
||||||
$full_sql_dir = $full_extensions_dir."files_repo/sql/";
|
$full_sql_dir = $full_extensions_dir."files_repo/sql/";
|
||||||
|
|
||||||
@ -40,6 +42,7 @@ function pandora_files_repo_install () {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
foreach ($sentences as $sentence) {
|
foreach ($sentences as $sentence) {
|
||||||
if (trim ($sentence) == "")
|
if (trim ($sentence) == "")
|
||||||
continue;
|
continue;
|
||||||
@ -61,22 +64,22 @@ function pandora_files_repo_uninstall () {
|
|||||||
|
|
||||||
switch ($config["dbtype"]) {
|
switch ($config["dbtype"]) {
|
||||||
case "mysql":
|
case "mysql":
|
||||||
db_process_sql ('DROP TABLE `tfiles_repo_group`');
|
db_process_sql('DROP TABLE `tfiles_repo_group`');
|
||||||
db_process_sql ('DROP TABLE `tfiles_repo`');
|
db_process_sql('DROP TABLE `tfiles_repo`');
|
||||||
db_process_sql ('DELETE FROM `tconfig`
|
db_process_sql('DELETE FROM `tconfig`
|
||||||
WHERE `token` LIKE "files_repo_%"');
|
WHERE `token` LIKE "files_repo_%"');
|
||||||
break;
|
break;
|
||||||
case "postgresql":
|
case "postgresql":
|
||||||
db_process_sql ('DROP TABLE `tfiles_repo_group`');
|
db_process_sql('DROP TABLE "tfiles_repo_group"');
|
||||||
db_process_sql ('DROP TABLE `tfiles_repo`');
|
db_process_sql('DROP TABLE "tfiles_repo"');
|
||||||
db_process_sql ('DELETE FROM "tconfig"
|
db_process_sql('DELETE FROM "tconfig"
|
||||||
WHERE "token" LIKE \'files_repo_%\'');
|
WHERE "token" LIKE \'files_repo_%\'');
|
||||||
break;
|
break;
|
||||||
case "oracle":
|
case "oracle":
|
||||||
db_process_sql ('DROP TABLE `tfiles_repo_group`');
|
db_process_sql('DROP TABLE "tfiles_repo_group"');
|
||||||
db_process_sql ('DROP TABLE `tfiles_repo`');
|
db_process_sql('DROP TABLE "tfiles_repo"');
|
||||||
db_process_sql ('DELETE FROM tconfig
|
db_process_sql('DELETE FROM tconfig
|
||||||
WHERE token LIKE \'files_repo_%\'');
|
WHERE token LIKE \'files_repo_%\'');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,11 +89,11 @@ function pandora_files_repo_uninstall () {
|
|||||||
|
|
||||||
function pandora_files_repo_godmode () {
|
function pandora_files_repo_godmode () {
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
if (!isset($config['files_repo_installed']) || !$config['files_repo_installed']) {
|
if (!isset($config['files_repo_installed']) || !$config['files_repo_installed']) {
|
||||||
ui_print_error_message(__('Extension not installed'));
|
ui_print_error_message(__('Extension not installed'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// ACL Check
|
// ACL Check
|
||||||
check_login ();
|
check_login ();
|
||||||
if (! check_acl ($config['id_user'], 0, "PM")) {
|
if (! check_acl ($config['id_user'], 0, "PM")) {
|
||||||
@ -98,37 +101,41 @@ function pandora_files_repo_godmode () {
|
|||||||
require ("general/noaccess.php");
|
require ("general/noaccess.php");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Header tabs
|
// Header tabs
|
||||||
$godmode['text'] = '<a href="index.php?sec=gextensions&sec2=extensions/files_repo">'
|
$godmode['text'] = '<a href="index.php?sec=gextensions&sec2=extensions/files_repo">'
|
||||||
. html_print_image ("images/setup.png", true, array ("title" => __('Administration view')))
|
. html_print_image ("images/setup.png", true, array ("title" => __('Administration view')))
|
||||||
. "</a>";
|
. "</a>";
|
||||||
$godmode['godmode'] = 1;
|
$godmode['godmode'] = 1;
|
||||||
$godmode['active'] = 1;
|
$godmode['active'] = 1;
|
||||||
|
|
||||||
$operation['text'] = '<a href="index.php?sec=extensions&sec2=extensions/files_repo">'
|
$operation['text'] = '<a href="index.php?sec=extensions&sec2=extensions/files_repo">'
|
||||||
. html_print_image ("images/operation.png", true, array ("title" => __('Operation view')))
|
. html_print_image ("images/operation.png", true, array ("title" => __('Operation view')))
|
||||||
. "</a>";
|
. "</a>";
|
||||||
$operation['operation'] = 1;
|
$operation['operation'] = 1;
|
||||||
|
|
||||||
$onheader = array('godmode' => $godmode, 'operation' => $operation);
|
$onheader = array('godmode' => $godmode, 'operation' => $operation);
|
||||||
// Header
|
// Header
|
||||||
ui_print_page_header (__("Files repository manager"), "images/extensions.png", false, "", true, $onheader);
|
ui_print_page_header (__("Files repository manager"), "images/extensions.png", false, "", true, $onheader);
|
||||||
|
|
||||||
$full_extensions_dir = $config['homedir']."/".EXTENSIONS_DIR."/";
|
$full_extensions_dir = $config['homedir']."/".EXTENSIONS_DIR."/";
|
||||||
require_once ($full_extensions_dir."files_repo/functions_files_repo.php");
|
require_once ($full_extensions_dir . "files_repo/functions_files_repo.php");
|
||||||
|
|
||||||
// Directory files_repo check
|
// Directory files_repo check
|
||||||
if (!files_repo_check_directory(true)) {
|
if (!files_repo_check_directory(true)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$server_content_length = 0;
|
||||||
|
if (isset($_SERVER['CONTENT_LENGTH']))
|
||||||
|
$server_content_length = $_SERVER['CONTENT_LENGTH'];
|
||||||
|
|
||||||
// Check for an anoying error that causes the $_POST and $_FILES arrays
|
// Check for an anoying error that causes the $_POST and $_FILES arrays
|
||||||
// were empty if the file is larger than the post_max_size
|
// were empty if the file is larger than the post_max_size
|
||||||
if (intval($_SERVER['CONTENT_LENGTH']) > 0 && empty($_POST)) {
|
if (intval($server_content_length) > 0 && empty($_POST)) {
|
||||||
ui_print_error_message(__('The file exceeds the maximum size'));
|
ui_print_error_message(__('The file exceeds the maximum size'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// GET and POST parameters
|
// GET and POST parameters
|
||||||
$file_id = (int) get_parameter ("file_id");
|
$file_id = (int) get_parameter ("file_id");
|
||||||
$add_file = (bool) get_parameter ("add_file");
|
$add_file = (bool) get_parameter ("add_file");
|
||||||
@ -144,7 +151,7 @@ function pandora_files_repo_godmode () {
|
|||||||
$description = mb_substr($description, 0, 200, "UTF-8");
|
$description = mb_substr($description, 0, 200, "UTF-8");
|
||||||
}
|
}
|
||||||
$description = io_safe_input($description);
|
$description = io_safe_input($description);
|
||||||
|
|
||||||
if ($add_file) {
|
if ($add_file) {
|
||||||
$result = files_repo_add_file("upfile", $description, $groups, $public);
|
$result = files_repo_add_file("upfile", $description, $groups, $public);
|
||||||
} elseif ($update_file) {
|
} elseif ($update_file) {
|
||||||
@ -163,7 +170,7 @@ function pandora_files_repo_godmode () {
|
|||||||
}
|
}
|
||||||
$file_id = 0;
|
$file_id = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FORM
|
// FORM
|
||||||
require ($full_extensions_dir."files_repo/files_repo_form.php");
|
require ($full_extensions_dir."files_repo/files_repo_form.php");
|
||||||
if (!$file_id) {
|
if (!$file_id) {
|
||||||
@ -175,7 +182,7 @@ function pandora_files_repo_godmode () {
|
|||||||
|
|
||||||
function pandora_files_repo_operation () {
|
function pandora_files_repo_operation () {
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
// Header tabs
|
// Header tabs
|
||||||
$onheader = array();
|
$onheader = array();
|
||||||
if (check_acl($config['id_user'], 0, "PM")) {
|
if (check_acl($config['id_user'], 0, "PM")) {
|
||||||
@ -194,18 +201,19 @@ function pandora_files_repo_operation () {
|
|||||||
}
|
}
|
||||||
// Header
|
// Header
|
||||||
ui_print_page_header (__("Files repository"), "images/extensions.png", false, "", false, $onheader);
|
ui_print_page_header (__("Files repository"), "images/extensions.png", false, "", false, $onheader);
|
||||||
|
|
||||||
$full_extensions_dir = $config['homedir']."/".EXTENSIONS_DIR."/";
|
$full_extensions_dir = $config['homedir']."/".EXTENSIONS_DIR."/";
|
||||||
require_once ($full_extensions_dir."files_repo/functions_files_repo.php");
|
require_once ($full_extensions_dir."files_repo/functions_files_repo.php");
|
||||||
|
|
||||||
// Directory files_repo check
|
// Directory files_repo check
|
||||||
if (!files_repo_check_directory(true)) {
|
if (!files_repo_check_directory(true)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// LIST
|
// LIST
|
||||||
$full_extensions_dir = $config['homedir']."/".EXTENSIONS_DIR."/";
|
$full_extensions_dir = $config['homedir']."/".EXTENSIONS_DIR."/";
|
||||||
require ($full_extensions_dir."files_repo/files_repo_list.php");
|
|
||||||
|
require ($full_extensions_dir . "files_repo/files_repo_list.php");
|
||||||
}
|
}
|
||||||
|
|
||||||
extensions_add_operation_menu_option(__('Files repository'), null, null, "v1r1");
|
extensions_add_operation_menu_option(__('Files repository'), null, null, "v1r1");
|
||||||
|
@ -17,16 +17,19 @@
|
|||||||
|
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
$full_extensions_dir = $config['homedir']."/".EXTENSIONS_DIR."/";
|
$full_extensions_dir = $config['homedir'] . "/" . EXTENSIONS_DIR . "/";
|
||||||
require_once ($full_extensions_dir."files_repo/functions_files_repo.php");
|
require_once ($full_extensions_dir .
|
||||||
|
"files_repo/functions_files_repo.php");
|
||||||
|
|
||||||
$offset = (int) get_parameter('offset');
|
$offset = (int) get_parameter('offset');
|
||||||
$filter = array();
|
$filter = array();
|
||||||
$filter['limit'] = $config['block_size'];
|
$filter['limit'] = $config['block_size'];
|
||||||
$filter['offset'] = $offset;
|
$filter['offset'] = $offset;
|
||||||
$filter['order'] = array('field' => 'id', 'order' => 'DESC');
|
$filter['order'] = array('field' => 'id', 'order' => 'DESC');
|
||||||
|
|
||||||
$files = files_repo_get_files($filter);
|
$files = files_repo_get_files($filter);
|
||||||
|
|
||||||
|
|
||||||
if (!empty($files)) {
|
if (!empty($files)) {
|
||||||
|
|
||||||
echo "<br>";
|
echo "<br>";
|
||||||
|
@ -125,31 +125,33 @@ function files_repo_get_user_groups ($user_id) {
|
|||||||
|
|
||||||
function files_repo_get_files ($filter = false, $count = false) {
|
function files_repo_get_files ($filter = false, $count = false) {
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
// Don't use the realpath for the download links!
|
// Don't use the realpath for the download links!
|
||||||
$files_repo_path = io_safe_output($config['attachment_store'])."/files_repo";
|
$files_repo_path = io_safe_output($config['attachment_store'])."/files_repo";
|
||||||
|
|
||||||
$sql = "SELECT * FROM tfiles_repo " . db_format_array_where_clause_sql($filter, "AND", "WHERE");
|
$sql = "SELECT *
|
||||||
|
FROM tfiles_repo
|
||||||
|
" . db_format_array_where_clause_sql($filter, "AND", "WHERE");
|
||||||
$files = db_get_all_rows_sql($sql);
|
$files = db_get_all_rows_sql($sql);
|
||||||
|
|
||||||
if ($files === false)
|
if ($files === false)
|
||||||
$files = array();
|
$files = array();
|
||||||
|
|
||||||
$user_groups = files_repo_get_user_groups($config['id_user']);
|
$user_groups = files_repo_get_user_groups($config['id_user']);
|
||||||
|
|
||||||
$files_data = array();
|
$files_data = array();
|
||||||
foreach ($files as $file) {
|
foreach ($files as $file) {
|
||||||
|
|
||||||
$file_groups = files_repo_get_file_groups($file['id']);
|
$file_groups = files_repo_get_file_groups($file['id']);
|
||||||
$permission = files_repo_check_file_acl ($file['id'], $config['id_user'], $file_groups, $user_groups);
|
$permission = files_repo_check_file_acl ($file['id'], $config['id_user'], $file_groups, $user_groups);
|
||||||
if (!$permission) {
|
if (!$permission) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = array();
|
$data = array();
|
||||||
$data['name'] = $file['name'];
|
$data['name'] = $file['name'];
|
||||||
$data['description'] = $file['description'];
|
$data['description'] = $file['description'];
|
||||||
$data['location'] = $files_repo_path."/".$file['id']."_".$data['name'];
|
$data['location'] = $files_repo_path . "/" . $file['id']."_".$data['name'];
|
||||||
// Size in bytes
|
// Size in bytes
|
||||||
$data['size'] = filesize($data['location']);
|
$data['size'] = filesize($data['location']);
|
||||||
// Last modification time in unix timestamp
|
// Last modification time in unix timestamp
|
||||||
@ -158,7 +160,7 @@ function files_repo_get_files ($filter = false, $count = false) {
|
|||||||
$data['hash'] = $file['hash'];
|
$data['hash'] = $file['hash'];
|
||||||
$files_data[$file['id']] = $data;
|
$files_data[$file['id']] = $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($count) {
|
if ($count) {
|
||||||
$files_data = count($files_data);
|
$files_data = count($files_data);
|
||||||
}
|
}
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
CREATE TABLE IF NOT EXISTS "tfiles_repo" ("id" SERIAL NOT NULL PRIMARY KEY, "name" VARCHAR(255) NOT NULL, "description" VARCHAR(500) NULL default '', "hash" VARCHAR(8) NULL default '');
|
CREATE TABLE "tfiles_repo" ("id" SERIAL NOT NULL PRIMARY KEY, "name" VARCHAR(255) NOT NULL, "description" VARCHAR(500) NULL default '', "hash" VARCHAR(8) NULL default '');
|
||||||
CREATE TABLE IF NOT EXISTS "tfiles_repo_group" ("id" SERIAL NOT NULL PRIMARY KEY, "id_file" INTEGER NOT NULL REFERENCES tfiles_repo("id") ON DELETE CASCADE, "id_group" INTEGER NOT NULL);
|
CREATE TABLE "tfiles_repo_group" ("id" SERIAL NOT NULL PRIMARY KEY, "id_file" INTEGER NOT NULL REFERENCES tfiles_repo("id") ON DELETE CASCADE, "id_group" INTEGER NOT NULL);
|
||||||
|
@ -161,6 +161,17 @@ echo "</form>";
|
|||||||
echo "</div>";
|
echo "</div>";
|
||||||
|
|
||||||
|
|
||||||
|
$order_collation = "";
|
||||||
|
switch ($config["dbtype"]) {
|
||||||
|
case "mysql":
|
||||||
|
$order_collation = "COLLATE utf8_general_ci";
|
||||||
|
break;
|
||||||
|
case "postgresql":
|
||||||
|
case "oracle":
|
||||||
|
$order_collation = "";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
$selected = 'border: 1px solid black;';
|
$selected = 'border: 1px solid black;';
|
||||||
$selectNameUp = '';
|
$selectNameUp = '';
|
||||||
$selectNameDown = '';
|
$selectNameDown = '';
|
||||||
@ -173,14 +184,14 @@ switch ($sortField) {
|
|||||||
switch ($sort) {
|
switch ($sort) {
|
||||||
case 'up':
|
case 'up':
|
||||||
$selectNameUp = $selected;
|
$selectNameUp = $selected;
|
||||||
$order = array('field' => 'nombre COLLATE utf8_general_ci',
|
$order = array('field' => 'nombre ' . $order_collation,
|
||||||
'field2' => 'nombre COLLATE utf8_general_ci',
|
'field2' => 'nombre ' . $order_collation,
|
||||||
'order' => 'ASC');
|
'order' => 'ASC');
|
||||||
break;
|
break;
|
||||||
case 'down':
|
case 'down':
|
||||||
$selectNameDown = $selected;
|
$selectNameDown = $selected;
|
||||||
$order = array('field' => 'nombre COLLATE utf8_general_ci',
|
$order = array('field' => 'nombre ' . $order_collation,
|
||||||
'field2' => 'nombre COLLATE utf8_general_ci',
|
'field2' => 'nombre ' . $order_collation,
|
||||||
'order' => 'DESC');
|
'order' => 'DESC');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -190,13 +201,13 @@ switch ($sortField) {
|
|||||||
case 'up':
|
case 'up':
|
||||||
$selectOsUp = $selected;
|
$selectOsUp = $selected;
|
||||||
$order = array('field' => 'id_os',
|
$order = array('field' => 'id_os',
|
||||||
'field2' => 'nombre COLLATE utf8_general_ci',
|
'field2' => 'nombre ' . $order_collation,
|
||||||
'order' => 'ASC');
|
'order' => 'ASC');
|
||||||
break;
|
break;
|
||||||
case 'down':
|
case 'down':
|
||||||
$selectOsDown = $selected;
|
$selectOsDown = $selected;
|
||||||
$order = array('field' => 'id_os',
|
$order = array('field' => 'id_os',
|
||||||
'field2' => 'nombre COLLATE utf8_general_ci',
|
'field2' => 'nombre ' . $order_collation,
|
||||||
'order' => 'DESC');
|
'order' => 'DESC');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -206,13 +217,13 @@ switch ($sortField) {
|
|||||||
case 'up':
|
case 'up':
|
||||||
$selectGroupUp = $selected;
|
$selectGroupUp = $selected;
|
||||||
$order = array('field' => 'id_grupo',
|
$order = array('field' => 'id_grupo',
|
||||||
'field2' => 'nombre COLLATE utf8_general_ci',
|
'field2' => 'nombre ' . $order_collation,
|
||||||
'order' => 'ASC');
|
'order' => 'ASC');
|
||||||
break;
|
break;
|
||||||
case 'down':
|
case 'down':
|
||||||
$selectGroupDown = $selected;
|
$selectGroupDown = $selected;
|
||||||
$order = array('field' => 'id_grupo',
|
$order = array('field' => 'id_grupo',
|
||||||
'field2' => 'nombre COLLATE utf8_general_ci',
|
'field2' => 'nombre ' . $order_collation,
|
||||||
'order' => 'DESC');
|
'order' => 'DESC');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -224,13 +235,16 @@ switch ($sortField) {
|
|||||||
$selectOsDown = '';
|
$selectOsDown = '';
|
||||||
$selectGroupUp = '';
|
$selectGroupUp = '';
|
||||||
$selectGroupDown = '';
|
$selectGroupDown = '';
|
||||||
$order = array('field' => 'nombre COLLATE utf8_general_ci', 'field2' => 'nombre COLLATE utf8_general_ci', 'order' => 'ASC');
|
$order = array('field' => 'nombre ' . $order_collation,
|
||||||
|
'field2' => 'nombre ' . $order_collation,
|
||||||
|
'order' => 'ASC');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$search_sql = '';
|
$search_sql = '';
|
||||||
if ($search != "") {
|
if ($search != "") {
|
||||||
$search_sql = " AND ( nombre COLLATE utf8_general_ci LIKE '%$search%' OR direccion LIKE '%$search%') ";
|
$search_sql = " AND ( nombre " . $order_collation . "
|
||||||
|
LIKE '%$search%' OR direccion LIKE '%$search%') ";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Show only selected groups
|
// Show only selected groups
|
||||||
|
@ -79,7 +79,7 @@ asort ($count, SORT_NUMERIC);
|
|||||||
|
|
||||||
foreach ($count as $agent_id => $value) {
|
foreach ($count as $agent_id => $value) {
|
||||||
$data = array ();
|
$data = array ();
|
||||||
|
|
||||||
//First row is a link to the agent
|
//First row is a link to the agent
|
||||||
$data[0] = '<strong><a href="index.php?sec=gagente&sec2=operation/agentes/ver_agente&id_agente='.$agent_id.'">'.$agents[$agent_id].'</a></strong>';
|
$data[0] = '<strong><a href="index.php?sec=gagente&sec2=operation/agentes/ver_agente&id_agente='.$agent_id.'">'.$agents[$agent_id].'</a></strong>';
|
||||||
//Second row is a number of modules for the agent
|
//Second row is a number of modules for the agent
|
||||||
|
@ -476,10 +476,11 @@ if ($multiple_delete) {
|
|||||||
$user_groups = users_get_groups($config['id_user'],"AR", true);
|
$user_groups = users_get_groups($config['id_user'],"AR", true);
|
||||||
$str_user_groups = '';
|
$str_user_groups = '';
|
||||||
$i = 0;
|
$i = 0;
|
||||||
foreach ($user_groups as $id=>$name) {
|
foreach ($user_groups as $id => $name) {
|
||||||
if ($i == 0) {
|
if ($i == 0) {
|
||||||
$str_user_groups .= $id;
|
$str_user_groups .= $id;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
$str_user_groups .= ','.$id;
|
$str_user_groups .= ','.$id;
|
||||||
}
|
}
|
||||||
$i++;
|
$i++;
|
||||||
@ -895,6 +896,7 @@ else {
|
|||||||
$where_sql .= ' AND `priority` = ' . $priority_filter;
|
$where_sql .= ' AND `priority` = ' . $priority_filter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$where_sql = "";
|
||||||
if (!empty($free_search)) {
|
if (!empty($free_search)) {
|
||||||
$where_sql .= " AND (`single_value` LIKE '%" . $free_search . "%'
|
$where_sql .= " AND (`single_value` LIKE '%" . $free_search . "%'
|
||||||
OR `_snmp_f10_` LIKE '%" . $free_search . "%'
|
OR `_snmp_f10_` LIKE '%" . $free_search . "%'
|
||||||
@ -914,7 +916,8 @@ else {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$count = db_get_value_sql("SELECT COUNT(*)
|
$count = db_get_value_sql("SELECT COUNT(*)
|
||||||
FROM talert_snmp WHERE id_group IN ($str_user_groups) " . $where_sql);
|
FROM talert_snmp WHERE id_group IN ($str_user_groups) " .
|
||||||
|
$where_sql);
|
||||||
|
|
||||||
$result = array();
|
$result = array();
|
||||||
|
|
||||||
|
@ -346,6 +346,18 @@ function mysql_escape_string_sql($string) {
|
|||||||
return $str;
|
return $str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function mysql_encapsule_fields_with_same_name_to_instructions($field) {
|
||||||
|
$return = $field;
|
||||||
|
|
||||||
|
if (is_string($return)) {
|
||||||
|
if ($return[0] !== '`') {
|
||||||
|
$return = '`' . $return . '`';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the first value of the first row of a table in the database from an
|
* Get the first value of the first row of a table in the database from an
|
||||||
* array with filter conditions.
|
* array with filter conditions.
|
||||||
|
@ -448,6 +448,18 @@ function oracle_escape_string_sql($string) {
|
|||||||
return str_replace(array('"', "'", '\\'), array('\\"', '\\\'', '\\\\'), $string);
|
return str_replace(array('"', "'", '\\'), array('\\"', '\\\'', '\\\\'), $string);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function oracle_encapsule_fields_with_same_name_to_instructions($field) {
|
||||||
|
$return = $field;
|
||||||
|
|
||||||
|
if (is_string($return)) {
|
||||||
|
if ($return[0] !== '"') {
|
||||||
|
$return = '"' . $return . '"';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the first value of the first row of a table in the database from an
|
* Get the first value of the first row of a table in the database from an
|
||||||
* array with filter conditions.
|
* array with filter conditions.
|
||||||
|
@ -362,6 +362,18 @@ function postgresql_escape_string_sql($string) {
|
|||||||
return $str;
|
return $str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function postgresql_encapsule_fields_with_same_name_to_instructions($field) {
|
||||||
|
$return = $field;
|
||||||
|
|
||||||
|
if (is_string($return)) {
|
||||||
|
if ($return[0] !== '"') {
|
||||||
|
$return = '"' . $return . '"';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the first value of the first row of a table in the database from an
|
* Get the first value of the first row of a table in the database from an
|
||||||
* array with filter conditions.
|
* array with filter conditions.
|
||||||
|
@ -109,6 +109,22 @@ function db_escape_string_sql($string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function db_encapsule_fields_with_same_name_to_instructions($field) {
|
||||||
|
global $config;
|
||||||
|
|
||||||
|
switch ($config["dbtype"]) {
|
||||||
|
case "mysql":
|
||||||
|
return mysql_encapsule_fields_with_same_name_to_instructions($field);
|
||||||
|
break;
|
||||||
|
case "postgresql":
|
||||||
|
return postgresql_encapsule_fields_with_same_name_to_instructions($field);
|
||||||
|
break;
|
||||||
|
case "oracle":
|
||||||
|
return oracle_encapsule_fields_with_same_name_to_instructions($field);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds an audit log entry (new function in 3.0)
|
* Adds an audit log entry (new function in 3.0)
|
||||||
*
|
*
|
||||||
|
@ -162,7 +162,16 @@ function events_get_events_grouped($sql_post, $offset = 0, $pagination = 1, $met
|
|||||||
(SELECT ack_utimestamp FROM $table WHERE id_evento = MAX(te.id_evento)) AS ack_utimestamp
|
(SELECT ack_utimestamp FROM $table WHERE id_evento = MAX(te.id_evento)) AS ack_utimestamp
|
||||||
FROM $table te
|
FROM $table te
|
||||||
WHERE 1=1 " . $sql_post . "
|
WHERE 1=1 " . $sql_post . "
|
||||||
GROUP BY estado, evento, id_agentmodule, id_evento, id_agente, id_usuario, id_grupo, estado, timestamp, utimestamp, event_type, id_alert_am, criticity, user_comment, tags, source, id_extra" . $groupby_extra . "
|
GROUP BY estado, evento, id_agentmodule, id_evento,
|
||||||
|
id_agente, id_usuario, id_grupo, estado,
|
||||||
|
timestamp, utimestamp, event_type, id_alert_am,
|
||||||
|
criticity, user_comment, tags, source, id_extra,
|
||||||
|
te.critical_instructions,
|
||||||
|
te.warning_instructions,
|
||||||
|
te.unknown_instructions,
|
||||||
|
te.owner_user,
|
||||||
|
te.ack_utimestamp,
|
||||||
|
te.custom_data " . $groupby_extra . "
|
||||||
ORDER BY timestamp_rep DESC LIMIT " . $pagination . " OFFSET " . $offset;
|
ORDER BY timestamp_rep DESC LIMIT " . $pagination . " OFFSET " . $offset;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1796,6 +1796,7 @@ function graph_db_agentes_modulos($width, $height) {
|
|||||||
if ($modules === false)
|
if ($modules === false)
|
||||||
$modules = array ();
|
$modules = array ();
|
||||||
|
|
||||||
|
$data = array();
|
||||||
foreach ($modules as $module) {
|
foreach ($modules as $module) {
|
||||||
$agent_name = agents_get_name ($module['id_agente'], "none");
|
$agent_name = agents_get_name ($module['id_agente'], "none");
|
||||||
|
|
||||||
@ -1816,7 +1817,8 @@ function graph_db_agentes_modulos($width, $height) {
|
|||||||
$water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
|
$water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
|
||||||
'url' => ui_get_full_url("/images/logo_vertical_water.png"));
|
'url' => ui_get_full_url("/images/logo_vertical_water.png"));
|
||||||
|
|
||||||
return hbar_graph($config['flash_charts'], $data, $width, $height, array(),
|
return hbar_graph($config['flash_charts'],
|
||||||
|
$data, $width, $height, array(),
|
||||||
array(), "", "", true, "",
|
array(), "", "", true, "",
|
||||||
$water_mark,
|
$water_mark,
|
||||||
$config['fontpath'], $config['font_size'], false);
|
$config['fontpath'], $config['font_size'], false);
|
||||||
|
@ -24,11 +24,17 @@ function update_manager_get_config_values() {
|
|||||||
global $build_version;
|
global $build_version;
|
||||||
global $pandora_version;
|
global $pandora_version;
|
||||||
|
|
||||||
$license = db_get_value('`value`', 'tupdate_settings', '`key`',
|
$license = db_get_value(
|
||||||
|
db_encapsule_fields_with_same_name_to_instructions('value'),
|
||||||
|
'tupdate_settings',
|
||||||
|
db_encapsule_fields_with_same_name_to_instructions('key'),
|
||||||
'customer_key');
|
'customer_key');
|
||||||
|
|
||||||
if (enterprise_installed()) {
|
if (enterprise_installed()) {
|
||||||
$current_update = db_get_value('`value`', 'tupdate_settings', '`key`',
|
$current_update = db_get_value(
|
||||||
|
db_encapsule_fields_with_same_name_to_instructions('value'),
|
||||||
|
'tupdate_settings',
|
||||||
|
db_encapsule_fields_with_same_name_to_instructions('key'),
|
||||||
'current_package_enterprise');
|
'current_package_enterprise');
|
||||||
|
|
||||||
$current_update = 0;
|
$current_update = 0;
|
||||||
@ -36,7 +42,10 @@ function update_manager_get_config_values() {
|
|||||||
$current_update = $config['current_package_enterprise'];
|
$current_update = $config['current_package_enterprise'];
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$current_update = db_get_value('`value`', 'tupdate_settings', '`key`',
|
$current_update = db_get_value(
|
||||||
|
db_encapsule_fields_with_same_name_to_instructions('value'),
|
||||||
|
'tupdate_settings',
|
||||||
|
db_encapsule_fields_with_same_name_to_instructions('key'),
|
||||||
'current_package');
|
'current_package');
|
||||||
|
|
||||||
$current_update = 0;
|
$current_update = 0;
|
||||||
@ -264,11 +273,13 @@ function update_manager_check_online_free_packages_available() {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if ($is_ajax) {
|
$result = json_decode($result, true);
|
||||||
return true;
|
|
||||||
|
if (empty($result)) {
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -398,11 +398,13 @@ function hbar_graph($flash_chart, $chart_data, $width, $height, $color = array()
|
|||||||
setup_watermark($water_mark, $water_mark_file, $water_mark_url);
|
setup_watermark($water_mark, $water_mark_file, $water_mark_url);
|
||||||
|
|
||||||
if ($flash_chart) {
|
if ($flash_chart) {
|
||||||
if ($return){
|
if ($return) {
|
||||||
return flot_hcolumn_chart ($chart_data, $width, $height, $water_mark_url);
|
return flot_hcolumn_chart(
|
||||||
|
$chart_data, $width, $height, $water_mark_url);
|
||||||
}
|
}
|
||||||
else{
|
else {
|
||||||
echo flot_hcolumn_chart ($chart_data, $width, $height, $water_mark_url);
|
echo flot_hcolumn_chart(
|
||||||
|
$chart_data, $width, $height, $water_mark_url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -422,7 +424,7 @@ function hbar_graph($flash_chart, $chart_data, $width, $height, $color = array()
|
|||||||
|
|
||||||
$id_graph = serialize_in_temp($graph, null, $ttl);
|
$id_graph = serialize_in_temp($graph, null, $ttl);
|
||||||
|
|
||||||
return "<img src='".$homedir."include/graphs/functions_pchart.php?static_graph=1&graph_type=hbar&ttl=".$ttl."&id_graph=".$id_graph."'>";
|
return "<img src='" . $homedir . "include/graphs/functions_pchart.php?static_graph=1&graph_type=hbar&ttl=".$ttl."&id_graph=".$id_graph."'>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -442,6 +442,7 @@ function flot_hcolumn_chart ($graph_data, $width, $height, $water_mark) {
|
|||||||
|
|
||||||
$max = 0;
|
$max = 0;
|
||||||
$i = count($graph_data);
|
$i = count($graph_data);
|
||||||
|
$data = array();
|
||||||
foreach ($graph_data as $label => $values) {
|
foreach ($graph_data as $label => $values) {
|
||||||
$labels[] = io_safe_output($label);
|
$labels[] = io_safe_output($label);
|
||||||
$i--;
|
$i--;
|
||||||
|
@ -195,14 +195,14 @@ if (check_acl ($config["id_user"], 0, "EW") || check_acl ($config["id_user"], 0,
|
|||||||
$table->class = 'databox';
|
$table->class = 'databox';
|
||||||
$table->styleTable = 'font-weight: bold; color: #555; text-align:left;';
|
$table->styleTable = 'font-weight: bold; color: #555; text-align:left;';
|
||||||
$table->style[0] = 'width: 50%; width:50%;';
|
$table->style[0] = 'width: 50%; width:50%;';
|
||||||
|
|
||||||
$data = array();
|
$data = array();
|
||||||
$table->rowid[0] = 'update_save_selector';
|
$table->rowid[0] = 'update_save_selector';
|
||||||
$data[0] = html_print_radio_button('filter_mode', 'new', '', true, true) . __('New filter') . '<br><br>';
|
$data[0] = html_print_radio_button('filter_mode', 'new', '', true, true) . __('New filter') . '<br><br>';
|
||||||
$data[1] = html_print_radio_button('filter_mode', 'update', '', false, true) . __('Update filter') . '<br><br>';
|
$data[1] = html_print_radio_button('filter_mode', 'update', '', false, true) . __('Update filter') . '<br><br>';
|
||||||
$table->data[] = $data;
|
$table->data[] = $data;
|
||||||
$table->rowclass[] = '';
|
$table->rowclass[] = '';
|
||||||
|
|
||||||
$data = array();
|
$data = array();
|
||||||
$table->rowid[1] = 'save_filter_row1';
|
$table->rowid[1] = 'save_filter_row1';
|
||||||
$data[0] = __('Filter name') . '<br>';
|
$data[0] = __('Filter name') . '<br>';
|
||||||
@ -212,7 +212,7 @@ if (check_acl ($config["id_user"], 0, "EW") || check_acl ($config["id_user"], 0,
|
|||||||
$data[1] .= html_print_select_groups($config["id_user"], "ER", users_can_manage_group_all(), 'id_group', $id_group, '', '', 0, true, false, false, 'w130');
|
$data[1] .= html_print_select_groups($config["id_user"], "ER", users_can_manage_group_all(), 'id_group', $id_group, '', '', 0, true, false, false, 'w130');
|
||||||
$table->data[] = $data;
|
$table->data[] = $data;
|
||||||
$table->rowclass[] = '';
|
$table->rowclass[] = '';
|
||||||
|
|
||||||
$data = array();
|
$data = array();
|
||||||
$table->rowid[2] = 'save_filter_row2';
|
$table->rowid[2] = 'save_filter_row2';
|
||||||
$data[0] = html_print_submit_button (__('Save filter'), 'save_filter', false, 'class="sub upd"', true);
|
$data[0] = html_print_submit_button (__('Save filter'), 'save_filter', false, 'class="sub upd"', true);
|
||||||
@ -220,18 +220,18 @@ if (check_acl ($config["id_user"], 0, "EW") || check_acl ($config["id_user"], 0,
|
|||||||
$table->cellstyle[2][0] = 'text-align:right;';
|
$table->cellstyle[2][0] = 'text-align:right;';
|
||||||
$table->data[] = $data;
|
$table->data[] = $data;
|
||||||
$table->rowclass[] = '';
|
$table->rowclass[] = '';
|
||||||
|
|
||||||
$data = array();
|
$data = array();
|
||||||
$table->rowid[3] = 'update_filter_row1';
|
$table->rowid[3] = 'update_filter_row1';
|
||||||
$data[0] = __("Overwrite filter") . '<br>';
|
$data[0] = __("Overwrite filter") . '<br>';
|
||||||
# Fix : Only admin user can see filters of group ALL for update
|
# Fix : Only admin user can see filters of group ALL for update
|
||||||
$_filters_update = events_get_event_filter_select(false);
|
$_filters_update = events_get_event_filter_select(false);
|
||||||
|
|
||||||
$data[0] .= html_print_select ($_filters_update, "overwrite_filter", '', '', '', 0, true);
|
$data[0] .= html_print_select ($_filters_update, "overwrite_filter", '', '', '', 0, true);
|
||||||
$data[1] = html_print_submit_button (__('Update filter'), 'update_filter', false, 'class="sub upd"', true);
|
$data[1] = html_print_submit_button (__('Update filter'), 'update_filter', false, 'class="sub upd"', true);
|
||||||
$table->data[] = $data;
|
$table->data[] = $data;
|
||||||
$table->rowclass[] = '';
|
$table->rowclass[] = '';
|
||||||
|
|
||||||
html_print_table($table);
|
html_print_table($table);
|
||||||
unset($table);
|
unset($table);
|
||||||
echo '</div>';
|
echo '</div>';
|
||||||
@ -536,9 +536,15 @@ if ($group_rep == 0) {
|
|||||||
|
|
||||||
//Extract the events by filter (or not) from db
|
//Extract the events by filter (or not) from db
|
||||||
$result = db_get_all_rows_sql ($sql);
|
$result = db_get_all_rows_sql ($sql);
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$result = events_get_events_grouped($sql_post, $offset, $pagination, $meta, $history);
|
$result = events_get_events_grouped(
|
||||||
|
$sql_post,
|
||||||
|
$offset,
|
||||||
|
$pagination,
|
||||||
|
$meta,
|
||||||
|
$history);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($result)) {
|
if (!empty($result)) {
|
||||||
|
@ -25,7 +25,8 @@ if (! check_acl ($config['id_user'], 0, "IR")) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Header
|
// Header
|
||||||
ui_print_page_header (__('Incident management'), "images/book_edit.png", false, "", false, "");
|
ui_print_page_header (__('Incident management'),
|
||||||
|
"images/book_edit.png", false, "", false, "");
|
||||||
|
|
||||||
// Take input parameters
|
// Take input parameters
|
||||||
|
|
||||||
@ -197,7 +198,7 @@ switch ($config["dbtype"]) {
|
|||||||
ORDER BY actualizacion DESC OFFSET ".$offset." LIMIT ".$config["block_size"];
|
ORDER BY actualizacion DESC OFFSET ".$offset." LIMIT ".$config["block_size"];
|
||||||
$count_sql = "SELECT count(*) FROM tincidencia WHERE
|
$count_sql = "SELECT count(*) FROM tincidencia WHERE
|
||||||
id_grupo IN (".implode (",",array_keys ($groups)).")".$filter;
|
id_grupo IN (".implode (",",array_keys ($groups)).")".$filter;
|
||||||
breka;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = db_get_all_rows_sql ($sql);
|
$result = db_get_all_rows_sql ($sql);
|
||||||
@ -250,11 +251,14 @@ if ($agents_incidents === false){
|
|||||||
$agents_incidents = array();
|
$agents_incidents = array();
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($agents_incidents as $agent_incident){
|
$result_agent_incidents = array();
|
||||||
|
foreach ($agents_incidents as $agent_incident) {
|
||||||
$result_agent_incidents[$agent_incident['id_agente']] = $agent_incident['nombre'];
|
$result_agent_incidents[$agent_incident['id_agente']] = $agent_incident['nombre'];
|
||||||
}
|
}
|
||||||
|
|
||||||
html_print_select ($result_agent_incidents, "agent_search", $agent_search, 'javascript:this.form.submit();', __('All agents'), "", false, false, false, "w155");
|
html_print_select ($result_agent_incidents, "agent_search",
|
||||||
|
$agent_search, 'javascript:this.form.submit();', __('All agents'),
|
||||||
|
"", false, false, false, "w155");
|
||||||
|
|
||||||
echo '</td></tr><tr><td colspan=3>';
|
echo '</td></tr><tr><td colspan=3>';
|
||||||
|
|
||||||
|
@ -48,7 +48,8 @@ $i = 0;
|
|||||||
foreach ($user_groups as $id=>$name) {
|
foreach ($user_groups as $id=>$name) {
|
||||||
if ($i == 0) {
|
if ($i == 0) {
|
||||||
$str_user_groups .= $id;
|
$str_user_groups .= $id;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
$str_user_groups .= ','.$id;
|
$str_user_groups .= ','.$id;
|
||||||
}
|
}
|
||||||
$i++;
|
$i++;
|
||||||
@ -336,8 +337,11 @@ $trap_types = array(-1 => __('None'), 0 => __('Cold start (0)'), 1 => __('Warm s
|
|||||||
$table->data[4][2] = html_print_select ($trap_types, 'trap_type', $trap_type, 'this.form.submit();', '', '', true, false, false);
|
$table->data[4][2] = html_print_select ($trap_types, 'trap_type', $trap_type, 'this.form.submit();', '', '', true, false, false);
|
||||||
|
|
||||||
$table->data[3][3] = '<strong>'.__('Group by OID/IP').'</strong>';
|
$table->data[3][3] = '<strong>'.__('Group by OID/IP').'</strong>';
|
||||||
$table->data[3][4] .= __('Yes').' '.html_print_radio_button ('group_by', 1, '', $group_by, true).' ';
|
$table->data[3][4] = __('Yes') . ' '.
|
||||||
$table->data[3][4] .= __('No').' '.html_print_radio_button ('group_by', 0, '', $group_by, true);
|
html_print_radio_button ('group_by', 1, '', $group_by, true) .
|
||||||
|
' ';
|
||||||
|
$table->data[3][4] .= __('No') . ' ' .
|
||||||
|
html_print_radio_button ('group_by', 0, '', $group_by, true);
|
||||||
|
|
||||||
$filter = '<form method="POST" action="index.php?sec=snmpconsole&sec2=operation/snmpconsole/snmp_view&refr='.((int)get_parameter('refr', 0)).'&pure='.$config["pure"].'&tab='.$tab.'">';
|
$filter = '<form method="POST" action="index.php?sec=snmpconsole&sec2=operation/snmpconsole/snmp_view&refr='.((int)get_parameter('refr', 0)).'&pure='.$config["pure"].'&tab='.$tab.'">';
|
||||||
$filter .= html_print_table($table, true);
|
$filter .= html_print_table($table, true);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user