diff --git a/server.py b/server.py
index 467293a..ef4233a 100755
--- a/server.py
+++ b/server.py
@@ -491,31 +491,39 @@ def getLoginVSCOntribution():
@app.route("/_getTrendingEvents")
def getTrendingEvents():
try:
- date = datetime.datetime.fromtimestamp(float(request.args.get('date')))
+ dateS = datetime.datetime.fromtimestamp(float(request.args.get('dateS')))
+ dateE = datetime.datetime.fromtimestamp(float(request.args.get('dateE')))
except:
- date = datetime.datetime.now()
+ dateS = datetime.datetime.now() - datetime.timedelta(days=7)
+ dateE = datetime.datetime.now()
- data = trendings_helper.getTrendingEvents(date)
+ data = trendings_helper.getTrendingEvents(dateS, dateE)
return jsonify(data)
@app.route("/_getTrendingCategs")
def getTrendingCategs():
try:
- date = datetime.datetime.fromtimestamp(float(request.args.get('date')))
+ dateS = datetime.datetime.fromtimestamp(float(request.args.get('dateS')))
+ dateE = datetime.datetime.fromtimestamp(float(request.args.get('dateE')))
except:
- date = datetime.datetime.now()
+ dateS = datetime.datetime.now() - datetime.timedelta(days=7)
+ dateE = datetime.datetime.now()
- data = trendings_helper.getTrendingCategs(date)
+
+ data = trendings_helper.getTrendingCategs(dateS, dateE)
return jsonify(data)
@app.route("/_getTrendingTags")
def getTrendingTags():
try:
- date = datetime.datetime.fromtimestamp(float(request.args.get('date')))
+ dateS = datetime.datetime.fromtimestamp(float(request.args.get('dateS')))
+ dateE = datetime.datetime.fromtimestamp(float(request.args.get('dateE')))
except:
- date = datetime.datetime.now()
+ dateS = datetime.datetime.now() - datetime.timedelta(days=7)
+ dateE = datetime.datetime.now()
- data = trendings_helper.getTrendingTags(date)
+
+ data = trendings_helper.getTrendingTags(dateS, dateE)
return jsonify(data)
diff --git a/static/js/trendings.js b/static/js/trendings.js
index f319cc2..853ca81 100644
--- a/static/js/trendings.js
+++ b/static/js/trendings.js
@@ -1,5 +1,6 @@
/* VARS */
-var date;
+var dateStart;
+var dateEnd;
var eventPie = ["#eventPie"];
var eventLine = ["#eventLine"];
var categPie = ["#categPie"];
@@ -36,10 +37,12 @@ var lineChartOption = {
var pieChartOption = {
series: {
pie: {
- innerRadius: 0.5,
+ innerRadius: 0.2,
show: true,
label: {
- show: false,
+ show: true,
+ radius: 1,
+ formatter: innerPieLabelFormatter,
}
}
},
@@ -50,6 +53,15 @@ var pieChartOption = {
};
/* FUNCTIONS */
+function innerPieLabelFormatter(label, series) {
+ var count = series.data[0][1];
+ return '
';
+}
+
function getTextColour(rgb) {
var r = parseInt('0x'+rgb.substring(0,2));
var g = parseInt('0x'+rgb.substring(2,4));
@@ -87,11 +99,26 @@ function updatePie(pie, data) {
if (data === undefined || data.length == 0 || (data[0] == 0 && data[1] == 0)) {
toPlot = [{ label: 'No data', data: 100 }];
} else {
+ toPlot_obj = {}
+ for (var arr of data) {
+ var date = arr[0];
+ var items = arr[1]
+ for(var item_arr of items) {
+ var item = item_arr[0];
+ var count = item_arr[1];
+ if(toPlot_obj[item] === undefined)
+ toPlot_obj[item] = 0;
+ toPlot_obj[item] += count;
+ }
+ }
toPlot = [];
- for (var item of data) {
- toPlot.push({label: item[0], data: item[1]});
+ for (var item in toPlot_obj) {
+ if (toPlot_obj.hasOwnProperty(item)) {
+ toPlot.push({label: item, data: toPlot_obj[item]})
+ }
}
}
+
if (!(pieWidget === undefined)) {
pieWidget.setData(toPlot);
pieWidget.setupGrid();
@@ -149,14 +176,15 @@ function updateLine(line, data) {
}
function updatePieLine(pie, line, url) {
- $.getJSON( url+"?date="+parseInt(date.getTime()/1000), function( data ) {
- updatePie(pie, data[0][1]);
+ $.getJSON( url+"?dateS="+parseInt(dateStart.getTime()/1000)+"&dateE="+parseInt(dateEnd.getTime()/1000), function( data ) {
+ updatePie(pie, data);
updateLine(line, data);
});
}
function dateChanged() {
- date = datePickerWidget.datepicker( "getDate" );
+ dateStart = datePickerWidgetStart.datepicker( "getDate" );
+ dateEnd = datePickerWidgetEnd.datepicker( "getDate" );
updatePieLine(eventPie, eventLine, url_getTrendingEvent)
updatePieLine(categPie, categLine, url_getTrendingCateg)
updatePieLine(tagPie, tagLine, url_getTrendingTag)
@@ -164,9 +192,14 @@ function dateChanged() {
$(document).ready(function () {
- datePickerWidget = $( "#datepicker" ).datepicker(datePickerOptions);
- datePickerWidget.datepicker("setDate", new Date());
- date = datePickerWidget.datepicker( "getDate" );
+ datePickerWidgetStart = $( "#datepickerStart" ).datepicker(datePickerOptions);
+ var lastWeekDate = new Date();
+ lastWeekDate.setDate(lastWeekDate.getDate()-7);
+ datePickerWidgetStart.datepicker("setDate", lastWeekDate);
+ dateStart = datePickerWidgetStart.datepicker( "getDate" );
+ datePickerWidgetEnd = $( "#datepickerEnd" ).datepicker(datePickerOptions);
+ datePickerWidgetEnd.datepicker("setDate", new Date());
+ dateEnd = datePickerWidgetEnd.datepicker( "getDate" );
updatePieLine(eventPie, eventLine, url_getTrendingEvent)
updatePieLine(categPie, categLine, url_getTrendingCateg)
diff --git a/templates/trendings.html b/templates/trendings.html
index 6d33839..241d2e9 100644
--- a/templates/trendings.html
+++ b/templates/trendings.html
@@ -62,6 +62,10 @@
margin-bottom: 10px;
}
+ .panel-body {
+ padding: 0px;
+ }
+
.col-lg-6 {
padding-right: 5px;
padding-left: 5px;
@@ -112,7 +116,11 @@ small {
MISP Trendings
@@ -133,7 +141,6 @@ small {
@@ -146,7 +153,6 @@ small {
@@ -159,7 +165,6 @@ small {