Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
mycode in den eigenen Profilfeldern <br /> Problem
#1
Schönen Montag. Ich habe ein kleines Problem mit den Zeilenumbrüchen bzw. nicht direkt mit ihnen eher mit deren html Ausgabe in meinen Textareas der Profilansicht. Vorab ich benutze folgenden Code um mycodes in den eigenen Profilfeldern anzuzeigen.

Member.php
Finde
PHP-Code:
$customfield['name'] = htmlspecialchars_uni($customfield['name']); 
Ersetze mit
PHP-Code:
// EDITING...
        //Comma separated list of groups id ALLOWED to use bbcode, html, etc...
        
$groups '3,4,6'// Empty to disable.

        
$groupss explode(','$groups);
        if(empty(
$groups) || !in_array($post['usergroup'], $groupss))
        {
            
// 0 = NO, 1 = YES
            
$parseroptions = array(
                
'allow_html' => 0,
                
'allow_mycode' => 1,
                
'allow_smilies' => 1,
                
'allow_imgcode' => 0,
                
'allow_videocode' => 0,
                
'filter_badwords' => 1
            
);
            
$customfieldval $parser->parse_message($customfieldval$parseroptions);
        }
        else
        {
            
$customfield['name'] = htmlspecialchars_uni($customfield['name']);
        }
        
// EDITING... 

Funktioniert auch 1a allerdings hebelt dieser Code wohl jenen der Textarea hier aus?:
PHP-Code:
if($customfield['type'] == "textarea")
                {
                    
$customfieldval nl2br(htmlspecialchars_uni($userfields[$field]));
                }
                else
                {
                    
$customfieldval htmlspecialchars_uni($userfields[$field]);
                } 
Weshalb dann in der Profilansicht lauter <br /> zu finden sind. (Screenshot) Packt man den original Code wieder hinein ist alles wieder normal und die < br /> werden nicht mehr angezeigt. Hätte jemand einen Tipp?
Zitieren
#2
Ich hab mir mal deinen Code zu nutze gemacht, aber ich bekomme da keinen Fehler wie bei Dir zu sehen ist auf dem Screen. Was hast Du denn da noch verändert in der member.php oder an anderen php´s ?
Mit freundlichen Grüßen

MrBrechreiz
Zitieren
#3
An den php Dateien nichts, ist die quasi unberührte member.php aus dem neusten 1.6.10 Complete Package. Hatte den Code früher schon mal getestet und ich mein, dass da dieser Fehler auch nicht auftrat mhm. Davon ab, hab ich im UCP unter "Profil ändern" den Editor für die Textareas zum laufen gebracht. Hatte auf Verdacht nach einem Backup das Template zurückgesetzt. Aber gab keine Veränderung, daran wird es wohl nicht liegen. Aber danke für die Rückmeldung. Na werds nochmal neuladen und nochmal probieren. Vielleicht hab ich ja wo was unbemerkt zerissen.

EDIT

Also ich schein das Problem gelöst zu haben. Ich habe jetzt in Zeile 1970:
PHP-Code:
if($customfield['type'] == "textarea")
                {
                    
$customfieldval nl2br(htmlspecialchars_uni($userfields[$field]));
                }
                else
                {
                    
$customfieldval htmlspecialchars_uni($userfields[$field]);
                }
            }
        }
  
Ersetzt mit:
PHP-Code:
if($customfield['type'] == "textarea")
                {
                    
$customfieldval htmlspecialchars_uni($userfields[$field]);
                }
            }
        } 
Funktioniert nun alles wie es soll. So als Provisorium ganz gut. Wenn es aber ohne Probleme bei dir funktioniert, muss ja wo ein kleiner Fehler vorhanden sein.
Zitieren
#4
Zeile 1970:
PHP-Code:
if($customfield['type'] == "textarea")
                {
                    
$customfieldval nl2br(htmlspecialchars_uni($userfields[$field]));
                }
                else
                {
                    
$customfieldval htmlspecialchars_uni($userfields[$field]);
                }
            }
        }
  
Ersetzt mit:
PHP-Code:
if($customfield['type'] == "textarea")
                {
                    
$customfieldval htmlspecialchars_uni($userfields[$field]); 
                }
                else
                {
                    
$customfieldval nl2br(htmlspecialchars_uni($userfields[$field])); 
                }
            }
        } 
So muss es sein. Der obere Fix im vorherigen Thread ist natürlich ... Ich brauch noch n Tee.
Zitieren
#5
So herum ergibt das allerdings keinen Sinn, denn es gibt nur bei Textarea Zeilenumbrüche.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#6
Ach hier nochmal eine Verbesserung.
PHP-Code:
// EDITING...
        //Comma separated list of groups id DISALLOWED to use bbcode, html, etc...
        
$groups '1,2,5,7'// Empty to disable.

        
$groupss explode(','$groups);
        if(empty(
$groups) || !in_array($memprofile['usergroup'], $groupss))
        {
            
// 0 = NO, 1 = YES
            
$parseroptions = array(
                
'allow_html' => 0,
                
'allow_mycode' => 1,
                
'allow_smilies' => 1,
                
'allow_imgcode' => 1,
                
'allow_videocode' => 0,
                
'filter_badwords' => 1
            
);
            
$customfieldval $parser->parse_message($customfieldval$parseroptions);
        }
        else
        {
            
$customfield['name'] = htmlspecialchars_uni($customfield['name']);
        }
        
// EDITING... 
@StefanT Nja stimmt stimmt. Hab es jetzt zu geändert:
PHP-Code:
$customfieldval htmlspecialchars_uni($userfields[$field]);
            }
        } 
Demnach das If Textarea raus genommen.
Zitieren
#7
Guten Abend!
Ich hatte nach einer Lösung gesucht, MyBB in Profilfeldern einsetzen zu können und bin sehr glücklich mit dieser Variante hier. Funktioniert super, deshalb vielen Dank dafür! :-) Jetzt hab ich jedoch das Problem, dass diese Profilfelder auch neben den Beiträgen ausgegeben werden sollen. Dafür benutze ich das Plugin "Profilefields on Postbit". Also dieses hier. Nun werden mir dort aber leider nur die Links angezeigt. :-( Könnte mir vielleicht jemand sagen, welche Änderungen ich vornehmen muss, um das zum Laufen zu kriegen? Ich bin noch recht neu im MyBB-Universum und auch sonst eher im Bereich Anfänger anzusiedeln, weshalb ich wirklich sehr dankbar wäre, wenn mir da jemand ein bisschen unter die Arme greifen würde.
Vielen Dank im Voraus!

PS: Ich habe natürlich fleißig die SuFu benutzt, bin jedoch bisher nicht wirklich fündig geworden und mir brummt ein bisschen der Schädel von den ganzen Querverweisen und doppelt durchwühlten Threads. Big Grin
Zitieren
#8
Um ein eigenes Profilfeld auszugeben im Postbit, einfach das

Code:
{$post['fidx']}

verwenden. Das x steht für die Profilfeld ID.

Dieser Beitrag sollte dies auch nochmals erklären.
Mit freundlichen Grüßen

MrBrechreiz
Zitieren
#9
Hallo Mr.Brechreiz!
Das Ausgeben funktioniert bei mir ja schon. Durch das genannte Plugin. Probleme bereitet mir, dass die Bilder, die ich per MyCode einfügen möchte, zwar nun im Profil korrekt angezeigt werden, aber eben nicht neben den Beiträgen. Blush Ich würde gern wissen, wie ich dort die MyCodes zum Laufen kriege. Bisher werden dort nur die Links in [img]...[/img] angezeigt.
Zitieren
#10
Schau dir mal dieses Plugin dazu an, dieses ist eindeutig besser. Hab ich auch am laufen aif meiner Seite.
Mit freundlichen Grüßen

MrBrechreiz
Zitieren