Ouverture des portes du TCHAT
- RiCK
- Administrateur du site
- Messages : 760
- Inscription : ven. 5 sept. 2008 13:56
- Localisation : Moselle
- Contact :
Ouverture des portes du TCHAT
Voici que l'idée lancée par zool commence tout doucement à prendre forme.
Le Tchat n'est pas fini, mais m'a l'air opérationnel! Il a surtout besoin d'être testé, donc voici son url : http://www.angusmacgyver.fr/tchat.html
Il reste à mes yeux 3 domaines à améliorer:
1/ permettre la mise en gras en italique en couleur du texte envoyer
2/ optimiser à fond le fonctionnement du tchat, sinon le serveur risque de pas suivre..................................
3/ permettre d'envoyer au choix du texte, une image, ou un lien
Plus tard peut être des smileys dans les textes.
J'attends vos retours d'idées, suggestions, problèmes.
Le Tchat n'est pas fini, mais m'a l'air opérationnel! Il a surtout besoin d'être testé, donc voici son url : http://www.angusmacgyver.fr/tchat.html
Il reste à mes yeux 3 domaines à améliorer:
1/ permettre la mise en gras en italique en couleur du texte envoyer
2/ optimiser à fond le fonctionnement du tchat, sinon le serveur risque de pas suivre..................................
3/ permettre d'envoyer au choix du texte, une image, ou un lien
Plus tard peut être des smileys dans les textes.
J'attends vos retours d'idées, suggestions, problèmes.
RiC'K - AngusMacGyver.fr
-
- Messages : 545
- Inscription : jeu. 2 avr. 2009 22:53
- Localisation : paris
Re: Ouverture des portes du TCHAT
peut on juste a avoir à taper entrer et non cliquer sur le pass a droite pour avoir notre phrase de discour?
- RiCK
- Administrateur du site
- Messages : 760
- Inscription : ven. 5 sept. 2008 13:56
- Localisation : Moselle
- Contact :
Re: Ouverture des portes du TCHAT
oui je vais rajouter ça.
pour le moment il faut utiliser TAB puis ENTREE pour ne pas à avoir à utiliser la souris
pour le moment il faut utiliser TAB puis ENTREE pour ne pas à avoir à utiliser la souris
RiC'K - AngusMacGyver.fr
- RiCK
- Administrateur du site
- Messages : 760
- Inscription : ven. 5 sept. 2008 13:56
- Localisation : Moselle
- Contact :
Re: Ouverture des portes du TCHAT
lol c'est fait !
pour la connexion aussi -> une pression sur Entrée après la saisie du mot de passe
pour la connexion aussi -> une pression sur Entrée après la saisie du mot de passe
RiC'K - AngusMacGyver.fr
- sylvain1888
- Messages : 1504
- Inscription : lun. 27 avr. 2009 16:52
- Localisation : Paris
Re: Ouverture des portes du TCHAT
voila une bonne nouvelle ce tchat rick
- Murdoc
- Messages : 656
- Inscription : mer. 6 janv. 2010 18:20
- Murdoc
- Messages : 656
- Inscription : mer. 6 janv. 2010 18:20
Re: Ouverture des portes du TCHAT
Ton chat n'est pas encore au point car a chaque fois que j'y vais mon ordinateur bug complètement !!!
Vive Murdoc !!!
- Murdoc
- Messages : 656
- Inscription : mer. 6 janv. 2010 18:20
- RiCK
- Administrateur du site
- Messages : 760
- Inscription : ven. 5 sept. 2008 13:56
- Localisation : Moselle
- Contact :
Re: Ouverture des portes du TCHAT
Quand j'aurai le temps ! je vous avez prévenu que c'était compliqué à réaliser.
J'ai essayé sous Internet Explorer 8 et effectivement comme tu l'as dit Murdoc, le logiciel commence à bugger après quelques minutes et finit par planter.... Sous Google Chrome ça n'a pas l'air d'aller beaucoup mieux.
Le tchat est fini dans le sens ou toutes les fonctionnalités que je voulais lui donner sont présentes, maintenant il est clair qu'il va falloir optimiser tout ça, pour que les ordinateurs ne plantent pas
En dessous je vous est mis un peu de code pour que vous puissiez avoir un aperçu de à quoi ressemble le tchat derrière la scène....
J'ai essayé sous Internet Explorer 8 et effectivement comme tu l'as dit Murdoc, le logiciel commence à bugger après quelques minutes et finit par planter.... Sous Google Chrome ça n'a pas l'air d'aller beaucoup mieux.
Le tchat est fini dans le sens ou toutes les fonctionnalités que je voulais lui donner sont présentes, maintenant il est clair qu'il va falloir optimiser tout ça, pour que les ordinateurs ne plantent pas
En dessous je vous est mis un peu de code pour que vous puissiez avoir un aperçu de à quoi ressemble le tchat derrière la scène....
Code : Tout sélectionner
<script type="text/javascript">
var BOUCLAGE = false;
var textCouleur = "#000";
var textGras = "";
var textItalique = "";
var insert = "text";
function connexionTchat() {
if( document.getElementById("nomTchat") && document.getElementById("passTchat") ) {
var nom = document.getElementById("nomTchat").value;
var pass = .................................................
}
else
return false;
var ajax;
if(window.XMLHttpRequest)
ajax = new XMLHttpRequest();
else
if(window.ActiveXObject)
ajax = new ActiveXObject("Microsoft.XMLHTTP");
if(ajax) {
ajax.open('POST', '/pages/_connexionTchat.php', false);
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajax.send("nom="+nom+"&pass="+pass);
if(ajax.readyState==4) {
var response = ajax.responseText;
var param = response.split("|||");
document.getElementById("messageErreur").innerHTML = response;
if( param[0] == "ok" ) {
document.getElementById("formulaire").style.display = "none";
document.getElementById("blocMembres").style.display = "block";
document.getElementById("dialogue").style.display = "block";
document.getElementById("affichageNomTchat").innerHTML = '<b>'+param[1]+' :</b>';
document.getElementById("nomTchat").value = '';
document.getElementById("passTchat").value = '';
document.getElementById("messageTchat").focus();
BOUCLAGE = true;
boucleTchat(true);
}
}
}
else
alert("Sorry but your browser don't support ajax");
return false;
}
function envoyerTchat() {
document.getElementById("messageTchat").focus();
if( document.getElementById("messageTchat") && document.getElementById("messageTchat").value.replace(/^\s+|\s+$/g,"").length > 0 )
var message = document.getElementById("messageTchat").value;
else{
return false;
}
document.getElementById("messageTchat").value = '';
message = message.replace(/&/g, "amp;");
var ajax1;
if(window.XMLHttpRequest)
ajax1 = new XMLHttpRequest();
else
if(window.ActiveXObject)
ajax1 = new ActiveXObject("Microsoft.XMLHTTP");
if(ajax1) {
ajax1.open('POST', '/pages/_envoyerTchat.php', false);
ajax1.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajax1.send("type="+insert+"&message="+message+"&gras="+textGras+"&italique="+textItalique+"&couleur="+textCouleur);
if(ajax1.readyState==4) {
var response = ajax1.responseText;
if( response == "ko" ) {
document.getElementById("formulaire").style.display = "block";
document.getElementById("blocMembres").style.display = "none";
document.getElementById("dialogue").style.display = "none";
document.getElementById("messageErreur").innerHTML = "";
BOUCLAGE = false;
return false;
}
else
if( response.length > 1 && response != "ok" ) {
alert(response);
document.getElementById("messageTchat").value = message;
}
}
}
else
alert("Sorry but your browser don't support ajax");
actualiserTchat();
return false;
}
function actualiserTchat() {
if( document.getElementById("blocDialogue") && document.getElementById("blocDialogue").innerHTML.length > 30 )
var actuelTchat = document.getElementById("blocDialogue").innerHTML.substr( document.getElementById("blocDialogue").innerHTML.indexOf('<i')+27, 19 ); //date et heure exacte
else
var actuelTchat = "nouveau";
var ajax2;
if(window.XMLHttpRequest)
ajax2 = new XMLHttpRequest();
else
if(window.ActiveXObject)
ajax2 = new ActiveXObject("Microsoft.XMLHTTP");
if(ajax2) {
ajax2.open('POST', '/pages/_actualiserTchat.php', false);
ajax2.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajax2.send('ok='+actuelTchat);
if(ajax2.readyState==4) {
var response = ajax2.responseText;
var rep = response.split("|||");
if( rep[0] == "ok" ) {
if( rep[1].length > 0 )
document.getElementById("blocDialogue").innerHTML = rep[1]+document.getElementById("blocDialogue").innerHTML;
}
else
if( rep[0] == "ko" ) {
document.getElementById("formulaire").style.display = "block";
document.getElementById("blocMembres").style.display = "none";
document.getElementById("dialogue").style.display = "none";
document.getElementById("messageErreur").innerHTML = "";
BOUCLAGE = false;
}
else
if( response.length > 1 )
alert(response);
}
}
else
alert("Sorry but your browser don't support ajax");
}
function enligneTchat() {
var ajax3;
if(window.XMLHttpRequest)
ajax3 = new XMLHttpRequest();
else
if(window.ActiveXObject)
ajax3 = new ActiveXObject("Microsoft.XMLHTTP");
if(ajax3) {
ajax3.open('POST', '/pages/_enligneTchat.php', false);
ajax3.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajax3.send("ok=ok");
if(ajax3.readyState==4) {
var response = ajax3.responseText;
var rep = response.split("|||");
if( rep[0] == "ok" )
document.getElementById("blocMembres").innerHTML = '<b>Membres connectés :</b> <br/><br/>'+rep[1];
else
if( rep[0] == "ko" ) {
document.getElementById("formulaire").style.display = "block";
document.getElementById("blocMembres").style.display = "none";
document.getElementById("dialogue").style.display = "none";
document.getElementById("messageErreur").innerHTML = "";
BOUCLAGE = false;
}
else
if( response.length > 1 )
alert(response);
}
}
else
alert("Sorry but your browser don't support ajax");
}
function boucleTchat(enligne) {
enligne = !enligne;
if( BOUCLAGE == true )
setTimeout( "boucleTchat("+enligne+")", 5000 );
actualiserTchat();
if( enligne )
enligneTchat();
return false;
}
function afficherAideTchat() {
if( !document.getElementById("aideTchat") )
return false;
var aide = document.getElementById("aideTchat");
if( aide.style.display == "block" )
aide.style.display = "none";
else
aide.style.display = "block";
return false;
}
function TchatGras() {
if( textGras == "" ) {
textGras = "b";
document.getElementById("textGras").style.color = "#B00";
document.getElementById("textGras").style.borderColor = "#B00";
}
else {
textGras = "";
document.getElementById("textGras").style.color = "#444";
document.getElementById("textGras").style.borderColor = "#444";
}
document.getElementById("messageTchat").focus();
return false;
}
function TchatItalique() {
if( textItalique == "" ) {
textItalique = "i";
document.getElementById("textItalique").style.color = "#B00";
document.getElementById("textItalique").style.borderColor = "#B00";
}
else {
textItalique = "";
document.getElementById("textItalique").style.color = "#444";
document.getElementById("textItalique").style.borderColor = "#444";
}
document.getElementById("messageTchat").focus();
return false;
}
function TchatAfficherColor() {
if( document.getElementById("paletteCouleurs").style.display == "block" ) {
document.getElementById("paletteCouleurs").style.display = "none";
document.getElementById("messageTchat").focus();
}
else
document.getElementById("paletteCouleurs").style.display = "block";
return false;
}
function TchatColor(choix) {
textCouleur = choix;
document.getElementById("textColor").style.color = choix;
document.getElementById("textColor").style.borderColor = choix;
document.getElementById("messageTchat").focus();
TchatAfficherColor();
return false;
}
function typeTchat(choixType) {
document.getElementById("messageTchat").focus();
document.getElementById("choixText").style.color = "#444";
document.getElementById("choixText").style.borderColor = "#444";
document.getElementById("choixImage").style.color = "#444";
document.getElementById("choixImage").style.borderColor = "#444";
document.getElementById("choixLien").style.color = "#444";
document.getElementById("choixLien").style.borderColor = "#444";
if( choixType == "image" ) {
document.getElementById("choixImage").style.color = "#B00";
document.getElementById("choixImage").style.borderColor = "#B00";
}
else
if( choixType == "url" ) {
document.getElementById("choixLien").style.color = "#B00";
document.getElementById("choixLien").style.borderColor = "#B00";
}
else {
document.getElementById("choixText").style.color = "#B00";
document.getElementById("choixText").style.borderColor = "#B00";
}
insert = choixType;
return false;
}
</script>
<style type="text/css">
.formulaireTchat {
margin-top: 20px;
display: block;
float: left;
background: url('images/tchat/fond.png') no-repeat center center;
height: 420px;
}
.rouleauTchat {
display: block;
float: left;
border: 2px solid #B00;
margin-top: 20px;
padding: 5px;
background: url('images/tchat/fond.png') no-repeat center 10px;
width: 570px;
height: 400px;
overflow: auto;
}
.rouleauTchat img{
margin-left: 25px;
max-width: 500px;
max-height: 380px;
}
.rouleauTchat a{
text-decoration: underline;
color: #1a80b9;
}
.rouleauTchat a:hover{
font-weight: normal;
text-decoration: underline;
color: #1a80b9;
}
.ecrireTchat {
display: block;
float: left;
padding: 10px 0;
width: 582px;
height: 100%;
}
.boutonAideTchat {
margin: 5px 0 0 420px;
padding: 3px;
text-align: center;
display: block;
float:left;
width: 150px;
height: 15px;
cursor: pointer;
font-size: 15px;
color: #1a80b9;
border: 2px solid #1a80b9;
}
.boutonAideTchat:hover {
font-weight: bold;
cursor: pointer;
}
.aideTchat {
display: none;
float:left;
margin-top: -2px;
color: #1a80b9;
padding: 3px;
width: 570px;
height: auto;
border: 2px solid #1a80b9;
}
.boutonStyle {
display: block;
float:left;
margin: 5px;
width: 14px;
height: 14px;
background: url('images/tchat/button.png') repeat-x;
color: #444;
border: 2px solid #444;
text-align: center;
cursor: pointer;
}
.boutonColor {
width: 70px;
}
.paletteCouleurs {
display: none;
float:left;
width: 430px;
height: 100%;
}
</style>
<h1 style="text-align:center; color:#B00">
MacGyver : le Tchat (<i>BeTa</i>)
</h1>
<div class="LeTiersDeGauche">
<?php echo '
<div id="blocMembres" style="display:'.$afficheDialogue.'; margin:80px 0 0 50px;">'; ?>
<b>Membres connectés :</b> <br/>
</div>
</div>
<div id="blocTchat" class="DeuxTiersDeDroite">
<div class="boutonAideTchat" onclick="afficherAideTchat();">
Besoin d'Aide ?
</div>
<div id="aideTchat" class="aideTchat">
<h4>Pré-requis :</h4>
Pour participer au tchat, vous aurez besoin d'un compte sur le forum ainsi qu'une version récente de votre navigateur web, acceptant les requêtes AJAX, les cookies, et le JavaScript. Le tchat étant en version beta, il n'a été testé que sur Internet Explorer 7 et +, et Mozila Firefox 3 et +. L'affichage des personnes en ligne pose problème avec Google Chrome.
<br/>
<h4>J'ai un message d'erreur à la connexion :</h4>
Pour pouvoir se connecter au tchat, vous devez disposer d'un compte sur le forum du site, qui soit validé et actif. Essayez donc de vous connecter au forum. Si cette opération fonctionne réessayez de vous connecter au tchat. Si la connexion échoue encore, il s'agit alors d'un problème technique : désolé pour le désagréement et merci de me le signaler.
<br/>
<h4>Je me fait exclure automatiquement du tchat :</h4>
Vous avez été inactif pendant plus de 20 minutes, ou vous n'acceptez pas les cookies. Si ni l'une ni l'autre de ces raisons sont vraies, il s'agit alors d'un problème technique : désolé pour le désagréement et merci de me le signaler.
<br/>
<h4>Je ne retrouve plus mes textes précédents dans le dialogue du tchat :</h4>
Seuls les 200.000 derniers caractères du dialogue sont concervés. Le reste est supprimé définitivement.
<br/>
<h4>Dialoguer uniquement au clavier :</h4>
Pour n'utiliser que le clavier, saisissez votre message, puis appuyer sur "Entrée" pour le poster, le curseur revient automatiquement dans la zone de saisie, prête à recevoir un nouveau message.
<br/>
<h4>Trois modes de saisie :</h4>
Vous avez le choix entre poster du texte, une image, ou un lien. Pour une image ou un lien, veuillez saisir l'URL complète de ce dernier (<i>exemple : http://www.domaine.fr/image.jpg</i>).
<br/>
<h4>Personnaliser le texte :</h4>
Vous avez la possibilité de poster votre texte en Gras et/ou en Italique et/ou en Couleur. Les paramètres restent actifs pour tout les messages suivants, jusqu'à ce que les paramètres soient à nouveau désactivés ou modifiés.
<br/>
<h4>Pour toutes questions : <a href="/rick/Contact.php">Contactez-moi</a></h4>
<br/>
</div>
<?php echo '
<div id="formulaire" class="formulaireTchat" style="display:'.$afficheFormulaire.';">'; ?>
Pour se connecter au Tchat, veuillez utiliser vos identifiant du forum, ou inscrivez-vous d'abord sur ce dernier. <br/>
<br/>
<table width="560" border="0">
<tr>
<td width="115">Nom d'utilisateur :</td>
<td width="445"><input type="text" size="20" id="nomTchat" /></td>
</tr>
<tr>
<td>Mot de passe :</td>
<td><input type="password" size="20" id="passTchat" onKeyPress="if(event.keyCode == 13) connexionTchat();" /></td>
</tr>
<tr>
<td>
<input type="image" src="<?php echo URL.'images/tchat/valider.png'; ?>" alt="connexion" title="ok" onclick="connexionTchat();" style="cursor:pointer;" />
</td>
<td id="messageErreur" style="color:#E00000;">
</td>
</tr>
</table>
</div>
<?php echo '
<div id="dialogue" style="display:'.$afficheDialogue.';">'; ?>
<div id="blocDialogue" class="rouleauTchat">
</div>
<div class="ecrireTchat">
<table width="580" border="0">
<tr>
<td id="affichageNomTchat" width="100">
<b><?php echo $_SESSION["nomTchat"]; ?> :</b>
</td>
<td width="365">
<input type="text" size="68" maxlength="2000" id="messageTchat" onKeyPress="if(event.keyCode == 13) envoyerTchat();" />
</td>
<td width="15">
<input type="image" src="<?php echo URL.'images/tchat/validerPetit.png'; ?>" alt="envoyer" title="envoyer" onclick="envoyerTchat();" style="cursor:pointer;" />
</td>
</tr>
</table>
<br/>
<div class="boutonStyle" id="textGras" onclick="TchatGras();"><b>B</b></div>
<div class="boutonStyle" id="textItalique" onclick="TchatItalique();"><i>i </i></div>
<div class="boutonStyle boutonColor" id="textColor" onclick="TchatAfficherColor();"><b>Couleur</b></div>
<div id="paletteCouleurs" class="paletteCouleurs">
<div class="boutonStyle" style="background:#000; color:#000; border-color:#000;" onclick="TchatColor('#000');"></div>
<div class="boutonStyle" style="background:#80C; color:#80C; border-color:#80C;" onclick="TchatColor('#80C');"></div>
<div class="boutonStyle" style="background:#04F; color:#04F; border-color:#04F;" onclick="TchatColor('#04F');"></div>
<div class="boutonStyle" style="background:#0CE; color:#0CE; border-color:#0CE;" onclick="TchatColor('#0CE');"></div>
<div class="boutonStyle" style="background:#4C0; color:#4C0; border-color:#4C0;" onclick="TchatColor('#4C0');"></div>
<div class="boutonStyle" style="background:#484; color:#484; border-color:#484;" onclick="TchatColor('#484');"></div>
<div class="boutonStyle" style="background:#FC4; color:#FC4; border-color:#FC4;" onclick="TchatColor('#FC4');"></div>
<div class="boutonStyle" style="background:#E50; color:#E50; border-color:#E50;" onclick="TchatColor('#E50');"></div>
<div class="boutonStyle" style="background:#C00; color:#C00; border-color:#C00;" onclick="TchatColor('#C00');"></div>
<div class="boutonStyle" style="background:#840; color:#840; border-color:#840;" onclick="TchatColor('#840');"></div>
<div class="boutonStyle" style="background:#F4C; color:#F4C; border-color:#F4C;" onclick="TchatColor('#F4C');"></div>
</div>
<br/><br/>
<div class="boutonStyle boutonColor" id="choixText" onclick="typeTchat('text');" style="color:#B00; border-color:#B00;"><b>Texte</b></div>
<div class="boutonStyle boutonColor" id="choixImage" onclick="typeTchat('image');"><b>Image</b></div>
<div class="boutonStyle boutonColor" id="choixLien" onclick="typeTchat('url');"><b>Lien</b></div>
</div>
</div>
</div>
<?php
if( $afficheDialogue == "block" )
echo '
<script type="text/javascript">
window.onload = function() {
BOUCLAGE = true;
boucleTchat(true);
document.getElementById("messageTchat").focus();
}
</script>';
?>
<?php
session_start();
function stop ( $mess ) {
echo $mess;
exit(0);
}
if( isset( $_POST["type"] ) && $_POST["type"] == "text" ) {
if( isset( $_POST["message"] ) && strlen( $_POST["message"] ) >= 1 )
$mess = $_POST["message"];
else
stop( "message trop court" );
$mess = str_replace('\"', "'", $mess);
$mess = str_replace("\'", "'", $mess);
$mess = str_replace("amp;", "&", $mess);
$text = '<span style="';
if( isset( $_POST["couleur"] ) && $_POST["couleur"] != "#000" )
$text .= 'color:'.$_POST["couleur"].';';
if( isset( $_POST["italique"] ) && $_POST["italique"] == "i" )
$text .= 'font-style:italic;';
if( isset( $_POST["gras"] ) && $_POST["gras"] == "b" )
$text .= 'font-weight:bold;';
$text .= '">'.$mess.'</span>';
if( strpos($mess, "html>")!==false || strpos($mess, "href")!==false || strpos($mess, "<a")!==false || strpos($mess, "iframe")!==false || strpos($mess, "<img")!==false || strpos($mess, "src=")!==false || strpos($mess, "<script")!==false || strpos($mess, "/img>")!==false || strpos($mess, "/>")!==false )
stop("Votre message contient des balises HTML interdites");
$mess = str_replace('<', "<", $mess);
$mess = str_replace(">", ">", $mess);
}
else
if( isset( $_POST["type"] ) && $_POST["type"] == "image" ) {
if( isset( $_POST["message"] ) && strlen( $_POST["message"] ) >= 1 )
$mess = $_POST["message"];
else
stop( "message trop court" );
if( !preg_match('#^http:\/\/(.*)\.(gif|png|jpg|jpeg|bmp|)$#i', $mess) )
stop( "lien image incorrect" );
else
$text = '<br/><img src="'.$mess.'" />';
}
else
if( isset( $_POST["type"] ) && $_POST["type"] == "url" ) {
if( isset( $_POST["message"] ) && strlen( $_POST["message"] ) >= 1 )
$mess = $_POST["message"];
else
stop( "message trop court" );
if( !preg_match('#^http:\/\/(.*)$#i', $mess) )
stop( "lien url incorrect" );
else
$text = '<a href="'.$mess.'" target="_blank">'.$mess.'</a>';
}
else
stop( "type incorect" );
if( isset( $_SESSION["nomTchat"] ) ) {
$mess = '<b>'.$_SESSION["nomTchat"].'</b> (<i style="font-size:9px;">'.date("d.m.Y H:i:s").'</i>) : '.$text.'<br/><br/>';
$dial = file_get_contents('../tchat/tchat.txt');
if( (int)(filesize('../tchat/tchat.txt')) > 200000 )
$dial = substr( $dial, 0, 160000 );
$file = fopen('../tchat/tchat.txt', 'w');
fwrite( $file, $mess."\n".$dial );
fclose($file);
stop("ok");
}
else
stop("ko"); //probleme d'itentification
?>
<?php
session_start();
function stop ( $message ) {
echo $message;
exit(0);
}
if( !isset( $_POST["ok"] ) || $_POST["ok"] != "ok" )
stop( "probleme de variable" );
if( isset( $_SESSION["nomTchat"] ) ) {
$enligne = file_get_contents('../tchat/enligne.txt');
$mes = "";
$pos = strpos( $enligne, $_SESSION["nomTchat"] );
if( $pos !== false ) // il est deja dans le fichier et donc loggé depuis un moment
$enligne = substr( $enligne, ($pos+strlen($_SESSION["nomTchat"])+5) );
else
$mes = "La reponse dans moins de 10 secondes";
$enligne .= $_SESSION["nomTchat"].'<br/>';
$file = fopen('../tchat/enligne.txt', 'w');
fwrite( $file, $enligne );
fclose($file);
if( $mes != "" )
stop("ok|||".$mes);
else
stop("ok|||".$enligne);
}
else
stop("ko|||probleme d'itentification");
?>
<?php
session_start();
function _hash_encode64($input, $count, &$itoa64) {
...
}
function _hash_crypt_private($password, $setting, &$itoa64) {
...
}
function phpbb_check_hash($password, $hash) {
...
}
function stop ( $message ) {
echo $message;
exit(0);
}
if( isset( $_POST["nom"] ) && strlen( $_POST["nom"] ) >= 1 )
$nom = $_POST["nom"];
else
stop( "Veuillez entrer votre nom d'utilisateur" );
if( isset( $_POST["pass"] ) && strlen( $_POST["pass"] ) >= 1 )
$passTchat = .............
else
stop( "Veuillez entrer votre mot de passe" );
//connexion a MySql
// Ouverture d'une session mysql
connexion();
$reqPass = query( "SELECT ............");
if( mysql_num_rows( $reqPass ) == 0 )
stop( "Votre nom d'utilisateur est incorrect. Vous devez avoir un compte valide sur le forum pour participer au chat" );
else {
$row = mysql_fetch_assoc( $reqPass );
if( !phpbb_check_hash( $passTchat, $row['user_password'] ) )
stop( 'Votre mot de passe est incorect. En cas d\'oubli, <a href="http://forum.angusmacgyver.fr/ucp.php?mode=sendpassword" target="forget">cliquez ici</a>.' );
$_SESSION["nomTchat"] = $row['username'];
stop("ok|||".$_SESSION["nomTchat"]);
}
mysql_close();
?>
<?php
session_start();
function stop ( $message ) {
echo $message;
exit(0);
}
if( isset( $_POST["ok"] ) && strlen( $_POST["ok"] ) > 0 )
$actualTchat = $_POST["ok"];
else
stop( "probleme de variable" );
if( isset( $_SESSION["nomTchat"] ) ) {
if( $actuelTchat == "nouveau" )
stop("ok|||".htmlEntities( file_get_contents('../tchat/tchat.txt') ));
else {
$nouveauText = "";
$fichier = fopen('../tchat/tchat.txt', 'r');
while ( !feof($fichier) ) {
$ligne = fgets($fichier, 3000);
if( $actualTchat == substr( $ligne, strpos($ligne, '<i')+26, 19 ) )
stop("ok|||".$nouveauText);
else
$nouveauText .= $ligne;
}
stop("ok|||".$nouveauText);
}
}
else
stop("ko|||probleme d'itentification");
?>
RiC'K - AngusMacGyver.fr
- Ricardo
- Messages : 499
- Inscription : mar. 9 févr. 2010 14:39
Re: Ouverture des portes du TCHAT
Ça doit être plus facile à coder en Php, non ? ^^
PS : Cette ligne ne doit pas vraiment marcher
PS : Cette ligne ne doit pas vraiment marcher
Code : Tout sélectionner
var pass = .................................................
- RiCK
- Administrateur du site
- Messages : 760
- Inscription : ven. 5 sept. 2008 13:56
- Localisation : Moselle
- Contact :
Re: Ouverture des portes du TCHAT
Ah ben je peux pas tout dévoiler non plus
Il y a plein de php dans mon code (voir tout en bas), mais pour interagir comme ça en live sans actualiser la page, on n'a pas le choix c'est Javascript & Ajax... et c'est ça qui fait ramer les navigateurs....
Il y a plein de php dans mon code (voir tout en bas), mais pour interagir comme ça en live sans actualiser la page, on n'a pas le choix c'est Javascript & Ajax... et c'est ça qui fait ramer les navigateurs....
RiC'K - AngusMacGyver.fr
- Murdoc
- Messages : 656
- Inscription : mer. 6 janv. 2010 18:20
Re: Ouverture des portes du TCHAT
Ok, c'est sympa de savoir !!!
Bonne chance pour la suite !!!
Bonne chance pour la suite !!!
Vive Murdoc !!!
- sylvain1888
- Messages : 1504
- Inscription : lun. 27 avr. 2009 16:52
- Localisation : Paris
Re: Ouverture des portes du TCHAT
ça à pas l'air d'être facile Rick je te souhaite comme le dit Murdoc bonne chance
- RiCK
- Administrateur du site
- Messages : 760
- Inscription : ven. 5 sept. 2008 13:56
- Localisation : Moselle
- Contact :
Re: Ouverture des portes du TCHAT
J'ai trouvé une nouvelle idée assez simple
pas le temps d'essayer ça avant ce W-E, mais si ça marche....
si ça ne marche pas ....
pas le temps d'essayer ça avant ce W-E, mais si ça marche....
si ça ne marche pas ....
RiC'K - AngusMacGyver.fr
- RiCK
- Administrateur du site
- Messages : 760
- Inscription : ven. 5 sept. 2008 13:56
- Localisation : Moselle
- Contact :
Re: Ouverture des portes du TCHAT
Bon ça a l'air de marcher ! A vous de me le dire.
Pour ceux à qui ça parle, j'ai remplacer les belles et modernes requêtes AJAX en Javascript, par de vieux mais toujours très utiles iFrame.
Pour ceux à qui ça parle, j'ai remplacer les belles et modernes requêtes AJAX en Javascript, par de vieux mais toujours très utiles iFrame.
RiC'K - AngusMacGyver.fr
- RiCK
- Administrateur du site
- Messages : 760
- Inscription : ven. 5 sept. 2008 13:56
- Localisation : Moselle
- Contact :
Re: Ouverture des portes du TCHAT
Pour moi le tchat est maintenant fini, les smileys, c'est pour plus tard
un petit Quizz Murdoc pour tester tout ça ?
un petit Quizz Murdoc pour tester tout ça ?
RiC'K - AngusMacGyver.fr
- Murdoc
- Messages : 656
- Inscription : mer. 6 janv. 2010 18:20
Re: Ouverture des portes du TCHAT
Cela saurait une bonne idée mais il faut laisser le temps à Sylvain 1888 de savourer sa splendide victoire n'oublions pas que c'était face à toi Rick.
Vive Murdoc !!!
- RiCK
- Administrateur du site
- Messages : 760
- Inscription : ven. 5 sept. 2008 13:56
- Localisation : Moselle
- Contact :
- sylvain1888
- Messages : 1504
- Inscription : lun. 27 avr. 2009 16:52
- Localisation : Paris
Re: Ouverture des portes du TCHAT
RiCK a écrit :les smileys sont dedans
- Murdoc
- Messages : 656
- Inscription : mer. 6 janv. 2010 18:20
- Murdoc
- Messages : 656
- Inscription : mer. 6 janv. 2010 18:20
Re: Ouverture des portes du TCHAT
Cela fait un mois que le tcha ta été créé.
Quel bilan peut-on faire ?
Quel bilan peut-on faire ?
Vive Murdoc !!!
- RiCK
- Administrateur du site
- Messages : 760
- Inscription : ven. 5 sept. 2008 13:56
- Localisation : Moselle
- Contact :
Re: Ouverture des portes du TCHAT
techniquement je crois qu'il fonctionne très bien.
maintenant pour ce qui est du contenu il est faible, les chances que 2 personnes s'y rencontre sont minces.
Je privilégie le forum, mieux présenté et organisé, ce qui est écrit peut être lu par tous en différé (plus tard dans la journée ou la semaine).
Maintenant comme déjà dit plusieurs fois, en cas de "réunion organisée" - quizz, discussions - le tchat sera l'outil idéal
maintenant pour ce qui est du contenu il est faible, les chances que 2 personnes s'y rencontre sont minces.
Je privilégie le forum, mieux présenté et organisé, ce qui est écrit peut être lu par tous en différé (plus tard dans la journée ou la semaine).
Maintenant comme déjà dit plusieurs fois, en cas de "réunion organisée" - quizz, discussions - le tchat sera l'outil idéal
RiC'K - AngusMacGyver.fr
- Murdoc
- Messages : 656
- Inscription : mer. 6 janv. 2010 18:20