Scripts

Kaarten versturen

Kaarten kunnen later dan vandaag verstuurd worden Eenvoudig categorieën toevoegen Zelf kaarten uploaden Smilies en UBB codes naar keuze Geen database nodig Het zijn nogal wat bestanden. Het script is te downloaden vanaf: http://www.nummer11.nl/elf Tevens een demo-versie aanwezig !!!

kaarten-versturen
*** 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>";}
?>

Reacties

0
Nog geen reacties.