From 4e99a159574b0f2edf266b77d74784cbdf787400 Mon Sep 17 00:00:00 2001 From: nano Date: Mon, 4 May 2026 23:39:08 +0000 Subject: [PATCH] Abstract AI image provider configuration --- core/helpers.asp | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/core/helpers.asp b/core/helpers.asp index 8c809ad..6fb6f87 100644 --- a/core/helpers.asp +++ b/core/helpers.asp @@ -417,6 +417,46 @@ Function AiImageUrl(ByVal prompt) AiImageUrl = "/ai-image?prompt=" & Server.URLEncode(Trim(CStr(prompt))) End Function +Function GetAiImageProvider() + Dim provider + provider = LCase(Trim(CStr(GetAppSetting("AiImageProvider")))) + If Len(provider) = 0 Or provider = "nothing" Then + provider = "pollinations" + End If + GetAiImageProvider = provider +End Function + +Function GetAiImageRemoteBaseUrl() + Dim provider, baseUrl + provider = GetAiImageProvider() + + If provider = "abacus" Then + baseUrl = Trim(CStr(GetAppSetting("AbacusImageBaseUrl"))) + If Len(baseUrl) = 0 Or LCase(baseUrl) = "nothing" Then + baseUrl = Trim(CStr(GetAppSetting("AiImageBaseUrl"))) + End If + Else + baseUrl = Trim(CStr(GetAppSetting("AiImageBaseUrl"))) + End If + + If Len(baseUrl) = 0 Or LCase(baseUrl) = "nothing" Then + baseUrl = "https://image.pollinations.ai/prompt/" + End If + + If Right(baseUrl, 1) <> "/" Then baseUrl = baseUrl & "/" + GetAiImageRemoteBaseUrl = baseUrl +End Function + +Function GetAiImageRemoteUrl(ByVal prompt) + Dim cleanPrompt + cleanPrompt = Trim(CStr(prompt)) + If Len(cleanPrompt) = 0 Then + GetAiImageRemoteUrl = "" + Else + GetAiImageRemoteUrl = GetAiImageRemoteBaseUrl() & Server.URLEncode(cleanPrompt) + End If +End Function + '------------------------------------------------------------------------------ ' Canonical application URL helpers ' - Categories use numeric IDs @@ -950,7 +990,11 @@ Function GetOrCreateAiImageUrl(ByVal prompt) Exit Function End If - remoteUrl = "https://image.pollinations.ai/prompt/" & Server.URLEncode(cleanPrompt) + remoteUrl = GetAiImageRemoteUrl(cleanPrompt) + If Len(remoteUrl) = 0 Then + GetOrCreateAiImageUrl = "" + Exit Function + End If On Error Resume Next Set shell = Server.CreateObject("WScript.Shell")