


function cargarConfigRemota() as Object
    
    url = "https://roku.sptecnet.xyz/api2.php?cliente=admin"
    http = CreateObject("roUrlTransfer")
    http.SetUrl(url)
    http.SetPort(CreateObject("roMessagePort"))

    response = http.GetToString()
    if response <> invalid and response <> ""
        json = ParseJson(response)
        if json <> invalid and json.servidores <> invalid
            configArray = []
            for each srv in json.servidores
                configArray.push({
                    serverURL: srv.hdPosterUrl,
                    appName: srv.title,
                    version: "4.5", ' puedes cambiarlo si lo manejas por servidor
                    api_key: "46270abd00c39663cde5d450ff83cbb8" ' si luego agregas un campo por servidor
                })
            end for

            ' 👉 IMPRIMIR array formateado
            ? "🔍 CONFIGURACIONES CARGADAS:"
            for each item in configArray
                ? "------------------------"
                ? "AppName: " + item.appName
                ? "ServerURL: " + item.serverURL
                ? "Version: " + item.version
                ? "API Key: " + item.api_key
            end for


            ' También puedes guardar datos generales en m.global si quieres
            m.global.AddField("bienvenida", "string", true)
            m.global.AddField("titulo", "string", true)
            m.global.AddField("logo", "string", true)
            m.global.AddField("fondo", "string", true)
            m.global.AddField("logomenu", "string",true)
            m.global.AddField("logologin", "string",true)
            m.global.bienvenida = invalidOrDefault(json.bienvenida)
            m.global.titulo = invalidOrDefault(json.titulo)

            ' Generar número aleatorio sin decimales y sin espacios
            version = mid(str(int(rnd(0) * 10000)), 2)


            m.global.logo      = addCacheBuster(invalidOrDefault(json.logo), version)
            m.global.fondo     = addCacheBuster(invalidOrDefault(json.fondo), version)
            m.global.logomenu  = addCacheBuster(invalidOrDefault(json.LogoMenu), version)
            m.global.logologin = addCacheBuster(invalidOrDefault(json.LogoLogin), version)

            return configArray
        end if
    end if

    return configArray
end function

function invalidOrDefault(value) as String
    if value = invalid or value = "" then
        return ""
    else
        return value
    end if
end function

function addCacheBuster(url as String, version as String) as String
    if instr(url, "?") > 0 then
        return url + "&v=" + version
    else
        return url + "?v=" + version
    end if
end function




