@@ -3605,34 +3605,40 @@ function updateRecoveryMarker(recovery) {
36053605
36063606 if ( ! r ) return ;
36073607 ls_recoveries = true ;
3608+
3609+ var dateNow = Date . now ( ) ;
3610+
36083611
36093612 var i = 0 , ii = r . length ;
36103613 for ( ; i < ii ; i ++ ) {
3611- var lat = parseFloat ( r [ i ] . lat ) ;
3612- var lon = parseFloat ( r [ i ] . lon ) ;
3613-
3614- if ( lat < - 90 || lat > 90 || lon < - 180 || lon > 180 ) continue ;
3615-
3616- var r_index = $ . inArray ( r [ i ] . serial , recovery_names ) ;
3617-
3618- if ( r_index == - 1 ) {
3619- recovery_names . push ( r [ i ] . serial ) ;
3620- r_index = recovery_names . length - 1 ;
3621- recoveries [ r_index ] = { marker : null , infobox : null } ;
3622- }
3623-
3624- var recovery = recoveries [ r_index ] ;
3625- recovery . serial = r [ i ] . serial ;
3626- recovery . lat = lat ;
3627- recovery . lon = lon ;
3628- recovery . recovered_by = r [ i ] . recovered_by ;
3629- recovery . alt = parseFloat ( r [ i ] . alt ) ;
3630- recovery . recovered = r [ i ] . recovered ;
3631- recovery . description = r [ i ] . description ;
3632- recovery . datetime = r [ i ] . datetime ;
3633- recovery . fresh = true ;
3634-
3635- updateRecoveryMarker ( recovery ) ;
3614+ var date = Date . parse ( r [ i ] . datetime ) ;
3615+ if ( ( ( dateNow - date ) / 86400000 ) < 3 ) {
3616+ var lat = parseFloat ( r [ i ] . lat ) ;
3617+ var lon = parseFloat ( r [ i ] . lon ) ;
3618+
3619+ if ( lat < - 90 || lat > 90 || lon < - 180 || lon > 180 ) continue ;
3620+
3621+ var r_index = $ . inArray ( r [ i ] . serial , recovery_names ) ;
3622+
3623+ if ( r_index == - 1 ) {
3624+ recovery_names . push ( r [ i ] . serial ) ;
3625+ r_index = recovery_names . length - 1 ;
3626+ recoveries [ r_index ] = { marker : null , infobox : null } ;
3627+ }
3628+
3629+ var recovery = recoveries [ r_index ] ;
3630+ recovery . serial = r [ i ] . serial ;
3631+ recovery . lat = lat ;
3632+ recovery . lon = lon ;
3633+ recovery . recovered_by = r [ i ] . recovered_by ;
3634+ recovery . alt = parseFloat ( r [ i ] . alt ) ;
3635+ recovery . recovered = r [ i ] . recovered ;
3636+ recovery . description = r [ i ] . description ;
3637+ recovery . datetime = r [ i ] . datetime ;
3638+ recovery . fresh = true ;
3639+
3640+ updateRecoveryMarker ( recovery ) ;
3641+ }
36363642 }
36373643
36383644 // clear old recovery markers
@@ -3708,11 +3714,13 @@ function updateLeaderboardPane(r){
37083714 if ( ! r ) return ;
37093715
37103716 html = "" ;
3711- var leaderboard = [ ] ;
3717+ var leaderboard = { } ;
3718+ var recovered = 0 ;
37123719
37133720 var i = 0 , ii = r . length ;
37143721 for ( ; i < ii ; i ++ ) {
37153722 if ( r [ i ] . recovered ) {
3723+ recovered += 1 ;
37163724 if ( leaderboard . hasOwnProperty ( r [ i ] . recovered_by ) ) {
37173725 leaderboard [ r [ i ] . recovered_by ] = leaderboard [ r [ i ] . recovered_by ] + 1 ;
37183726 } else {
@@ -3732,6 +3740,10 @@ function updateLeaderboardPane(r){
37323740
37333741 var list = sortable . slice ( 0 , 5 ) ;
37343742
3743+ html += "<div><b>Total sondes recovered: " + recovered + "/" + r . length + "</b></div>" ;
3744+ html += "<div><b>Total hunters: " + sortable . length + "</b></div><br>" ;
3745+ html += "<div><b>Leaderboard: </b></div>" ;
3746+
37353747 for ( var i = 0 ; i < list . length ; i ++ ) {
37363748 html += "<div><b>" + ( parseInt ( i ) + 1 ) + ". </b>" + list [ i ] [ 0 ] + " - " + list [ i ] [ 1 ] + "</div>" ;
37373749 }
0 commit comments