From 478de7caf3246c6981d85710deb6d978d2819ba9 Mon Sep 17 00:00:00 2001
From: juanmanuelr <noreply@pandorafms.org>
Date: Mon, 31 Dec 2012 08:01:28 +0000
Subject: [PATCH] 2012-12-31 Juan Manuel Ramon <juanmanuel.ramon@artica.es>

	* pandoradb_data.sql
	pandoradb.sql
	pandoradb.postgreSQL.sql
	pandoradb.oracle.sql
	pandoradb.data.postgreSQL.sql
	pandoradb.data.oracle.sql: Added new column email to ttag table.


	* include/styles/pandora.css: Fixed loading class.

	* include/functions_api.php: Fixed get_all_agents api function.

	* include/functions_ui.php
	include/javascript/pandora.js: Improvement in agent_autocomplete
	function.

	* operation/reporting/reporting_viewer.php
	godmode/reporting/reporting_builder.php
	godmode/reporting/reporting_builder.item_editor.php: Fixes in report
	viewer for metaconsole.

	* godmode/tag/tag.php
	godmode/tag/edit_tag.php: Added email fields in editors.



git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@7343 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
---
 pandora_console/ChangeLog                     | 26 +++++++++++
 .../reporting_builder.item_editor.php         | 30 ++++++------
 .../godmode/reporting/reporting_builder.php   |  2 +-
 pandora_console/godmode/tag/edit_tag.php      | 14 ++++++
 pandora_console/godmode/tag/tag.php           | 10 ++--
 pandora_console/include/functions_api.php     |  9 +++-
 pandora_console/include/functions_config.php  |  4 --
 pandora_console/include/functions_ui.php      |  7 +++
 pandora_console/include/javascript/pandora.js |  7 +--
 pandora_console/include/styles/pandora.css    |  4 +-
 .../operation/reporting/reporting_viewer.php  | 46 +++++++++----------
 pandora_console/pandoradb.data.oracle.sql     |  2 +-
 pandora_console/pandoradb.data.postgreSQL.sql |  2 +-
 pandora_console/pandoradb.oracle.sql          |  3 +-
 pandora_console/pandoradb.postgreSQL.sql      |  3 +-
 pandora_console/pandoradb.sql                 |  1 +
 pandora_console/pandoradb_data.sql            |  2 +-
 17 files changed, 111 insertions(+), 61 deletions(-)

diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog
index 7be1cd9316..42a4a98f33 100644
--- a/pandora_console/ChangeLog
+++ b/pandora_console/ChangeLog
@@ -1,3 +1,29 @@
+2012-12-31 Juan Manuel Ramon <juanmanuel.ramon@artica.es>
+
+	* pandoradb_data.sql
+	pandoradb.sql
+	pandoradb.postgreSQL.sql
+	pandoradb.oracle.sql
+	pandoradb.data.postgreSQL.sql
+	pandoradb.data.oracle.sql: Added new column email to ttag table.
+
+
+	* include/styles/pandora.css: Fixed loading class.
+
+	* include/functions_api.php: Fixed get_all_agents api function. 
+	 
+	* include/functions_ui.php
+	include/javascript/pandora.js: Improvement in agent_autocomplete
+	function.
+	
+	* operation/reporting/reporting_viewer.php
+	godmode/reporting/reporting_builder.php
+	godmode/reporting/reporting_builder.item_editor.php: Fixes in report
+	viewer for metaconsole.
+	
+	* godmode/tag/tag.php
+	godmode/tag/edit_tag.php: Added email fields in editors.
+
 2012-12-28  Sergio Martin <sergio.martin@artica.es>
 
 	* pandoradb_data.sql
diff --git a/pandora_console/godmode/reporting/reporting_builder.item_editor.php b/pandora_console/godmode/reporting/reporting_builder.item_editor.php
index 2fc93719c9..42af5feb12 100644
--- a/pandora_console/godmode/reporting/reporting_builder.item_editor.php
+++ b/pandora_console/godmode/reporting/reporting_builder.item_editor.php
@@ -1162,7 +1162,7 @@ function create_custom_graph() {
 			jQuery.ajax ({
 				data: params1.join ("&"),
 				type: 'POST',
-				url: action= <?php echo '"' . ui_get_full_url(false) . '"'; ?> + "/ajax.php",
+				url: action= <?php echo '"' . ui_get_full_url(false, false, false, false) . '"'; ?> + "/ajax.php",
 				async: false,
 				timeout: 10000,
 				success: function (data) {
@@ -1178,7 +1178,7 @@ function create_custom_graph() {
 			jQuery.ajax ({
 				data: params1.join ("&"),
 				type: 'POST',
-				url: action= <?php echo '"' . ui_get_full_url(false) . '"'; ?> + "/ajax.php",
+				url: action= <?php echo '"' . ui_get_full_url(false, false, false, false) . '"'; ?> + "/ajax.php",
 				async: false,
 				timeout: 10000,
 				success: function (data) {
@@ -1224,7 +1224,7 @@ function edit_custom_graph() {
 		jQuery.ajax ({
 			data: params1.join ("&"),
 			type: 'POST',
-			url: action= <?php echo '"' . ui_get_full_url(false) . '"'; ?> + "/ajax.php",
+			url: action= <?php echo '"' . ui_get_full_url(false, false, false, false) . '"'; ?> + "/ajax.php",
 			async: false,
 			timeout: 10000,
 			success: function (data) {
@@ -1240,7 +1240,7 @@ function edit_custom_graph() {
 		jQuery.ajax ({
 			data: params1.join ("&"),
 			type: 'POST',
-			url: action= <?php echo '"' . ui_get_full_url(false) . '"'; ?> + "/ajax.php",
+			url: action= <?php echo '"' . ui_get_full_url(false, false, false, false) . '"'; ?> + "/ajax.php",
 			async: false,
 			timeout: 10000,
 			success: function (data) {
@@ -1289,7 +1289,7 @@ function chooseSQLquery() {
 		jQuery.ajax ({
 			data: params1.join ("&"),
 			type: 'POST',
-			url: action= <?php echo '"' . ui_get_full_url(false) . '"'; ?> + "/ajax.php",
+			url: action= <?php echo '"' . ui_get_full_url(false, false, false, false) . '"'; ?> + "/ajax.php",
 			async: false,
 			timeout: 10000,
 			success: function (data) {
@@ -1304,7 +1304,7 @@ function chooseSQLquery() {
 		jQuery.ajax ({
 			data: params.join ("&"),
 			type: 'POST',
-			url: action= <?php echo '"' . ui_get_full_url(false) . '"'; ?> + "/ajax.php",
+			url: action= <?php echo '"' . ui_get_full_url(false, false, false, false) . '"'; ?> + "/ajax.php",
 			timeout: 10000,
 			dataType: 'json',
 			success: function (data) {
@@ -1325,7 +1325,7 @@ function deleteSLARow(id_row) {
 	jQuery.ajax ({
 		data: params.join ("&"),
 		type: 'POST',
-		url: action= <?php echo '"' . ui_get_full_url(false) . '"'; ?> + "/ajax.php",
+		url: action= <?php echo '"' . ui_get_full_url(false, false, false, false) . '"'; ?> + "/ajax.php",
 		timeout: 10000,
 		dataType: 'json',
 		success: function (data) {
@@ -1345,7 +1345,7 @@ function deleteGeneralRow(id_row) {
 	jQuery.ajax ({
 		data: params.join ("&"),
 		type: 'POST',
-		url: action= <?php echo '"' . ui_get_full_url(false) . '"'; ?> + "/ajax.php",
+		url: action= <?php echo '"' . ui_get_full_url(false, false, false, false) . '"'; ?> + "/ajax.php",
 		timeout: 10000,
 		dataType: 'json',
 		success: function (data) {
@@ -1376,7 +1376,7 @@ function addSLARow() {
 			jQuery.ajax ({
 				data: params.join ("&"),
 				type: 'POST',
-				url: action= <?php echo '"' . ui_get_full_url(false) . '"'; ?> + "/ajax.php",
+				url: action= <?php echo '"' . ui_get_full_url(false, false, false, false) . '"'; ?> + "/ajax.php",
 				async: false,
 				timeout: 10000,
 				success: function (data) {
@@ -1391,7 +1391,7 @@ function addSLARow() {
 			jQuery.ajax ({
 				data: params.join ("&"),
 				type: 'POST',
-				url: action= <?php echo '"' . ui_get_full_url(false) . '"'; ?> + "/ajax.php",
+				url: action= <?php echo '"' . ui_get_full_url(false, false, false, false) . '"'; ?> + "/ajax.php",
 				async: false,
 				timeout: 10000,
 				success: function (data) {
@@ -1412,7 +1412,7 @@ function addSLARow() {
 			jQuery.ajax ({
 				data: params.join ("&"),
 				type: 'POST',
-				url: action= <?php echo '"' . ui_get_full_url(false) . '"'; ?> + "/ajax.php",
+				url: action= <?php echo '"' . ui_get_full_url(false, false, false, false) . '"'; ?> + "/ajax.php",
 				timeout: 10000,
 				dataType: 'json',
 				success: function (data) {
@@ -1464,7 +1464,7 @@ function addGeneralRow() {
 		jQuery.ajax ({
 			data: params.join ("&"),
 			type: 'POST',
-			url: action= <?php echo '"' . ui_get_full_url(false) . '"'; ?> + "/ajax.php",
+			url: action= <?php echo '"' . ui_get_full_url(false, false, false, false) . '"'; ?> + "/ajax.php",
 			async: false,
 			timeout: 10000,
 			success: function (data) {
@@ -1479,7 +1479,7 @@ function addGeneralRow() {
 		jQuery.ajax ({
 			data: params.join ("&"),
 			type: 'POST',
-			url: action= <?php echo '"' . ui_get_full_url(false) . '"'; ?> + "/ajax.php",
+			url: action= <?php echo '"' . ui_get_full_url(false, false, false, false) . '"'; ?> + "/ajax.php",
 			async: false,
 			timeout: 10000,
 			success: function (data) {
@@ -1494,7 +1494,7 @@ function addGeneralRow() {
 		jQuery.ajax ({
 			data: params.join ("&"),
 			type: 'POST',
-			url: action= <?php echo '"' . ui_get_full_url(false) . '"'; ?> + "/ajax.php",
+			url: action= <?php echo '"' . ui_get_full_url(false, false, false, false) . '"'; ?> + "/ajax.php",
 			async: false,
 			timeout: 10000,
 			success: function (data) {
@@ -1512,7 +1512,7 @@ function addGeneralRow() {
 		jQuery.ajax ({
 			data: params.join ("&"),
 			type: 'POST',
-			url: action= <?php echo '"' . ui_get_full_url(false) . '"'; ?> + "/ajax.php",
+			url: action= <?php echo '"' . ui_get_full_url(false, false, false, false) . '"'; ?> + "/ajax.php",
 			timeout: 10000,
 			dataType: 'json',
 			success: function (data) {
diff --git a/pandora_console/godmode/reporting/reporting_builder.php b/pandora_console/godmode/reporting/reporting_builder.php
index 12ab93a134..e1b358b061 100644
--- a/pandora_console/godmode/reporting/reporting_builder.php
+++ b/pandora_console/godmode/reporting/reporting_builder.php
@@ -236,7 +236,7 @@ switch ($action) {
 					html_print_image("images/god6.png", true, array ("title" => __('Main'))) .'</a>')
 			);
 		
-		if ($enterpriseEnable and !defined('METACONSOLE')) {
+		if ($enterpriseEnable) {
 			$buttons = reporting_enterprise_add_main_Tabs($buttons);
 		}
 		
diff --git a/pandora_console/godmode/tag/edit_tag.php b/pandora_console/godmode/tag/edit_tag.php
index a4ded69963..8619fa8375 100644
--- a/pandora_console/godmode/tag/edit_tag.php
+++ b/pandora_console/godmode/tag/edit_tag.php
@@ -34,6 +34,7 @@ $name_tag = (string) get_parameter ("name_tag", "");
 $description_tag = (string) get_parameter ("description_tag", "");
 $description_tag = io_safe_input(strip_tags(io_safe_output($description_tag)));
 $url_tag = (string) get_parameter ("url_tag", "");
+$email_tag = (string) get_parameter ("email_tag", "");
 $tab = (string) get_parameter ("tab", "list");
 
 $buttons = array(
@@ -58,6 +59,7 @@ if ($update_tag && $id_tag != 0) {
 	$values['name'] = $name_tag;
 	$values['description'] = $description_tag;
 	$values['url'] = $url_tag;
+	$values['email'] = $email_tag;
 	
 	$result = false;
 	if ($values['name'] != '')
@@ -85,6 +87,7 @@ if ($create_tag) {
 	$data['name'] = $name_tag;
 	$data['description'] = $description_tag;
 	$data['url'] = $url_tag;
+	$data['email'] = $email_tag;
 	
 	// DB insert
 	$return_create = false;
@@ -112,11 +115,13 @@ if ($action == "update" && $id_tag != 0){
 	$name_tag = $result_tag["name"]; 
 	$description_tag = $result_tag["description"];
 	$url_tag = $result_tag["url"];
+	$email_tag = $result_tag["email"];
 } // If current action is create (new) or somethig goes wrong fields are filled with void value
 else {
 	$name_tag = "";
 	$description_tag = "";
 	$url_tag = "";
+	$email_tag = "";
 }
 
 // Create/Update tag form 
@@ -150,6 +155,15 @@ echo "<table border=0 cellpadding=4 cellspacing=4 class=databox width=98%>";
 		html_print_input_text ('url_tag', $url_tag);
 		echo "</td>";
 	echo "</tr>";
+	echo "<tr>";
+		echo "<td align=left>";
+		echo '<b>' . __("Email") . '</b>'; 
+		echo ui_print_help_tip (__("Associated Email direction to use later in alerts associated to Tags."), true);
+		echo "</td>";
+		echo "<td align=center>";
+		html_print_input_text ('email_tag', $email_tag);
+		echo "</td>";
+	echo "</tr>";
 	echo "<tr>";
 		if ($action == "update"){
 			echo "<td align=center>";
diff --git a/pandora_console/godmode/tag/tag.php b/pandora_console/godmode/tag/tag.php
index d83597f941..79c429c9b3 100644
--- a/pandora_console/godmode/tag/tag.php
+++ b/pandora_console/godmode/tag/tag.php
@@ -140,12 +140,13 @@ if (!empty($result)) {
 	$table->style[1] = 'text-align:center';
 	$table->style[2] = 'text-align:center';	
 	$table->style[3] = 'text-align:center'; 
-	$table->style[4] = 'text-align:center';
+	$table->style[5] = 'text-align:center';
 	$table->head[0] = __('Tag name');
 	$table->head[1] = __('Description');
 	$table->head[2] = __('Detail information');
 	$table->head[3] = __('Number of modules affected');
-	$table->head[4] = __('Actions');
+	$table->head[4] = __('Email');
+	$table->head[5] = __('Actions');
 	
 	foreach ($result as $tag) {
 		if ($rowPair)
@@ -165,8 +166,9 @@ if (!empty($result)) {
 			html_print_image("images/zoom.png", true, array("id" => 'tag-details-'.$tag['id_tag'], "class" => "img_help")) . '</a> ';
 		
 		$data[3] .= tags_get_modules_count($tag["id_tag"]);
-		$data[4] = "<a href='index.php?sec=gmodules&sec2=godmode/tag/edit_tag&action=update&id_tag=".$tag["id_tag"] . "'>" . html_print_image("images/config.png", true, array("title" => "Edit")) . "</a>&nbsp;&nbsp;";
-		$data[4] .= '<a  href="index.php?sec=gmodules&sec2=godmode/tag/tag&delete_tag='.$tag["id_tag"] . '"onclick="if (! confirm (\''.__('Are you sure?').'\')) return false">' . html_print_image("images/cross.png", true, array("title" => "Delete")) . '</a>';
+		$data[4] = $tag["email"];
+		$data[5] = "<a href='index.php?sec=gmodules&sec2=godmode/tag/edit_tag&action=update&id_tag=".$tag["id_tag"] . "'>" . html_print_image("images/config.png", true, array("title" => "Edit")) . "</a>&nbsp;&nbsp;";
+		$data[5] .= '<a  href="index.php?sec=gmodules&sec2=godmode/tag/tag&delete_tag='.$tag["id_tag"] . '"onclick="if (! confirm (\''.__('Are you sure?').'\')) return false">' . html_print_image("images/cross.png", true, array("title" => "Delete")) . '</a>';
 		array_push ($table->data, $data);
 	}
 	
diff --git a/pandora_console/include/functions_api.php b/pandora_console/include/functions_api.php
index b0940e15b1..03e943ca06 100644
--- a/pandora_console/include/functions_api.php
+++ b/pandora_console/include/functions_api.php
@@ -799,7 +799,7 @@ function api_get_all_agents($thrash1, $thrash2, $other, $thrash3) {
 	if (isset($other['data'][0])){
 		// Filter by SO
 		if ($other['data'][0] != ""){
-			$where .= " AND id_os = " . $other['data'][0];
+			$where .= " AND tconfig_os.id_os = " . $other['data'][0];
 		}
 	}
 	if (isset($other['data'][1])){	
@@ -858,7 +858,7 @@ function api_get_all_agents($thrash1, $thrash2, $other, $thrash3) {
 						$result_agents[] = $agent;
 					}
 				}
-				// filter by NORMAL, WARNING, CRITICAL, UNKNOWN
+				// filter by NORMAL, WARNING, CRITICAL, UNKNOWN, ALERT_FIRED
 				else {
 					$status = agents_get_status($agent['id_agente'], true);
 					// Filter by status
@@ -883,6 +883,11 @@ function api_get_all_agents($thrash1, $thrash2, $other, $thrash3) {
 								$result_agents[] = $agent;
 							}
 							break;
+						case 'alert_fired':
+							if ($status == 4) {
+								$result_agents[] = $agent;
+							}
+							break;
 					}
 				}
 			}
diff --git a/pandora_console/include/functions_config.php b/pandora_console/include/functions_config.php
index e7584db040..e064b505a1 100644
--- a/pandora_console/include/functions_config.php
+++ b/pandora_console/include/functions_config.php
@@ -315,11 +315,7 @@ function config_update_config () {
  */
 function config_process_config () {
 	global $config;
-<<<<<<< .mine
-
-=======
 	
->>>>>>> .r7341
 	$configs = db_get_all_rows_in_table ('tconfig');
 
 	if (empty ($configs)) {
diff --git a/pandora_console/include/functions_ui.php b/pandora_console/include/functions_ui.php
index 64630e5012..de8546104e 100644
--- a/pandora_console/include/functions_ui.php
+++ b/pandora_console/include/functions_ui.php
@@ -2434,6 +2434,13 @@ function ui_print_agent_autocomplete_input($parameters) {
 	if (isset($parameters['metaconsole_enabled'])) {
 		$metaconsole_enabled = $parameters['metaconsole_enabled'];
 	}
+	else {
+		// If metaconsole_enabled param is not setted then pick source configuration
+		if (defined('METACONSOLE'))
+			$metaconsole_enabled = true;
+		else
+			$metaconsole_enabled = false;
+	}
 	
 	// Javascript configurations
 	//------------------------------------------------------------------
diff --git a/pandora_console/include/javascript/pandora.js b/pandora_console/include/javascript/pandora.js
index 399e126a73..b1c5fd93f9 100644
--- a/pandora_console/include/javascript/pandora.js
+++ b/pandora_console/include/javascript/pandora.js
@@ -188,11 +188,12 @@ function agent_changed_by_multiple_agents (event, id_agent, selected) {
 	else {
 		if (event.data == null)
 			homedir += '.';
-		else
+		else {
 			homedir  = event.data.homedir;
 		
-		if (event.data.metaconsole != null) {
-			id_server = $("#" + event.data.id_server).val();
+			if (event.data.metaconsole != null) {
+				id_server = $("#" + event.data.id_server).val();
+			}
 		}
 	}
 	
diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css
index a32f783f6b..3c0fcc7d95 100644
--- a/pandora_console/include/styles/pandora.css
+++ b/pandora_console/include/styles/pandora.css
@@ -1042,9 +1042,9 @@ div#main_pure {
 #loading {
 	position:fixed;
 	width: 200px;
-	margin-left: 250px;
+	margin-left: 30%;
 	text-align:center;
-	top:300px;
+	top: 50%;
 	background-color: #999999;
 	padding: 20px;
 }
diff --git a/pandora_console/operation/reporting/reporting_viewer.php b/pandora_console/operation/reporting/reporting_viewer.php
index 91339cc0e3..42948dbcb0 100644
--- a/pandora_console/operation/reporting/reporting_viewer.php
+++ b/pandora_console/operation/reporting/reporting_viewer.php
@@ -153,7 +153,7 @@ html_print_table ($table);
 html_print_input_hidden ('id_report', $id_report);
 echo '</form>';
 
-echo '<div id="loading">';
+echo '<div id="loading" style="text-align: center;">';
 echo html_print_image("images/wait.gif", true, array("border" => '0'));
 echo '<strong>'.__('Loading').'...</strong>';
 echo '</div>';
@@ -195,6 +195,26 @@ $(document).ready (function () {
 	
 	$('[id^=text-date_init]').datepicker ({changeMonth: true, changeYear: true, showAnim: "slideDown"});
 	
+	
+	$("*", "#table1-0").css("display", ""); //Re-show the first row of form.
+
+	/* Show/hide begin date reports controls */
+	$("#checkbox-enable_init_date").click(function() {
+		flag = $("#checkbox-enable_init_date").is(':checked');
+		if (flag == true) {
+			$("#table1-1-1").css("display", "");
+			$("#table1-1-2").css("display", "");
+			$("#string_to").show();
+			$("#string_items").hide();
+		}
+		else {
+			$("#table1-1-1").css("display", "none");
+			$("#table1-1-2").css("display", "");
+			$("#string_to").hide();
+			$("#string_items").show();
+		}
+	});	
+	
 });
 </script>
 
@@ -261,27 +281,3 @@ foreach ($contents as $content) {
 	flush ();
 }
 ?>
-
-<script type="text/javascript">
-
-$(document).ready (function () {
-	$("*", "#table1-0").css("display", ""); //Re-show the first row of form.
-	
-	/* Show/hide begin date reports controls */
-	$("#checkbox-enable_init_date").click(function() {
-		flag = $("#checkbox-enable_init_date").is(':checked');
-		if (flag == true) {
-			$("#table1-1-1").css("display", "");
-			$("#table1-1-2").css("display", "");
-			$("#string_to").show();
-			$("#string_items").hide();
-		}
-		else {
-			$("#table1-1-1").css("display", "none");
-			$("#table1-1-2").css("display", "");
-			$("#string_to").hide();
-			$("#string_items").show();
-		}
-	});
-});
-</script>
diff --git a/pandora_console/pandoradb.data.oracle.sql b/pandora_console/pandoradb.data.oracle.sql
index 31ba8268ff..879d88dae1 100644
--- a/pandora_console/pandoradb.data.oracle.sql
+++ b/pandora_console/pandoradb.data.oracle.sql
@@ -611,7 +611,7 @@ INSERT INTO tplugin (id, name, description, max_timeout, execute, plugin_type, m
 
 INSERT INTO tagent_custom_fields VALUES (1,'Serial&#x20;Number',0),(2,'Department',0),(3,'Additional&#x20;ID',0);
 
-INSERT INTO ttag VALUES (1,'network','Network&#x20;equipment','http://artica.es'),(2,'critical','Critical&#x20;modules',''),(3,'dmz','DMZ&#x20;Network&#x20;Zone',''),(4,'performance','Performance&#x20;anda&#x20;capacity&#x20;modules',''),(5,'configuration','','');
+INSERT INTO ttag VALUES (1,'network','Network&#x20;equipment','http://artica.es',''),(2,'critical','Critical&#x20;modules','',''),(3,'dmz','DMZ&#x20;Network&#x20;Zone','',''),(4,'performance','Performance&#x20;anda&#x20;capacity&#x20;modules','',''),(5,'configuration','','','');
 
 INSERT INTO tevent_response VALUES (1,'Ping&#x20;to&#x20;host','Ping&#x20;to&#x20;the&#x20;agent&#x20;host','ping&#x20;-c&#x20;5&#x20;_agent_address_','command',0,620,500,0,''),(2,'SSH&#x20;to&#x20;host','Connect&#x20;via&#x20;SSH&#x20;to&#x20;the&#x20;agent','http://192.168.70.164:8022/anyterm.html?param=_User_@_agent_address_','url',0,800,450,0,'User'),(3,'Create&#x20;incident&#x20;from&#x20;event','Create&#x20;a&#x20;incident&#x20;from&#x20;the&#x20;event&#x20;with&#x20;the&#x20;standard&#x20;incidents&#x20;system&#x20;of&#x20;Pandora&#x20;FMS','index.php?sec=workspace&amp;sec2=operation/incidents/incident_detail&amp;insert_form&amp;from_event=_event_id_','url',0,0,0,1,''),(4,'Create&#x20;Integria&#x20;IMS&#x20;incident&#x20;from&#x20;event','Create&#x20;a&#x20;incident&#x20;from&#x20;the&#x20;event&#x20;with&#x20;integria&#x20;incidents&#x20;system&#x20;of&#x20;Pandora&#x20;FMS.&#x20;&#x0d;&#x0a;&#x0d;&#x0a;Is&#x20;necessary&#x20;to&#x20;enable&#x20;and&#x20;configure&#x20;the&#x20;Integria&#x20;incidents&#x20;in&#x20;Pandora&#x20;FMS&#x20;setup.','index.php?sec=workspace&amp;sec2=operation/integria_incidents/incident&amp;tab=editor&amp;from_event=_event_id_','url',0,0,0,1,''),(5,'Restart&#x20;agent','Restart&#x20;the&#x20;agent&#x20;with&#x20;using&#x20;UDP&#x20;protocol.&#x0d;&#x0a;&#x0d;&#x0a;To&#x20;use&#x20;this&#x20;response&#x20;is&#x20;necessary&#x20;to&#x20;have&#x20;installed&#x20;Pandora&#x20;FMS&#x20;server&#x20;and&#x20;console&#x20;in&#x20;the&#x20;same&#x20;machine.','/usr/share/pandora_server/udp_client.pl&#x20;_agent_address_&#x20;41122&#x20;&quot;REFRESH&#x20;AGENT&quot;','command',0,620,500,0,'');
 
diff --git a/pandora_console/pandoradb.data.postgreSQL.sql b/pandora_console/pandoradb.data.postgreSQL.sql
index 6f694faa14..b2d0f85625 100644
--- a/pandora_console/pandoradb.data.postgreSQL.sql
+++ b/pandora_console/pandoradb.data.postgreSQL.sql
@@ -452,7 +452,7 @@ INSERT INTO "tplugin" ("id", "name", "description", "max_timeout", "execute", "p
 
 INSERT INTO "tagent_custom_fields" VALUES (1,'Serial&#x20;Number',0),(2,'Department',0),(3,'Additional&#x20;ID',0);
 
-INSERT INTO "ttag" VALUES (1,'network','Network&#x20;equipment','http://artica.es'),(2,'critical','Critical&#x20;modules',''),(3,'dmz','DMZ&#x20;Network&#x20;Zone',''),(4,'performance','Performance&#x20;anda&#x20;capacity&#x20;modules',''),(5,'configuration','','');
+INSERT INTO "ttag" VALUES (1,'network','Network&#x20;equipment','http://artica.es',''),(2,'critical','Critical&#x20;modules','',''),(3,'dmz','DMZ&#x20;Network&#x20;Zone','',''),(4,'performance','Performance&#x20;anda&#x20;capacity&#x20;modules','',''),(5,'configuration','','','');
 
 INSERT INTO "tevent_response" VALUES (1,'Ping&#x20;to&#x20;host','Ping&#x20;to&#x20;the&#x20;agent&#x20;host','ping&#x20;-c&#x20;5&#x20;_agent_address_','command',0,620,500,0,''),(2,'SSH&#x20;to&#x20;host','Connect&#x20;via&#x20;SSH&#x20;to&#x20;the&#x20;agent','http://192.168.70.164:8022/anyterm.html?param=_User_@_agent_address_','url',0,800,450,0,'User'),(3,'Create&#x20;incident&#x20;from&#x20;event','Create&#x20;a&#x20;incident&#x20;from&#x20;the&#x20;event&#x20;with&#x20;the&#x20;standard&#x20;incidents&#x20;system&#x20;of&#x20;Pandora&#x20;FMS','index.php?sec=workspace&amp;sec2=operation/incidents/incident_detail&amp;insert_form&amp;from_event=_event_id_','url',0,0,0,1,''),(4,'Create&#x20;Integria&#x20;IMS&#x20;incident&#x20;from&#x20;event','Create&#x20;a&#x20;incident&#x20;from&#x20;the&#x20;event&#x20;with&#x20;integria&#x20;incidents&#x20;system&#x20;of&#x20;Pandora&#x20;FMS.&#x20;&#x0d;&#x0a;&#x0d;&#x0a;Is&#x20;necessary&#x20;to&#x20;enable&#x20;and&#x20;configure&#x20;the&#x20;Integria&#x20;incidents&#x20;in&#x20;Pandora&#x20;FMS&#x20;setup.','index.php?sec=workspace&amp;sec2=operation/integria_incidents/incident&amp;tab=editor&amp;from_event=_event_id_','url',0,0,0,1,''),(5,'Restart&#x20;agent','Restart&#x20;the&#x20;agent&#x20;with&#x20;using&#x20;UDP&#x20;protocol.&#x0d;&#x0a;&#x0d;&#x0a;To&#x20;use&#x20;this&#x20;response&#x20;is&#x20;necessary&#x20;to&#x20;have&#x20;installed&#x20;Pandora&#x20;FMS&#x20;server&#x20;and&#x20;console&#x20;in&#x20;the&#x20;same&#x20;machine.','/usr/share/pandora_server/udp_client.pl&#x20;_agent_address_&#x20;41122&#x20;&quot;REFRESH&#x20;AGENT&quot;','command',0,620,500,0,'');
 
diff --git a/pandora_console/pandoradb.oracle.sql b/pandora_console/pandoradb.oracle.sql
index ec86c0932c..0701c1681a 100644
--- a/pandora_console/pandoradb.oracle.sql
+++ b/pandora_console/pandoradb.oracle.sql
@@ -1653,7 +1653,8 @@ CREATE TABLE ttag (
 	id_tag NUMBER(10, 0) NOT NULL PRIMARY KEY, 
 	name VARCHAR2(100) default '' NOT NULL, 
 	description CLOB default '' NOT NULL, 
-	url CLOB default '' NOT NULL
+	url CLOB default '' NOT NULL,
+	email CLOB NULL
 ); 
 
 CREATE SEQUENCE ttag_s INCREMENT BY 1 START WITH 1;
diff --git a/pandora_console/pandoradb.postgreSQL.sql b/pandora_console/pandoradb.postgreSQL.sql
index 4d2c9e9449..b178b0fbfe 100644
--- a/pandora_console/pandoradb.postgreSQL.sql
+++ b/pandora_console/pandoradb.postgreSQL.sql
@@ -1434,7 +1434,8 @@ CREATE TABLE "ttag" (
 	"id_tag" SERIAL NOT NULL PRIMARY KEY, 
 	"name" VARCHAR(100) NOT NULL default '', 
 	"description" text NOT NULL default '', 
-	"url" text NOT NULL default ''
+	"url" text NOT NULL default '',
+	"email" text NULL
 ); 
 
 -- ---------------------------------------------------------------------
diff --git a/pandora_console/pandoradb.sql b/pandora_console/pandoradb.sql
index 8dc44cdcba..6ceaeceb31 100644
--- a/pandora_console/pandoradb.sql
+++ b/pandora_console/pandoradb.sql
@@ -1543,6 +1543,7 @@ CREATE TABLE IF NOT EXISTS `ttag` (
 	`name` varchar(100) NOT NULL default '', 
 	`description` text NOT NULL, 
 	`url` mediumtext NOT NULL, 
+	`email` text NULL,	
 	PRIMARY KEY  (`id_tag`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
 
diff --git a/pandora_console/pandoradb_data.sql b/pandora_console/pandoradb_data.sql
index fc8d8a3fb9..4a7f595e69 100644
--- a/pandora_console/pandoradb_data.sql
+++ b/pandora_console/pandoradb_data.sql
@@ -440,7 +440,7 @@ INSERT INTO `tplugin` (`id`, `name`, `description`, `max_timeout`, `execute`, `p
 
 INSERT INTO `tagent_custom_fields` VALUES (1,'Serial&#x20;Number',0),(2,'Department',0),(3,'Additional&#x20;ID',0);
 
-INSERT INTO `ttag` VALUES (1,'network','Network&#x20;equipment','http://artica.es'),(2,'critical','Critical&#x20;modules',''),(3,'dmz','DMZ&#x20;Network&#x20;Zone',''),(4,'performance','Performance&#x20;anda&#x20;capacity&#x20;modules',''),(5,'configuration','','');
+INSERT INTO `ttag` VALUES (1,'network','Network&#x20;equipment','http://artica.es',''),(2,'critical','Critical&#x20;modules','',''),(3,'dmz','DMZ&#x20;Network&#x20;Zone','',''),(4,'performance','Performance&#x20;anda&#x20;capacity&#x20;modules','',''),(5,'configuration','','','');
 
 INSERT INTO `tevent_response` VALUES (1,'Ping&#x20;to&#x20;host','Ping&#x20;to&#x20;the&#x20;agent&#x20;host','ping&#x20;-c&#x20;5&#x20;_agent_address_','command',0,620,500,0,''),(2,'SSH&#x20;to&#x20;host','Connect&#x20;via&#x20;SSH&#x20;to&#x20;the&#x20;agent','http://192.168.70.164:8022/anyterm.html?param=_User_@_agent_address_','url',0,800,450,0,'User'),(3,'Create&#x20;incident&#x20;from&#x20;event','Create&#x20;a&#x20;incident&#x20;from&#x20;the&#x20;event&#x20;with&#x20;the&#x20;standard&#x20;incidents&#x20;system&#x20;of&#x20;Pandora&#x20;FMS','index.php?sec=workspace&amp;sec2=operation/incidents/incident_detail&amp;insert_form&amp;from_event=_event_id_','url',0,0,0,1,''),(4,'Create&#x20;Integria&#x20;IMS&#x20;incident&#x20;from&#x20;event','Create&#x20;a&#x20;incident&#x20;from&#x20;the&#x20;event&#x20;with&#x20;integria&#x20;incidents&#x20;system&#x20;of&#x20;Pandora&#x20;FMS.&#x20;&#x0d;&#x0a;&#x0d;&#x0a;Is&#x20;necessary&#x20;to&#x20;enable&#x20;and&#x20;configure&#x20;the&#x20;Integria&#x20;incidents&#x20;in&#x20;Pandora&#x20;FMS&#x20;setup.','index.php?sec=workspace&amp;sec2=operation/integria_incidents/incident&amp;tab=editor&amp;from_event=_event_id_','url',0,0,0,1,''),(5,'Restart&#x20;agent','Restart&#x20;the&#x20;agent&#x20;with&#x20;using&#x20;UDP&#x20;protocol.&#x0d;&#x0a;&#x0d;&#x0a;To&#x20;use&#x20;this&#x20;response&#x20;is&#x20;necessary&#x20;to&#x20;have&#x20;installed&#x20;Pandora&#x20;FMS&#x20;server&#x20;and&#x20;console&#x20;in&#x20;the&#x20;same&#x20;machine.','/usr/share/pandora_server/udp_client.pl&#x20;_agent_address_&#x20;41122&#x20;&quot;REFRESH&#x20;AGENT&quot;','command',0,620,500,0,'');