Cool Forum

 
 
Cool Forum » Hacks et modifications » Demande de mods et support programmation » bbcodes [wall]
Connexions
1 connecté(s) sur le forum actuellement: 0 membre(s) | 1 invité(s)
 
 
 
<<Sujet précédent     Sujet suivant>>


 
 
Auteur Imprimer le topic Message

 
 
Hayreon

Pilier

Enregistré le 18/01/2003
Messages: 1451
Non connecté

Sujet : bbcodes [wall]
Ajouté le : 06/09/2004 11:34
Message :

Bonjour,

J'essai de developper un nouveau bbcode pour CF qui permet de mettre en couleurs et de faire des liens vers php.net pour tout code php mit entre [wall] et [/wall].

Mon probleme : impossible de mettre la fonction de traitement du code php en place sans génerer des erreurs ou afficher le code.

Voila le regex que j'ai mit en place :

$msg = preg_replace("/\[wall\](.*?)\[\/wall\]/si",affwall("\\1"),$msg);


affwall() est la fonction qui permet de créer les lignes de code en couleurs avec les liens. Je pense que l erreur vient de la : affwall("\\1") mais je ne voit pas la bonne syntaxe a utiliser.

Merci de votre aide


Avant de poster : La documentation - Les FAQ
Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Visitez le site de Hayreon!! Envoyer un Message Privé à Hayreon Citer ce post dans votre réponse

 
 
Cool Coyote

Pilier

Administrateur

Enregistré le 26/09/2001
Messages: 2629
Non connecté

Ajouté le : 06/09/2004 23:28
Message :

si ton masque de remplacement est une fonction PHP qui doit être exécutée, il faut que tu rajoute un e dans le masque de recherche:

$msg = preg_replace("/\[wall\](.*?)\[\/wall\]/sie",affwall("\\1"),$msg);


Merci de respecter les règles d'ajout de messages !!

Avant de poser une question:

[Documentation] - [FAQ] - [Recherche]


Cool Coyote - Webmaster (me contacter)
Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Envoyer un Message Privé à Cool Coyote Citer ce post dans votre réponse

 
 
Hayreon

Pilier

Enregistré le 18/01/2003
Messages: 1451
Non connecté

Ajouté le : 07/09/2004 09:17
Message :

Merci mais j'ai toujours un probleme :

Parse error: parse error, unexpected '<' in c:\program files\easyphp1-7\www\tests\include\fonctions.inc.php(108) : regexp code on line 1

Fatal error: Failed evaluating code:

1 	<?php // 1er ligne du bbcode
1 // Ici il devrai y avoir le code
?> // Derniere ligne du bbcode

in c:\program files\easyphp1-7\www\tests\include\fonctions.inc.php on line 108


Voila le fonction affwall()

function affwall($code)
{
	$code = "<?php\n".$code."\n?>";
	$code = stripslashes(stripslashes($code));
	$code = highlight_string($code,true);
	$code = explode('<br>',$code);

	for($x=0 ; $x<sizeof($code) ; $x++)
	{
		$text .= "<tr>\n";
		$text .= "<td width='15' bgcolor='#C0C0C0' style=\"font-size: 10px; vertical-align: top;\">\n";
		$text .= ($x+1);
		$text .= "</td>\n";
		$text .= "<td width='485' bgcolor='#F4F4F4' style=\"font-size: 10px; vertical-align: top;\">\n";
		$text .= $code[$x];
		$text .= "</td></tr>\n";
	}
	return $text;  
}


Et le nouveau regex :

$msg = preg_replace("/\[wall\](.*?)\[\/wall\]/sie","<table width=\"500\" border=\"1\" style=\"border-style:solid; border-width:1px; border-collapse:collapse;\" bgcolor=\"f4f4f4\" bordercolor=\"000000\">".affwall("\\1")."</table>",$msg);


Merci

*** Message édité par Aquilon le 07/09/2004 09:23 ***


Avant de poster : La documentation - Les FAQ
Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Visitez le site de Hayreon!! Envoyer un Message Privé à Hayreon Citer ce post dans votre réponse

 
 
Cool Coyote

Pilier

Administrateur

Enregistré le 26/09/2001
Messages: 2629
Non connecté

Ajouté le : 08/09/2004 00:09
Message :

euh ouais j'ai pas vu mais t'as une autre erreur dans ta regex:

$msg = preg_replace("/\[wall\](.*?)\[\/wall\]/sie","affwall('\\1')",$msg);


ça devrait marcher comme ça


Merci de respecter les règles d'ajout de messages !!

Avant de poser une question:

[Documentation] - [FAQ] - [Recherche]


Cool Coyote - Webmaster (me contacter)
Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Envoyer un Message Privé à Cool Coyote Citer ce post dans votre réponse

 
 
Hayreon

Pilier

Enregistré le 18/01/2003
Messages: 1451
Non connecté

Ajouté le : 08/09/2004 08:44
Message :

Impécable

Cependant, il reste un probleme : quand les messages sont enregistrés, la fonction htmlentities() est appliquée ce qui donne des lignes de codes comme celle là :

$host = &quot;localhost&quot;; //Nom du serveur sql<br />

au lieu de $host ="localhost";

Avant d'intégrer ce nouveau bbcode à CF, si j'applique la fonction html_entity_decode() uniquement sur la partie code, y a t il des risques niveau sécurité ?

Encore merci et bon courrage a toute l'equipe CF


Avant de poster : La documentation - Les FAQ
Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Visitez le site de Hayreon!! Envoyer un Message Privé à Hayreon Citer ce post dans votre réponse

 
 
Cool Coyote

Pilier

Administrateur

Enregistré le 26/09/2001
Messages: 2629
Non connecté

Ajouté le : 08/09/2004 23:06
Message :

Ca me parait bizarre que cette fonction soit mise automatiquement... La seule que je connaisse qui soit appliquée systématiquement lors de l'utilisation d'une regex de cette façon c'est addslashes(), sinon théoriquement rien d'autre n'est fait sur ton code...

Ce que je te conseille c'est d'essayer de d'afficher ton texte aux différentes étapes, genre avant de faire ta regex, puis au tout début de ta fonction, ainsi tu verras s'il y a eu des modifications entre temps, etc..


Merci de respecter les règles d'ajout de messages !!

Avant de poser une question:

[Documentation] - [FAQ] - [Recherche]


Cool Coyote - Webmaster (me contacter)
Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Envoyer un Message Privé à Cool Coyote Citer ce post dans votre réponse

 
 
Hayreon

Pilier

Enregistré le 18/01/2003
Messages: 1451
Non connecté

Ajouté le : 09/09/2004 08:32
Message :

Si je reprend bien le code de sauvegarde des messages : (repondre.php)

Ligne 204 : $msg = getformatmsg($_POST[msg]);

La fonction :

function getformatmsg($msg,$activenl2br=true)
{
$msg=htmlentities($msg);

if(get_magic_quotes_gpc()==0)
$msg=addslashes($msg);

if($activenl2br)
$msg=nl2br($msg);
return($msg);
}

htmlentities() est donc apliqué systématiquement ou alors je suis passé a coté de quelque chose ^^ alors que addslashes est apliqué uniquement si magic_quote est à 0.
Je vais quand meme faire une serie de tests.


Avant de poster : La documentation - Les FAQ
Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Visitez le site de Hayreon!! Envoyer un Message Privé à Hayreon Citer ce post dans votre réponse

 
 
Hayreon

Pilier

Enregistré le 18/01/2003
Messages: 1451
Non connecté

Ajouté le : 09/09/2004 09:39
Message :

J'ai réussit a mettre en place le bbcode je met tout le code dans le forum hack

Mais j'aimerai quand meme des infos sur la manière dont sont traités les messages à l'enregistrement et à l'affichage (htmlentities, addslashes ..)

Merci beaucoup


Avant de poster : La documentation - Les FAQ
Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Visitez le site de Hayreon!! Envoyer un Message Privé à Hayreon Citer ce post dans votre réponse

 
 
Hayreon

Pilier

Enregistré le 18/01/2003
Messages: 1451
Non connecté

Ajouté le : 12/09/2004 21:33
Message :

Plop,

Mais j'aimerai quand meme des infos sur la manière dont sont traités les messages à l'enregistrement et à l'affichage (htmlentities, addslashes ..)


Merci


Avant de poster : La documentation - Les FAQ
Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Visitez le site de Hayreon!! Envoyer un Message Privé à Hayreon Citer ce post dans votre réponse

 
 


<<Sujet précédent     Sujet suivant>>

 
[Contacter l'administrateur] | [Aller sur CoolForum.net]

 
[12 requêtes] - [Page générée en 0.0302 secondes]
 

Powered by CoolForum v.0.8.5 beta
Copyright ©2001-2014 CoolForum.net