Minos changes and improvements
(cherry picked from commit 970be457d6
)
Conflicts resolved:
pandora_console/godmode/agentes/planned_downtime.export_csv.php
This commit is contained in:
parent
019f203213
commit
245b88d103
|
@ -20,6 +20,7 @@ require_once ("../../include/functions.php");
|
||||||
require_once ("../../include/functions_db.php");
|
require_once ("../../include/functions_db.php");
|
||||||
require_once ("../../include/functions_users.php");
|
require_once ("../../include/functions_users.php");
|
||||||
require_once ("../../include/functions_groups.php");
|
require_once ("../../include/functions_groups.php");
|
||||||
|
require_once ("../../include/functions_reporting.php");
|
||||||
|
|
||||||
$config["id_user"] = $_SESSION["id_usuario"];
|
$config["id_user"] = $_SESSION["id_usuario"];
|
||||||
if (! check_acl ($config['id_user'], 0, "AR")) {
|
if (! check_acl ($config['id_user'], 0, "AR")) {
|
||||||
|
@ -43,79 +44,81 @@ $module_name = !empty($module_id) ? (string) get_parameter('module_name') : "";
|
||||||
$separator = (string) get_parameter("separator", ";");
|
$separator = (string) get_parameter("separator", ";");
|
||||||
$items_separator = (string) get_parameter("items_separator", ",");
|
$items_separator = (string) get_parameter("items_separator", ",");
|
||||||
|
|
||||||
// SQL QUERY CREATION
|
|
||||||
$where_values = "1=1";
|
|
||||||
|
|
||||||
$groups = users_get_groups();
|
$groups = users_get_groups();
|
||||||
$groups_string = implode (",", array_keys ($groups));
|
if (!empty($groups)) {
|
||||||
$where_values .= " AND id_group IN ($groups_string)";
|
// SQL QUERY CREATION
|
||||||
|
$where_values = "1=1";
|
||||||
|
|
||||||
if (!empty($search_text)) {
|
$groups_string = implode (",", array_keys ($groups));
|
||||||
$where_values .= " AND (name LIKE '%$search_text%' OR description LIKE '%$search_text%')";
|
$where_values .= " AND id_group IN ($groups_string)";
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($execution_type)) {
|
if (!empty($search_text)) {
|
||||||
$where_values .= " AND type_execution = '$execution_type'";
|
$where_values .= " AND (name LIKE '%$search_text%' OR description LIKE '%$search_text%')";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($date_from)) {
|
if (!empty($execution_type)) {
|
||||||
$where_values .= " AND (type_execution = 'periodically' OR (type_execution = 'once' AND date_from >= '".strtotime("$date_from 00:00:00")."'))";
|
$where_values .= " AND type_execution = '$execution_type'";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($date_to)) {
|
if (!empty($date_from)) {
|
||||||
$periodically_monthly_w = "type_periodicity = 'monthly'
|
$where_values .= " AND (type_execution = 'periodically' OR (type_execution = 'once' AND date_from >= '".strtotime("$date_from 00:00:00")."'))";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($date_to)) {
|
||||||
|
$periodically_monthly_w = "type_periodicity = 'monthly'
|
||||||
AND ((periodically_day_from <= '".date('d', strtotime($date_from))."' AND periodically_day_to >= '".date('d', strtotime($date_to))."')
|
AND ((periodically_day_from <= '".date('d', strtotime($date_from))."' AND periodically_day_to >= '".date('d', strtotime($date_to))."')
|
||||||
OR (periodically_day_from > periodically_day_to
|
OR (periodically_day_from > periodically_day_to
|
||||||
AND (periodically_day_from <= '".date('d', strtotime($date_from))."' OR periodically_day_to >= '".date('d', strtotime($date_to))."')))";
|
AND (periodically_day_from <= '".date('d', strtotime($date_from))."' OR periodically_day_to >= '".date('d', strtotime($date_to))."')))";
|
||||||
|
|
||||||
$periodically_weekly_days = array();
|
|
||||||
$date_from_aux = strtotime($date_from);
|
|
||||||
$date_end = strtotime($date_to);
|
|
||||||
$days_number = 0;
|
|
||||||
|
|
||||||
while ($date_from_aux <= $date_end && $days_number < 7) {
|
|
||||||
$weekday_actual = strtolower(date('l', $date_from_aux));
|
|
||||||
|
|
||||||
$periodically_weekly_days[] = "$weekday_actual = 1";
|
$periodically_weekly_days = array();
|
||||||
|
$date_from_aux = strtotime($date_from);
|
||||||
|
$date_end = strtotime($date_to);
|
||||||
|
$days_number = 0;
|
||||||
|
|
||||||
$date_from_aux = $date_from_aux + SECONDS_1DAY;
|
while ($date_from_aux <= $date_end && $days_number < 7) {
|
||||||
$days_number++;
|
$weekday_actual = strtolower(date('l', $date_from_aux));
|
||||||
|
|
||||||
|
$periodically_weekly_days[] = "$weekday_actual = 1";
|
||||||
|
|
||||||
|
$date_from_aux = $date_from_aux + SECONDS_1DAY;
|
||||||
|
$days_number++;
|
||||||
|
}
|
||||||
|
|
||||||
|
$periodically_weekly_w = "type_periodicity = 'weekly' AND (".implode(" OR ", $periodically_weekly_days).")";
|
||||||
|
|
||||||
|
$periodically_w = "type_execution = 'periodically' AND (($periodically_monthly_w) OR ($periodically_weekly_w))";
|
||||||
|
|
||||||
|
$once_w = "type_execution = 'once' AND date_to <= '".strtotime("$date_to 23:59:59")."'";
|
||||||
|
|
||||||
|
$where_values .= " AND (($periodically_w) OR ($once_w))";
|
||||||
}
|
}
|
||||||
|
|
||||||
$periodically_weekly_w = "type_periodicity = 'weekly' AND (".implode(" OR ", $periodically_weekly_days).")";
|
if (!$show_archived) {
|
||||||
|
$where_values .= " AND (type_execution = 'periodically' OR (type_execution = 'once' AND date_to >= '".time()."'))";
|
||||||
$periodically_w = "type_execution = 'periodically' AND (($periodically_monthly_w) OR ($periodically_weekly_w))";
|
}
|
||||||
|
|
||||||
$once_w = "type_execution = 'once' AND date_to <= '".strtotime("$date_to 23:59:59")."'";
|
|
||||||
|
|
||||||
$where_values .= " AND (($periodically_w) OR ($once_w))";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$show_archived) {
|
if (!empty($agent_id)) {
|
||||||
$where_values .= " AND (type_execution = 'periodically' OR (type_execution = 'once' AND date_to >= '".time()."'))";
|
$where_values .= " AND id IN (SELECT id_downtime FROM tplanned_downtime_agents WHERE id_agent = $agent_id)";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($agent_id)) {
|
if (!empty($module_id)) {
|
||||||
$where_values .= " AND id IN (SELECT id_downtime FROM tplanned_downtime_agents WHERE id_agent = $agent_id)";
|
$where_values .= " AND (id IN (SELECT id_downtime
|
||||||
}
|
FROM tplanned_downtime_modules
|
||||||
|
WHERE id_agent_module = $module_id)
|
||||||
|
OR id IN (SELECT id_downtime
|
||||||
|
FROM tplanned_downtime_agents tpda, tagente_modulo tam
|
||||||
|
WHERE tpda.id_agent = tam.id_agente
|
||||||
|
AND tam.id_agente_modulo = $module_id
|
||||||
|
AND tpda.all_modules = 1))";
|
||||||
|
}
|
||||||
|
|
||||||
if (!empty($module_id)) {
|
$sql = "SELECT *
|
||||||
$where_values .= " AND (id IN (SELECT id_downtime
|
FROM tplanned_downtime
|
||||||
FROM tplanned_downtime_modules
|
WHERE $where_values
|
||||||
WHERE id_agent_module = $module_id)
|
ORDER BY type_execution DESC, date_from DESC";
|
||||||
OR id IN (SELECT id_downtime
|
$downtimes = @db_get_all_rows_sql($sql);
|
||||||
FROM tplanned_downtime_agents tpda, tagente_modulo tam
|
|
||||||
WHERE tpda.id_agent = tam.id_agente
|
|
||||||
AND tam.id_agente_modulo = $module_id
|
|
||||||
AND tpda.all_modules = 1))";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql = "SELECT *
|
|
||||||
FROM tplanned_downtime
|
|
||||||
WHERE $where_values
|
|
||||||
ORDER BY type_execution DESC, date_from DESC";
|
|
||||||
$downtimes = @db_get_all_rows_sql($sql);
|
|
||||||
|
|
||||||
if (!empty($downtimes)) {
|
if (!empty($downtimes)) {
|
||||||
ob_clean();
|
ob_clean();
|
||||||
// Show contentype header
|
// Show contentype header
|
||||||
|
@ -142,61 +145,8 @@ if (!empty($downtimes)) {
|
||||||
$group = ucfirst(io_safe_output(groups_get_name($downtime['id_group'])));
|
$group = ucfirst(io_safe_output(groups_get_name($downtime['id_group'])));
|
||||||
$type = ucfirst(io_safe_output($downtime['type_downtime']));
|
$type = ucfirst(io_safe_output($downtime['type_downtime']));
|
||||||
$execution_type = ucfirst(io_safe_output($downtime['type_execution']));
|
$execution_type = ucfirst(io_safe_output($downtime['type_execution']));
|
||||||
|
|
||||||
switch ($downtime['type_execution']) {
|
$execution_date = io_safe_output(reporting_format_planned_downtime_dates($downtime));
|
||||||
case 'once':
|
|
||||||
$execution_date = date ("Y-m-d H:i", $downtime['date_from']) .
|
|
||||||
" " . __('to') . " ".
|
|
||||||
date ("Y-m-d H:i", $downtime['date_to']);
|
|
||||||
break;
|
|
||||||
case 'periodically':
|
|
||||||
switch ($downtime['type_periodicity']) {
|
|
||||||
case 'weekly':
|
|
||||||
$execution_date = __('Weekly:');
|
|
||||||
$execution_date .= " ";
|
|
||||||
if ($downtime['monday']) {
|
|
||||||
$execution_date .= __('Mon');
|
|
||||||
$execution_date .= " ";
|
|
||||||
}
|
|
||||||
if ($downtime['tuesday']) {
|
|
||||||
$execution_date .= __('Tue');
|
|
||||||
$execution_date .= " ";
|
|
||||||
}
|
|
||||||
if ($downtime['wednesday']) {
|
|
||||||
$execution_date .= __('Wed');
|
|
||||||
$execution_date .= " ";
|
|
||||||
}
|
|
||||||
if ($downtime['thursday']) {
|
|
||||||
$execution_date .= __('Thu');
|
|
||||||
$execution_date .= " ";
|
|
||||||
}
|
|
||||||
if ($downtime['friday']) {
|
|
||||||
$execution_date .= __('Fri');
|
|
||||||
$execution_date .= " ";
|
|
||||||
}
|
|
||||||
if ($downtime['saturday']) {
|
|
||||||
$execution_date .= __('Sat');
|
|
||||||
$execution_date .= " ";
|
|
||||||
}
|
|
||||||
if ($downtime['sunday']) {
|
|
||||||
$execution_date .= __('Sun');
|
|
||||||
$execution_date .= " ";
|
|
||||||
}
|
|
||||||
$execution_date .= " (" . $downtime['periodically_time_from'];
|
|
||||||
$execution_date .= "-" . $downtime['periodically_time_to'] . ")";
|
|
||||||
break;
|
|
||||||
case 'monthly':
|
|
||||||
$execution_date = __('Monthly:');
|
|
||||||
$execution_date .= __('From day') . " " . $downtime['periodically_day_from'];
|
|
||||||
$execution_date .= "/" . __('To day') . " ";
|
|
||||||
$execution_date .= $downtime['periodically_day_to'];
|
|
||||||
$execution_date .= " (" . $downtime['periodically_time_from'];
|
|
||||||
$execution_date .= "-" . $downtime['periodically_time_to'] . ")";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
$execution_date = io_safe_output($execution_date);
|
|
||||||
|
|
||||||
$affected_items = array();
|
$affected_items = array();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue