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! --------------------------------------- -----------------------------------------
UPDATE 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
[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz [MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2[MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2 par redo
J'imagine que la plupart d'entre vous connaissent bien et utilisent le service de traduction de Google, mais connaissez-vous celui de Microsoft . Microsoft Translator ? Effectivement, Microsoft nous annoncé le lancement version 2 de la Technologie Preview...
Cliquez pour lire la suite de l'article par redo LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010!LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010! par MPOWARE
Toutes les vidéos de ce lancement sont en ligne!
Partie I - Intro
http://www.youtube.com/watch?v=LkQzTQ8T6CA
Partie II - Démo 1
http://www.youtube.com/watch?v=drAhYQ7lqvo
Partie III - Démo 2
http://www.youtube.com/watch?v=c8KM_1Gqybc...
Cliquez pour lire la suite de l'article par MPOWARE [WP7] JE NE VEUX PAS D'UN NOUVEL IPHONE[WP7] JE NE VEUX PAS D'UN NOUVEL IPHONE par FREMYCOMPANY
Je pense qu'ils ont besoin d'une piqure de rappel chez Microsoft : c'est bien gentil d'avoir une interface jolie, mais si c'est pour avoir un truc qui ne convainct pas dedans, c'est peine perdue.
---->
Système ouvert ----> Fermé ?
P...
Cliquez pour lire la suite de l'article par FREMYCOMPANY
Forum
APPLICATIONAPPLICATION par tchaw
Cliquez pour lire la suite par tchaw
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|