diff --git a/src/XtremeIdiots.Portal.Web/Views/External/LatestAdminActions.cshtml b/src/XtremeIdiots.Portal.Web/Views/External/LatestAdminActions.cshtml
index ec216334b..4712a2033 100644
--- a/src/XtremeIdiots.Portal.Web/Views/External/LatestAdminActions.cshtml
+++ b/src/XtremeIdiots.Portal.Web/Views/External/LatestAdminActions.cshtml
@@ -1,4 +1,5 @@
-@using XtremeIdiots.Portal.Web.Extensions
+@inject IConfiguration Configuration
+@using XtremeIdiots.Portal.Web.Extensions
@using XtremeIdiots.Portal.Repository.Abstractions.Constants.V1
@using XtremeIdiots.Portal.Repository.Abstractions.Models.V1.AdminActions
@model List
@@ -39,7 +40,7 @@
@Html.Raw(text)
@item.Player?.Username
+ href="@((Configuration["XtremeIdiots:PortalBaseUrl"] ?? "https://portal.xtremeidiots.com").TrimEnd('/'))/Players/Details/@item.PlayerId">@item.Player?.Username
diff --git a/src/XtremeIdiots.Portal.Web/Views/IPAddresses/Details.cshtml b/src/XtremeIdiots.Portal.Web/Views/IPAddresses/Details.cshtml
index 566a9440a..86ff2e2cd 100644
--- a/src/XtremeIdiots.Portal.Web/Views/IPAddresses/Details.cshtml
+++ b/src/XtremeIdiots.Portal.Web/Views/IPAddresses/Details.cshtml
@@ -1,6 +1,7 @@
@using XtremeIdiots.Portal.Web.Extensions
@using XtremeIdiots.Portal.Repository.Abstractions.Constants.V1
@using System.Linq
+@inject IConfiguration Configuration
@model XtremeIdiots.Portal.Web.ViewModels.IPAddressDetailsViewModel
@{
@@ -308,7 +309,11 @@
@section Scripts {
- @if (Model.GeoLocation != null && Model.GeoLocation.Latitude != 0 && Model.GeoLocation.Longitude != 0)
+ @{
+ var mapsApiKey = Configuration["Google:MapsApiKey"];
+ var isValidMapsApiKey = !string.IsNullOrEmpty(mapsApiKey) && System.Text.RegularExpressions.Regex.IsMatch(mapsApiKey, @"^[A-Za-z0-9_-]+$", System.Text.RegularExpressions.RegexOptions.None, TimeSpan.FromSeconds(1));
+ }
+ @if (Model.GeoLocation != null && Model.GeoLocation.Latitude != 0 && Model.GeoLocation.Longitude != 0 && isValidMapsApiKey)
{
-
+
}
}
diff --git a/src/XtremeIdiots.Portal.Web/Views/Players/Details.cshtml b/src/XtremeIdiots.Portal.Web/Views/Players/Details.cshtml
index 44b453abf..d8e50456c 100644
--- a/src/XtremeIdiots.Portal.Web/Views/Players/Details.cshtml
+++ b/src/XtremeIdiots.Portal.Web/Views/Players/Details.cshtml
@@ -1,4 +1,5 @@
@inject IAuthorizationService AuthorizationService
+@inject IConfiguration Configuration
@using Microsoft.AspNetCore.Authorization
@using XtremeIdiots.Portal.Web.Auth.Constants
@using XtremeIdiots.Portal.Web.Extensions
@@ -469,7 +470,14 @@
-
+ @{
+ var mapsApiKey = Configuration["Google:MapsApiKey"];
+ var isValidMapsApiKey = !string.IsNullOrEmpty(mapsApiKey) && System.Text.RegularExpressions.Regex.IsMatch(mapsApiKey, @"^[A-Za-z0-9_-]+$", System.Text.RegularExpressions.RegexOptions.None, TimeSpan.FromSeconds(1));
+ }
+ @if (isValidMapsApiKey)
+ {
+
+ }
-
+ @{
+ var mapsApiKey = Configuration["Google:MapsApiKey"];
+ var isValidMapsApiKey = !string.IsNullOrEmpty(mapsApiKey) && System.Text.RegularExpressions.Regex.IsMatch(mapsApiKey, @"^[A-Za-z0-9_-]+$", System.Text.RegularExpressions.RegexOptions.None, TimeSpan.FromSeconds(1));
+ }
+ @if (isValidMapsApiKey)
+ {
+
+ }
}
\ No newline at end of file
diff --git a/src/XtremeIdiots.Portal.Web/Views/Servers/ServerInfo.cshtml b/src/XtremeIdiots.Portal.Web/Views/Servers/ServerInfo.cshtml
index 1e3799430..e0eacbc3c 100644
--- a/src/XtremeIdiots.Portal.Web/Views/Servers/ServerInfo.cshtml
+++ b/src/XtremeIdiots.Portal.Web/Views/Servers/ServerInfo.cshtml
@@ -1,5 +1,6 @@
@using XtremeIdiots.Portal.Web.Extensions
@using XtremeIdiots.Portal.Web.ViewModels
+@inject IConfiguration Configuration
@model ServersGameServerViewModel
@{
@@ -300,7 +301,11 @@
@section Scripts {
- @if (Model.GameServer.LivePlayers.Any())
+ @{
+ var mapsApiKey = Configuration["Google:MapsApiKey"];
+ var isValidMapsApiKey = !string.IsNullOrEmpty(mapsApiKey) && System.Text.RegularExpressions.Regex.IsMatch(mapsApiKey, @"^[A-Za-z0-9_-]+$", System.Text.RegularExpressions.RegexOptions.None, TimeSpan.FromSeconds(1));
+ }
+ @if (Model.GameServer.LivePlayers.Any() && isValidMapsApiKey)
{
+ src="https://maps.googleapis.com/maps/api/js?key=@mapsApiKey&signed_in=false&callback=initMap">
}
diff --git a/src/XtremeIdiots.Portal.Web/Views/Shared/Components/AdminActions/Default.cshtml b/src/XtremeIdiots.Portal.Web/Views/Shared/Components/AdminActions/Default.cshtml
index 4939efd0c..63e69eb6a 100644
--- a/src/XtremeIdiots.Portal.Web/Views/Shared/Components/AdminActions/Default.cshtml
+++ b/src/XtremeIdiots.Portal.Web/Views/Shared/Components/AdminActions/Default.cshtml
@@ -1,4 +1,5 @@
@inject IAuthorizationService AuthorizationService
+@inject IConfiguration Configuration
@using Microsoft.AspNetCore.Authorization
@using XtremeIdiots.Portal.Web.Auth.Constants
@using XtremeIdiots.Portal.Repository.Abstractions.Constants.V1
@@ -174,7 +175,7 @@
Discussion Topic
-
View Forum Topic
diff --git a/src/XtremeIdiots.Portal.Web/Views/Shared/_Layout.cshtml b/src/XtremeIdiots.Portal.Web/Views/Shared/_Layout.cshtml
index 653f260be..6bffdec2d 100644
--- a/src/XtremeIdiots.Portal.Web/Views/Shared/_Layout.cshtml
+++ b/src/XtremeIdiots.Portal.Web/Views/Shared/_Layout.cshtml
@@ -1,17 +1,25 @@
@using XtremeIdiots.Portal.Web.Extensions
+@inject IConfiguration Configuration
-
-
+
+ gtag('config', '@analyticsId');
+
+ }
diff --git a/src/XtremeIdiots.Portal.Web/Views/_ViewImports.cshtml b/src/XtremeIdiots.Portal.Web/Views/_ViewImports.cshtml
index 301570a89..3a5ecabaa 100644
--- a/src/XtremeIdiots.Portal.Web/Views/_ViewImports.cshtml
+++ b/src/XtremeIdiots.Portal.Web/Views/_ViewImports.cshtml
@@ -1,6 +1,7 @@
@using XtremeIdiots.Portal.Web
@using XtremeIdiots.Portal.Web.Extensions
@using Microsoft.AspNetCore.Authorization
+@using Microsoft.Extensions.Configuration
@using XtremeIdiots.Portal.Web.Auth.Constants
@using XtremeIdiots.Portal.Repository.Abstractions.Constants.V1
@addTagHelper XtremeIdiots.Portal.Web.Helpers.PolicyTagHelper, XtremeIdiots.Portal.Web
diff --git a/src/XtremeIdiots.Portal.Web/appsettings.json b/src/XtremeIdiots.Portal.Web/appsettings.json
index 1e440a700..c98e15581 100644
--- a/src/XtremeIdiots.Portal.Web/appsettings.json
+++ b/src/XtremeIdiots.Portal.Web/appsettings.json
@@ -53,10 +53,6 @@
"PlayerAuthQueueName": "player-auth",
"ChatMessageQueueName": "chat-message"
},
- "AdminActions": {
- "FallbackAdminId": "21145",
- "ForumBaseUrl": "https://www.xtremeidiots.com/forums/topic/"
- },
"repository_api_application_audience": "api://portal-repository-prd",
"ServersIntegrationApi:ApplicationAudience": "api://portal-servers-integration-prd"
}
\ No newline at end of file
diff --git a/terraform/tfvars/dev.tfvars b/terraform/tfvars/dev.tfvars
index 3c971a039..7482cd3a1 100644
--- a/terraform/tfvars/dev.tfvars
+++ b/terraform/tfvars/dev.tfvars
@@ -40,13 +40,6 @@ portal_core_state = {
tenant_id = "e56a6947-bb9a-4a6e-846a-1f118d1c3a14"
}
-geo_location_api = {
- base_url = "https://apim-geo-location-prd-swedencentral-6f10eaac01a0.azure-api.net/geolocation"
- application_audience = "api://e56a6947-bb9a-4a6e-846a-1f118d1c3a14/geolocation-api-prd"
- keyvault_primary_ref = "https://kv-03bc577ff535-swe.vault.azure.net/secrets/portal-web-dev-apim-subscription-key/"
- keyvault_secondary_ref = "https://kv-03bc577ff535-swe.vault.azure.net/secrets/portal-web-dev-apim-subscription-key-secondary/"
-}
-
dns_subscription_id = "db34f572-8b71-40d6-8f99-f29a27612144"
dns_resource_group_name = "rg-platform-dns-prd-uksouth-01"
dns_subdomain = "portal.dev"
diff --git a/terraform/tfvars/prd.tfvars b/terraform/tfvars/prd.tfvars
index aee91fd3f..4fc7e96fa 100644
--- a/terraform/tfvars/prd.tfvars
+++ b/terraform/tfvars/prd.tfvars
@@ -40,13 +40,6 @@ portal_core_state = {
tenant_id = "e56a6947-bb9a-4a6e-846a-1f118d1c3a14"
}
-geo_location_api = {
- base_url = "https://apim-geo-location-prd-swedencentral-6f10eaac01a0.azure-api.net/geolocation"
- application_audience = "api://e56a6947-bb9a-4a6e-846a-1f118d1c3a14/geolocation-api-prd"
- keyvault_primary_ref = "https://kv-18ac60675297-swe.vault.azure.net/secrets/portal-web-prd-apim-subscription-key/"
- keyvault_secondary_ref = "https://kv-18ac60675297-swe.vault.azure.net/secrets/portal-web-prd-apim-subscription-key-secondary/"
-}
-
dns_subscription_id = "db34f572-8b71-40d6-8f99-f29a27612144"
dns_resource_group_name = "rg-platform-dns-prd-uksouth-01"
dns_subdomain = "portal"
diff --git a/terraform/variables.tf b/terraform/variables.tf
index 0261bbf3a..91ccfab3e 100644
--- a/terraform/variables.tf
+++ b/terraform/variables.tf
@@ -62,15 +62,6 @@ variable "portal_core_state" {
})
}
-variable "geo_location_api" {
- type = object({
- base_url = string
- application_audience = string
- keyvault_primary_ref = string
- keyvault_secondary_ref = string
- })
-}
-
variable "dns_subscription_id" {}
variable "dns_resource_group_name" {}
variable "dns_subdomain" {}
diff --git a/terraform/web_app.tf b/terraform/web_app.tf
index 5aca3237f..5a30db344 100644
--- a/terraform/web_app.tf
+++ b/terraform/web_app.tf
@@ -44,10 +44,6 @@ resource "azurerm_linux_web_app" "app" {
"ASPNETCORE_ENVIRONMENT" = var.environment == "prd" ? "Production" : "Development"
"WEBSITE_RUN_FROM_PACKAGE" = "1"
- "GeoLocationApi__BaseUrl" = var.geo_location_api.base_url
- "GeoLocationApi__ApiKey" = format("@Microsoft.KeyVault(SecretUri=%s)", var.geo_location_api.keyvault_primary_ref)
- "GeoLocationApi__ApplicationAudience" = var.geo_location_api.application_audience
-
"sql_connection_string" = format("Server=tcp:%s;Authentication=Active Directory Default; Database=%s;User ID=%s;", data.azurerm_mssql_server.sql_server.fully_qualified_domain_name, local.sql_database_name, local.web_identity.client_id)
// https://learn.microsoft.com/en-us/azure/azure-monitor/profiler/profiler-azure-functions#app-settings-for-enabling-profiler