[BBcode] Hide

Forum de développements privés.

Modérateur: Equipe

Règles du forum
A lire impérativement sur notre page : Règlement

[BBcode] Hide

Messagepar Oyo » 21 Mai 2007 à 13:48

Salut,

J'ai développé un petit BBcode hide pour mes besoin perso, il fonctionne super bien mais j'ai un petit problème avec mes fonctions de listing automatique...

Lorsque je poste un message avec les balises comme ceci:
Code: Tout sélectionner
* [id="0"]2007[/id][hide="0"]
          o Listing !
          o test
      [/hide]
    * [id="2"]2006[/id][hide="2"]
          o gg
          o test gg
          o gg
      [/hide]

ça fonctionne correctement mais quand je vais sur le sujet de listing mis à jour automatiquement les bbcode ne sont pas parsé du moins en ce qui concerne id et hide :/ la balise b et list est pris en compte :\ mais quand j'édite le poste de listing et que je reviens dessus mes 2 bbcode fonctionne :cry:

Si vous avez un idée ? du pourquoi ;)

Voila le code que j'utilise:
Code: Tout sélectionner
#
# [ OUVRIR ] ---
#
BBcode.php

#
# [ TROUVER ] ---
#
		$bbcode_tpl['email'] = str_replace('{EMAIL}', '\\1', $bbcode_tpl['email']);  

#
# [ AJOUTER APRES ] ---
#
		/*									
		** +----------------------------------------------------+
		** | 			   ID 				
		** +----------------------------------------------------+
		*/
		# [id="x"]xx[/id] 
		$bbcode_tpl['id_open'] = str_replace('{ID}', '\\1', $bbcode_tpl['id_open']);
		
		/*																				
		** +----------------------------------------------------+
		** | 			   Hide 			               	
		** +----------------------------------------------------+
		*/
		# [hide="x"]xx[/hide] 
		$bbcode_tpl['h_open'] = str_replace('{HIDE}', '\\1', $bbcode_tpl['h_open']);

#
# [ TROUVER ] ---
#
		$text = str_replace("[/i:$uid]", $bbcode_tpl['i_close'], $text);  

#
# [ AJOUTER APRES ] ---
#
		/*											
		** +----------------------------------------------------+
		** | 			   ID 		
		** +----------------------------------------------------+
		*/
		# [id="1"]txt[/id]
		$text = preg_replace("/\[id:$uid=\"(.*?)\"\]/si", $bbcode_tpl['id_open'], $text);
		$text = str_replace("[/id:$uid]", $bbcode_tpl['id_close'], $text);
		
		/*									
		** +----------------------------------------------------+
		** | 			   Hide 							
		** +----------------------------------------------------+
		*/		
		# [hide="1"]txt[/hide]
		$text = preg_replace("/\[hide:$uid=\"(.*?)\"\]/si", $bbcode_tpl['h_open'], $text);
		$text = str_replace("[/hide:$uid]", $bbcode_tpl['h_close'], $text);
		
#
# [ TROUVER ] ---
#
		$text = preg_replace("#\[img\]((http|ftp|https|ftps)://)([^ \?&=\#\"\n\r\t<]*?(\.(jpg|jpeg|gif|png)))\[/img\]#sie", "'[img:$uid]\\1' . str_replace(' ', '%20', '\\3') . '[/img:$uid]'", $text);

#
# [ AJOUTER APRES ] ---
#
		/*	
		** +----------------------------------------------------+
		** | 			   ID 		
		** +----------------------------------------------------+
		*/
		# [id="1"]txt[/id]
		$text = bbencode_first_pass_pda($text, $uid, '/\[id=\\\\&quot;(.*?)\\\\&quot;\]/is', '[/id]', '', false, '', "[id:$uid=\\\"\\1\\\"]");
		
		/*												
		** +----------------------------------------------------+
		** | 			   Hide 	
		** +----------------------------------------------------+
		*/
		# [hide="1"]txt[/hide]
		$text = bbencode_first_pass_pda($text, $uid, '/\[hide=\\\\&quot;(.*?)\\\\&quot;\]/is', '[/hide]', '', false, '', "[hide:$uid=\\\"\\1\\\"]");

#
# [ TROUVER ] ---
#

					if( preg_match('#\[quote=\\\&quot;#si', $possible_start, $match) && !preg_match('#\[quote=\\\&quot;(.*?)\\\&quot;\]#si', $possible_start) )
					{
						// OK we are in a quote tag that probably contains a ] bracket.
						// Grab a bit more of the string to hopefully get all of it..
						if ($close_pos = strpos($text, '&quot;]', $curr_pos + 14))
						{
							if (strpos(substr($text, $curr_pos + 14, $close_pos - ($curr_pos + 14)), '[quote') === false)
							{
								$possible_start = substr($text, $curr_pos, $close_pos - $curr_pos + 7);
							}
						}
					}

#
# [ AJOUTER APRES ] ---

					if( preg_match('#\[hide=\\\&quot;#si', $possible_start, $match) && !preg_match('#\[hide=\\\&quot;(.*?)\\\&quot;\]#si', $possible_start) )
					{
						// OK we are in a quote tag that probably contains a ] bracket.
						// Grab a bit more of the string to hopefully get all of it..
						if ($close_pos = strpos($text, '&quot;]', $curr_pos + 14))
						{
							if (strpos(substr($text, $curr_pos + 14, $close_pos - ($curr_pos + 14)), '[hide') === false)
							{
								$possible_start = substr($text, $curr_pos, $close_pos - $curr_pos + 7);
							}
						}
					}
#

Dans le fichier tpl:
Code: Tout sélectionner
<!-- BEGIN id_open --><span id="id{ID}_{ID}"><a href="javascript:hides('id{ID}');" class="postlink"><!-- END id_open -->
<!-- BEGIN id_close --></a></span><!-- END id_close -->

<!-- BEGIN h_open --><span id="id{HIDE}" style="display: none;"><!-- END h_open -->
<!-- BEGIN h_close --></span><!-- END h_close -->
Ancien Administrateur de phpBB-fr - R.I.P Oyo 2006~2009

PrestaShop | PrestaStore
Avatar de l’utilisateur
Oyo
Inoubliable administrateur
 
Messages: 15306
Enregistré le: 12 Fév 2003 à 20:02
Localisation: Paris

Messagepar Oyo » 23 Mai 2007 à 16:58

Up :!:
Ancien Administrateur de phpBB-fr - R.I.P Oyo 2006~2009

PrestaShop | PrestaStore
Avatar de l’utilisateur
Oyo
Inoubliable administrateur
 
Messages: 15306
Enregistré le: 12 Fév 2003 à 20:02
Localisation: Paris

Messagepar Oyo » 24 Mai 2007 à 15:39

Up :idea: :!:
Ancien Administrateur de phpBB-fr - R.I.P Oyo 2006~2009

PrestaShop | PrestaStore
Avatar de l’utilisateur
Oyo
Inoubliable administrateur
 
Messages: 15306
Enregistré le: 12 Fév 2003 à 20:02
Localisation: Paris

Messagepar Oyo » 27 Mai 2007 à 11:12

Up :!:
Ancien Administrateur de phpBB-fr - R.I.P Oyo 2006~2009

PrestaShop | PrestaStore
Avatar de l’utilisateur
Oyo
Inoubliable administrateur
 
Messages: 15306
Enregistré le: 12 Fév 2003 à 20:02
Localisation: Paris

Messagepar ErnadoO » 27 Mai 2007 à 11:17

Je regarderais mardi ou mercredi, quand je serais chez moi ;)
ErnadoO
 

Messagepar Oyo » 27 Mai 2007 à 15:42

Ok

en faite je pense que c'est du à la maj trop fréquente des sujet mais j'en suis pas sur ceci dit normalement il ne devrai donc pas prendre en compte la balise B...
Ancien Administrateur de phpBB-fr - R.I.P Oyo 2006~2009

PrestaShop | PrestaStore
Avatar de l’utilisateur
Oyo
Inoubliable administrateur
 
Messages: 15306
Enregistré le: 12 Fév 2003 à 20:02
Localisation: Paris

Messagepar ErnadoO » 01 Juin 2007 à 10:46

T'as ton mod de listing automatique sous le coude?

Car je vois pas trop ce que tu cherches a faire et a obtenir
ErnadoO
 

Messagepar Oyo » 01 Juin 2007 à 16:17

En faite c'est bon j'ai trouvé le problème (du moins en partie ^^' j'avais corriger le bug en question au boulot :D) et j'ai aussi pu voir qu'une fonction rentrer en conflit avec une autre ^^
Ancien Administrateur de phpBB-fr - R.I.P Oyo 2006~2009

PrestaShop | PrestaStore
Avatar de l’utilisateur
Oyo
Inoubliable administrateur
 
Messages: 15306
Enregistré le: 12 Fév 2003 à 20:02
Localisation: Paris

Messagepar ErnadoO » 01 Juin 2007 à 16:45

Bon ben explique alors :lol:
ErnadoO
 

Messagepar Oyo » 01 Juin 2007 à 16:59

lol je sais plus ^^ ça fait lontemps que je l'avais corriger au boulot :)

Sinon tu voulais savoir a quoi ça sert :
Je crée un listing automatique des sujets dans un forum spécifique et j'utilise mon bbcode hide affin de cacher certains éléments car j'ai fait plusieurs fonctions de listing:
- par titre (alpha)
- par date (année)
- par date (année + mois)
- par date (année + mois +jours)
Ancien Administrateur de phpBB-fr - R.I.P Oyo 2006~2009

PrestaShop | PrestaStore
Avatar de l’utilisateur
Oyo
Inoubliable administrateur
 
Messages: 15306
Enregistré le: 12 Fév 2003 à 20:02
Localisation: Paris


Retourner vers Développements privés

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité