På hjemmesiden til faget ditt ønsker du kanskje å ha en seksjon nyheter, men du vil vise kun de aller nyeste meldingene. Eldre nyheter ønsker du kanskje å ha på en egen side. Fram til nå har det vanligste vært å enten redigere websiden manuelt, eller lage et PHP-script for å automatisere dette. Det finnes en metode som er enklere enn begge disse.
I filer med endelse .imf (mer om .imf-filer på hjelpesidene våre), er det mulig å få innholdet på siden til å endre seg som funksjon av tiden uten å måtte programmere selv. Denne måten fungerer også i PHP-script hvis du inkluderer /global/www/webroot/imf.inc (ved hjelp av PHPs include()/require()-funksjoner).
Innholdet som skal variere med tiden, legger du i en egen fil, f.eks meldinger.txt. I den filen skriver du vanlig HTML-kode, men du kan legge til attributtene from og to i HTML-elementene for å styre når meldingen skal være synlig. For eksempel:
<ul> <li>Denne meldingen vil være synlig hele tiden</li> <li from="2007-06-10 15:00">Denne vil være synlig etter 10. juni kl. 15</li> <li to="2007-09-01">Denne vil være synlig fram til 1. september kl. 00:00 (natt til 1. september)</li> <li from="2007-08-15" to="2007-08-22">Denne vil kun være synlig fra og med 15. til 22. august</li> </ul>
Hvis du ikke oppgir et klokkeslett, brukes altså klokkeslettet "00:00", dvs. midnatt natt til gjeldende dag. Den siste meldingen i eksempelet over vil altså vises hele 21. august, men ikke 22. august. Hvis den skal vises 22. august må du bruke enten to="2007-08-22 23:59", to="2007-08-23 00:00" eller bare to="2007-08-23" (24:00 er ikke et gyldig klokkeslett i denne sammenhengen).
For å få innholdet av meldinger.txt til å vises på websiden din, legger du til følgende der du vil at innholdet av meldinger.txt skal dukke opp:
<? include_html_current("meldinger.txt"); ?>
<? include_html_old("meldinger.txt"); ?>
<? include_html_all("meldinger.txt"); ?>
NB: Unngå å "skjule" sensitive opplysninger på denne måten. Hvis noen skulle surfe til adressen http://www.math.ntnu.no/~dittbrukernavn/meldinger.txt, vil de kunne se alle meldingene - også meldinger som ligger fram i tid (som egentlig ikke skal være synlige ennå fra websiden din).
PS: Du er ikke nødt til å bruke en <ul>-liste slik som i eksempelet over, metoden fungerer for alle HTML-tagger. Du kan for eksempel bruke <p> for hele avsnitt, evt. <span> eller <div>:
<p from="..." to="...">Bla bla bla ...</p>
På hovedsiden til faget, i fila index.imf, kan du skrive:
<h1>TMA1234 Integraler for ikke-integrerte</h1>
<h2>Melding fra faglærer</h2>
<? include_html_current("meldinger.txt"); ?>
<p>(Her vises kun aktuelle meldinger. Eldre meldinger finner du på
<a href="eldre.imf">denne siden</a>)
</p>
I fila eldre.imf kan du skrive:
<h1>TMA1234 Integraler for ikke-integrerte</h1>
<h2>Eldre meldinger</h2>
<? include_html_old("meldinger.txt"); ?>
Hvis fila meldinger.txt da inneholder følgende:
<ul> <li>Denne skal vises hele tiden.</li> <li to="2007-01-01">Denne skal vises til 2007-01-01.</li> <li to="2008-01-01">Denne skal vises til 2008-01-01.</li> <li from="2007-03-01">Denne skal vises fra 2007-03-01.</li> <li from="2006-01-01" to="2006-07-01">Denne skal vises fra 2006-01-01 til 2006-07-01.</li> <li from="2006-01-01" to="2008-01-01">Denne skal vises fra 2006-01-01 til 2008-01-01.</li> <li from="2008-03-01">Denne skal vises fra 2008-03-01.</li> <li from="2008-07-01" to="2010-01-01">Denne skal vises fra 2008-07-01 til 2010-01-01.</li> </ul>
(Her vises kun aktuelle meldinger. Eldre meldinger finner du på denne siden)
<? include_html_current("meldinger.txt", "2008-02-01 16:00"); >