*** index.php ***
__________________________
<?php
include("config.php");
include("wacht.php");
?>
<html><head>
<link rel=stylesheet type="text/css" href="style.css">
</head><body>

<div id="container">
<div id="top">
<h2>Het postkantoor</h2>
</div>
<div id="leftnav">
<p>Kies een categorie:
<ul><?php
links();?></ul></p>
</div>
<div id="content">
<i>Verstuur eens een kaartje .... <br><br><div align="right">Kleine moeite, groot plezier ...</div></i><br>
<img border="0" src="pixel.gif" alt="nepplaatje" width="1" height="200">
</div>
<div id="footer">
<?PHP
//copyright 
if($Copyrightnr11=="true") {copyright ();}
?>
</div></div></body></html>
_________________________

*** kies.php***
_________________________
<?php
include("config.php");
?>
<html><head>
 <link rel=stylesheet type="text/css" href="style.css">
</head><body>

<div id="container">
<div id="top">
<h2>Het postkantoor</h2>
</div>
<div id="leftnav">
<p>
Kies een categorie:
<ul>
<?php
links();
?>
</ul>
</p>
</div>
<div id="content">
<h3><?php echo $categorie; ?></h3>
<?php

if(file_exists("database/$categorie.dat")) {
$kaartenbak=file("database/$categorie.dat");} 
 ?>

<i>Totaal <b><? echo sizeof($kaartenbak); ?></b> kaarten in de categorie <b><?php echo $categorie; ?></b></i><br><br>
<table align="center" cellspacing="0" cellpadding="5">

<?php
for ($x=0;$x<count($kaartenbak);$x++)  {
list ($cat,$groot,$klein)=explode('||',$kaartenbak[$x]);

   if($x%$aantalkolommen==0) 
        echo "<TR>\n"; 
 echo "<TD  align=\"center\"><a href=\"opstellen.php?kaart=".$groot."\">

<img border=\"0\"  src=\"klein/".$klein."\" alt=\"".$klein."\"></a>

</TD>\n"; 
    if($x%$aantalkolommen==$aantalkolommen-1) 
        echo "</TR>\n\n"; 
} 
if($x%$aantalkolommen!=0) 
{ 
    while($x++%$aantalkolommen!=0) 
        echo "<TD>&nbsp;</TD>\n"; 
    echo "</TR>\n"; }?>
      </table><br><br><br>
</div>
<div id="footer">
<?PHP
//copyright
if($Copyrightnr11=="true") {
copyright ();}
?>
</div></div></body></html>
____________________________

*** opstellen.php ***
____________________________
<?php
include("config.php");
?>
<html><head>
<link rel=stylesheet type="text/css" href="style.css">
<!-- Javascript voor klikbare smilies en
UBB codes-->
<script type="text/javascript"> 
// ADDTEXT 
function addtext(veld,text) 
{ 
    document.formulier.elements[veld].value += " "+text+" "; 
    document.formulier.elements[veld].focus(); 
} 
</script></head><body>

<div id="container">
<div id="top">
<h2>Het postkantoor</h2>
</div>
<div id="leftnav">
<p>
Kies een categorie:
<ul>
<?php
links();
?>
</ul>
</p>
</div>
<div id="content">
<h3>Kaart opstellen</h3>
<?php

$vandaag=date("d-m-Y",time());
$id=date("Ymd",time());
$tijd=date("H:i:s",time());

$dag=date("d",time());
$maand=date("m",time());
$jaar=date("Y",time());
?>
<br> 
<!-- weergeven gekozen kaart -->
 
<img border="0" src="groot/<?php echo $kaart ?>" alt="gekozen kaart">
<br><br>

<!-- einde weergeven gekozen kaart en start invulformulier uitgelijnd in tabellen -->

<form method="POST" name="formulier" action="verstuur.php">
<input type="hidden" name="kaart"  value="<?php echo $kaart; ?>">

<div class="floatleft">Titel/onderwerp: </div><input type="text" name="titel" size="40"><br><br>
<div class="floatleft">De boodschap:</div>
<?php

//als UBB-codes zijn toegestaan
//onderstaande code uitvoeren

if ($UBB=="true") {
echo"<a href=\"javascript:addtext('boodschap','[b] [/b]')\"><img src=\"smile-ubb/Bold.gif\" alt =\"vetgedrukte tekst\" alt=\"vet\" border=\"0\"></a>  
<a href=\"javascript:addtext('boodschap','[i] [/i]')\"><img src=\"smile-ubb/Italic.gif\" alt =\"schuine tekst\" alt=\"schuin\" border=\"0\"></a>  
<a href=\"javascript:addtext('boodschap','[u] [/u]')\"><img src=\"smile-ubb/Underlined.gif\" alt=\"onderstreepte tekst\" alt=\"onderstreept\"  border=\"0\"></a><br>";
}
?>
<div class=\"floatleft\"></div> <textarea rows="4"  class="tekstvak"  name="boodschap" cols="35"></textarea>
<?php

//als smilies zijn toegestaan
//onderstaande code uitvoeren

if ($smilie=="true") {
echo"
<br>
<div class=\"floatleft\"></div> <a href=\"javascript:addtext('boodschap',':)')\"><img src=\"smile-ubb/lach.gif\" alt=\"lachen\" border=\"0\"></a>
<a href=\"javascript:addtext('boodschap',':oeps:')\"><img src=\"smile-ubb/groen.gif\" alt=\"oeps\" border=\"0\"></a>  
<a href=\"javascript:addtext('boodschap',':applaus:')\"><img src=\"smile-ubb/klap.gif\" alt=\"applaus\" border=\"0\"></a>  
<a href=\"javascript:addtext('boodschap',':(')\"><img src=\"smile-ubb/boos.gif\"alt=\"boos\"  border=\"0\"></a>  
<a href=\"javascript:addtext('boodschap',':stom van me:')\"><img src=\"smile-ubb/stom.gif\" alt=\"stom\" border=\"0\"></a>  
<a href=\"javascript:addtext('boodschap',':ik schaam me:')\"><img src=\"smile-ubb/schaam.gif\" alt=\"ga je schamen\" border=\"0\"></a>
<a href=\"javascript:addtext('boodschap',':hihi:')\"><img src=\"smile-ubb/hihi.gif\" alt=\"hihi haha\" border=\"0\"></a>  
<a href=\"javascript:addtext('boodschap',':knipoog:')\"><img src=\"smile-ubb/knipoog.gif\" alt=\"knipoog\" border=\"0\"></a><br><br>";
}?> 
<div class="floatleft">Afzender/groet:</div> <input type="text" name="afzender" size="35"><br><br>
<div class="floatleft">Naam ontvanger:</div> <input type="text" name="naamontvanger" size="35"><br>
<div class="floatleft">E-mail ontvanger:</div> <input type="text" name="emailontvanger" size="35"><br>
<p>
<div class="floatleft">Uw naam:</div> <input type="text" name="uwnaam" size="35"><br>
<div class="floatleft">Uw e-mail:</div> <input type="text" name="uwemail" size="35"></p>
<!-- onderstaande script uitvoeren wanneer de kaart later dan vandaag verstuurd kan worden -->

<?php 
if($datumvooruit=="true") {
?>
<div class="floatleft">Verzenddatum:</div>

Dag:&nbsp;
<select size="1" name="ontvangdag">
       <? 
        $i = 1; 
        while($i <= 31) 
        { 
            $dagnu = date(j); 
            echo "<option value=\"".$i."\""; 
             
            if($dagnu == $i) 
            { 
                echo "selected"; 
            } 
            echo ">".$i."</option>"; 
            $i++; 
        } 
       ?> 
      </select> 
&nbsp; 

Maand:&nbsp;
<select size="1" name="ontvangmaand">
       <? 
         $maanden = array("Januari", 
                             "Februari", 
                             "Maart", 
                             "April", 
                             "Mei", 
                             "Juni", 
                             "Juli", 
                             "Augustus", 
                             "September", 
                             "Oktober", 
                             "November", 
                             "December" 
                             );      
         
        foreach($maanden as $key => $value) 
        { 
            $maandnu = date(n); 
            echo "<option value=\"".($key+1)."\""; 
             
            if($maandnu == $key+1) 
            { 
                echo "selected"; 
            } 
            echo ">".$value."</option>"; 
        } 
       ?> 
      </select> &nbsp;

Jaar:&nbsp;
<select size="1" name="ontvangjaar">
       <? 
        $jaarnu = date(Y); 
        $eindjaar = date(Y)+5; 
         
        while ($eindjaar >= $jaarnu) 
        { 
            echo "<option value =\"".$jaarnu."\" "; 
             
            if ($jaarnu == date (Y)) 
            { 
                echo "selected"; 
            } 
            echo ">".$jaarnu."</option>\n"; 
            $jaarnu ++; 
        } 
       ?> 
      </select> &nbsp;

<?php
 }
?>

<!-- einde datum specificatie  -->
<p>Ik wil graag een berichtje ontvangen, als de kaart is gelezen !!!!<br>
<input type="radio" value="ja" checked name="berichtontvangen">
        ja&nbsp; <input type="radio" name="berichtontvangen" value="nee"> nee

<!-- einde tabel van het invulformulier  -->

  <p><input class="knop" type="submit" value="Verstuur de kaart !!!" name="verzenden"> <input type="reset" value="Invoer wissen"  class="knop"></p>
</form>
<!-- einde formulier  -->

</div>
<div id="footer">
<?PHP
//copyright
if($Copyrightnr11=="true") {
copyright ();}
?>
</div></div></body></html>
________________________________
*** verstuur.php ***
________________________________
<?php 
include("config.php");

function smilie($tekst) {

$tekst = str_replace(":)","<img src=\"smile-ubb/lach.gif\" alt=\"lachen\" border=\"0\">",$tekst); 
$tekst= str_replace(":(","<img src=\"smile-ubb/boos.gif\" alt=\"boos\" border=\"0\">",$tekst);
$tekst= str_replace(":knipoog:","<img src=\"smile-ubb/knipoog.gif\" alt=\"knipoog\" border=\"0\">",$tekst); 
$tekst= str_replace(":applaus:","<img src=\"smile-ubb/klap.gif\" alt=\"applaus\"  border=\"0\">",$tekst);
$tekst = str_replace(":ik schaam me:","<img src=\"smile-ubb/schaam.gif\"alt=\"Ga je schamen\"  border=\"0\">",$tekst); 
$tekst = str_replace(":stom van me:","<img src=\"smile-ubb/stom.gif\" alt=\"Oei, wat stom\" border=\"0\">",$tekst);
$tekst = str_replace(":oeps:","<img src=\"smile-ubb/groen.gif\" alt=\"groen van boosheid\" border=\"0\">",$tekst); 
$tekst = str_replace(":hihi:","<img src=\"smile-ubb/hihi.gif\" alt=\"hihi haha\" border=\"0\">",$tekst); 
return $tekst;
}
function UBB($tekst) {

$tekst = preg_replace("#\[b\](.*?)\[/b\]#si","<b>\\1</b>",$tekst); 
$tekst = preg_replace("#\[i\](.*?)\[/i\]#si","<i>\\1</i>", $tekst); 
$tekst = preg_replace("#\[u\](.*?)\[/u\]#si","<u>\\1</u>", $tekst); 
return $tekst;
}

$id=date("YmdHis",time());
$vandaag=date("jnY",time());

if ($ontvangdag=="") { $ontvangdag=date("j",time());}
if ($ontvangmaand=="") { $ontvangmaand=date("n",time());}
if ($ontvangjaar=="") { $ontvangjaar=date("Y",time());}

$datumversturen="$ontvangdag$ontvangmaand$ontvangjaar";
$nu=date("d-m-Y | H:i:s",time());

//html-tags verwijderen
$uwnaam  = strip_tags($uwnaam);
$naamontvanger = strip_tags($naamontvanger);
$uwemail = strip_tags($uwemail);
$emailontvanger = strip_tags($emailontvanger);
$boodschap= strip_tags($boodschap);
$boodschap = stripslashes($boodschap); 
$boodschap = nl2br($boodschap); 
$boodschap = eregi_replace("\n", "", $boodschap); 

$ontvanger=str_replace(' ','',$naamontvanger); 

if ($smilie=="true") {
//vervangen van de smilies-codes door html codes ...
$boodschap=smilie($boodschap);}

if ($UBB=="true") {
//vervangen van de UBB codes door html codes ...
$boodschap=UBB($boodschap);}
      
//wegschrijven naar kaartenbewaarbestand
$logfile = fopen("$kaartenmap/$ontvanger$id.txt","a"); 
fputs($logfile, $id."||".$titel."||".$kaart."||".$boodschap."||".$uwemail."||".$uwnaam."||".$nu."||".$emailontvanger."||".$naamontvanger."||".$berichtontvangen."||".$ontvangdag."||".$ontvangmaand."||".$ontvangjaar."||".$afzender."\n");
fclose($logfile);

//als de kaart vandaag verstuurd moet worden 
//dan onderstaand scriptgedeelte uitvoeren

if ($datumversturen==$vandaag) {

//De ontvanger krijgt een mailtje om zijn/haar kaart op te halen

$recipient = $emailontvanger;
$subject = "$uwnaam heeft u een kaartje gestuurd";
$header = "From: $waarvandaan";
$mail_body ="Beste $naamontvanger, \n\n$uwnaam heeft op $nu een leuke kaart voor u uitgezocht\n\nKlik hier om de kaart te bekijken:\n
$URL/bekijk.php?naam=$ontvanger&ID=$id";
mail($recipient, $subject, $mail_body, $header);} else

//als de kaart later dan vandaag bezorgd moet worden, dan worden de volgende 
//gegevens opgeslagen in de 'wachtmap''

 {
$logfile = fopen("$wachtmap/$datumversturen.dat","a"); 
fputs($logfile, $id."||".$uwnaam."||".$nu."||".$emailontvanger."||".$naamontvanger."||".$datumversturen."\n"); 
fclose($logfile);} 

?>
<html>
<head>
 <link rel=stylesheet type="text/css" href="style.css">
</head>
<body>

<div id="container">
<div id="top">
<h2>Het postkantoor</h2>
</div>
<div id="leftnav">
<p>
Kies een categorie:
<ul>
<?php
links();
?>
</ul>
</p>
</div>
<div id="content">
<h3>Bedankt</h3>
<?php
echo "Beste ".$uwnaam.", bedankt voor het versturen van deze leuke kaart !!!";
?>
<br><br><a href="index.php"> Klik hier</a> om nog een leuke kaart te sturen !!!
<br><br>
</div>
<div id="footer">
<?PHP
//copyright
if($Copyrightnr11=="true") {
copyright ();}
?>
</div></div></body></html>
_____________________________

*** bekijk.php ***
_____________________________
<?php
include("config.php");

//anti-spam emailadres
function nospam($email_instellingen,$naam) { 
    $email_temp = ""; 

    // van elke character een unicode maken 
    for ($a = 0 ; $a < strlen($email_instellingen) ; $a++) { 
        $nr = ord(substr($email_instellingen , $a , 1)); 
        $email_temp .= "&#" . $nr . ";"; 
        } 

    // splitsen van het email-adres en de eventuele tekst 
    $email_instelling = explode("&#59;", $email_temp); 

    // controleren of er tekst is ingevoerd 
    if (isset($email_instelling[1])) { 
        $titel = ' title="' . $email_instelling[1] . '"'; 
        $tekst = $naam; 
        } 
    else { 
        $titel = ''; 
        $tekst = $naam; 
        } 

    // de terugkoppeling maken van de link 
    $mailto = '&#109;&#97;&#105;&#108;&#116;&#111;&#58;'; 
    return '<a href="' . $mailto . $email_instelling[0] . '"' . $titel . '>' . $tekst . '</a>'; 
    } 

?>

<html><head>
<link rel=stylesheet type="text/css" href="style.css">
</head><body>

<div id="container">
<div id="top">
<h2>Het postkantoor</h2>
</div>

 <h3 align="center">Bekijk uw kaart</h3>
<!-- kaart wordt ingelezen  -->

<?php    
$kaartenbak=file("$kaartenmap/$naam$ID.txt");
foreach($kaartenbak as $line) {
list($id,$titel,$kaart,$boodschap,$uwemail,$uwnaam,$nu,$emailontvanger,$naamontvanger,$berichtontvangen,$ontvangdag,$ontvangmaand, $ontvangjaar,$afzender)=explode('||',$line);
  
echo"
<!--kaart is uitgelijnd d.m.v. een style sheet(css)  -->

<div class=\"kaart\"><img border=\"0\" src=\"groot/".$kaart."\" alt=\"De gekozen kaart\"><br><br>
<a href=\"index.php\"> Klik hier</a> om ook iemand een leuke kaart te sturen.<br><br></div>
<div class=\"floatrechts\"><img border=\"0\" src=\"postzegel.gif\" alt=\"postzegel\" ></div><br><br><br><br>
 <b>".$titel."</b><br><br>".$boodschap."<br><br><br>
<div align=\"center\"><b>"; echo nospam($uwemail,$afzender); echo"</b>
</div>
<!-- einde kaart bekijken  -->";

$nu=date("d-m-Y | H:i:s",time());

if ($berichtontvangen== "ja") { 

//Mail naar verzender dat de kaart bekeken is
$recipient = $uwemail;
$subject = "$naamontvanger heeft uw kaart bekeken.";
$header = "From: $waarvandaan";
$mail_body ="Beste $uwnaam, \n\n$naamontvanger heeft op $nu uw kaart bekeken.\n\n
Klik hier om nog iemand een leuke kaart te sturen:\n
$URL/index.php";
mail($recipient, $subject, $mail_body, $header);
} 
}
?>
<br><br>
<div id="footer">
<?PHP
//copyright
if($Copyrightnr11=="true") {
copyright ();}
?>
</div></div></body></html>
____________________________

*** wacht.php ***
____________________________
<?php 
$config=("config.php");
if(!isset($config)) {
include("config.php");}

//onderstaand script uitvoeren als het mogelijk is om kaarten later dan 
//vandaag te versturen.
//Dit kan o.a. met een cornjob gerealiseerd wsorden
//maar dat moet jouw server dan wel ondersteunen.
//een andere manier is om dit bestand
//te includen in een bestaande pagina.
//De pagina moet dan wel minimaal eenmaal per dag geladen worden in een browser.
//Is alleen mogelijk als je dus dagelijks minimaal 1 bezoeker hebt !!!

$vandaag=date("jnY",time());

if(file_exists("$wachtmap/$vandaag.dat")) {
$wachtbestand=file("wacht/$vandaag.dat");

foreach ($wachtbestand as $line){
list($id,$uwnaam,$nu,$emailontvanger,$naamontvanger,$datumversturen)=explode('||', $line);
$ontvanger=str_replace(' ','',$naamontvanger); 

//Mail naar ontvanger van de kaart
$recipient = $emailontvanger;
$subject = "Er is een kaartje naar u gestuurd";
$header = "From: $waarvandaan";
$mail_body ="Beste $naamontvanger, \n\n$uwnaam heeft op $nu een leuke kaart voor jou uitgezocht\n\nKlik hier om de kaart te bekijken:\n
$URL/postkantoor/bekijk.php?naam=$ontvanger&ID=$id";
mail($recipient, $subject, $mail_body, $header);

unlink("$wachtmap/$vandaag.dat");
}}
?>
_______________________________

*** config.php ***
_______________________________
<?php

//Hieronder kun je enkele variabelen veranderen
//De eerste (juiste url)  MOET je veranderen
//De categorieën kunt u veranderen en toevoegen
//De overigen variabelen zijn optioneel te veranderen

//De volledige URL van de index.php van jouw postkantoor
$URL="http://www.jouwsite.nl/postkantoor";

//De categorieën
//onderstaande (2) functies niet veranderen
//wel evt een categorie toevoegen
//Indien een categorie wordt toegevoegd
//dan bij BEIDE functies de volgende regel aanpassen
// $cat = array("Verjaardag", "Liefde", "Algemeen", "Kinderen","nieuwe categorie");      

//Functie 1 -->> links maken
function links() {
  $cat = array("Algemeen", "Verjaardag", "Liefde", "Kinderen");      
         
        foreach($cat as $key => $value) 
        { 
                     echo "<li><a href=\"kies.php?categorie=".$value."\">".$value."</a></li> ";
        } }

//Functie 2 -->> uploaden naar juiste categorie-bestand
//iedere categorie kaarten wordt in een eigen bestand opgeslagen.
//Er kunnen eenvoudige meerdere categorieen toegevoegd worden !!!

function categorie() {
         $cat =array("Verjaardag","Liefde","Kinderen","Algemeen");               
        foreach($cat as $key => $value) 
        { 
                     echo "<option value=\"".($value)."\"";          
          
            echo ">".$value."</option>"; 
        }
 }  

//aantal kolommen voor de weergave
// van de kleine (thumbs) kaarten
$aantalkolommen="4";

//kaarten kunnen later dan vandaag verstuurd worden
//bijvoorbeeld over 3 maanden pas
//true is ja/false is nee
$datumvooruit="true";

//Map waarin alle kaarten worden opgeslagen
//om bekeken te worden
//Vergeet niet de map aan te maken 
//als je hem een andere naam geeft
$kaartenmap="kaarten";

//De map waarin de te wachten kaarten
//opsgeslagen worden
//Vergeet niet de map aan te maken 
//als je hem een andere naam geeft
$wachtmap="wacht";

// Wil je de copyright van Nummer11.nl weergeven?
// true of false
//Plaats je geen copyright, dan
// verzoeken wij je vriendelijk ergens anders op
// jouw site een link naar http://www.nummer11.nl/elf" te plaatsen
$Copyrightnr11 ="true";

//Waarvandaan wordt de kaart verstuurd
//meestal jouw site
$waarvandaan="Postkantoor";

//wel of geen smilies
//true is ja --- false is nee
$smilie="true";

//wel of een UBB codes
//true is ja --- false is nee
$UBB="true";

/////////////////////////
//HIERONDER MAG JE NIET TE VERANDEREN
////////////////////////

function copyright () { 
echo"<center>Mijn digitale postkantoor - Versie 1.0<br>
<a href=\"http://www.nummer11.nl/elf\" target=\"_blank\">
<b>2004 &copy; Nummer11.nl</b></a>
</center>";}
?>