<%@LANGUAGE="VBSCRIPT"%> <% Option Explicit %> <% Dim oConn, rs, SQL ' nombreforo es el nombre del foro que abrimos Dim f, nombreforo, resto ' f = id del foro a desplegar f=CInt(Request.QueryString("f")) resto=CStr(Request.QueryString("resto")) Conectar Registro rs SQL="SELECT * FROM Foros;" rs.Open SQL, oConn Intro ListaForos PieDePagina LimpiarRS (rs) LimpiarConexion %> <% '------------------------------------------------------------------------------------------ Sub ListaForos 'Imprime la tabla con los foros do until rs.EOF %> <% if f=rs.Fields("IdForo") then%> Foro de ASPFácil <%else%> Foro de ASPFácil <%end if%> "><%=rs.Fields("NombreForo")%> ---<%=rs.Fields("Descripcion")%> (<%=rs.Fields("Total")%> mensajes / Ultimo:<%=Fecha(rs.Fields("Ultimo"))%>)
<% ' Despliega los mensajes del foro, si procede if f=rs.Fields("IdForo") then nombreforo=rs.Fields("NombreForo") ListaMensajes f end if rs.MoveNext loop End Sub '------------------------------------------------------------------------------------------ Sub ListaMensajes(foro) Dim rs2, rs3, respuestas, I, cuantos Dim incremento if resto="si" then incremento=0 else incremento=1 end if Registro rs2 Registro rs3 SQL="SELECT IdMensaje, Autor, FechaHora, Tema FROM Mensajes WHERE IdPadre=0 AND IdForo="&foro&" ORDER BY FechaHora DESC;" rs2.Open SQL, oConn, 1, 2 cuantos=rs2.RecordCount I=1 do while not rs2.EOF and I<=15 SQL="SELECT IdMensaje FROM Mensajes WHERE IdCabecera="&rs2.Fields("IdMensaje")&";" I=I+incremento rs3.Open SQL, oConn,3,2 'Resto uno porque la consulta me devuelve el propio mensaje respuestas=(rs3.RecordCount)-1 'Pinto la lista %> "> Leer Mensaje <%=Cortar(rs2.Fields("Tema"), 40)%>   por <%=Cortar(rs2.Fields("Autor"), 15)%> <%=Fecha(rs2.Fields("FechaHora"))%>   (<%=respuestas%> respuestas)
<% rs2.MoveNext rs3.Close loop LimpiarRS(rs2) set rs3=nothing if cuantos>15 and resto<>"si" then 'Quedaban mensajes Response.Write("") Response.Write("Desplegar el resto de mensajes anteriores de este foro") Response.Write("

") end if End Sub '------------------------------------------------------------------------------------------ Function Cortar (str, longitud) ' Corta una cadena 'str' a la longitud especificada. Corta por la izda if Len(str) => longitud+4 then Cortar=Left(str, longitud)&"..." else Cortar=str end if End Function ' Cortar '------------------------------------------------------------------------------------------ Sub Intro %> Navega polos foros e cliquea nas mensaxes para ver o seu contido. Para escribir unha nova mensaxe, abre un foro e cliquea no enlace inferior: "Escribir no foro..."


<% End Sub '------------------------------------------------------------------------------------------ Sub PieDePagina ' Imprime los enlaces para escribir un nuevo mensaje, si procede Response.Write("

") if f<>"0" then Response.Write("") Response.Write("") Response.Write("Escribir mensaxe no foro "&nombreforo&"

") Response.Write("¡Novo!¡Descarga o foro "&nombreforo&" completo en modo texto!") else Response.Write("Cliquea sobre un foro para escribir nél e ver as mensaxes que conten

") Response.Write("¡NOVO!¡Descarga tódolos foros completos en modo texto!") end if End Sub 'Pie de pagina %>