MyBB.de Forum
PN's sortieren ob Freund oder normaler User - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Entwicklung (https://www.mybb.de/forum/forum-74.html)
+--- Thema: PN's sortieren ob Freund oder normaler User (/thread-28245.html)



PN's sortieren ob Freund oder normaler User - Lukαs - 19.07.2013

Hallo,
ich habe ein Problem.

Mein PHP Code sollte festlegen, ob der $freundstatus ="ja" oder ="nein" ist.
Im Template private_messagebit kann ich die Variable $freundstatus verwenden, aber es wird immer "nein" angezeigt.

So sieht der Code in der private.php in Zeile 2128 aus:

PHP-Code:
                $query2 $db->simple_select("users""*""uid IN ({$mybb->user['buddylist']})");
    while(
$message2 $db->fetch_array($query2))
    
     
$stringmessage "".$message2['buddylist']."";
  
$array explode(","$stringmessage);
  

if((
strpos($stringmessage,"".$tofromuid."")!==false)) 
        {
            
$freundstatus 'ja';
        }
        else
        {
            
$freundstatus 'nein';
        }
                    
            eval(
"\$messagelist .= \"".$templates->get("private_messagebit")."\";"); 



RE: PN's sortieren ob Freund oder normaler User - Falkenauge Mihawk - 19.07.2013

Ich kann dir zwar keine Hilfe zu deinem Problem anbieten, aber ich gebe dir zwei Tipps zu deinem Programmierstil.
1)
PHP-Code:
"".$message2['buddylist']."" //$stringmessage = "".$message2['buddylist']."";, if((strpos($stringmessage,"".$message['toid']."")!==false)) 
Unter lass sowas, ja? Wenn du eine Variable übergibst, brauchst du keine Anführungszeichen um die Variable zu machen. Ab PHP 5.2 (war's glaub ich), kannst du, wenn du den Typ einer Variable umwandeln willst, einfach vor der Variable in Klammern den Typ schreiben. Also so:
PHP-Code:
$array = (array) $string//Konventiert die Variable vom Typ String in Array 

2)
PHP-Code:
if((strpos($stringmessage,"".$message['toid']."")!==false)) 
Zwei Klammern zu machen ist einfach nur unnötige Arbeit. Ich würde ja sowieso so wenige Klammern machen wie notwendig - und gewöhn dir bitte an, Leerzeichen zu machen, das macht den Code einfacher zu lesen.
PHP-Code:
if(strpos($stringmessage,"".$message['toid']."") !== false



RE: PN's sortieren ob Freund oder normaler User - doylecc - 19.07.2013

Das brauchst du doch gar nicht so kompliziert machen.
Du kannst doch einfach über der Zeile:

PHP-Code:
eval("\$messagelist .= \"".$templates->get("private_messagebit")."\";"); 

zB. das hier einfügen:

PHP-Code:
$freundstatus 'nein';
$pmbuddy explode(","$mybb->user['buddylist']);
if (
in_array($tofromuid$pmbuddy))
{
    
$freundstatus 'ja';


und dann die Variable {$freundstatus} im Template private_messagebit verwenden.


RE: PN's sortieren ob Freund oder normaler User - Lukαs - 19.07.2013

Erstmal danke für die Lösung waldo!
Zweitens auch danke für die Verbesserungsvorschläge meines Programmierstils. Ich habe mir alles selbst beigebracht, nur aus Abfragen, die man so findet, deshalb bin ich über jede Verbesserung dankbar.

Lg Lukas