Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Sign in to follow this  
TomCrow

Mod Trash Can von andyl56/theIggs

Recommended Posts

Nachdem Stefan hier meinte, dass er seinen Trashcan mod wohl demnächst nicht erweitern kann (und nur deshalb ;) ), hab' ich mich mal bei invisionize umgesehen und diesen mod gefunden:

Trash Can by andyl56 (Andy Langland)

Updated by theIggs

IPB 1.2, 1.3

Ich wollte jetzt das Ding mal testen, erhalte aber jedesmal

Fatal error: Call to a member function on a non-object in ... /sources/Topics.php on line 1492

wenn ich ein Thema im Trash-Forum öffnen will.

Diese Fehlermeldung ist ja beim mod-Einbau häufiger anzutreffen, ich komm' aber nicht drauf, woran es liegt.

Die entsprechende Passage in der Topics.php sieht so aus:

if ($ibforums->member['g_is_supmod'] and $this->forum['id'] == $ibforums->vars['use_trash_forum'])

  {

  $DB->query("SELECT post FROM ibf_posts WHERE new_topic = 1 AND topic_id=".$this->topic['tid']);

  $prev = $DB->fetch_row();

 

  if (preg_match('/^#TOPIC# f=(\d+)/', $prev['post']))

  {

    $mod_links .= $this->append_link('RESTORE_TOPIC');

  }

  }

Wenn ich diesen Teil auskommentiere, kann ich das Thema öffnen, die Funktionen des mods stehen dann aber natürlich nicht zur Verfügung.. ;)

mfg,

Tom

Edited by TomCrow

Share this post


Link to post

Also ich weiß nicht, ob ich dir helfen soll. ;)

Allgemein, der Fehler Call to a member function on a non-object in ... bedeutet, das versucht wird eine Methode einer Klasse aufzurufen ohne das eine Instanz dieser vorhanden ist.

Okay, nun weiß natürlich niemand, was gemeint ist. ;)

In deinem Beispiel wird versucht die Methode query von der Klasse db_driver aufzurufen, deren Instanz im Forum bekannterweise $DB ist. PHP bemängelt nun, das ihm jedoch diese Instanz $DB dort nicht bekannt ist. Wahrscheinlich wurde diese am Anfang der Funktion nicht mittels global bekannt gegeben.

Und nun die Lösung für die nicht Lernwilligen. ;)

Vom Fehler aus hochgehen, bis man zu den folgenden Zeilen gelangt

function bla (parameter) {
global $INSTANZ1, $INSTANZ2;

und dort prüfen, ob $DB dabei steht. Falls nicht, dies hinzufügen.

Share this post


Link to post

Hallo Stefan,

Also ich weiß nicht, ob ich dir helfen soll. ;)

ich kann Deinen "inneren Konflikt" verstehen :lol: , deshalb danke ich Dir umso mehr, dass Du es Dir angesehen hast! :)

..

Okay, nun weiß natürlich niemand, was gemeint ist. ;)

..

naja, ich hab' vorher schon gesucht und dazu das gefunden, wo Du die Bedeutung des Fehlers schon mal erklärt hast..

Und mit dieser Anleitung zur Fehlersuche werde ich mich jetzt "auf den Weg" machen.. :)

Liebe Grüße,

Tom

[edit] ok, die Anzeige der Themen klappt jetzt! :)

Aber der mod funktioniert trotzdem nicht richtig.. :P:lol::rolleyes:

[edit2] hab's jetzt anscheinend zum Laufen gebracht..jetzt ausgiebig Testen, ob man dem Ding vertrauen kann.. :lol:

Edited by TomCrow

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×