Inserire nella propria rubrica PMI un appuntamento prelevato da un dB? Niente di più semplice!

vCalender è un formato, supportato da molti PIM, tra cui Outlook e Palm Desktop, per la gestione di appuntamenti, basato su un file di testo facilmente riproducibile.
Questo script permette di aggiungere quindi alla propria rubrica, cliccando su un collegamento, un appuntamento costruito ad esempio a partire dai dati prelevati da un database.
Il codice è molto semplice ed a parte sostituire le varibili con i dati prelevati dal database e fare attenzione alla data ed all'ora (deve essere GMT!), non c'è altro da fare.
<%
' variabili impostate manualmente
' sostituire con la lettura da database
DTStart = FormattaData("02/06/2003 07:00") ' 09:00 italiane
DTEnd = FormattaData("02/06/2003 07:30") ' 09:30 italiane
Location = "http://Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo."
Summary = "Ricordarsi di leggere unoscript@lgiorno"
Description = "E' una lista molto ma molto interessante :)"
ID = 1

' nome da dare al file
Response.ContentType = "text/x-vcalendar"
Response.AddHeader "content-disposition", "inline; filename=" & ID & "_" & Location & ".vcs;"

' generazione dell'appuntamento
Response.Write("BEGIN:VCALENDAR" & VbCrLF)
Response.Write("VERSION:1.0" & VbCrLF)
Response.Write("BEGIN: VEVENT" & VbCrLF)
Response.Write("DTStart:" & DTStart & VbCrLF)
Response.Write("DTEnd:" & DTEnd & VbCrLF)
Response.Write("LOCATION;ENCODING=QUOTED-PRINTABLE:" & Location & VbCrLF)
Response.Write("SUMMARY;ENCODING=QUOTED-PRINTABLE:" & Summary & VbCrLF)
Response.Write("DESCRIPTION;ENCODING=QUOTED-PRINTABLE:" & Description & VbCrLF)
Response.Write("UID:" & DTStart & DTEnd & ID & VbCrLF)
Response.Write("PRIORITY:3" & VbCrLF)
Response.Write("End:VEVENT" & VbCrLF)
Response.Write("End:VCALENDAR" & VbCrLf)


Function FormattaData(data)
  ' il formato è YYYYMMDDThhmmssZ
  ' ricordarsi che le date devono essere secondo GTM
  data = CDate(data)
  FormattaData = Year(data) & Raddoppia(Month(data)) & Raddoppia(Day(data))
  FormattaData = FormattaData & "T" & Raddoppia(Hour(data)) & Raddoppia(Minute(data))
  FormattaData = FormattaData & Raddoppia(Second(data)) & "Z"
End Function

' raddoppia una cifra
Function Raddoppia(valore)
  if Len(valore) = 1 then
  valore = "0" & valore
  end if
  Raddoppia = valore
End Function

%>
We use cookies
Attenzione! Questo sito utilizza i cookie tecnici e di terze parti per poter fornire i servizi.