shoutbox
//*************BERICHTEN.PHP
//************ CONFIG.PHP
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?
/********************
UITLEG:
Script is puur voor unix gemaakt, windows gebruikers (muahahaha) moeten hun plan maar trekken om het om te zetten
De informatie wordt telkens naar een bestand geschreven en gelezen
********************/
//het pad naar het bestand (niet http pad, wel unix pad)
$bestandspad = "/home/.sites/65/site131/web/php/bshout/berichten.php";
//aantal berichten dat er bewaard moeten worden (dit is NIET hoeveel er getoond zullen worden!
//$aantal_bestand = 20;
//aantal berichten er getoond moeten worden
//$aantal_toon = 10;
//manier om de tijd te tonen (zie php Manual: http://nl.php.net/date )
$datum_formaat = "d/m(H:i)";
//laatste berichten eerst of laatst, eerst = true, laatst = false
$volgorde = true;
//deze opties aan of uitzetten? true = gebruiken, false = verbieden!
$ubb = true; //enkel in het bericht
$html = false; //in naam/email/bericht, of in geen van de drie!!! standaard staat het uit, er is genoeg met UBB code!
$smileys = true; //enkel in het bericht (kan ook via een checkbox in het toevoegform bepaald worden door d gebruiker!
//voor een lijst met smileys, zie shoutbox.php!!!
/********************
HTML CODE
********************/
/*** voor alle berichten ***/
function shout_voor(){
return <<<HTML
<html><head><title>shoutbox</title></head><body>
<table border="3" width="250"><tr><td>
HTML;
}
/*** voor elk bericht ****/
function shout_bericht($naam, $datum, $email, $bericht){
return <<<HTML
<a href="mailto:$email">$naam</a> schreef op $datum:<br>
$bericht
<hr>
HTML;
}
/*** na alle berichten ****/
function shout_na(){
return <<<HTML
</td></tr><tr><td>
<form name="bshout" method="post" action="shoutbox.php">
Naam: <input type="text" name="naam" maxlength="25"><br>
email: <input type="text" name="email" maxlength="25"><br>
bericht: <input type="text" name="bericht" maxlength="200"><br>
<input type="submit" value="en daarmee basta" name="verstuur">
</td></tr></table></body></html>
HTML;
}
?>
/********************
UITLEG:
Script is puur voor unix gemaakt, windows gebruikers (muahahaha) moeten hun plan maar trekken om het om te zetten
De informatie wordt telkens naar een bestand geschreven en gelezen
********************/
//het pad naar het bestand (niet http pad, wel unix pad)
$bestandspad = "/home/.sites/65/site131/web/php/bshout/berichten.php";
//aantal berichten dat er bewaard moeten worden (dit is NIET hoeveel er getoond zullen worden!
//$aantal_bestand = 20;
//aantal berichten er getoond moeten worden
//$aantal_toon = 10;
//manier om de tijd te tonen (zie php Manual: http://nl.php.net/date )
$datum_formaat = "d/m(H:i)";
//laatste berichten eerst of laatst, eerst = true, laatst = false
$volgorde = true;
//deze opties aan of uitzetten? true = gebruiken, false = verbieden!
$ubb = true; //enkel in het bericht
$html = false; //in naam/email/bericht, of in geen van de drie!!! standaard staat het uit, er is genoeg met UBB code!
$smileys = true; //enkel in het bericht (kan ook via een checkbox in het toevoegform bepaald worden door d gebruiker!
//voor een lijst met smileys, zie shoutbox.php!!!
/********************
HTML CODE
********************/
/*** voor alle berichten ***/
function shout_voor(){
return <<<HTML
<html><head><title>shoutbox</title></head><body>
<table border="3" width="250"><tr><td>
HTML;
}
/*** voor elk bericht ****/
function shout_bericht($naam, $datum, $email, $bericht){
return <<<HTML
<a href="mailto:$email">$naam</a> schreef op $datum:<br>
$bericht
<hr>
HTML;
}
/*** na alle berichten ****/
function shout_na(){
return <<<HTML
</td></tr><tr><td>
<form name="bshout" method="post" action="shoutbox.php">
Naam: <input type="text" name="naam" maxlength="25"><br>
email: <input type="text" name="email" maxlength="25"><br>
bericht: <input type="text" name="bericht" maxlength="200"><br>
<input type="submit" value="en daarmee basta" name="verstuur">
</td></tr></table></body></html>
HTML;
}
?>
//**************** SHOUTBOX.PHP
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?
require("config.php");
if ($verstuur) {
/********************
validatie
********************/
$datum = time();
$naam = addslashes($naam);
$email = addslashes($email);
$bericht = addslashes($bericht);
/********************
formatatie
********************/
$naam = addslashes($naam);
/********************
bijschrijven
********************/
$bestand = fopen($bestandspad, "a");
fwrite($bestand, "$naam|$email|$datum|$bericht\n");
fclose($bestand);
/********************
naam onthouden
********************/
//setcookie("naam","$naam",time()+60*60*24*30); // 60 seconden maal 60 minuten maal 24 uur maal 30 dagen = 30 dagen!
//setcookie("email","$email",time()+60*60*24*30); // 60 seconden maal 60 minuten maal 24 uur maal 30 dagen = 30 dagen!
}
/********************
uitlezen
********************/
$bestand= file($bestandspad);
$inhoud=array_reverse($bestand); //inlezen, en laatste berichten eerst zetten
array_shift($inhoud); //eerste deel wegdoen
array_pop($inhoud); //laatste deel wegdoen
if ($inhoud[0] == "") echo ("bestand is leeg"); //zijn er nog records?
/********************
uitvoer
********************/
echo shout_voor();
foreach($inhoud as $i) { //per array element
$i=explode("|",$i);
$naam = $i[0];
$email = $i[1];
$datum = date($datum_formaat, $i[2]);
$bericht = $i[3];
if (!$html){
$naam = htmlspecialchars($naam);
$bericht = htmlspecialchars($bericht);
$email = htmlspecialchars($email);
}
echo shout_bericht($naam, $datum, $email, $bericht);
}
echo shout_na();
/********************
formatatie functies
********************/
//******UBB PARSEN*********/
function ubb($bericht) {
$bericht = eregi_replace("\[b\]","<b>",$bericht);
$bericht = eregi_replace("\[/b\]","</b>",$bericht);
$bericht = eregi_replace("\[i\]","<i>",$bericht);
$bericht = eregi_replace("\[/i\]","</i>",$bericht);
$bericht = eregi_replace("\[u\]","<u>",$bericht);
$bericht = eregi_replace("\[/u\]","</u>",$bericht);
$bericht = eregi_replace("\[SMALL\]","<font size=1>",$bericht);
$bericht = eregi_replace("\[/SMALL\]","</font>",$bericht);
$bericht = eregi_replace("\[BIG\]","<font size=6>",$bericht);
$bericht = eregi_replace("\[/BIG\]","</font>",$bericht);
$bericht = eregi_replace("[[:graph:]]+@[^<>[:space:]]+[[:alnum:]]", "<a href=\"mailto:\\0\">\\0</a>", $bericht);
$bericht = eregi_replace("\\[url=([^\\[]*)\]([^\\[]*)\\[/url\\]","<a href=\"\\1\" target=\"_blank\">\\2</a>",$bericht);
return $bericht;
}
//******SMILEYS*********/
function smileys($bericht) {
$bericht = str_replace(":)","<img src='smilysmile.gif'>",$bericht);
$bericht = str_replace(":(","<img src='smilysmile.gif'>",$bericht);
$bericht = str_replace(":'(","<img src='smilysmile.gif'>",$bericht);
$bericht = str_replace(":D","<img src='smilysmile.gif'>",$bericht);
$bericht = str_replace(":p","<img src='smilysmile.gif'>",$bericht);
return $bericht;
}
?>
require("config.php");
if ($verstuur) {
/********************
validatie
********************/
$datum = time();
$naam = addslashes($naam);
$email = addslashes($email);
$bericht = addslashes($bericht);
/********************
formatatie
********************/
$naam = addslashes($naam);
/********************
bijschrijven
********************/
$bestand = fopen($bestandspad, "a");
fwrite($bestand, "$naam|$email|$datum|$bericht\n");
fclose($bestand);
/********************
naam onthouden
********************/
//setcookie("naam","$naam",time()+60*60*24*30); // 60 seconden maal 60 minuten maal 24 uur maal 30 dagen = 30 dagen!
//setcookie("email","$email",time()+60*60*24*30); // 60 seconden maal 60 minuten maal 24 uur maal 30 dagen = 30 dagen!
}
/********************
uitlezen
********************/
$bestand= file($bestandspad);
$inhoud=array_reverse($bestand); //inlezen, en laatste berichten eerst zetten
array_shift($inhoud); //eerste deel wegdoen
array_pop($inhoud); //laatste deel wegdoen
if ($inhoud[0] == "") echo ("bestand is leeg"); //zijn er nog records?
/********************
uitvoer
********************/
echo shout_voor();
foreach($inhoud as $i) { //per array element
$i=explode("|",$i);
$naam = $i[0];
$email = $i[1];
$datum = date($datum_formaat, $i[2]);
$bericht = $i[3];
if (!$html){
$naam = htmlspecialchars($naam);
$bericht = htmlspecialchars($bericht);
$email = htmlspecialchars($email);
}
echo shout_bericht($naam, $datum, $email, $bericht);
}
echo shout_na();
/********************
formatatie functies
********************/
//******UBB PARSEN*********/
function ubb($bericht) {
$bericht = eregi_replace("\[b\]","<b>",$bericht);
$bericht = eregi_replace("\[/b\]","</b>",$bericht);
$bericht = eregi_replace("\[i\]","<i>",$bericht);
$bericht = eregi_replace("\[/i\]","</i>",$bericht);
$bericht = eregi_replace("\[u\]","<u>",$bericht);
$bericht = eregi_replace("\[/u\]","</u>",$bericht);
$bericht = eregi_replace("\[SMALL\]","<font size=1>",$bericht);
$bericht = eregi_replace("\[/SMALL\]","</font>",$bericht);
$bericht = eregi_replace("\[BIG\]","<font size=6>",$bericht);
$bericht = eregi_replace("\[/BIG\]","</font>",$bericht);
$bericht = eregi_replace("[[:graph:]]+@[^<>[:space:]]+[[:alnum:]]", "<a href=\"mailto:\\0\">\\0</a>", $bericht);
$bericht = eregi_replace("\\[url=([^\\[]*)\]([^\\[]*)\\[/url\\]","<a href=\"\\1\" target=\"_blank\">\\2</a>",$bericht);
return $bericht;
}
//******SMILEYS*********/
function smileys($bericht) {
$bericht = str_replace(":)","<img src='smilysmile.gif'>",$bericht);
$bericht = str_replace(":(","<img src='smilysmile.gif'>",$bericht);
$bericht = str_replace(":'(","<img src='smilysmile.gif'>",$bericht);
$bericht = str_replace(":D","<img src='smilysmile.gif'>",$bericht);
$bericht = str_replace(":p","<img src='smilysmile.gif'>",$bericht);
return $bericht;
}
?>