Made further changes regarding report admin, adding propper date filter edit

This commit is contained in:
Andre Lorbach 2010-03-22 18:52:10 +01:00
parent f3b68e49fe
commit df3a9169cc
3 changed files with 191 additions and 2 deletions

View File

@ -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
?>

View File

@ -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);

View File

@ -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);
}
}
</script>
<form action="{BASEPATH}admin/reports.php{FormUrlAddOP}" method="post" id="savedreportform">
@ -268,16 +305,84 @@
<b>{FilterFieldName} (<I>{FilterFieldID}</I>)</b>
</td>
<td align="left" class="{colcssclass}" width="100">
<select name="newcomparison_{ROWCNT}" size="1" STYLE="width: 100px">
<select name="newcomparison_{ROWCNT}" size="1" STYLE="width: 100px" OnChange="toggleDatefiltervisibility('savedreportform', {ROWCNT});">
<!-- BEGIN Comparisons -->
<option value="{ComparisonBit}" {cp_selected}>{ComparisonCaption}</option>
<!-- END Comparisons -->
</select>
</td>
<td align="left" class="{colcssclass}" width="200">
<!-- IF FilterType!="2" -->
<input type="text" name="FilterValue_{ROWCNT}" size="32" maxlength="255" value="{FilterValue}">
</td>
<!-- ENDIF FilterType!="2" -->
<!-- IF FilterType="2" -->
<div id="HiddenDateDetailsOptions_{ROWCNT}" class="HiddenContent">
<table border="0" cellpadding="0" cellspacing="0" width="100%" align="center">
<tr>
<td align="left" width="100%">
<select name="filter_daterange_year_{ROWCNT}" size="1" STYLE="width: 60px">
<!-- BEGIN filter_daterange_year_list -->
<option {selected} value="{value}">{value}</option>
<!-- END filter_daterange_year_list -->
</select>
-
<select name="filter_daterange_month_{ROWCNT}" size="1" STYLE="width: 50px">
<!-- BEGIN filter_daterange_month_list -->
<option {selected} value="{value}">{value}</option>
<!-- END filter_daterange_month_list -->
</select>
-
<select name="filter_daterange_day_{ROWCNT}" size="1" STYLE="width: 50px">
<!-- BEGIN filter_daterange_day_list -->
<option {selected} value="{value}">{value}</option>
<!-- END filter_daterange_day_list -->
</select>
</td>
</tr>
<tr>
<td align="left" width="100%">
<select name="filter_daterange_hour_{ROWCNT}" size="1" STYLE="width: 60px">
<!-- BEGIN filter_daterange_hour_list -->
<option {selected} value="{value}">{value}</option>
<!-- END filter_daterange_hour_list -->
</select>
-
<select name="filter_daterange_minute_{ROWCNT}" size="1" STYLE="width: 50px">
<!-- BEGIN filter_daterange_minute_list -->
<option {selected} value="{value}">{value}</option>
<!-- END filter_daterange_minute_list -->
</select>
-
<select name="filter_daterange_second_{ROWCNT}" size="1" STYLE="width: 50px">
<!-- BEGIN filter_daterange_second_list -->
<option {selected} value="{value}">{value}</option>
<!-- END filter_daterange_second_list -->
</select>
</td>
</tr>
</table>
</div>
<div id="HiddenDateLastXOptions_{ROWCNT}" class="HiddenContent">
<table border="0" cellpadding="0" cellspacing="0" width="100%" align="center">
<tr>
<td align="left" width="100%">
<select name="filter_daterange_last_x_{ROWCNT}" size="1">
<!-- BEGIN MyFilter_daterange_last_x_list -->
<option {selected} value="{LastXID}">{LastXDisplayName}</option>
<!-- END MyFilter_daterange_last_x_list -->
</select>
</td>
</tr>
</table>
</div>
<script language="javascript">
// Manually perform initial Javascript Calls
toggleDatefiltervisibility('savedreportform',{ROWCNT});
</script>
<!-- ENDIF FilterType="2" -->
</td>
<td align="center" class="{colcssclass}" width="50">
<button name="subop_edit" type="submit" value="{ROWCNT}" class="borderlessbuttons" title="{LN_REPORTS_FILTER_EDIT}"><img src="{MENU_EDIT}" width="16" alt="{LN_REPORTS_FILTER_EDIT}"></button>
<button name="subop_delete" type="submit" value="{ROWCNT}" class="borderlessbuttons" title="{LN_REPORTS_FILTER_REMOVE}"><img src="{MENU_DELETE}" width="16" alt="{LN_REPORTS_FILTER_REMOVE}"></button>