diff --git a/latestmatches.php b/latestmatches.php
index bebccf0..be2bd21 100644
--- a/latestmatches.php
+++ b/latestmatches.php
@@ -9,10 +9,10 @@ $ogDescription = "Dive into the detailed match stats of DTCH Clan in PUBG. Explo
-
+ ?>
@@ -20,18 +20,18 @@ $ogDescription = "Dive into the detailed match stats of DTCH Clan in PUBG. Explo
";
- foreach ($players_matches as $player_data) {
- if (isset($player_data['playername'])) {
- $player_name = $player_data['playername'];
- echo "$player_name ";
- }
+ foreach ($players['clanMembers'] as $player) {
+
+ echo "$player ";
+
}
echo " ";
- $selected_player = $_GET['selected_player'] ?? $players_matches[0]['playername'];
+ $selected_player = $_GET['selected_player'] ?? $players[0];
echo "
diff --git a/update/get_matches.ps1 b/update/get_matches.ps1
index 376ab26..5430119 100644
--- a/update/get_matches.ps1
+++ b/update/get_matches.ps1
@@ -12,7 +12,7 @@ new-lock -by "get_matches"
# Read the content of the file as a single string
$fileContent = Get-Content -Path "$scriptroot/../config/config.php" -Raw
-
+$players = (Get-Content -Path "$scriptroot/../config/clanmembers.json" | ConvertFrom-Json).clanmembers
# Use regex to match the apiKey value
if ($fileContent -match "\`$apiKey\s*=\s*\'([^\']+)\'") {
$apiKey = $matches[1]
@@ -34,10 +34,11 @@ foreach ($player in $player_data) {
$playermatches = @()
foreach ($match in $lastMatches) {
Write-Host "Getting match for $($player.attributes.name) match: $match "
- if(Test-Path "$scriptroot/../data/matches/$match.json"){
+ if (Test-Path "$scriptroot/../data/matches/$match.json") {
write-output "Getting $match from cache"
$stats = get-content "$scriptroot/../data/matches/$match.json" | convertfrom-json
- }else{
+ }
+ else {
$stats = Invoke-RestMethod -Uri "https://api.pubg.com/shards/steam/matches/$match" -Method GET -Headers $headers
$stats | ConvertTo-Json -Depth 100 | Out-File "$scriptroot/../data/matches/$match.json"
}
@@ -66,8 +67,8 @@ foreach ($player in $player_data) {
if (test-path "$scriptroot/../data/player_matches.json") {
$old_player_data = get-content "$scriptroot/../data/player_matches.json" | convertfrom-json -Depth 100
- $new_ids = ($player_matches.player_matches | where-object {$_.stats.winplace -eq 1}).id
- $old_ids = ($old_player_data.player_matches | where-object {$_.stats.winplace -eq 1}).id
+ $new_ids = ($player_matches.player_matches | where-object { $_.stats.winplace -eq 1 }).id
+ $old_ids = ($old_player_data.player_matches | where-object { $_.stats.winplace -eq 1 }).id
$new_win_matches = ((Compare-Object -ReferenceObject $old_ids -DifferenceObject $new_ids) | Where-Object { $_.SideIndicator -eq '=>' }).InputObject | Select-Object -Unique
$new_win_matches = $old_player_data.new_win_matches + $new_win_matches | Select-Object -Unique
$player_matches += [PSCustomObject]@{
@@ -76,8 +77,6 @@ if (test-path "$scriptroot/../data/player_matches.json") {
}
-
-
$currentDateTime = Get-Date
# Get current timezone
@@ -92,5 +91,36 @@ $playermatches += [PSCustomObject]@{
$player_matches | convertto-json -Depth 100 | out-file "$scriptroot/../data/player_matches.json"
+write-output 'Cleaning matches'
+
+$matchfiles = Get-ChildItem "$scriptroot/../data/matches" -Filter *.json
+$player_matches_object = @()
+foreach ($file in $matchfiles) {
+ $filecontent = get-content $file | convertfrom-json
+ $matchfiledate = $filecontent.data.attributes.createdAt
+ if ($matchfiledate -lt (get-date).AddMonths(-1)) {
+ write-output "archiving $matchfiledate"
+ Move-Item -Path $file -Destination "$scriptroot/../data/matches/archive"
+ }
+ else {
+ $result = ($filecontent.included | where-object { $_.type -eq 'participant' } | Where-Object { $players -contains $_.attributes.stats.name })
+ $filecontent.data.id
+ $result.count
+ $player_matches_cached = ($filecontent.included | where-object { $_.type -eq 'participant' } | Where-Object { $players -contains $_.attributes.stats.name }).attributes.stats
+ if ($null -ne $player_matches_cached) {
+ $player_matches_object += [PSCustomObject]@{
+ matchType = $filecontent.data.attributes.matchType
+ gameMode = $filecontent.data.attributes.gameMode
+ createdAt = $filecontent.data.attributes.createdAt
+ mapName = $filecontent.data.attributes.mapName
+ id = $filecontent.data.id
+ stats = $player_matches_cached
+ }
+ }
+ write-output "NEW $matchfiledate"
+ }
+}
+$player_matches_object | convertto-json -Depth 100 | out-file "$scriptroot/../data/cached_matches.json"
+
remove-lock
Stop-Transcript
\ No newline at end of file