Aggiungere un appuntamento alla rubrica di Outlook da una pagina ASP

di Daniele Bochicchio, in Classic ASP, Coding, Tips,

vCalender è un formato (supportati 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://unoscript@lgiorno.aspitalia.com"
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

%>

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi