Accueil > > > SHOUTBOX PARAMETRABLE SANS MYSQL
SHOUTBOX PARAMETRABLE SANS MYSQL
Information sur la source
Description
Ben voila, c'est une shoutbox. Elle n'utilise pas Mysql, et est relativement bien modifiable.
Pour le moment :
- modification du design grace au fichier CSS externe (tout est la).
- possibilite de l'appeler avec ou sans gestion des smileys (on clique sur le smiley voulu, il apparait)
- possibilite de definir une taille maximale pour le fichier contenant les messages
- possibilite de definir le nom du fichier contenant les messages
- possibilite de modifier les styles de texte avec menu cliquable
teste sur IE6 et Firefox
Ces choix se font lors de l'instantiation de l'objet. Si des parametres ne sont pas fournis, ce sont ceux par defaut qui prevalent.
Je joins quand meme le code, meme si il faut le zip.
Demo ici : http://membres.lycos.fr/pat665/index.php
(Merci Darkdje :-)
Source
- FICHIER shoutbox.cls.php
-
- <?php
- require_once ("smallform.cls.php");
-
- class shoutBox {
-
- var $fichier; // nom du fichier
- var $smiley; // gestion des smileys
- var $taille; // taille du fichier
- var $style; // gestion du style des textes
- var $arrSmiley;
- var $arrSmileyTrans;
- var $arrStyle;
- var $arrStyleTrans;
-
-
- //constructeur, je changerai plus tard le _construct. Les parametres optionnels sont fixes par defaut.
-
- function shoutBox($smiley=true, $style=true, $taille=10, $fichier="shoutbox.txt") {
- $this -> smiley = $smiley;
- $this -> style = $style;
- $this -> fichier = $fichier;
- $this -> taille = $taille*1024;
- // tableau des smileys, avec le chemin.
- $this -> arrSmiley = array ('<img src="smileys/rire.gif" />', '<img src="smileys/sourire.gif" />', '<img src="smileys/triste.gif" />', '<img src="smileys/clin.gif" />');
- // tableau des codes correspondants. Ajoutez ce que vous voulez, mais les 2 tableaux DOIVENT comporter le meme nombre d'entrees, evidemment!
- $this -> arrSmileyTrans = array (':-o', ':-)', ':-(', ';-)');
- // tableau des styles de texte. Memes remarques que pour les smileys.
- $this -> arrStyle = array ('<span style="font-weight:bold">','<span style="font-style:italic">', '<span style="text-decoration:underline">', '<span style="text-decoration:overline">', '<span style="text-decoration:underline overline">', '<span style="color:aqua">', '<span style="color:black">', '<span style="color:blue">', '<span style="color:fuchsia">', '<span style="color:gray">', '<span style="color:green">', '<span style="color:lime">', '<span style="color:maroon">', '<span style="color:navy">', '<span style="color:olive">', '<span style="color:purple">', '<span style="color:red">', '<span style="color:silver">', '<span style="color:teal">', '<span style="color:white">', '<span style="color:yellow">', '<span style="border:1pt solid aqua">','<span style="border:1pt solid black">', '<span style="border:1pt solid blue">', '<span style="border:1pt solid fuchsia">','<span style="border:1pt solid gray">', '<span style="border:1pt solid green">', '<span style="border:1pt solid lime">', '<span style="border:1pt solid maroon">', '<span style="border:1pt solid mavy">', '<span style="border:1pt solid olive">', '<span style="border:1pt solid purple">', '<span style="border:1pt solid red">', '<span style="border:1pt solid silver">', '<span style="border:1pt solid teal">', '<span style="border:1pt solid white">', '<span style="border:1pt solid yellow">', '</span>');
- $this -> arrStyleTrans = array ('[b]', '[i]','[u]', '[o]', '[a]', '[aqua]', '[black]', '[blue]', '[fuchsia]', '[gray]', '[green]', '[lime]', '[maroon]', '[navy]', '[olive]', '[purple]', '[red]', '[silver]', '[teal]', '[white]', '[yellow]', '[aqua_b]', '[black_b]', '[blue_b]', '[fuchsia_b]', '[gray_b]', '[green_b]', '[lime_b]', '[maroon_b]', '[navy_b]', '[olive_b]', '[purple_b]', '[red_b]', '[silver_b]', '[teal_b]', '[white_b]', '[yellow_b]', '[/end]');
- // validation du formulaire
- if (isset($_POST['submit']) && $_POST['submit']=="Shout")
- $this -> valider(!empty($_POST['texte'])?$_POST['texte']:"Oouups, oubli texte", !empty($_POST['pseudo'])?$_POST['pseudo']:"Anonyme");
- echo '<div class="shoutbox">';
- // instantiation d'un objet formulaire
- $form = new smallForm($this -> smiley, $this -> style);
- // appel de la methode affichant les messages
- $this -> affiche();
- echo '</div>';
- }
-
- // methode enregistrant le message poste dans le fichier
- function valider($texte, $pseudo) {
- $texte = $this -> valideCode($texte);
- if(get_magic_quotes_gpc()===0)
- $entree = addslashes($pseudo.'||'.$texte.'||');
- $entree=htmlentities($pseudo.'||'.$texte.'||').date("dmy").'||';
- // different systeme d'ouverture selon si le fichier existe ou doit etre efface, ou n'existe pas encore
- if (file_exists($this -> fichier) && filesize($this -> fichier) >= $this -> taille)
- $fp = fopen($this -> fichier, 'w') or die("Echec d'ouverture du fichier");
- else
- $fp = fopen($this -> fichier, 'a') or die("Echec d'ouverture du fichier");
- $ecriture=fwrite($fp, $entree) or die ("Echec d'ecriture dans le fichier");
- fclose ($fp);
- }
-
- // fonction recuperant les valeurs du tableau en fonction d'un calcul modulo (cree pour recuperer chaque pseudo, message et date dans un tavbleau specifique
- function getValeursTab($tab, $div, $reste) {
- while ($dmp=current($tab)) {
- if (key($tab)%$div==$reste)
- $tabT[] = $tab[key($tab)];
- next($tab);
- }
- return $tabT;
- }
-
- // methode pour afficher les messages.
- function affiche () {
- if(file_exists($this -> fichier)) {
- fopen($this -> fichier, 'r') or die ("Echec d'ouverture du fichier");
- // on parse une 1ere fois pour recuperer dans un tableau chaque pseudo suivi de chaque message
- if(get_magic_quotes_runtime()===1)
- $tabtmp = explode('||', stripslashes(file_get_contents($this -> fichier)));
- else
- $tabtmp = explode('||', file_get_contents($this -> fichier));
- // si smiley, on va chercher la methode les gerant
- if ($this -> smiley)
- $tabtmp = $this -> parseCode($tabtmp, $this -> arrSmiley, $this -> arrSmileyTrans);
- // si style, on va chercher la methode les gerant...
- if ($this -> style)
- $tabtmp = $this -> parseCode($tabtmp, $this -> arrStyle, $this -> arrStyleTrans);
- // recuperation dans un tableau associatif de chaque pseudo, message, date
- $tabshout = array ('pseudo' => $this -> getValeursTab($tabtmp, 3, 0), 'texte' => $this -> getValeursTab($tabtmp, 3, 1), 'date' => $this -> getValeursTab($tabtmp, 3, 2));
- // affichage proprement dit
- $i=count($tabshout['pseudo'])-1;
- for ($i; $i>=0; $i--)
- echo '<span class="pseudo">',$tabshout['pseudo'][$i],'</span>','<span class="date"> ','[',$tabshout['date'][$i],']','</span>',' :: ','<span class="texte">',$tabshout['texte'][$i],'</span><br />';
- }
- }
-
- // On parse les codes speciaux
- function parseCode ($tab, $output, $input) {
- return $tab = str_replace($input, $output, $tab);
- }
-
- // methode pour equilibrer le nombre de tags fermants, afin d'avoir un html correct en sortie
- function valideCode($texte) {
- $ouvertures = 0;
- $tab = $this -> arrStyleTrans;
- array_pop($tab);
- foreach ($tab as $txt)
- $ouvertures += substr_count($texte, $txt);
- $fermetures = substr_count($texte, '[/end]');
- if ($fermetures < $ouvertures)
- $texte .= str_repeat('[/end]', $ouvertures - $fermetures);
- if ($ouvertures < $fermetures) {
- $oter = $fermetures - $ouvertures;
- $tab = explode(' ', $texte);
- $i = 0;
- foreach ($tab as $k => $v) {
- if ($i == $oter)
- break;
- if ($v == '[/end]') {
- $tab[$k] ='';
- $i++;
- }
- }
- $texte = implode(' ', $tab);
- }
- return $texte;
- }
- }
- ?>
-
- FICHIER smallform.cls.php
-
- <?php
- class smallForm {
-
- // constructeur (oui oui, je sais...), avec les parametres optionnels
- function smallForm($smiley=true, $style=true) {
- echo '<div class="divform"><form method="POST" action="',$_SERVER['PHP_SELF'],'">';
- echo '<input type="text" class="smallformField" name="pseudo" value="',isset($_POST['pseudo'])?$_POST['pseudo']:"Pseudo",'" size="8" maxlength="20"/>';
- echo '<input type="text" id="t" class="smallformField" name="texte" value="',isset($_POST['texte'])?$_POST['texte']:"Message",'" size="18" maxlength="200"/>';
- echo '<input type="submit" title="Poster le message" class="smallformSubmit" name="submit" value="Shout" /><br /><br />';
- if ($smiley || $style)
- $this -> affBoiteEdition($smiley, $style);
- echo '<hr class="separateur" />';
- echo'</form></div>';
- }
-
- // simple remarque : je ne fais qu'ajouter le code du smiley a la valeur de l'input, sur un onclick. Je n'y suis pas encore arrive sur un submit...ca ne l'affichait pas, meme si ca le rajoutait effectivement.
- function smileys() {
- echo '<input type ="image" src="smileys/rire.gif" onclick="document.getElementById(\'t\').value+=\' :-o \'"/>';
- echo '<input type ="image" src="smileys/sourire.gif" onclick="document.getElementById(\'t\').value+=\' :-) \'"/>';
- echo '<input type ="image" src="smileys/triste.gif" onclick="document.getElementById(\'t\').value+=\' :-( \'"/>';
- echo '<input type ="image" src="smileys/clin.gif" onclick="document.getElementById(\'t\').value+=\' ;-) \'"/>';
- }
-
- // comme pour les smileys
- function style() {
- echo '<select title="couleur du texte" class="smallformSelect" name ="couleur" onchange="document.getElementById(\'t\').value+=this.value">';
- $couleurs = array ('aqua', 'black', 'blue', 'fuchsia', 'gray', 'green', 'lime', 'maroon', 'navy', 'olive', 'purple', 'red', 'silver', 'teal', 'white', 'yellow');
- foreach ($couleurs as $v)
- echo '<option value="['.$v.']" style="background-color:'.$v.'"> </option>';
- echo '</select>';
- echo '<select title="couleur de la bordure" class="smallformSelect" name ="couleurbordure" onchange="document.getElementById(\'t\').value+=this.value">';
- foreach ($couleurs as $v)
- echo '<option value="['.$v.'_b]" style="color:'.$v.'">[]</option>';
- echo '</select>';
- echo '<input type="submit" title="gras start tag" class="bold" value="b" onclick="document.getElementById(\'t\').value+=\' [b] \'" />';
- echo '<input type="submit" title="italique start tag" class="italic" value="i" onclick="document.getElementById(\'t\').value+=\' [i] \'" />';
- echo '<input type="submit" title="souligne start tag" class="underline" value="u" onclick="document.getElementById(\'t\').value+=\' [u] \'" />';
- echo '<input type="submit" title="surligne start tag" class="overline" value="o" onclick="document.getElementById(\'t\').value+=\' [o] \'" />';
- echo '<input type="submit" title="souligne et surligne start tag" class="underlineoverline" value="a" onclick="document.getElementById(\'t\').value+=\' [a] \'" />';
- echo ' <input type="submit" title="end tag pensez a le mettre pour fermer chaque style" class="endtag" value="end" onclick="document.getElementById(\'t\').value+=\' [/end] \'" />';
- }
-
- // permet de controler l'affichage/masquage de la boite d'edition
- function affBoiteEdition ($smiley, $style) {
- echo '<input class ="controle" title ="Afficher ou masquer le champ edition" type="button" name="controle" value="-" onclick="this.value=(this.value==\'-\')?\'+\':\'-\'; document.getElementById(\'boite\').style.visibility=(document.getElementById(\'boite\').style.visibility==\'hidden\')?\'visible\':\'hidden\';document.getElementById(\'boite\').style.display=(document.getElementById(\'boite\').style.display==\'none\')?\'block\':\'none\' " />';
- echo '<div id="boite" class="edit">';
- if ($smiley) {
- $this -> smileys();
- if ($style)
- echo '<br /><br />';
- }
- if ($style)
- $this -> style();
- echo '</div>';
- }
- }
- ?>
-
- FICHIER index.php exemple
-
- <html>
- <head>
- <title>
- </title>
- <link rel=stylesheet type="text/css" href="shoutbox.css">
- </head>
- <body style="background-color : #cccccc">
- <?php
-
- // Include de la classe
-
- require_once ("shoutbox.cls.php");
-
- // appel par defaut
- // $shout (false, false, 20, "monfichier.txt"); est un autre exemple d'appel : pas de smiley, pas de style, 20ko pour la taille max du fichier, et le fichier s'appelle monfichier.txt
-
- $shout = new shoutBox ();
- ?>
- </body></html>
FICHIER shoutbox.cls.php
<?php
require_once ("smallform.cls.php");
class shoutBox {
var $fichier; // nom du fichier
var $smiley; // gestion des smileys
var $taille; // taille du fichier
var $style; // gestion du style des textes
var $arrSmiley;
var $arrSmileyTrans;
var $arrStyle;
var $arrStyleTrans;
//constructeur, je changerai plus tard le _construct. Les parametres optionnels sont fixes par defaut.
function shoutBox($smiley=true, $style=true, $taille=10, $fichier="shoutbox.txt") {
$this -> smiley = $smiley;
$this -> style = $style;
$this -> fichier = $fichier;
$this -> taille = $taille*1024;
// tableau des smileys, avec le chemin.
$this -> arrSmiley = array ('<img src="smileys/rire.gif" />', '<img src="smileys/sourire.gif" />', '<img src="smileys/triste.gif" />', '<img src="smileys/clin.gif" />');
// tableau des codes correspondants. Ajoutez ce que vous voulez, mais les 2 tableaux DOIVENT comporter le meme nombre d'entrees, evidemment!
$this -> arrSmileyTrans = array (':-o', ':-)', ':-(', ';-)');
// tableau des styles de texte. Memes remarques que pour les smileys.
$this -> arrStyle = array ('<span style="font-weight:bold">','<span style="font-style:italic">', '<span style="text-decoration:underline">', '<span style="text-decoration:overline">', '<span style="text-decoration:underline overline">', '<span style="color:aqua">', '<span style="color:black">', '<span style="color:blue">', '<span style="color:fuchsia">', '<span style="color:gray">', '<span style="color:green">', '<span style="color:lime">', '<span style="color:maroon">', '<span style="color:navy">', '<span style="color:olive">', '<span style="color:purple">', '<span style="color:red">', '<span style="color:silver">', '<span style="color:teal">', '<span style="color:white">', '<span style="color:yellow">', '<span style="border:1pt solid aqua">','<span style="border:1pt solid black">', '<span style="border:1pt solid blue">', '<span style="border:1pt solid fuchsia">','<span style="border:1pt solid gray">', '<span style="border:1pt solid green">', '<span style="border:1pt solid lime">', '<span style="border:1pt solid maroon">', '<span style="border:1pt solid mavy">', '<span style="border:1pt solid olive">', '<span style="border:1pt solid purple">', '<span style="border:1pt solid red">', '<span style="border:1pt solid silver">', '<span style="border:1pt solid teal">', '<span style="border:1pt solid white">', '<span style="border:1pt solid yellow">', '</span>');
$this -> arrStyleTrans = array ('[b]', '[i]','[u]', '[o]', '[a]', '[aqua]', '[black]', '[blue]', '[fuchsia]', '[gray]', '[green]', '[lime]', '[maroon]', '[navy]', '[olive]', '[purple]', '[red]', '[silver]', '[teal]', '[white]', '[yellow]', '[aqua_b]', '[black_b]', '[blue_b]', '[fuchsia_b]', '[gray_b]', '[green_b]', '[lime_b]', '[maroon_b]', '[navy_b]', '[olive_b]', '[purple_b]', '[red_b]', '[silver_b]', '[teal_b]', '[white_b]', '[yellow_b]', '[/end]');
// validation du formulaire
if (isset($_POST['submit']) && $_POST['submit']=="Shout")
$this -> valider(!empty($_POST['texte'])?$_POST['texte']:"Oouups, oubli texte", !empty($_POST['pseudo'])?$_POST['pseudo']:"Anonyme");
echo '<div class="shoutbox">';
// instantiation d'un objet formulaire
$form = new smallForm($this -> smiley, $this -> style);
// appel de la methode affichant les messages
$this -> affiche();
echo '</div>';
}
// methode enregistrant le message poste dans le fichier
function valider($texte, $pseudo) {
$texte = $this -> valideCode($texte);
if(get_magic_quotes_gpc()===0)
$entree = addslashes($pseudo.'||'.$texte.'||');
$entree=htmlentities($pseudo.'||'.$texte.'||').date("dmy").'||';
// different systeme d'ouverture selon si le fichier existe ou doit etre efface, ou n'existe pas encore
if (file_exists($this -> fichier) && filesize($this -> fichier) >= $this -> taille)
$fp = fopen($this -> fichier, 'w') or die("Echec d'ouverture du fichier");
else
$fp = fopen($this -> fichier, 'a') or die("Echec d'ouverture du fichier");
$ecriture=fwrite($fp, $entree) or die ("Echec d'ecriture dans le fichier");
fclose ($fp);
}
// fonction recuperant les valeurs du tableau en fonction d'un calcul modulo (cree pour recuperer chaque pseudo, message et date dans un tavbleau specifique
function getValeursTab($tab, $div, $reste) {
while ($dmp=current($tab)) {
if (key($tab)%$div==$reste)
$tabT[] = $tab[key($tab)];
next($tab);
}
return $tabT;
}
// methode pour afficher les messages.
function affiche () {
if(file_exists($this -> fichier)) {
fopen($this -> fichier, 'r') or die ("Echec d'ouverture du fichier");
// on parse une 1ere fois pour recuperer dans un tableau chaque pseudo suivi de chaque message
if(get_magic_quotes_runtime()===1)
$tabtmp = explode('||', stripslashes(file_get_contents($this -> fichier)));
else
$tabtmp = explode('||', file_get_contents($this -> fichier));
// si smiley, on va chercher la methode les gerant
if ($this -> smiley)
$tabtmp = $this -> parseCode($tabtmp, $this -> arrSmiley, $this -> arrSmileyTrans);
// si style, on va chercher la methode les gerant...
if ($this -> style)
$tabtmp = $this -> parseCode($tabtmp, $this -> arrStyle, $this -> arrStyleTrans);
// recuperation dans un tableau associatif de chaque pseudo, message, date
$tabshout = array ('pseudo' => $this -> getValeursTab($tabtmp, 3, 0), 'texte' => $this -> getValeursTab($tabtmp, 3, 1), 'date' => $this -> getValeursTab($tabtmp, 3, 2));
// affichage proprement dit
$i=count($tabshout['pseudo'])-1;
for ($i; $i>=0; $i--)
echo '<span class="pseudo">',$tabshout['pseudo'][$i],'</span>','<span class="date"> ','[',$tabshout['date'][$i],']','</span>',' :: ','<span class="texte">',$tabshout['texte'][$i],'</span><br />';
}
}
// On parse les codes speciaux
function parseCode ($tab, $output, $input) {
return $tab = str_replace($input, $output, $tab);
}
// methode pour equilibrer le nombre de tags fermants, afin d'avoir un html correct en sortie
function valideCode($texte) {
$ouvertures = 0;
$tab = $this -> arrStyleTrans;
array_pop($tab);
foreach ($tab as $txt)
$ouvertures += substr_count($texte, $txt);
$fermetures = substr_count($texte, '[/end]');
if ($fermetures < $ouvertures)
$texte .= str_repeat('[/end]', $ouvertures - $fermetures);
if ($ouvertures < $fermetures) {
$oter = $fermetures - $ouvertures;
$tab = explode(' ', $texte);
$i = 0;
foreach ($tab as $k => $v) {
if ($i == $oter)
break;
if ($v == '[/end]') {
$tab[$k] ='';
$i++;
}
}
$texte = implode(' ', $tab);
}
return $texte;
}
}
?>
FICHIER smallform.cls.php
<?php
class smallForm {
// constructeur (oui oui, je sais...), avec les parametres optionnels
function smallForm($smiley=true, $style=true) {
echo '<div class="divform"><form method="POST" action="',$_SERVER['PHP_SELF'],'">';
echo '<input type="text" class="smallformField" name="pseudo" value="',isset($_POST['pseudo'])?$_POST['pseudo']:"Pseudo",'" size="8" maxlength="20"/>';
echo '<input type="text" id="t" class="smallformField" name="texte" value="',isset($_POST['texte'])?$_POST['texte']:"Message",'" size="18" maxlength="200"/>';
echo '<input type="submit" title="Poster le message" class="smallformSubmit" name="submit" value="Shout" /><br /><br />';
if ($smiley || $style)
$this -> affBoiteEdition($smiley, $style);
echo '<hr class="separateur" />';
echo'</form></div>';
}
// simple remarque : je ne fais qu'ajouter le code du smiley a la valeur de l'input, sur un onclick. Je n'y suis pas encore arrive sur un submit...ca ne l'affichait pas, meme si ca le rajoutait effectivement.
function smileys() {
echo '<input type ="image" src="smileys/rire.gif" onclick="document.getElementById(\'t\').value+=\' :-o \'"/>';
echo '<input type ="image" src="smileys/sourire.gif" onclick="document.getElementById(\'t\').value+=\' :-) \'"/>';
echo '<input type ="image" src="smileys/triste.gif" onclick="document.getElementById(\'t\').value+=\' :-( \'"/>';
echo '<input type ="image" src="smileys/clin.gif" onclick="document.getElementById(\'t\').value+=\' ;-) \'"/>';
}
// comme pour les smileys
function style() {
echo '<select title="couleur du texte" class="smallformSelect" name ="couleur" onchange="document.getElementById(\'t\').value+=this.value">';
$couleurs = array ('aqua', 'black', 'blue', 'fuchsia', 'gray', 'green', 'lime', 'maroon', 'navy', 'olive', 'purple', 'red', 'silver', 'teal', 'white', 'yellow');
foreach ($couleurs as $v)
echo '<option value="['.$v.']" style="background-color:'.$v.'"> </option>';
echo '</select>';
echo '<select title="couleur de la bordure" class="smallformSelect" name ="couleurbordure" onchange="document.getElementById(\'t\').value+=this.value">';
foreach ($couleurs as $v)
echo '<option value="['.$v.'_b]" style="color:'.$v.'">[]</option>';
echo '</select>';
echo '<input type="submit" title="gras start tag" class="bold" value="b" onclick="document.getElementById(\'t\').value+=\' [b] \'" />';
echo '<input type="submit" title="italique start tag" class="italic" value="i" onclick="document.getElementById(\'t\').value+=\' [i] \'" />';
echo '<input type="submit" title="souligne start tag" class="underline" value="u" onclick="document.getElementById(\'t\').value+=\' [u] \'" />';
echo '<input type="submit" title="surligne start tag" class="overline" value="o" onclick="document.getElementById(\'t\').value+=\' [o] \'" />';
echo '<input type="submit" title="souligne et surligne start tag" class="underlineoverline" value="a" onclick="document.getElementById(\'t\').value+=\' [a] \'" />';
echo ' <input type="submit" title="end tag pensez a le mettre pour fermer chaque style" class="endtag" value="end" onclick="document.getElementById(\'t\').value+=\' [/end] \'" />';
}
// permet de controler l'affichage/masquage de la boite d'edition
function affBoiteEdition ($smiley, $style) {
echo '<input class ="controle" title ="Afficher ou masquer le champ edition" type="button" name="controle" value="-" onclick="this.value=(this.value==\'-\')?\'+\':\'-\'; document.getElementById(\'boite\').style.visibility=(document.getElementById(\'boite\').style.visibility==\'hidden\')?\'visible\':\'hidden\';document.getElementById(\'boite\').style.display=(document.getElementById(\'boite\').style.display==\'none\')?\'block\':\'none\' " />';
echo '<div id="boite" class="edit">';
if ($smiley) {
$this -> smileys();
if ($style)
echo '<br /><br />';
}
if ($style)
$this -> style();
echo '</div>';
}
}
?>
FICHIER index.php exemple
<html>
<head>
<title>
</title>
<link rel=stylesheet type="text/css" href="shoutbox.css">
</head>
<body style="background-color : #cccccc">
<?php
// Include de la classe
require_once ("shoutbox.cls.php");
// appel par defaut
// $shout (false, false, 20, "monfichier.txt"); est un autre exemple d'appel : pas de smiley, pas de style, 20ko pour la taille max du fichier, et le fichier s'appelle monfichier.txt
$shout = new shoutBox ();
?>
</body></html>
Conclusion
Je travaille encore dessus...notamment, j'essaye d'ajouter facilement des styles de texte (comme pour les smileys, par clic sur un bouton, et pas seulement en ajoutant du bbcode (par exemple) a la main.
Tout commentaire est le bienvenue!
-------------------------------------- ------------------------------------------
UPDA TE 26-01-05: Je viens d'ajouter la possibilite de jouer sur le style des textes, tout est cliquable.
UPDATE 28-01-05 : Ajout de la date, et modifications du code (optimisation de certaines fonctions).
UPDATE 28 01 05 : oui encore un...j'ai ajoute la possibilite d'afficher / masquer la boite d'edition (avec les smileys, ou le style de texte), car je compte encore ajouter des controles sur le texte, et ca commence a prendre de la place ;-)
UPDATE 04 01 05 : ajout de couleurs pour le texte. Quelques changement au niveau du code.
UPDATE 04 01 05 : ajout de bordures colorees au texte
Historique
- 26 janvier 2005 16:47:10 :
- 27 janvier 2005 16:45:08 :
- 28 janvier 2005 12:53:51 :
- 28 janvier 2005 13:39:05 :
- 28 janvier 2005 13:44:21 :
- 28 janvier 2005 14:21:27 :
- 28 janvier 2005 14:27:02 :
- 28 janvier 2005 16:22:29 :
- 04 février 2005 10:26:39 :
- 04 février 2005 10:37:11 :
- 04 février 2005 13:00:46 :
- 04 février 2005 13:06:24 :
- 04 février 2005 21:35:06 :
- UPDATE 040105 : Juste un rajout de lien pour une demo : http://membres.lycos.fr/pat665/index.php
- 07 février 2005 18:09:52 :
- UPDATE 070105 : correction d'un petit bug avec les slashes, et eradication d'une redondance stupide sur un tableau...
- 03 mars 2005 16:32:15 :
- UPDATE 03 03 05 : rajout d'une fonction permettant d'equilibrer les tags fermants, ce afin d'avoir un maximum de chance d'avoir un HTML bien forme en sortie. Ce n'est pas encore parfait, il y a une petite faille, mais c'est mieux :-)
- 03 mars 2005 16:42:45 :
- 03 mars 2005 17:17:58 :
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks [HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL[HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL par Pierrick CATRO-BROUILLET
Avec la sortie prochaine de la Beta Consumer Preview de Windows 8, j'avais envie de revenir sur une des fonctionnalités que j'attends le plus et que, en bon geek que je suis, j'utilise déjà : Hyper-V 3 ainsi son module PowerShell.
Il y a déjà pléthor...
Cliquez pour lire la suite de l'article par Pierrick CATRO-BROUILLET IIS7 - COMPRESSION GZIPIIS7 - COMPRESSION GZIP par cyril
La compression GZIP permet d'améliorer les performances de navigation en compressant ce qu'envoie le serveur à un client. Pour comprendre comment cela fonctionne, regardons ce qu'il se passe au niveau HTTP lorsqu'un client tente d'accéder à une ress...
Cliquez pour lire la suite de l'article par cyril
Logiciels
Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning Academy System (17.1.3.0)ACADEMY SYSTEM (17.1.3.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|