diff --git a/includes/navigation.php b/includes/navigation.php index 6e22e4d..1896e67 100644 --- a/includes/navigation.php +++ b/includes/navigation.php @@ -3,5 +3,6 @@
  • Home
  • Clan Stats
  • User Stats
  • +
  • Top10
  • diff --git a/topstats.php b/topstats.php new file mode 100644 index 0000000..149f682 --- /dev/null +++ b/topstats.php @@ -0,0 +1,66 @@ + + + + + + + + + DTCH - PUBG Clan - User Stats + + + + + + +
    +
    +

    User Stats

    + + + + +
    "; + + // Displaying top 10 comparisons for each attribute + $attributes = ['dBNOs', 'damageDealt', 'roadKills', 'teamKills']; + foreach ($attributes as $attribute) { + echo "

    Top 10 $attribute

    "; + uasort($players_data[$selected_mode], function ($a, $b) use ($attribute) { + $account_id_a = array_key_first($a); + $account_id_b = array_key_first($b); + return $b[$account_id_b][$attribute] <=> $a[$account_id_a][$attribute]; // Sort in descending order + }); + + echo ""; + echo ""; + $count = 0; + foreach ($players_data[$selected_mode] as $player_name => $player_details) { + if ($count++ >= 10) break; // Limit to top 10 players + $account_id = array_key_first($player_details); + echo ""; + } + echo "
    Player$attribute
    $player_name{$player_details[$account_id][$attribute]}

    "; + } + + echo "Last update " ; + echo $players_data['updated']; + ?> +
    +
    + + + + + diff --git a/update/update_clan.ps1 b/update/update_clan.ps1 index d343043..0d5f375 100644 --- a/update/update_clan.ps1 +++ b/update/update_clan.ps1 @@ -1,6 +1,11 @@  +if($PSScriptRoot.length -eq 0){ + $scriptroot = Get-Location +}else{ + $scriptroot = $PSScriptRoot +} # Read the content of the file as a single string -$fileContent = Get-Content -Path "../config/config.php" -Raw +$fileContent = Get-Content -Path "$scriptroot/../config/config.php" -Raw # Use regex to match the apiKey value if ($fileContent -match "\`$apiKey\s*=\s*\'([^\']+)\'") { @@ -14,12 +19,25 @@ if ($fileContent -match "\`$clanid\s*=\s*\'([^\']+)\'") { } else { Write-Output "No clanid found in $configPath" } - - - $headers = @{ 'accept' = 'application/vnd.api+json' 'Authorization' = "$apiKey" } $claninfo = Invoke-RestMethod -Uri "https://api.pubg.com/shards/steam/clans/$clanid" -Method GET -Headers $headers -$claninfo.data.attributes | convertto-json -Depth 100 | out-file '../data/claninfo.json' \ No newline at end of file + +# Get current date and time +$currentDateTime = Get-Date + +# Get current timezone +$currentTimezone = (Get-TimeZone).Id + +# Format and parse the information into a string +$formattedString = "$currentDateTime - Time Zone: $currentTimezone" +# Output the formatted string + + +[PSCustomObject]$clandata = $claninfo.data.attributes +$clandata | Add-Member -Name "updated" -MemberType NoteProperty -Value $formattedString +$clandata | convertto-json -Depth 100 | out-file "$scriptroot/../data/claninfo.json" + +$clandata | convertto-json -Depth 100 \ No newline at end of file diff --git a/update/update_clan_members.ps1 b/update/update_clan_members.ps1 index 5aba40d..5afc8a0 100644 --- a/update/update_clan_members.ps1 +++ b/update/update_clan_members.ps1 @@ -1,6 +1,11 @@  +if($PSScriptRoot.length -eq 0){ + $scriptroot = Get-Location +}else{ + $scriptroot = $PSScriptRoot +} # Read the content of the file as a single string -$fileContent = Get-Content -Path "../config/config.php" -Raw +$fileContent = Get-Content -Path "$scriptroot/../config/config.php" -Raw # Use regex to match the apiKey value if ($fileContent -match "\`$apiKey\s*=\s*\'([^\']+)\'") { @@ -64,6 +69,7 @@ $webrequestlimiter = 0 foreach ($playmode in $playermodes) { # Fetch stats for the current playmode if($webrequestlimiter -le 8){ + write-output "Getting data for players $playeridstring gameode $playmode" $stats = Invoke-RestMethod -Uri "https://api.pubg.com/shards/steam/seasons/lifetime/gameMode/$playmode/players?filter[playerIds]=$playeridstring" -Method GET -Headers $headers $webrequestlimiter++ }else{ @@ -80,7 +86,7 @@ foreach ($playmode in $playermodes) { # Fetch the player name for the current stat (account ID) from the dictionary $playerName = $playerList | Where-Object { $_.PlayerID -eq $stat } | Select-Object -ExpandProperty PlayerName - + write-output "Getting data for $playerName with gamemode $playmode" # Fetch the specific stat data for the current stat $specificStat = ($stats.data | where-object {$_.relationships.player.data.id -eq $stat}).attributes.gamemodestats.$playmode @@ -91,4 +97,19 @@ foreach ($playmode in $playermodes) { $lifetimestats[$playmode][$playerName][$stat] = $specificStat } } -$lifetimestats | convertto-json -Depth 100 | out-file '../data/player_lifetime_data.json' + + + +# Get current date and time +$currentDateTime = Get-Date + +# Get current timezone +$currentTimezone = (Get-TimeZone).Id + +# Format and parse the information into a string +$formattedString = "$currentDateTime - Time Zone: $currentTimezone" +$lifetimestats['updated']= $formattedString +# Output the formatted string + + +$lifetimestats | convertto-json -Depth 100 | out-file "$scriptroot/../data/player_lifetime_data.json" \ No newline at end of file diff --git a/user_stats.php b/user_stats.php index 898b64f..04a0a99 100644 --- a/user_stats.php +++ b/user_stats.php @@ -58,6 +58,8 @@ error_reporting(E_ALL); } else { echo "No player data available."; } + echo "Last update " ; + echo $players_data['updated']; ?>