PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : $hook_query_fields verursacht Fehler


JonnyF
30.12.2006, 16:13
Hallo,

ich versuche das Problem so verständlich wie möglich zu beschreiben.

Ein Plugin welches den Einstiegspunkt (Hook) showhread query besitzt, sorgt dafür das bei der mySQL Datenabfrage für das postbit Felder hinzugefügt werden. Der Inhalt des Plugins sieht wie folgt aus:

$hook_query_fields .= ', rpguser.*, rpguser.level as `rpglevel`';
$hook_query_joins .= 'left join inferno_user rpguser on (rpguser.user_id = user.userid)';

(Das Fett gedruckte verursacht den Fehler)

Dies verursacht aus mir unbekannten Gründen, das die Renommee Anzeige nicht mehr dargestellt werden kann.
Ich habe versucht der Sache soweit es geht auf den Grund zu gehen, euer Fachwissen wird hoffentlich bei den folgenden Angaben helfen.

Es hat sich gezeigt das bei allen Postings $post['showreputation'] auf 0 steht sobald das oben angegebene Plugin aktiviert ist.
Anschließend habe ich mir dann in der class_postbit.php unter // get reputation ca in Zeile 647 den Array $this->post ausgeben lassen, da dieser ja in die Funktion fetch_reputation_image übergeben wird welches $post['showreputation'] 0 enthällt.

Die Ausgabe habe ich mir per print_r anzeigen lassen, anschließend habe ich die Felder mit und ohne aktiviertem Plugin verglichen. Folgendes ist unteschiedlich:

Ohne aktiviertem Plugin:
[options] => 531799

Mit aktiviertem Plugin:
[options] => [birthday] => ... Daher das [options] ist leer!

Es werden noch weitere Felder verändert:

Ohne aktiviertem Plugin:
[postcount] => 1 [islastshown] => [attachments] => [showsignatures] => 1 [showavatars] => 1 [showimages] => 1 [coppauser] => 0 [adminemail] => 1 [showvcard] => 0 [dstauto] => 1 [dstonoff] => 0 [showemail] => 1 [invisible] => 0 [showreputation] => 1 [receivepm] => 1 [emailonpm] => 1 [hasaccessmask] => 0 [postorder] => 0 [receivepmbuddies] => 0 [noactivationmails] => 0 [pmboxwarning] => 1 [adminavatar] => 1 [adminprofilepic] => 0 [checkbox_value] => 0

Mit aktiviertem Plugin:
[postcount] => 1 [islastshown] => [attachments] => [showsignatures] => 0 [showavatars] => 0 [showimages] => 0 [coppauser] => 0 [adminemail] => 0 [showvcard] => 0 [dstauto] => 0 [dstonoff] => 0 [showemail] => 0 [invisible] => 0 [showreputation] => 0 [receivepm] => 0 [emailonpm] => 0 [hasaccessmask] => 0 [postorder] => 0 [receivepmbuddies] => 0 [noactivationmails] => 0 [pmboxwarning] => 0 [adminavatar] => 1 [adminprofilepic] => 0 [checkbox_value] => 0

...daher er setzt mir eine menge Felder einfach auf 0, und das nur weil das Plugin dem Query den kleinen Zusatz: $hook_query_fields .= ', rpguser.*, rpguser.level as `rpglevel`'; hinzufügt.

Ich weis hier nicht mehr weiter, würde mich freuen wenn jemand der sich damit auskennt mir die mögliche Fehlerquelle nennen könnte.

Besten Dank!

Mystics
30.12.2006, 17:16
Eins vorweg:
Erste und einzige Anlaufstelle für Hack-Probleme sind unsere Hack-Foren:
http://www.vbhacks-germany.org/forum.php
http://www.vbulletin.org/forum/

Trotzdem ein kleiner Tipp, probiere es damit:$hook_query_fields .= ', rpguser.*, rpguser.level AS rpglevel';

JonnyF
30.12.2006, 21:37
Danke.
Dein Tip hat jedoch nichts gebracht...

mfg
JonnyF

Mystics
31.12.2006, 01:44
Habe das mal mit diesem Plug-in und den dazugehörigen Tabellen getestet und konnte den Fehler nicht nachstellen.

Aber na ja, das musst du in den Hack-Foren klären.

JonnyF
31.12.2006, 03:18
Danke für die Mühe.

Fehler ist höchwahrscheinlich das die Felder in der Tabelle inferno_user die schon bestehenden überschreiben.

So enthällt die Tabelle inferno_user zb auch ein Feld mit namen options.

A weis ich noch nicht ob es das wirklich ist.
B hat es einer der inferno RPG Zuständigen auf einem 1.6.4 auch nicht nachstellen können, was mir unbegreiflich ist da meine Version mit deaktivierten Plugins der einer Standard Version gleicht.

JonnyF
31.12.2006, 05:18
Gerade getestet, das options Feld in der Tabelle inferno_user testweise in options2 umbeannant -> und siehe da alle Werte sind wieder so wie sie sein sollten.

War das den Hackentwicklern nicht klar, bzw warum taucht nur bei mir der Fehler auf.