From df3a9169ccaa253f1e5ec4c457f848d0d88e2b11 Mon Sep 17 00:00:00 2001 From: Andre Lorbach Date: Mon, 22 Mar 2010 18:52:10 +0100 Subject: [PATCH] Made further changes regarding report admin, adding propper date filter edit --- src/admin/reports.php | 83 +++++++++++++++++++ src/include/functions_filters.php | 1 + src/templates/admin/admin_reports.html | 109 ++++++++++++++++++++++++- 3 files changed, 191 insertions(+), 2 deletions(-) diff --git a/src/admin/reports.php b/src/admin/reports.php index 70d7dcb..f63e0c6 100644 --- a/src/admin/reports.php +++ b/src/admin/reports.php @@ -895,6 +895,9 @@ if ( isset($content['ISADDSAVEDREPORT']) && $content['ISADDSAVEDREPORT'] ) $tmpComparisons['cp_selected'] = "selected"; else $tmpComparisons['cp_selected'] = ""; + + // Init Date Field Helpers! + InitDatefieldHelpers( $tmpFilter ); } else { @@ -1481,6 +1484,86 @@ function xml2array($url, $get_attributes = 1, $priority = 'tag') return ($xml_array); } +/* +* Helper functions to init a Datefield +*/ +function InitDatefieldHelpers( &$myFilter ) +{ + global $content; + global $currentTime, $currentDay, $currentMonth, $currentYear, $tomorrowTime, $tomorrowDay, $tomorrowMonth, $tomorrowYear; + + if ( $myFilter['FilterDateMode'] == DATEMODE_LASTX ) + $myFilter['filter_lastx_default'] = intval($myFilter['FilterValue']); + else + $myFilter['filter_lastx_default'] = DATE_LASTX_7DAYS; + + $myFilter['MyFilter_daterange_last_x_list'][0]['LastXID'] = DATE_LASTX_HOUR; + $myFilter['MyFilter_daterange_last_x_list'][0]['LastXDisplayName'] = $content['LN_DATE_LASTX_HOUR']; + if ( $myFilter['filter_lastx_default'] == DATE_LASTX_HOUR ) { $myFilter['MyFilter_daterange_last_x_list'][0]['selected'] = "selected"; } else { $myFilter['MyFilter_daterange_last_x_list'][0]['selected'] = ""; } + + $myFilter['MyFilter_daterange_last_x_list'][1]['LastXID'] = DATE_LASTX_12HOURS; + $myFilter['MyFilter_daterange_last_x_list'][1]['LastXDisplayName'] = $content['LN_DATE_LASTX_12HOURS']; + if ( $myFilter['filter_lastx_default'] == DATE_LASTX_12HOURS ) { $myFilter['MyFilter_daterange_last_x_list'][1]['selected'] = "selected"; } else { $myFilter['MyFilter_daterange_last_x_list'][1]['selected'] = ""; } + + $myFilter['MyFilter_daterange_last_x_list'][2]['LastXID'] = DATE_LASTX_24HOURS; + $myFilter['MyFilter_daterange_last_x_list'][2]['LastXDisplayName'] = $content['LN_DATE_LASTX_24HOURS']; + if ( $myFilter['filter_lastx_default'] == DATE_LASTX_24HOURS ) { $myFilter['MyFilter_daterange_last_x_list'][2]['selected'] = "selected"; } else { $myFilter['MyFilter_daterange_last_x_list'][2]['selected'] = ""; } + + $myFilter['MyFilter_daterange_last_x_list'][3]['LastXID'] = DATE_LASTX_7DAYS; + $myFilter['MyFilter_daterange_last_x_list'][3]['LastXDisplayName'] = $content['LN_DATE_LASTX_7DAYS']; + if ( $myFilter['filter_lastx_default'] == DATE_LASTX_7DAYS ) { $myFilter['MyFilter_daterange_last_x_list'][3]['selected'] = "selected"; } else { $myFilter['MyFilter_daterange_last_x_list'][3]['selected'] = ""; } + + $myFilter['MyFilter_daterange_last_x_list'][4]['LastXID'] = DATE_LASTX_31DAYS; + $myFilter['MyFilter_daterange_last_x_list'][4]['LastXDisplayName'] = $content['LN_DATE_LASTX_31DAYS']; + if ( $myFilter['filter_lastx_default'] == DATE_LASTX_31DAYS ) { $myFilter['MyFilter_daterange_last_x_list'][4]['selected'] = "selected"; } else { $myFilter['MyFilter_daterange_last_x_list'][4]['selected'] = ""; } + // --- + + // Init filter_daterange_to_year + if ( isset($_SESSION['filter_daterange_to_year']) ) + $filters['filter_daterange_to_year'] = intval($_SESSION['filter_daterange_to_year']); + else + $filters['filter_daterange_to_year'] = $tomorrowYear; + FillDateRangeArray($content['years'], "filter_daterange_to_year_list", "filter_daterange_to_year"); + + // Init filter_daterange_to_month + if ( isset($_SESSION['filter_daterange_to_month']) ) + $filters['filter_daterange_to_month'] = intval($_SESSION['filter_daterange_to_month']); + else + $filters['filter_daterange_to_month'] = $tomorrowMonth; + FillDateRangeArray($content['months'], "filter_daterange_to_month_list", "filter_daterange_to_month"); + + // Init filter_daterange_to_day + if ( isset($_SESSION['filter_daterange_to_day']) ) + $filters['filter_daterange_to_day'] = intval($_SESSION['filter_daterange_to_day']); + else + $filters['filter_daterange_to_day'] = $tomorrowDay; + FillDateRangeArray($content['days'], "filter_daterange_to_day_list", "filter_daterange_to_day"); + + // Init filter_daterange_to_hour + if ( isset($_SESSION['filter_daterange_to_hour']) ) + $filters['filter_daterange_to_hour'] = intval($_SESSION['filter_daterange_to_hour']); + else + $filters['filter_daterange_to_hour'] = 23; + FillDateRangeArray($content['hours'], "filter_daterange_to_hour_list", "filter_daterange_to_hour"); + + // Init filter_daterange_to_minute + if ( isset($_SESSION['filter_daterange_to_minute']) ) + $filters['filter_daterange_to_minute'] = intval($_SESSION['filter_daterange_to_minute']); + else + $filters['filter_daterange_to_minute'] = 59; + FillDateRangeArray($content['minutes'], "filter_daterange_to_minute_list", "filter_daterange_to_minute"); + + // Init filter_daterange_to_second + if ( isset($_SESSION['filter_daterange_to_second']) ) + $filters['filter_daterange_to_second'] = intval($_SESSION['filter_daterange_to_second']); + else + $filters['filter_daterange_to_second'] = 59; + FillDateRangeArray($content['seconds'], "filter_daterange_to_second_list", "filter_daterange_to_second"); + + + +} + // --- END Helper functions ?> \ No newline at end of file diff --git a/src/include/functions_filters.php b/src/include/functions_filters.php index cc36b80..8cb5a77 100644 --- a/src/include/functions_filters.php +++ b/src/include/functions_filters.php @@ -61,6 +61,7 @@ function InitFilterHelpers() if ( $filters['filter_datemode'] == DATEMODE_LASTX ) { $content['datemodes'][2]['selected'] = "selected"; } else { $content['datemodes'][2]['selected'] = ""; } // Init Date Range Parameters + global $currentTime, $currentDay, $currentMonth, $currentYear, $tomorrowTime, $tomorrowDay, $tomorrowMonth, $tomorrowYear; $currentTime = time(); $currentDay = date("d", $currentTime); $currentMonth = date("m", $currentTime); diff --git a/src/templates/admin/admin_reports.html b/src/templates/admin/admin_reports.html index 6f4c2ac..aa7b880 100644 --- a/src/templates/admin/admin_reports.html +++ b/src/templates/admin/admin_reports.html @@ -209,6 +209,9 @@ Helper Javascript Constants */ const REPORT_TARGET_STDOUT = 'stdout', REPORT_TARGET_FILE = 'file', REPORT_TARGET_EMAIL = 'mail'; + const DATEMODE_LASTX = 3, DATEMODE_RANGE_FROM = 4, DATEMODE_RANGE_TO = 5; + const DATE_LASTX_HOUR = 1, DATE_LASTX_12HOURS = 2, DATE_LASTX_24HOURS = 3, DATE_LASTX_7DAYS = 4,DATE_LASTX_31DAYS = 5; + /* * Helper function to show and hide areas of the filterview */ @@ -231,6 +234,40 @@ toggleformelement('outputFormat_filename', false); } } + + function toggleDatefiltervisibility(FormName, Fieldnumber) + { + var myform = document.getElementById(FormName); + if (myform.elements['newcomparison_' + Fieldnumber].value == DATEMODE_LASTX) + { + showvisibility('HiddenDateLastXOptions_' + Fieldnumber); + hidevisibility('HiddenDateDetailsOptions_' + Fieldnumber); + + toggleformelement('filter_daterange_year_' + Fieldnumber, false); + toggleformelement('filter_daterange_month_' + Fieldnumber, false); + toggleformelement('filter_daterange_day_' + Fieldnumber, false); + toggleformelement('filter_daterange_hour_' + Fieldnumber, false); + toggleformelement('filter_daterange_minute_' + Fieldnumber, false); + toggleformelement('filter_daterange_second_' + Fieldnumber, false); + + toggleformelement('filter_daterange_last_x_' + Fieldnumber, true); + } + else if (myform.elements['newcomparison_' + Fieldnumber].value == DATEMODE_RANGE_FROM || myform.elements['newcomparison_' + Fieldnumber].value == DATEMODE_RANGE_TO) + { + showvisibility('HiddenDateDetailsOptions_' + Fieldnumber); + hidevisibility('HiddenDateLastXOptions_' + Fieldnumber); + + toggleformelement('filter_daterange_year_' + Fieldnumber, true); + toggleformelement('filter_daterange_month_' + Fieldnumber, true); + toggleformelement('filter_daterange_day_' + Fieldnumber, true); + toggleformelement('filter_daterange_hour_' + Fieldnumber, true); + toggleformelement('filter_daterange_minute_' + Fieldnumber, true); + toggleformelement('filter_daterange_second_' + Fieldnumber, true); + + toggleformelement('filter_daterange_last_x_' + Fieldnumber, false); + } + } +
@@ -268,16 +305,84 @@ {FilterFieldName} ({FilterFieldID}) - + + + +
+ + + + + + + +
+ + - + + - + +
+ + - + + - + +
+
+ +
+ + + + +
+ +
+
+ + + -