Hallo, Gast! (Registrieren)

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


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Funktion aus plugin stopt in einem Unterforum nach der ersten Aktion
#1
Hallo ihr Lieben <3

Da es bald so weit ist und das Forum an dem ich bastel Bezugsfertig werden soll, wende ich mich nun an euch. Ich habe ein Plugin aus einem anderen Forum für meines sehr stark angepasst und die Autorin des Plugins hat momentan leider keine Zeit Support in dem Ausmaß zu geben (hatte dort vor anderthalb Monaten angefragt und danach selbst weiter versucht mein Problem zu lösen).
Es handelt sich um das Inplaytracker-Plugin von SparksFly.

Es geht um ein Plugin, dass unter anderem in der Threadansicht den Link zum Beitragsautor in bestimmten Foren durch anderen Code ersetzen soll. Dies funktioniert auch in den meisten Bereichen korrekt, so dass überall der neue Code angezeigt wird. Allerdings gibt es einen Bereich, bei dem dieser Codetausch nur ein einziges Mal gemacht wird, nämlich für das erste Thema auf der Seite des Forums, und bei allen weiteren wird lediglich der Threadersteller angezeigt wie es Normalerweise der Fall ist.

Ich bin echt ratlos, warum es in einem Bereich genau so funktioniert wie es soll und in einem anderen nach einem mal aufhört. Besonders weil alle anderen Funktionen des Plugins mit meinen Änderungen genau so funktionieren wie sie sollen, auch in dem Bereich, der bei der fraglichen Funktion seine Aussetzer hat.

Die Funktion des Plugins:
PHP-Code:
function inplaytracker_forumdisplay(&$thread)
{
    global 
$db$mybb$thread$foruminfo;

    
$inplaykategorie $mybb->settings['inplaytracker_forum']; // 12
    
$communication $mybb->settings['inplaytracker_communication']; // 31
    
$phonecalls $mybb->settings['inplaytracker_phonecalls']; // 273
    
$inplayarchiv $mybb->settings['inplaytracker_archiv']; // 37
    
$communicationarchiv $mybb->settings['inplaytracker_communicationarchiv']; // 303

    
$foruminfo['parentlist'] = ",".$foruminfo['parentlist'].",";
    if(
        (
preg_match("/,$inplaykategorie,/i"$foruminfo['parentlist']) AND !(preg_match("/,$communication,/i"$foruminfo['parentlist'])))
        OR 
        (
preg_match("/,$inplayarchiv,/i"$foruminfo['parentlist']) AND !(preg_match("/,$phonecalls,/i"$foruminfo['parentlist'])) AND !(preg_match("/,$communicationachiv,/i"$foruminfo['parentlist'])))
    ) {
        if(empty(
$thread['ipdate'])) {$thread['ipdate'] = "Datum";}
        if(empty(
$thread['iport'])) {$thread['iport'] = "Ort";}
        
$partners explode(", "$thread['partners']);
        
$partnerusers "";
        
$und "";
        foreach (
$partners as $partner) {
            
$uid $db->fetch_field($db->query("SELECT uid FROM ".TABLE_PREFIX."users WHERE username = '$partner'"), "uid");
            
$taguser build_profile_link($partner$uid);
            
$partnerusers .= $und.$taguser ";
            
$und "&amp;";
        }
        
$thread['profilelink'] = "<span class=\"smalltext\">".$partnerusers."<br />".$thread['ipdate']." | ".$thread['iport']." </span>";
        return 
$thread;
    }
    else if(
preg_match("/,$phonecalls,/i"$foruminfo['parentlist']) AND !(preg_match("/,$communicationachiv,/i"$foruminfo['parentlist']))) {
        if(empty(
$thread['ipdate'])) {$thread['ipdate'] = "Datum";}
        
$partners explode(", "$thread['partners']);
        
$partnerusers "";
        
$und "";
        foreach (
$partners as $partner) {
            
$uid $db->fetch_field($db->query("SELECT uid FROM ".TABLE_PREFIX."users WHERE username = '$partner'"), "uid");
            
$taguser build_profile_link($partner$uid);
            
$partnerusers .= $und.$taguser ";
            
$und "&amp;";
        }
        
$thread['profilelink'] = "<span class=\"smalltext\">".$partnerusers."<br />".$thread['ipdate']."</span>";
        return 
$thread;
    }


Es funktioniert in den Kategorien 12, 31 und 273 Perfekt, aber alles in dem Überforum 37 wird Fehlerhaft dargestellt.


Liebe Grüße
Luna
Zitieren