⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stats-reporter.jsp

📁 openfire 服务器源码下载
💻 JSP
📖 第 1 页 / 共 2 页
字号:
<%@ page import="org.jivesoftware.openfire.reporting.stats.StatsViewer" %><%@ page import="org.jivesoftware.util.CookieUtils" %><%@ page import="org.jivesoftware.util.JiveGlobals"%><%@ page import="org.jivesoftware.util.ParamUtils"%><%@ page import="org.jivesoftware.openfire.stats.Statistic"%><%@ page import="javax.servlet.http.Cookie"%><%@ page import="java.util.Arrays"%><%@ page import="java.util.Collections"%><%@ page import="java.util.Comparator"%><%@ page import="java.util.List"%><%@ page import="org.jivesoftware.openfire.plugin.MonitoringPlugin" %><%@ page import="org.jivesoftware.openfire.XMPPServer" %><%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %><%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt" %><%    List<String> statList = Arrays.asList(getStatsViewer().getAllHighLevelStatKeys());    Collections.sort(statList, statisticComporator);    String dateRangeType = ParamUtils.getParameter(request,"dateRangeType");    String dateRangePreset = ParamUtils.getParameter(request,"dateRangePreset");    String fromDateParam = ParamUtils.getParameter(request,"fromDate");    String toDateParam = ParamUtils.getParameter(request,"toDate");    String timePeriod = "last60minutes";    Cookie timePeriodCookie = CookieUtils.getCookie(request, COOKIE_TIMEPERIOD);    if (timePeriodCookie != null) {        String cookieValue = timePeriodCookie.getValue();        if (cookieValue.startsWith("this") || cookieValue.startsWith("last")) {            dateRangeType = "preset";            dateRangePreset = cookieValue;        }        else {            String[] dates = cookieValue.split("to");            dateRangeType = "specific";            if (dates.length == 2) {                fromDateParam = dates[0];                toDateParam = dates[1];            }        }        timePeriod = cookieValue;    }    // Set parameter defaults    if (dateRangeType == null) {        dateRangeType = "preset";    }%><fmt:setLocale value="<%= JiveGlobals.getLocale().getLanguage() %>"/><html><head>    <title><fmt:message key="allreports.title" /></title>    <meta name="pageID" content="stats-reporter"/>    <script src="/js/prototype.js" type="text/javascript"></script>    <script src="/js/effects.js" type="text/javascript"></script>    <script src="/js/scriptaculous.js" type="text/javascript"></script>    <style type="text/css">        .dateerror { font-weight: bold; color:red;}        .dateerrorinput {background-color:red};        .datenormal { font-weight: normal; color:black;}    </style>    <style type="text/css">@import url( /js/jscalendar/calendar-win2k-cold-1.css );</style>    <script type="text/javascript" src="/js/jscalendar/calendar.js"></script>    <script type="text/javascript" src="/js/jscalendar/i18n.jsp"></script>    <script type="text/javascript" src="/js/jscalendar/calendar-setup.js"></script>    <script type="text/javascript">        var datesAreValid = true;        var stats = {};        <%        for (String statKey : statList) { %><% Statistic stat = getStatsViewer().getStatistic(statKey)[0]; %>            stats["<%= statKey %>"] = {"name":"<%= stat.getName() %>","description":"<%= stat.getDescription() %>"};        <% } %>        var currentStat = '<%= STAT_DEFAULT %>';        var currentTimePeriod = '<%= timePeriod %>';        function viewStat(stat) {            timePeriod = '';            timePeriodName = '';            if ($('drt01').checked == true) {                // get a preset value                drselect = $('dateRangePreset');                timePeriod = drselect[drselect.selectedIndex].value;                timePeriodName = drselect[drselect.selectedIndex].text;                datesAreValid = true;            } else {                // get a date range                validateStartAndEndDate();                if (datesAreValid) {                    timePeriod = $('fromDate').value + 'to' + $('toDate').value;                    timePeriodName = $('fromDate').value + ' to ' + $('toDate').value;                } else {                    return;                }            }            if (datesAreValid && (stat != currentStat || timePeriod != currentTimePeriod)) {                var viewElement = $('viewer');                var pdfViewElement = $('pdfviewer');                var pdfViewAllElement = $('pdfviewerall');                viewElement.style.display = "none";                var i = new Image();                i.onload = function() {                    viewElement.src = i.src;                    pdfViewElement.href = i.src + "&pdf=true";                    pdfViewAllElement.href = i.src + "&pdf=all";                    $('graph-header').innerHTML = stats[stat].name + ': ' + timePeriodName;                    $('graph-description').innerHTML = '<b>' + stats[stat].name + '</b><br /><br />' +                            stats[stat].description;                    Effect.Appear('viewer');                    currentStat = stat;                    currentTimePeriod = timePeriod;                    createCookie("<%= COOKIE_TIMEPERIOD %>",currentTimePeriod,1000);                }                var d = new Date();                var t = d.getTime()                i.src = "graph?stat=" + stat + "&date=" + t + '&timeperiod=' + timePeriod + '&width=500&height=250';            }        }        function createCookie(name,value,days) {            if (days) {		        var date = new Date();                date.setTime(date.getTime()+(days*24*60*60*1000));                var expires = "; expires="+date.toGMTString();            }            else {                var expires = "";            }            document.cookie = name+"="+value+expires+"; path=/";        }        function writeTimePeriod() {            if ($('drt01').checked == true) {                drselect = $('dateRangePreset');                document.write(drselect[drselect.selectedIndex].text);            }            else {                // get a date range                if ($('fromDate').value != '' && $('toDate').value != '') {                    document.write($('fromDate').value + ' to ' + $('toDate').value);                }            }        }        function checkPreset() {            document.statsForm.dateRangeType[0].checked=true;            document.statsForm.dateRangePreset.disabled = false;            document.statsForm.fromDate.disabled = true;            document.statsForm.toDate.disabled = true;            viewStat(currentStat);        }        function checkSpecific() {            document.statsForm.dateRangeType[1].checked=true            document.statsForm.fromDate.disabled = false;            document.statsForm.toDate.disabled = false;            document.statsForm.dateRangePreset.disabled = true;            viewStat(currentStat);        }        function validateStartAndEndDate() {            if ($('fromDate').value != '' && $('toDate').value != '') {                fromDate = $('fromDate').value;                toDate = $('toDate').value;                if (!isValidDate(fromDate)) {                    $('fromDateTitle').className = 'dateerror';                    $('fromDate').className = 'dateerrorinput';                    datesAreValid = false;                    return;                }                if (!isValidDate(toDate)) {                    $('toDateTitle').className = 'dateerror';                    $('toDate').className = 'dateerrorinput';                    datesAreValid = false;                    return;                }                if (!isValidCombination(fromDate, toDate)) {                    $('toDateTitle').className = 'dateerror';                    $('fromDateTitle').className = 'dateerror';                    $('toDate').className = 'dateerrorinput';                    $('fromDate').className = 'dateerrorinput';                    datesAreValid = false;                    return;                }                datesAreValid = true;                $('toDate').className = '';                $('fromDate').className = '';                $('toDateTitle').className = 'datenormal';                $('fromDateTitle').className = 'datenormal';                return;            }            else {                datesAreValid = false;                return;            }        }        function isValidCombination(startdate, enddate) {            if (!getDate(startdate) || !getDate(enddate)) {                return false;            }            else {                return getDate(startdate) < getDate(enddate);            }        }        function getDate(datestring) {            dateSplit = datestring.split('/');            if (dateSplit.length < 3) {                return false;            }            var monthLength = new Array(31,28,31,30,31,30,31,31,30,31,30,31);            var day = parseInt(dateSplit[1]);	        var month = parseInt(dateSplit[0]);	        var year = parseInt(dateSplit[2]);            if (!day || !month || !year)                return false;            year = year + 2000;            if (year/4 == parseInt(year/4))                monthLength[1] = 29;            if (day > monthLength[month-1])                return false;            monthLength[1] = 28;            var now = new Date();            now = now.getTime(); //NN3            var dateToCheck = new Date();            dateToCheck.setYear(year);            dateToCheck.setMonth(month-1);            dateToCheck.setDate(day);            var checkDate = dateToCheck.getTime();            if (now < checkDate) {                return false;            }            else {                return checkDate;            }        }        function isValidDate(datestring) {            d = getDate(datestring);            if (!d) {                return false;            }            else {                var now = new Date();                now = now.getTime(); //NN3                if (now < d) {                    return false;                } else {                    return true;                }            }        }    </script>    <style type="text/css">	    @import "style/style.css";    </style></head><body><table cellpadding="0" cellspacing="0" border="0" width="753"><tr>    <td width="180" valign="top">        <table cellpadding="0" cellspacing="0" border="0" width="180" class="jive-table">        <thead>        <tr>            <th>                <fmt:message key="allreports.daterange" />            </th>        </tr>        </thead>        <tr style="border-bottom: none"><form action="" id="statsForm" name="statsForm">            <td colspan="2" valign="top" width="180">

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -