man müsste verhindern, dass für die betroffenen Gruppen der Button zum öffnen des Spoilers angezeigt wird
Ich schlaf mal eine Nacht drüber, oft hab ich dann irgendwann eine Idee
Aber ich hoffe auf die Schwarmintelligenz
edit: Schlaf war nicht nötig
in der Plugin-Datei folgendes geändert:
Code:
while(preg_match('#\[spoiler\](.*?)\[\/spoiler\]#si',$message))
$message = preg_replace('#\[spoiler\](.*?)\[\/spoiler\]#si','<div class="spoiler">
<div class="spoiler_title"><span class="spoiler_button float_right" onclick="javascript: if(parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display == \'block\'){ parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'none\'; this.innerHTML=\''.$lang->my_spoiler_show.'\'; } else { parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'block\'; this.innerHTML=\''.$lang->my_spoiler_hide.'\'; }">'.$lang->my_spoiler_show.'</span>'.$lang->my_spoiler_spoil.':</div>
<div class="spoiler_content" style="display: none;">$1</div>
</div>',$message);
// Creamos el MyCode complejo con comillas: [spoiler="título aquí"]contenido aquí[/spoiler]
while(preg_match('#\[spoiler="(.*?)"\](.*?)\[\/spoiler\]#si',$message))
$message = preg_replace('#\[spoiler="(.*?)"\](.*?)\[\/spoiler\]#si','<div class="spoiler">
<div class="spoiler_title"><span class="spoiler_button float_right" onclick="javascript: if(parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display == \'block\'){ parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'none\'; this.innerHTML=\''.$lang->my_spoiler_show.'\'; } else { parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'block\'; this.innerHTML=\''.$lang->my_spoiler_hide.'\'; }">'.$lang->my_spoiler_show.'</span>$1:</div>
<div class="spoiler_content" style="display: none;">$2</div>
</div>',$message);
// Creamos el MyCode complejo sin comillas: [spoiler=título aquí]contenido aquí[/spoiler]
while(preg_match('#\[spoiler=(.*?)\](.*?)\[\/spoiler\]#si',$message))
$message = preg_replace('#\[spoiler=(.*?)\](.*?)\[\/spoiler\]#si','<div class="spoiler">
<div class="spoiler_title"><span class="spoiler_button float_right" onclick="javascript: if(parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display == \'block\'){ parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'none\'; this.innerHTML=\''.$lang->my_spoiler_show.'\'; } else { parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'block\'; this.innerHTML=\''.$lang->my_spoiler_hide.'\'; }">'.$lang->my_spoiler_show.'</span>$1:</div>
<div class="spoiler_content" style="display: none;">$2</div>
</div>',$message);
return $message;
zu:
Code:
if($mybb->user['uid'] > 0) {
while(preg_match('#\[spoiler\](.*?)\[\/spoiler\]#si',$message))
$message = preg_replace('#\[spoiler\](.*?)\[\/spoiler\]#si','<div class="spoiler">
<div class="spoiler_title"><span class="spoiler_button float_right" onclick="javascript: if(parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display == \'block\'){ parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'none\'; this.innerHTML=\''.$lang->my_spoiler_show.'\'; } else { parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'block\'; this.innerHTML=\''.$lang->my_spoiler_hide.'\'; }">'.$lang->my_spoiler_show.'</span>'.$lang->my_spoiler_spoil.':</div>
<div class="spoiler_content" style="display: none;">$1</div>
</div>',$message);
// Creamos el MyCode complejo con comillas: [spoiler="título aquí"]contenido aquí[/spoiler]
while(preg_match('#\[spoiler="(.*?)"\](.*?)\[\/spoiler\]#si',$message))
$message = preg_replace('#\[spoiler="(.*?)"\](.*?)\[\/spoiler\]#si','<div class="spoiler">
<div class="spoiler_title"><span class="spoiler_button float_right" onclick="javascript: if(parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display == \'block\'){ parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'none\'; this.innerHTML=\''.$lang->my_spoiler_show.'\'; } else { parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'block\'; this.innerHTML=\''.$lang->my_spoiler_hide.'\'; }">'.$lang->my_spoiler_show.'</span>$1:</div>
<div class="spoiler_content" style="display: none;">$2</div>
</div>',$message);
// Creamos el MyCode complejo sin comillas: [spoiler=título aquí]contenido aquí[/spoiler]
while(preg_match('#\[spoiler=(.*?)\](.*?)\[\/spoiler\]#si',$message))
$message = preg_replace('#\[spoiler=(.*?)\](.*?)\[\/spoiler\]#si','<div class="spoiler">
<div class="spoiler_title"><span class="spoiler_button float_right" onclick="javascript: if(parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display == \'block\'){ parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'none\'; this.innerHTML=\''.$lang->my_spoiler_show.'\'; } else { parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'block\'; this.innerHTML=\''.$lang->my_spoiler_hide.'\'; }">'.$lang->my_spoiler_show.'</span>$1:</div>
<div class="spoiler_content" style="display: none;">$2</div>
</div>',$message);
return $message;
} else {
while(preg_match('#\[spoiler\](.*?)\[\/spoiler\]#si',$message))
$message = preg_replace('#\[spoiler\](.*?)\[\/spoiler\]#si','<div class="spoiler">
<div class="spoiler_title">'.$lang->my_spoiler_spoil.':</div>
<div class="spoiler_content" style="display: none;">$1</div>
</div>',$message);
// Creamos el MyCode complejo con comillas: [spoiler="título aquí"]contenido aquí[/spoiler]
while(preg_match('#\[spoiler="(.*?)"\](.*?)\[\/spoiler\]#si',$message))
$message = preg_replace('#\[spoiler="(.*?)"\](.*?)\[\/spoiler\]#si','<div class="spoiler">
<div class="spoiler_title">$1:</div>
<div class="spoiler_content" style="display: none;">$2</div>
</div>',$message);
// Creamos el MyCode complejo sin comillas: [spoiler=título aquí]contenido aquí[/spoiler]
while(preg_match('#\[spoiler=(.*?)\](.*?)\[\/spoiler\]#si',$message))
$message = preg_replace('#\[spoiler=(.*?)\](.*?)\[\/spoiler\]#si','<div class="spoiler">
<div class="spoiler_title">$1:</div>
<div class="spoiler_content" style="display: none;">$2</div>
</div>',$message);
}
}
Also einfach geprüft, ist es ein User oder Gast und für die Gäste den kompletten Button-Link eliminiert
Nicht schön, aber wirkungsvoll; allerdings kann man über den Seitenquelltext die Spoiler immer noch lesen, hm, gefällt mir nicht
edit2: ok das $2 noch raus genommen und durch eigenen Text ersetzt, der im Quelltext dann erscheint