2012-11-20 Ramon Novoa <rnovoa@artica.es>

* include/functions_groups.php,
	  include/functions_agents.php,
	  include/functions_modules.php,
	  include/functions_treeview.php,
	  include/functions_os.php,
	  pandoradb.sql,
	  pandoradb.postgreSQL.sql,
	  install.php,
	  pandoradb.oracle.sql,
	  operation/tree.php,
	  extras/pandoradb_migrate_4.0.x_to_5.0.mysql.sql,
	  extras/pandoradb_migrate_4.0.x_to_5.0.oracle.sql,
	  extras/pandoradb_migrate_4.0.x_to_5.0.postgreSQL.sql: Improved tree
	  view performance.



git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@7170 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
ramonn 2012-11-20 16:14:45 +00:00
parent 70e7f441c1
commit 4b5566d01f
13 changed files with 83 additions and 706 deletions

View File

@ -1,3 +1,20 @@
2012-11-20 Ramon Novoa <rnovoa@artica.es>
* include/functions_groups.php,
include/functions_agents.php,
include/functions_modules.php,
include/functions_treeview.php,
include/functions_os.php,
pandoradb.sql,
pandoradb.postgreSQL.sql,
install.php,
pandoradb.oracle.sql,
operation/tree.php,
extras/pandoradb_migrate_4.0.x_to_5.0.mysql.sql,
extras/pandoradb_migrate_4.0.x_to_5.0.oracle.sql,
extras/pandoradb_migrate_4.0.x_to_5.0.postgreSQL.sql: Improved tree
view performance.
2012-11-20 Dario Rodriguez <dario.rodriguez@artica.es>
* operation/integria_incidents/incident.list.php: Fixed a problem with

View File

@ -64,6 +64,7 @@ ALTER TABLE `tagente` ADD COLUMN `critical_count` bigint(20) unsigned NOT NULL d
ALTER TABLE `tagente` ADD COLUMN `unknown_count` bigint(20) unsigned NOT NULL default '0';
ALTER TABLE `tagente` ADD COLUMN `notinit_count` bigint(20) unsigned NOT NULL default '0';
ALTER TABLE `tagente` ADD COLUMN `total_count` bigint(20) unsigned NOT NULL default '0';
ALTER TABLE `tagente` ADD COLUMN `fired_count` bigint(20) unsigned NOT NULL default '0';
-- ---------------------------------------------------------------------
-- Table `talert_special_days`

View File

@ -83,6 +83,7 @@ ALTER TABLE tagente ADD (critical_count NUMBER(20, 0) default 0 NOT NULL);
ALTER TABLE tagente ADD (unknown_count NUMBER(20, 0) default 0 NOT NULL);
ALTER TABLE tagente ADD (notinit_count NUMBER(20, 0) default 0 NOT NULL);
ALTER TABLE tagente ADD (total_count NUMBER(20, 0) default 0 NOT NULL);
ALTER TABLE tagente ADD (fired_count NUMBER(20, 0) default 0 NOT NULL);
-- -----------------------------------------------------
-- Table talert_special_days

View File

@ -77,6 +77,7 @@ ALTER TABLE "tagente" ADD COLUMN "critical_count" INTEGER NOT NULL default 0;
ALTER TABLE "tagente" ADD COLUMN "unknown_count" INTEGER NOT NULL default 0;
ALTER TABLE "tagente" ADD COLUMN "notinit_count" INTEGER NOT NULL default 0;
ALTER TABLE "tagente" ADD COLUMN "total_count" INTEGER NOT NULL default 0;
ALTER TABLE "tagente" ADD COLUMN "fired_count" INTEGER NOT NULL default 0;
-- -----------------------------------------------------
-- Table "talert_special_days"

View File

@ -1892,15 +1892,7 @@ function agents_monitor_critical ($id_agent, $filter="") {
$filter = " AND ".$filter;
}
return db_get_sql ("SELECT COUNT( DISTINCT tagente_modulo.id_agente_modulo)
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente.disabled = 0
AND tagente_estado.utimestamp != 0
AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo
AND tagente_modulo.disabled = 0
AND estado = 1
AND tagente_estado.id_agente = tagente.id_agente
AND tagente.id_agente = $id_agent" . $filter);
return db_get_sql ("SELECT critical_count FROM tagente WHERE id_agente = $id_agent" . $filter);
}
// Get warning monitors by using the status code in modules.
@ -1911,15 +1903,7 @@ function agents_monitor_warning ($id_agent, $filter="") {
$filter = " AND ".$filter;
}
return db_get_sql ("SELECT COUNT( DISTINCT tagente_modulo.id_agente_modulo)
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente.disabled = 0
AND tagente_estado.utimestamp != 0
AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo
AND tagente_modulo.disabled = 0
AND estado = 2
AND tagente_estado.id_agente = tagente.id_agente
AND tagente.id_agente = $id_agent" . $filter);
return db_get_sql ("SELECT warning_count FROM tagente WHERE id_agente = $id_agent" . $filter);
}
// Get unknown monitors by using the status code in modules.
@ -1930,15 +1914,7 @@ function agents_monitor_unknown ($id_agent, $filter="") {
$filter = " AND ".$filter;
}
return db_get_sql ("SELECT COUNT( DISTINCT tagente_modulo.id_agente_modulo)
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente.disabled = 0
AND tagente_estado.utimestamp != 0
AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo
AND tagente_modulo.disabled = 0
AND estado = 3
AND tagente_estado.id_agente = tagente.id_agente
AND tagente.id_agente = $id_agent" . $filter);
return db_get_sql ("SELECT unknown_count FROM tagente WHERE id_agente = $id_agent" . $filter);
}
// Get ok monitors by using the status code in modules.
@ -1948,15 +1924,7 @@ function agents_monitor_ok ($id_agent, $filter="") {
$filter = " AND ".$filter;
}
return db_get_sql ("SELECT COUNT( DISTINCT tagente_modulo.id_agente_modulo)
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente.disabled = 0
AND tagente_estado.utimestamp != 0
AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo
AND tagente_modulo.disabled = 0
AND estado = 0
AND tagente_estado.id_agente = tagente.id_agente
AND tagente.id_agente = $id_agent" . $filter);
return db_get_sql ("SELECT normal_count FROM tagente WHERE id_agente = $id_agent" . $filter);
}
/**
@ -1990,14 +1958,7 @@ function agents_monitor_notinit ($id_agent, $filter="") {
$filter = " AND ".$filter;
}
return db_get_sql ("SELECT COUNT( DISTINCT tagente_estado.id_agente_modulo )
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente.disabled = 0 AND tagente.id_agente = tagente_estado.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente_modulo.disabled = 0
AND tagente_modulo.id_tipo_modulo NOT IN (21,22,23)
AND utimestamp = 0
AND tagente.id_agente = $id_agent ".$filter);
return db_get_sql ("SELECT notinit_count FROM tagente WHERE id_agente = $id_agent" . $filter);
}
/**

View File

@ -854,50 +854,7 @@ function groups_agent_unknown ($group_array) {
$group_clause = implode (",", $group_array);
$group_clause = "(" . $group_clause . ")";
// Agent of module group X and critical status
$agents_critical = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 1
AND tagente_estado.utimestamp != 0
AND tagente.id_grupo IN $group_clause
GROUP by tagente.id_agente";
// Agent of module group X and warning status
$agents_warning = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 2
AND tagente_estado.utimestamp != 0
AND tagente.id_grupo IN $group_clause
GROUP by tagente.id_agente";
// Agent of module group X and unknown status
$agents_unknown = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 3
AND tagente_estado.utimestamp != 0
AND tagente.id_grupo IN $group_clause
GROUP by tagente.id_agente";
return db_get_sql ("SELECT COUNT(*) FROM ( SELECT DISTINCT tagente.id_agente
FROM tagente, tagente_modulo, tagente_estado
WHERE tagente.id_agente = tagente_modulo.id_agente
AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo
AND tagente.id_grupo IN $group_clause
AND tagente.id_agente NOT IN ($agents_critical)
AND tagente.id_agente NOT IN ($agents_warning)
AND tagente.id_agente IN ($agents_unknown) ) AS t");
return db_get_sql ("SELECT COUNT(*) FROM tagente WHERE critical_count=0 AND warning_count=0 AND unknown_count>0 AND id_grupo IN $group_clause");
}
// Get ok agents by using the status code in modules.
@ -915,71 +872,7 @@ function groups_agent_ok ($group_array) {
$group_clause = implode (",", $group_array);
$group_clause = "(" . $group_clause . ")";
// Agent of module group X and critical status
$agents_critical = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 1
AND tagente_estado.utimestamp != 0
AND tagente.id_grupo IN $group_clause
group by tagente.id_agente";
// Agent of module group X and warning status
$agents_warning = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 2
AND tagente_estado.utimestamp != 0
AND tagente.id_grupo IN $group_clause
group by tagente.id_agente";
// Agent of module group X and unknown status
$agents_unknown = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 3
AND tagente_estado.utimestamp != 0
AND tagente.id_grupo IN $group_clause
group by tagente.id_agente";
// Agent of module group X and ok status
$agents_ok = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 0
AND tagente_estado.utimestamp != 0
AND tagente.id_grupo IN $group_clause
group by tagente.id_agente";
// Agents without modules has a normal status
$void_agents = "SELECT tagente.id_agente FROM tagente
WHERE tagente.disabled = 0
AND tagente.id_grupo IN $group_clause
AND tagente.id_agente NOT IN (SELECT tagente_estado.id_agente FROM tagente_estado)";
return db_get_sql ("SELECT COUNT(*) FROM ( SELECT DISTINCT tagente.id_agente
FROM tagente, tagente_modulo, tagente_estado
WHERE tagente.id_agente = tagente_modulo.id_agente
AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo
AND tagente.id_grupo IN $group_clause
AND tagente.id_agente NOT IN ($agents_critical)
AND tagente.id_agente NOT IN ($agents_warning)
AND tagente.id_agente NOT IN ($agents_unknown)
AND tagente.id_agente IN ($agents_ok) UNION $void_agents) AS t");
return db_get_sql ("SELECT COUNT(*) FROM tagente WHERE normal_count=total_count AND id_grupo IN $group_clause");
}
// Get critical agents by using the status code in modules.
@ -996,15 +889,8 @@ function groups_agent_critical ($group_array) {
$group_clause = implode (",", $group_array);
$group_clause = "(" . $group_clause . ")";
//!!!Query explanation!!!
//An agent is Warning when has at least one module in warning status and nothing more in critical status
//The status values are: 0 OK; 1 Critical; 2 Warning; 3 Unkown
//If estado = 1 it means at leas 1 module is in critical status so the agent is critical
//Then we count the agents of the group selected to know how many agents are in critical status
//TODO REVIEW ORACLE AND POSTGRES
return db_get_sql ("SELECT COUNT( DISTINCT tagente_estado.id_agente) FROM tagente_estado, tagente, tagente_modulo WHERE tagente.disabled = 0 AND tagente_estado.utimestamp != 0 AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo AND tagente_modulo.disabled = 0 AND estado = 1 AND tagente_estado.id_agente = tagente.id_agente AND tagente.id_grupo IN $group_clause");
return db_get_sql ("SELECT COUNT(*) FROM tagente WHERE critical_count>0 AND id_grupo IN $group_clause");
}
@ -1022,41 +908,7 @@ function groups_agent_warning ($group_array) {
$group_clause = implode (",", $group_array);
$group_clause = "(" . $group_clause . ")";
// Agent of group X and critical status
$agents_critical = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 1
AND tagente_estado.utimestamp != 0
AND tagente.id_grupo IN $group_clause
group by tagente.id_agente";
// Agent of group X and warning status
$agents_warning = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 2
AND tagente_estado.utimestamp != 0
AND tagente.id_grupo IN $group_clause
group by tagente.id_agente";
return db_get_sql ("SELECT COUNT(*) FROM ( SELECT DISTINCT tagente.id_agente
FROM tagente, tagente_modulo, tagente_estado
WHERE tagente.id_agente = tagente_modulo.id_agente
AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo
AND tagente.id_grupo IN $group_clause
AND tagente.id_agente NOT IN ($agents_critical)
AND tagente.id_agente IN ($agents_warning) ) AS t");
return db_get_sql ("SELECT COUNT(*) FROM tagente WHERE critical_count=0 AND warning_count>0 AND id_grupo IN $group_clause");
}
@ -1076,16 +928,8 @@ function groups_monitor_not_init ($group_array) {
$group_clause = implode (",", $group_array);
$group_clause = "(" . $group_clause . ")";
//TODO REVIEW ORACLE AND POSTGRES
return db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0
AND tagente.id_agente = tagente_estado.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente_modulo.disabled = 0
AND tagente_modulo.id_tipo_modulo NOT IN (21,22,23,24) AND utimestamp = 0");
//TODO REVIEW ORACLE AND POSTGRES
return db_get_sql ("SELECT SUM(notinit_count) FROM tagente WHERE id_grupo IN $group_clause");
}
// Get monitor OK, except disabled and non-init
@ -1105,12 +949,7 @@ function groups_monitor_ok ($group_array) {
$group_clause = "(" . $group_clause . ")";
//TODO REVIEW ORACLE AND POSTGRES
return db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0
AND tagente_estado.id_agente = tagente.id_agente AND tagente_estado.estado = 0
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0 AND tagente_estado.utimestamp != 0");
return db_get_sql ("SELECT SUM(normal_count) FROM tagente WHERE id_grupo IN $group_clause");
}
// Get monitor CRITICAL, except disabled and non-init
@ -1130,13 +969,7 @@ function groups_monitor_critical ($group_array) {
$group_clause = "(" . $group_clause . ")";
//TODO REVIEW ORACLE AND POSTGRES
return db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0
AND tagente_estado.id_agente = tagente.id_agente AND tagente_estado.estado = 1
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0 AND tagente_estado.utimestamp != 0");
return db_get_sql ("SELECT SUM(critical_count) FROM tagente WHERE id_grupo IN $group_clause");
}
// Get monitor WARNING, except disabled and non-init
@ -1155,14 +988,8 @@ function groups_monitor_warning ($group_array) {
$group_clause = implode (",", $group_array);
$group_clause = "(" . $group_clause . ")";
//TODO REVIEW ORACLE AND POSTGRES
return db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0
AND tagente_estado.id_agente = tagente.id_agente AND tagente_estado.estado = 2
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0 AND tagente_estado.utimestamp != 0");
//TODO REVIEW ORACLE AND POSTGRES
return db_get_sql ("SELECT SUM(warning_count) FROM tagente WHERE id_grupo IN $group_clause");
}
// Get monitor UNKNOWN, except disabled and non-init
@ -1182,13 +1009,7 @@ function groups_monitor_unknown ($group_array) {
$group_clause = "(" . $group_clause . ")";
//TODO REVIEW ORACLE AND POSTGRES
return db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0
AND tagente_estado.id_agente = tagente.id_agente AND tagente_estado.estado = 3
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0 AND tagente_estado.utimestamp != 0");
return db_get_sql ("SELECT SUM(unknown_count) FROM tagente WHERE id_grupo IN $group_clause");
}
// Get alerts defined for a given group, except disabled

View File

@ -1453,183 +1453,29 @@ function modules_agents_warning ($module_name) {
// Get unknown agents by using the status code in modules
function modules_group_agent_unknown ($module_group) {
// Agent of module group X and critical status
$agents_critical = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 1
AND tagente_estado.utimestamp != 0
AND tagente_modulo.id_module_group = $module_group
group by tagente.id_agente";
// Agent of module group X and warning status
$agents_warning = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 2
AND tagente_estado.utimestamp != 0
AND tagente_modulo.id_module_group = $module_group
group by tagente.id_agente";
// Agent of module group X and unknown status
$agents_unknown = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 3
AND tagente_estado.utimestamp != 0
AND tagente_modulo.id_module_group = $module_group
group by tagente.id_agente";
return db_get_sql ("SELECT COUNT(*) FROM ( SELECT DISTINCT tagente.id_agente
FROM tagente, tagente_modulo, tagente_estado
WHERE tagente.id_agente = tagente_modulo.id_agente
AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo
AND tagente_modulo.id_module_group = $module_group
AND tagente.id_agente NOT IN ($agents_critical)
AND tagente.id_agente NOT IN ($agents_warning)
AND tagente.id_agente IN ($agents_unknown) ) AS t");
return db_get_sql ("SELECT COUNT(*) FROM tagente, tagente_modulo WHERE tagente.id_agente=tagente_modulo.id_agente AND critical_count=0 AND warning_count=0 AND unknown_count>0 AND id_module_group = $module_group");
}
// Get ok agents by using the status code in modules.
function modules_group_agent_ok ($module_group) {
// Agent of module group X and critical status
$agents_critical = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 1
AND tagente_estado.utimestamp != 0
AND tagente_modulo.id_module_group = $module_group
group by tagente.id_agente";
// Agent of module group X and warning status
$agents_warning = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 2
AND tagente_estado.utimestamp != 0
AND tagente_modulo.id_module_group = $module_group
group by tagente.id_agente";
// Agent of module group X and unknown status
$agents_unknown = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 3
AND tagente_estado.utimestamp != 0
AND tagente_modulo.id_module_group = $module_group
group by tagente.id_agente";
// Agent of module group X and ok status
$agents_ok = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 0
AND tagente_estado.utimestamp != 0
AND tagente_modulo.id_module_group = $module_group
group by tagente.id_agente";
return db_get_sql ("SELECT COUNT(*) FROM ( SELECT DISTINCT tagente.id_agente
FROM tagente, tagente_modulo, tagente_estado
WHERE tagente.id_agente = tagente_modulo.id_agente
AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo
AND tagente_modulo.id_module_group = $module_group
AND tagente.id_agente NOT IN ($agents_critical)
AND tagente.id_agente NOT IN ($agents_warning)
AND tagente.id_agente NOT IN ($agents_unknown)
AND tagente.id_agente IN ($agents_ok) ) AS t");
return db_get_sql ("SELECT COUNT(*) FROM tagente, tagente_modulo WHERE tagente.id_agente=tagente_modulo.id_agente AND normal_count=total_count AND id_module_group = $module_group");
}
// Get critical agents by using the status code in modules.
function modules_group_agent_critical ($module_group) {
// Agent of module group X and critical status
$agents_critical = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 1
AND tagente_estado.utimestamp != 0
AND tagente_modulo.id_module_group = $module_group
group by tagente.id_agente";
return db_get_sql ("SELECT COUNT(*) FROM ( SELECT DISTINCT tagente.id_agente
FROM tagente, tagente_modulo, tagente_estado
WHERE tagente.id_agente = tagente_modulo.id_agente
AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo
AND tagente_modulo.id_module_group = $module_group
AND tagente.id_agente IN ($agents_critical) ) AS t");
return db_get_sql ("SELECT COUNT(*) FROM tagente, tagente_modulo WHERE tagente.id_agente=tagente_modulo.id_agente AND critical_count>0 AND id_module_group = $module_group");
}
// Get warning agents by using the status code in modules.
function modules_group_agent_warning ($module_group) {
// Agent of module group X and critical status
$agents_critical = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 1
AND tagente_estado.utimestamp != 0
AND tagente_modulo.id_module_group = $module_group
group by tagente.id_agente";
// Agent of module group X and warning status
$agents_warning = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 2
AND tagente_estado.utimestamp != 0
AND tagente_modulo.id_module_group = $module_group
group by tagente.id_agente";
return db_get_sql ("SELECT COUNT(*) FROM ( SELECT DISTINCT tagente.id_agente
FROM tagente, tagente_modulo, tagente_estado
WHERE tagente.id_agente = tagente_modulo.id_agente
AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo
AND tagente_modulo.id_module_group = $module_group
AND tagente.id_agente NOT IN ($agents_critical)
AND tagente.id_agente IN ($agents_warning) ) AS t");
return db_get_sql ("SELECT COUNT(*) FROM tagente, tagente_modulo WHERE tagente.id_agente=tagente_modulo.id_agente AND critical_count=0 AND warning_count>0 AND id_module_group = $module_group");
}
?>

View File

@ -20,170 +20,28 @@ function os_agents_critical ($id_os) {
//TODO REVIEW ORACLE AND POSTGRES
return db_get_sql ("SELECT COUNT( DISTINCT tagente_estado.id_agente) FROM tagente_estado, tagente, tagente_modulo WHERE tagente.disabled = 0 AND tagente_estado.utimestamp != 0 AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo AND tagente_modulo.disabled = 0 AND estado = 1 AND tagente_estado.id_agente = tagente.id_agente AND tagente.id_os = $id_os");
return db_get_sql ("SELECT COUNT(*) FROM tagente WHERE critical_count>0 AND id_os=$id_os");
}
// Get ok agents by using the status code in modules.
function os_agents_ok($id_os) {
// Agent of OS X and critical status
$agents_critical = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 1
AND tagente_estado.utimestamp != 0
AND tagente.id_os = $id_os
group by tagente.id_agente";
// Agent of OS X and warning status
$agents_warning = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 2
AND tagente_estado.utimestamp != 0
AND tagente.id_os = $id_os
group by tagente.id_agente";
// Agent of OS X and unknown status
$agents_unknown = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 3
AND tagente_estado.utimestamp != 0
AND tagente.id_os = $id_os
group by tagente.id_agente";
// Agent of OS X and ok status
$agents_ok = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 0
AND tagente_estado.utimestamp != 0
AND tagente.id_os = $id_os
group by tagente.id_agente";
// Agents without modules has a normal status
$void_agents = "SELECT id_agente FROM tagente
WHERE disabled = 0
AND id_os = $id_os
AND id_agente NOT IN (SELECT id_agente FROM tagente_estado)";
return db_get_sql ("SELECT COUNT(*) FROM ( SELECT DISTINCT tagente.id_agente
FROM tagente, tagente_modulo, tagente_estado
WHERE tagente.id_agente = tagente_modulo.id_agente
AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo
AND tagente.id_os = $id_os
AND tagente.id_agente NOT IN ($agents_critical)
AND tagente.id_agente NOT IN ($agents_warning)
AND tagente.id_agente NOT IN ($agents_unknown)
AND tagente.id_agente IN ($agents_ok)
UNION $void_agents) AS t");
return db_get_sql ("SELECT COUNT(*) FROM tagente WHERE normal_count=total_count AND id_os=$id_os");
}
// Get warning agents by using the status code in modules.
function os_agents_warning ($id_os) {
// Agent of OS X and critical status
$agents_critical = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 1
AND tagente_estado.utimestamp != 0
AND tagente.id_os = $id_os
group by tagente.id_agente";
// Agent of OS X and warning status
$agents_warning = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 2
AND tagente_estado.utimestamp != 0
AND tagente.id_os = $id_os
group by tagente.id_agente";
return db_get_sql ("SELECT COUNT(*) FROM ( SELECT DISTINCT tagente.id_agente
FROM tagente, tagente_modulo, tagente_estado
WHERE tagente.id_agente = tagente_modulo.id_agente
AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo
AND tagente.id_os = $id_os
AND tagente.id_agente NOT IN ($agents_critical)
AND tagente.id_agente IN ($agents_warning) ) AS t");
return db_get_sql ("SELECT COUNT(*) FROM tagente WHERE critical_count=0 AND warning_count>0 AND id_os=$id_os");
}
// Get unknown agents by using the status code in modules.
function os_agents_unknown ($id_os) {
// Agent of module group X and critical status
$agents_critical = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 1
AND tagente_estado.utimestamp != 0
AND tagente.id_os = $id_os
group by tagente.id_agente";
// Agent of module group X and warning status
$agents_warning = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 2
AND tagente_estado.utimestamp != 0
AND tagente.id_os = $id_os
group by tagente.id_agente";
// Agent of module group X and unknown status
$agents_unknown = "SELECT tagente.id_agente
FROM tagente_estado, tagente, tagente_modulo
WHERE tagente_estado.id_agente = tagente.id_agente
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND estado = 3
AND tagente_estado.utimestamp != 0
AND tagente.id_os = $id_os
group by tagente.id_agente";
return db_get_sql ("SELECT COUNT(*) FROM ( SELECT DISTINCT tagente.id_agente
FROM tagente, tagente_modulo, tagente_estado
WHERE tagente.id_agente = tagente_modulo.id_agente
AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo
AND tagente.id_os = $id_os
AND tagente.id_agente NOT IN ($agents_critical)
AND tagente.id_agente NOT IN ($agents_warning)
AND tagente.id_agente IN ($agents_unknown) ) AS t");
return db_get_sql ("SELECT COUNT(*) FROM tagente WHERE critical_count=0 AND warning_count=0 AND unknown_count>0 AND id_os=$id_os");
}
?>

View File

@ -201,21 +201,7 @@ function treeview_printTree($type) {
$avariableGroups = users_get_groups (); //db_get_all_rows_in_table('tgrupo', 'nombre');
//Get all groups with agents
$full_groups = db_get_all_rows_sql("SELECT DISTINCT tagente.id_grupo
FROM tagente, tagente_estado
WHERE tagente.id_agente = tagente_estado.id_agente AND
tagente_estado.utimestamp != 0
UNION
SELECT tagente.id_grupo
FROM tagente
WHERE disabled = 0
AND id_agente NOT IN (SELECT tagente.id_agente
FROM tagente, tagente_modulo
WHERE tagente.id_agente = tagente_modulo.id_agente
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
group by tagente.id_agente
having COUNT(*) > 0)");
$full_groups = db_get_all_rows_sql("SELECT DISTINCT id_grupo FROM tagente WHERE total_count > 0");
$fgroups = array();
@ -302,9 +288,7 @@ function treeview_printTree($type) {
default:
case 'os':
//Skip agent with all modules in not init status
$sql_search .= " AND id_agente NOT IN (SELECT tagente_estado.id_agente FROM
tagente_estado GROUP BY id_agente HAVING SUM(utimestamp) = 0)";
$sql_search .= " AND total_count<>notinit_count";
$sql = agents_get_agents(array (
'order' => 'nombre COLLATE utf8_general_ci ASC',
@ -343,9 +327,7 @@ function treeview_printTree($type) {
break;
case 'module_group':
//Skip agents which only have not init modules
$sql_search .= " AND id_agente NOT IN (SELECT tagente_estado.id_agente FROM
tagente_estado GROUP BY id_agente HAVING SUM(utimestamp) = 0)";
$sql_search .= " AND total_count<>notinit_count";
$sql = agents_get_agents(array (
'order' => 'nombre COLLATE utf8_general_ci ASC',
'disabled' => 0,
@ -357,14 +339,7 @@ function treeview_printTree($type) {
true);
// Skip agents without modules
$sql .= ' AND id_agente IN
(SELECT tagente.id_agente
FROM tagente, tagente_modulo
WHERE tagente.id_agente = tagente_modulo.id_agente
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
GROUP BY tagente.id_agente
HAVING COUNT(*) > 0)';
$sql .= ' AND tagente.total_count>0';
$sql_module_groups = sprintf("SELECT * FROM tmodule_group
WHERE id_mg IN (SELECT id_module_group FROM tagente_modulo WHERE id_agente IN (%s))", $sql);
@ -599,7 +574,7 @@ function treeview_printTree($type) {
$id = $item['id_os'];
$name = $item['name'];
$iconImg = html_print_image(str_replace('.png' ,'_small.png', ui_print_os_icon ($item['id_os'], false, true, false)) . " ", true);
$numh_ok = os_agents_ok($id);
$num_ok = os_agents_ok($id);
$num_critical = os_agents_critical($id);
$num_warning = os_agents_warning($id);
$num_unknown = os_agents_unknown($id);

View File

@ -90,9 +90,7 @@ if (is_ajax ())
case 'group':
//Skip agents which only have not init modules
$search_sql .= " AND id_agente NOT IN (SELECT tagente_estado.id_agente FROM
tagente_estado GROUP BY id_agente HAVING SUM(utimestamp) = 0)";
$search_sql .= " AND total_count<>notinit_count";
$sql = agents_get_agents(array (
'order' => 'nombre COLLATE utf8_general_ci ASC',
@ -107,10 +105,8 @@ if (is_ajax ())
break;
case 'os':
//Skip agents which only have not init modules
$search_sql .= " AND id_agente NOT IN (SELECT tagente_estado.id_agente FROM
tagente_estado GROUP BY id_agente HAVING SUM(utimestamp) = 0)";
//Skip agents which only have not init modules
$search_sql .= " AND total_count<>notinit_count";
$sql = agents_get_agents(array (
@ -126,13 +122,8 @@ if (is_ajax ())
break;
case 'module_group':
//Skip agents which only have not init modules
$search_sql .= " AND id_agente NOT IN (SELECT tagente_estado.id_agente FROM tagente_estado
WHERE id_agente_modulo IN
(SELECT id_agente_modulo FROM tagente_modulo
WHERE id_module_group = $id)
GROUP BY id_agente HAVING SUM(utimestamp) = 0)";
//Skip agents which only have not init modules
$search_sql .= " AND total_count<>notinit_count";
$sql = agents_get_agents(array (
'order' => 'nombre COLLATE utf8_general_ci ASC',
@ -145,14 +136,10 @@ if (is_ajax ())
true);
// Skip agents without modules
$sql .= ' AND id_agente IN
(SELECT tagente.id_agente
FROM tagente, tagente_modulo
WHERE tagente.id_agente = tagente_modulo.id_agente
AND id_module_group = ' . $id . ' AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
group by tagente.id_agente
having COUNT(*) > 0)';
$sql .= ' AND total_count>0 AND disabled=0 AND id_agente IN
(SELECT DISTINCT (id_agente)
FROM tagente_modulo
WHERE id_module_group = ' . $id . ')';
break;
case 'policies':
@ -221,10 +208,11 @@ if (is_ajax ())
}
$sql .= ' AND tagente.disabled = 0'. $search_sql;
$countRows = db_get_num_rows($sql);
}
$rows = db_get_all_rows_sql($sql);
$countRows = count ($rows);
//Empty Branch
if ($countRows === 0) {
echo "<ul style='margin: 0; padding: 0;'>\n";
@ -240,116 +228,21 @@ if (is_ajax ())
}
//Branch with items
$new = true;
$count = 0;
echo "<ul style='margin: 0; padding: 0;'>\n";
while($row = db_get_all_row_by_steps_sql($new, $result, $sql)) {
$new = false;
foreach ($rows as $row) {
$count++;
switch ($type) {
case 'group':
case 'os':
$agent_info["monitor_alertsfired"] = agents_get_alerts_fired ($row["id_agente"], array("disabled" => 0));
$agent_info["monitor_critical"] = agents_monitor_critical ($row["id_agente"]);
$agent_info["monitor_warning"] = agents_monitor_warning ($row["id_agente"]);
$agent_info["monitor_unknown"] = agents_monitor_unknown ($row["id_agente"]);
$agent_info["monitor_normal"] = agents_monitor_ok ($row["id_agente"]);
$agent_info["alert_img"] = agents_tree_view_alert_img ($agent_info["monitor_alertsfired"]);
$agent_info["status_img"] = agents_tree_view_status_img ($agent_info["monitor_critical"],
$agent_info["monitor_warning"],
$agent_info["monitor_unknown"]);
//Count all modules
$agent_info["modules"] = $agent_info["monitor_critical"] + $agent_info["monitor_warning"] + $agent_info["monitor_unknown"] + $agent_info["monitor_normal"];
break;
case 'policies':
$filter = "tagente_modulo.id_policy_module = 0";
if ($id) {
$filter = "tagente_modulo.id_policy_module = " . $id . " ";
}
$filter .= " AND tagente_modulo.disabled = 0 ";
$agent_info["monitor_alertsfired"] = agents_get_alerts_fired ($row["id_agente"], $filter);
$agent_info["monitor_critical"] = agents_monitor_critical ($row["id_agente"], $filter);
$agent_info["monitor_warning"] = agents_monitor_warning ($row["id_agente"], $filter);
$agent_info["monitor_unknown"] = agents_monitor_unknown ($row["id_agente"], $filter);
$agent_info["monitor_normal"] = agents_monitor_ok ($row["id_agente"], $filter);
$agent_info["alert_img"] = agents_tree_view_alert_img ($agent_info["monitor_alertsfired"]);
$agent_info["status_img"] = agents_tree_view_status_img ($agent_info["monitor_critical"],
$agent_info["monitor_warning"],
$agent_info["monitor_unknown"]);
//Count all modules
$agent_info["modules"] = $agent_info["monitor_critical"] + $agent_info["monitor_warning"] + $agent_info["monitor_unknown"] + $agent_info["monitor_normal"];
break;
case 'module_group':
$agent_info["monitor_alertsfired"] = agents_get_alerts_fired ($row["id_agente"], "id_module_group = $id AND disabled = 0");
$agent_info["monitor_critical"] = agents_monitor_critical($row["id_agente"], "tagente_modulo.id_module_group = $id");
$agent_info["monitor_warning"] = agents_monitor_warning ($row["id_agente"], "tagente_modulo.id_module_group = $id");
$agent_info["monitor_unknown"] = agents_monitor_unknown ($row["id_agente"], "tagente_modulo.id_module_group = $id");
$agent_info["monitor_normal"] = agents_monitor_ok ($row["id_agente"], "tagente_modulo.id_module_group = $id");
$agent_info["alert_img"] = agents_tree_view_alert_img ($agent_info["monitor_alertsfired"]);
$agent_info["status_img"] = agents_tree_view_status_img ($agent_info["monitor_critical"],
$agent_info["monitor_warning"],
$agent_info["monitor_unknown"]);
//Count all modules
$agent_info["modules"] = $agent_info["monitor_critical"] + $agent_info["monitor_warning"] + $agent_info["monitor_unknown"] + $agent_info["monitor_normal"];
break;
case 'module':
switch ($config["dbtype"]) {
case "mysql":
$agent_info["monitor_alertsfired"] = agents_get_alerts_fired ($row["id_agente"], ' tagente_modulo.nombre COLLATE utf8_general_ci = "' . $name . '" AND disabled = 0');
$agent_info["monitor_critical"] = agents_monitor_critical($row["id_agente"], ' tagente_modulo.nombre COLLATE utf8_general_ci = "' . $name . '"');
$agent_info["monitor_warning"] = agents_monitor_warning ($row["id_agente"], ' tagente_modulo.nombre COLLATE utf8_general_ci = "' . $name . '"');
$agent_info["monitor_unknown"] = agents_monitor_unknown ($row["id_agente"], ' tagente_modulo.nombre COLLATE utf8_general_ci = "' . $name . '"');
$agent_info["monitor_normal"] = agents_monitor_ok ($row["id_agente"], ' tagente_modulo.nombre COLLATE utf8_general_ci = "' . $name . '"');
$agent_info["alert_img"] = agents_tree_view_alert_img ($agent_info["monitor_alertsfired"]);
$agent_info["status_img"] = agents_tree_view_status_img ($agent_info["monitor_critical"],
$agent_info["monitor_warning"],
$agent_info["monitor_unknown"]);
//Count all modules
$agent_info["modules"] = $agent_info["monitor_critical"] + $agent_info["monitor_warning"] + $agent_info["monitor_unknown"] + $agent_info["monitor_normal"];
break;
case "postgresql":
case "oracle":
//TODO REVIEW ORACLE AND POSTGRESQL
$agent_info["monitor_alertsfired"] = agents_get_alerts_fired ($row["id_agente"], ' tagente_modulo.nombre = \'' . $name . '\' AND disabled = 0');
$agent_info["monitor_critical"] = agents_monitor_critical($row["id_agente"], ' tagente_modulo.nombre = \'' . $name . '\'');
$agent_info["monitor_warning"] = agents_monitor_warning ($row["id_agente"], ' tagente_modulo.nombre = \'' . $name . '\'');
$agent_info["monitor_unknown"] = agents_monitor_unknown ($row["id_agente"], ' tagente_modulo.nombre = \'' . $name . '\'');
$agent_info["monitor_normal"] = agents_monitor_ok ($row["id_agente"], ' tagente_modulo.nombre = \'' . $name . '\'');
$agent_info["alert_img"] = agents_tree_view_alert_img ($agent_info["monitor_alertsfired"]);
$agent_info["status_img"] = agents_tree_view_status_img ($agent_info["monitor_critical"],
$agent_info["monitor_warning"],
$agent_info["monitor_unknown"]);
//Count all modules
$agent_info["modules"] = $agent_info["monitor_critical"] + $agent_info["monitor_warning"] + $agent_info["monitor_unknown"] + $agent_info["monitor_normal"];
break;
}
break;
}
$agent_info["monitor_alertsfired"] = $row["fired_count"];
$agent_info["monitor_critical"] = $row["critical_count"];
$agent_info["monitor_warning"] = $row["warning_count"];
$agent_info["monitor_unknown"] = $row["unknown_count"];
$agent_info["monitor_normal"] = $row["normal_count"];
$agent_info["modules"] = $row["total_count"];
$agent_info["alert_img"] = agents_tree_view_alert_img ($agent_info["monitor_alertsfired"]);
$agent_info["status_img"] = agents_tree_view_status_img ($agent_info["monitor_critical"], $agent_info["monitor_warning"], $agent_info["monitor_unknown"]);
// Filter by status (only in policy view)
if ($type == 'policies') {
@ -497,8 +390,10 @@ if (is_ajax ())
}
// This line checks for initializated modules or (non-initialized) asyncronous modules
$sql .= ' AND disabled = 0 AND (utimestamp > 0 OR id_tipo_modulo IN (21,22,23))';
$countRows = db_get_num_rows($sql);
$rows = db_get_all_rows_sql($sql);
$countRows = count ($rows);
if ($countRows === 0) {
echo "<ul style='margin: 0; padding: 0;'>\n";
echo "<li style='margin: 0; padding: 0;'>";
@ -526,11 +421,9 @@ if (is_ajax ())
return;
}
$new = true;
$count = 0;
echo "<ul style='margin: 0; padding: 0;'>\n";
while ($row = db_get_all_row_by_steps_sql($new, $result, $sql)) {
$new = false;
foreach ($rows as $row) {
$count++;
echo "<li style='margin: 0; padding: 0;'><span style='min-width: 300px; display: inline-block;'>";

View File

@ -85,7 +85,8 @@ CREATE TABLE tagente (
critical_count NUMBER(20, 0) default 0 NOT NULL,
unknown_count NUMBER(20, 0) default 0 NOT NULL,
notinit_count NUMBER(20, 0) default 0 NOT NULL,
total_count NUMBER(20, 0) default 0 NOT NULL
total_count NUMBER(20, 0) default 0 NOT NULL,
fired_count NUMBER(20, 0) default 0 NOT NULL
);
CREATE INDEX tagente_nombre_idx ON tagente(nombre);
CREATE INDEX tagente_direccion_idx ON tagente(direccion);

View File

@ -83,7 +83,8 @@ CREATE TABLE "tagente" (
"critical_count" INTEGER NOT NULL default 0,
"unknown_count" INTEGER NOT NULL default 0,
"notinit_count" INTEGER NOT NULL default 0,
"total_count" INTEGER NOT NULL default 0
"total_count" INTEGER NOT NULL default 0,
"fired_count" INTEGER NOT NULL default 0
);
CREATE INDEX "tagente_nombre_idx" ON "tagente"("nombre");
CREATE INDEX "tagente_direccion_idx" ON "tagente"("direccion");

View File

@ -77,6 +77,7 @@ CREATE TABLE IF NOT EXISTS `tagente` (
`unknown_count` bigint(20) unsigned NOT NULL default '0',
`notinit_count` bigint(20) unsigned NOT NULL default '0',
`total_count` bigint(20) unsigned NOT NULL default '0',
`fired_count` bigint(20) unsigned NOT NULL default '0',
PRIMARY KEY (`id_agente`),
KEY `nombre` (`nombre`),
KEY `direccion` (`direccion`),