CREDITS: This Is A Modification Of The "================================================================================== "Mod "Spoiler TAG" V 1.0.4 for Invision Power Board 2.1.x "================================================================================== "Originally programmed by: primetime "Converted to IPB 2.0 by DarkWave "Converted to IPB 2.1 by Artakus "Big correction to IPB 2.1 by Thenab "Class_bbcode_core correction by Cybero --------------------------------------- Converted To Xoops2 By Bandit-X Upload: yoursite/images/spoiler.gif --- Open File: yoursite/class/module.textsanitizer.php -------------------------------------------------- //spoiler hack $text = $this->spoilerConv2($text); $text = $this->spoilerConv($text); //end spoiler hack $patterns[] = "/\[quote]/sU"; $replacements[] = _QUOTEC.'
'; //$replacements[] = 'Quote:
'; $patterns[] = "/\[\/quote]/sU"; $replacements[] = '
'; $patterns[] = "/javascript:/si"; $replacements[] = "java script:"; $patterns[] = "/about:/si"; $replacements[] = "about :"; return preg_replace($patterns, $replacements, $text); } //begin spoiler hack function //Spoiler----------------------------------------- function spoilerConv($inbx) { preg_match_all("#\[spoiler\]#is", $inbx, $numbx); $ibx = count($numbx[0]); $abx = 0; $vbx = 0; while($abx < $ibx) { $outbx = "
» "._SPOILERSHOW." - "._SPOILERHIDE." «
"; $outbx .= "
"; $inbx = preg_replace("#\[spoiler\]#is", $outbx, $inbx, 1); $abx++; } while($vbx < $ibx) { $inbx = preg_replace("#\[\/spoiler\]#is", "
", $inbx, 1); $vbx++; } return $inbx; } //end spoiler function //start 2nd spoiler function function spoilerConv2($inbx) { preg_match_all("#\[spoiler=#is" , $inbx, $numbx); $ibx = count($numbx[0]); $abx = 0; $vbx = 0; while($abx < $ibx) { $outbx = "
» "._SPOILERSHOW." «: \\1
"; $outbx .= "
"; $inbx = preg_replace("/\[spoiler=(.*)\]/sU", $outbx, $inbx, 1); $abx++; } while($vbx < $ibx) { $inbx = preg_replace("#\[\/spoiler\]#is", "
", $inbx, 1); $vbx++; } return $inbx; } //end 2nd spoiler function ---------------------------------------------------- save/close File: yoursite/class/module.textsanitizer.php ---------------------------------------------------- Open File: yoursite/language/english?/global.php ------------------------------------------------ define("_ENTEREMAIL","Enter the email address you want to add."); define("_ENTERCODE","Enter the codes that you want to add."); define("_ENTERQUOTE","Enter the text that you want to be quoted."); //spoiler hack define("_ENTERSPOILER","Enter Text To Be Hidden."); define("_ENTERSPOILERTITLE","Enter The Title For The Spoiler:"); define("_SPOILERSHOW", "Click To Show Spoiler"); define("_SPOILERHIDE", "Click Again To Hide.."); //end spoiler hack ------------------------------------------------------ save/close File: yoursite/language/english?/global.php ------------------------------------------------------ Open File: yoursite/include/xoops.js (add all the stuff below) ------------------------------------ //begin spoiler hack var SPOILER_open = 0; function xoopsCodeSpoiler(id,enterSpoilerPhrase,enterSpoilerTitle){ if (enterSpoilerPhrase == null) { enterSpoilerPhrase = "Enter The Text To Be Hidden:"; } var text = prompt(enterSpoilerPhrase, ""); var domobj = xoopsGetElementById(id); if ( text != null && text != "" ) { if (enterSpoilerTitle == null) { enterSpoilerTitle = "Enter The Title For The Spoiler:"; } var text2 = prompt(enterSpoilerTitle, ""); if (text!=null){ if ( text2 == "" ) { var result = "[spoiler]" + text + "[/spoiler]"; } else { var pos = text2.indexOf(unescape('%00')); if(0 < pos){ text2 = text2.substr(0,pos); } var result = "[spoiler=" + text2 + "]" + text + "[/spoiler]"; } xoopsInsertText(domobj, result); } } domobj.focus(); } 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"; } //end spoiler hack. ------------------------------------------ save/close File: yoursite/include/xoops.js ------------------------------------------ Open: yoursite/class/xoopsform/formdhtmltextarea.php ------------------------------------ --find: quote
\n"; --Replace With: quote   spoiler
\n"; ------------------------------------------ save/close: yoursite/class/xoopsform/formdhtmltextarea.php ------------------------------------------ Open: yoursite/xoops.css ------------------------ --add: .spoilertop{ background: #E4EAF2; border: 1px dotted #000; border-left: 4px solid #8394B2; color: #000; font-weight: bold; font-size: 10px; margin: 8px auto 0 auto; padding: 3px; cursor:pointer; cursor:hand; } .spoilermain{ background: #FAFCFE; border: 1px dotted #000; border-left: 4px solid #8394B2; border-top: 0; color: #465584; padding: 4px; margin: 0 auto 8px auto; } ------------------------------ save/close: yoursite/xoops.css ------------------------------ ..changelog.. 4-4-2006 ======== formdhtml changed.added ----------------------- .htmlspecialchars(_ENTERSPOILER, ENT_QUOTES)."\", \"".htmlspecialchars(_ENTERSPOILERTITLE, ENT_QUOTES)."\"); ----------------------- added to global.php ------------------- define("_ENTERSPOILERTITLE","Enter The Title For The Spoiler:"); ------------------- changed the xoops.js script. new script for the spoiler tag. old one is below. -------------------------------------------------- function xoopsCodeSpoiler(id,enterSpoilerPhrase){ if (enterSpoilerPhrase == null) { enterSpoilerPhrase = "Enter The Text To Be Hidden:"; } var text = prompt(enterSpoilerPhrase, ""); var domobj = xoopsGetElementById(id); if ( text != null && text != "" ) { var pos = text.indexOf(unescape('%00')); if(0 < pos){ text = text.substr(0,pos); } var result = "[spoiler]" + text + "[/spoiler]"; xoopsInsertText(domobj, result); } domobj.focus(); } ---------------------------------------------------- =======