Nouveau sujet Répondre Imprimer Syndication RSS 2.0

Amélioration du spoiler

Brasier
Avatar de DDril
  • Messages : 756
  • Inscrit : 03 Janvier 2005
  Lien vers ce message 23 Janvier 2005, 18:40
Bonjour, comme j'avais dit j'allais améliorer mon fscode spoiler pour que au lieu de surligner le texte noir on puisse cliquer sur un mot qui montre le texte. J'ai retrouvé le script de base utilisé par IPB que je prendrais comme base mais malheureusement je m'aventure en terre inconnue lol

voici le script et j'aimerais des conseils comme par exemple ou๠placer merci.

1) Créez un répertoire /mods/ dans le dossier principale Invision Power Board et 
   uploadez spoiler_conv.mod et spoiler_unconv.mod dedans.

2) Connectez vous dans le PC Admin et éditez vos templates.

	Allez dans:
	
	Skins & Templates ---> Manage Board Wrappers ---> Edit
	
3) Ajoutez ce qui suit après le tag "<%JAVASCRIPT%>":

<script language="JavaScript" type="text/javascript">
<!--
	function openClose(id)
	{
		var obj = "";	

		// Check browser compatibility
		if(document.getElementById)
			obj = document.getElementById(id).style;
		else if(document.all)
			obj = document.all[id];
		else if(document.layers)
			obj = document.layers[id];
		else
			return 1;
			
		// Do the magic :)
		if(obj.display == "")
			obj.display = "none";
		else if(obj.display != "none")
			obj.display = "none";
		else
			obj.display = "block";
	}
//-->
</script>

4) Sauvegardez ce Board Wrapper. 
(Note: ce serait mieux si ce wrapper était utilisé par tous les autres templates du forum.
 Car si ce code JavaScript n'est pas dans le templates, les utilisateurs ne seront pas capables
 de voir le texte caché quand ils essaieront de cliquer sur le lien "Cliquez ici".)

5) Récupérez le fichier "post_parser.php" depuis le répertoire "sources\lib" de votre installation.
 (Faites une copie de ce fichier)

6) Cherchez la ligne suivante dans post_parser.php: (Environ à  la ligne 219)

		// Start off with the easy stuff

7) Ajoutez ceci en dessous:

		// Spoiler Modification 
		// Programmed by primetime
		// id: 1060141596
		//
		// Convert Function
			include('./mods/spoiler_conv.mod');
			
8) Cherchez la ligne suivante dans post_parser.php: (Environ à  la ligne 595)

		$txt = str_replace( "&#153;", "(tm)", $txt );
	
9) Ajoutez ceci en dessous:

		// Spoiler Modification 
		// Programmed by primetime
		// id: 1060141596
		//
		// Unconvert Function
			include('./mods/spoiler_unconv.mod');
	

10) Ajoutez ces lignes avant le dernier "}" à  la fin du fichier 
(Il doit y avoir un "}" avant le "?>" à  la fin du fichier, ajoutez le code avant le "}")

	function spoilerConv($in)
	{
		preg_match_all("#\[spoiler\]#is", $in, $num);
		
		$i = count($num[0]);
		$a = 0;
		$v = 0;
		
		$timestamp = time();
		
		while($a < $i)
		{
			$out =  "<!--SPOILER BEGIN--><div onClick=\"openClose('".$obj=md5(microtime());
			$out .= "')\" style=\"font-weight: bold\">Cliquez ici</div>";
			$out .= "<div id=\"".$obj."\" style=\"display:none\"><!--SPOILER END-->";
			
			$in = preg_replace("#\[spoiler\]#is", $out, $in, 1);
			$a++;
		}
		while($v < $i)
		{
			$in = preg_replace("#\[\/spoiler\]#is", "<!--SPOILER DIV--></div><!--SPOILER DIV-->", $in, 1);
			$v++;
		}	

		return $in;

	}		
	
11) Sauvegardez et uploader "post_parser.php" dans le dossier "sources\lib" de votre installation.

12) Enjoy :D


Webmaster de l'Organisation Très Secrète
 
Brasier
Avatar de DDril
  • Messages : 756
  • Inscrit : 03 Janvier 2005
  Lien vers ce message 15 Février 2005, 18:39
Voila j'ai tenté de l'améliorer vu que je fais une pause concernant le mod salaire system mais voici je suis devant une impasse : j'à¢i trouvé un fichier idéal pour mes desseins mais je n'arrive pas à mettre le code :

$theme['fsspoiler_ouvert'] = '<script language="JavaScript" type="text/javascript" src="images/toggle_display.js"></script>
<b><span class="petit"><a align="right" href="#" onClick="hdr_toggle('{message.MEMBRE_ID}'); return false;" class="petit">Spoiler</a></span></b> 
<table>
		<tbody style="display: none;" id="{message.MEMBRE_ID}">
				<tr>
						<td colspan="2">
<br /><table class="tableau" style="width: %s;" align="center" cellspacing="0" cellpadding="3"><tr><td class="fscode_spoiler_titre">%s</td></tr><tr><td class="fscode_spoiler">';
$theme['fsspoiler_ferme'] = '</td></tr></table><br />						</td>
			    </tr>
		</tbody>
</table>';



est-ce que je fais juste ou c'est là que ca cloche?


Webmaster de l'Organisation Très Secrète
 
Chef du projet FSB
Avatar de Genova
  • Age : 26 ans
  • Messages : 14944
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 17 Février 2005, 1:22
Je ne peux pas t'aider je suis vraiment trop mauvais en javascript, mais demande à grummfy il connait bien ce language :)


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Brasier
Avatar de DDril
  • Messages : 756
  • Inscrit : 03 Janvier 2005
  Lien vers ce message 17 Février 2005, 19:28
Ok merci pour l'info, je verrais ca après demain vu que j'ai des examens demain ;)


Webmaster de l'Organisation Très Secrète
 
Répondre


.