Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.21 veröffentlicht (11.06.19)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
MyCode außerhalb von Beiträgen auf Unterseiten nutzen
#1
Hallo Leute,

meinereiner möchte gerne MyCode auf Unterseiten des Forums benutzen bzw. sich umwandeln lassen. Smile

In unserem beschaulichen RPG-Forum (https://behind.the-shades.de - Gäste sehen die Änderung allerdings nicht) habe ich im Profil eines jeden Users/Accounts einen bestimmten Beitrag aus dem Forum abgefragt und lasse ihn dort anzeigen. Dafür habe ich die member.php entsprechend angepasst.
Soweit, so gut. Der richtige Beitrag wird mit Umbrüchen und Co dargestellt. Allerdings werden an der Stelle die MyCodes nicht umgewandelt (HTML und MyCode sind im Beitrag selbst erlaubt und funktionieren auch).

Wie lässt sich das am sinnvollsten umsetzen?
Kann man eine vorhandene Funktion – vllt aus der class_parser.php-Datei? – benutzen, um den MyCode in HTML umzuwandeln? Wenn ja, was gebe ich dann meiner ausgebenden Variablen am besten mit auf dem Weg?

Hier ist auch mal meine Ergänzung der member.php:
PHP-Code:
$steckbrief $db->fetch_array($db->query("SELECT * FROM ".TABLE_PREFIX."threads AS t LEFT JOIN ".TABLE_PREFIX."posts AS p ON(t.firstpost=p.pid) LEFT JOIN ".TABLE_PREFIX."forums AS f ON(f.fid=t.fid) WHERE t.uid = '$memprofile[uid]' AND POSITION('103' IN f.parentlist) > '0'  AND t.sticky = '1'"));

$steckbrief[message] = nl2br($steckbrief[message]);

if(!
$mybb->user['uid']) $steckbrief[message] = "Nur für registrierte Mitglieder sichtbar."

Liebe Grüße
Amu
Zitieren
#2
Das kann man umwandeln. Das würde dann z.B. so aussehen:
PHP-Code:
$parser_options = array(
    "allow_html" => 1,
    "allow_mycode" => 1,
    "allow_smilies" => 1,
    "allow_imgcode" => 1,
    "allow_videocode" => 1,
    "filter_badwords" => 1
);

require_once 
MYBB_ROOT.'inc/class_parser.php';
$parser = new postParser;
$steckbrief['message'] = $parser->parse_message($steckbrief['message'], $parser_options); 
Zitieren
#3
Das hat wunderbar funktioniert. Vielen lieben Dank, Doylecc! Smile
Zitieren