Beiträge: 42
	Themen: 6
	Registriert seit: 25.01.2013
	
	
 
	
	
		Naja, Problem hierbei ist halt, dass ich keine Dateien verändern will, da man ja immer mal einplanen könnte, das Plugin zu veröffentlichen.. Oder so etwas in die Richtung.
Btw, gibt es eine Möglichkeit, herauszufinden ob man gerade einen "Anfangs-Post (Erster Post im Thread, also quasi der Thread selbst)" editiert? Ob man ein Thema erstellt ist ja ganz einfach mit der von frostschutz oben gesendeten Methode ausführbar, aber wie sieht das mit dem editieren aus?
MfG
	
	
	
	
	
 
 
	
	
	
		
	Beiträge: 2.318
	Themen: 13
	Registriert seit: 09.11.2008
	
	
 
	
	
		Evtl. gibts in einem der Edit-Hooks $thread['firstpost'] and $post['tid'] und wenn die gleich sind ists der erste.
Habe gerade keine Zeit/Lust das durchzuchecken, sorry. Viel Erfolg.
	
	
	
	
	
 
 
	
	
	
		
	Beiträge: 42
	Themen: 6
	Registriert seit: 25.01.2013
	
	
 
	
	
		@frostschutz
Vielen Dank 

!
Probiere ich sofort aus, sobald ich die Parameter der Hooks herausgefunden habe xD - In der Doku stehen zwar die Namen, aber nicht die Parameter ._.  ....
	
 
 
	
	
	
		
	Beiträge: 2.318
	Themen: 13
	Registriert seit: 09.11.2008
	
	
 
	
		
		
		06.04.2013, 22:03 
(Dieser Beitrag wurde zuletzt bearbeitet: 06.04.2013, 22:04 von frostschutz.)
		
	 
	
		Parameter haben die wenigsten. Meistens geht alles über die globalen Variablen.
Doku benutze ich nie. Ich baue mir wenn dann direkt in class_plugins :: run_hooks(_by_ref) ne Debugmeldung ein, die mir die Namen der aufgerufenen Hooks, ggf. auch Variablen anzeigt.
Ohne den Code zu lesen und ohne Debugmeldungen kann man nicht arbeiten. - was da drin steht, das kann man gar nicht dokumentieren 
 
	 
 
	
	
	
		
	Beiträge: 42
	Themen: 6
	Registriert seit: 25.01.2013
	
	
 
	
		
		
		06.04.2013, 22:20 
(Dieser Beitrag wurde zuletzt bearbeitet: 06.04.2013, 22:33 von Javatic.)
		
	 
	
		Oh, okay 

.
Dann werde ich dass mit dem Debug auch mal versuchen 

. Oder einfach $GLOBALS ausgeben xD
Vielen Dank nochmals ^^ Ich melde mich, falls ich was finde 
 
LG
EDIT: Hm, $GLOBALS enthält zwar die PID des Postes, aber sagt nicht ob es der erste Post in einem Thread ist :/ ...
	
 
 
	
	
	
		
	Beiträge: 2.318
	Themen: 13
	Registriert seit: 09.11.2008
	
	
 
	
	
		Zur Not müsstest du dann eben selbst get_thread($tid) aufrufen.
	
	
	
	
	
 
 
	
	
	
		
	Beiträge: 42
	Themen: 6
	Registriert seit: 25.01.2013
	
	
 
	
	
		Okay, versuche ich mal 
 
Und theoretisch.. ganz theoretisch.. Könnte man doch gucken, ob die Query
"SELECT * FROM {prefix}posts WHERE pid = '{$pid}' AND replyto = '0'" mehr als 0 Resultate zurückliefert... oder?
	
 
 
	
	
	
		
	Beiträge: 2.318
	Themen: 13
	Registriert seit: 09.11.2008
	
	
 
	
	
		Theoretisch. Ich würde mich auf replyto nicht verlassen. In der threads Tabelle gibts den firstpost Eintrag, der dafür da ist. Der kann zwar auch falsch sein - das macht dann aber alle möglichen Probleme. Normal ist meistens wenn mit Posts gearbeitet wird der Thread eh auch irgendwo vorhanden. Ansonsten halt get_thread oder sowas. Hab es mir jetzt nicht nochmal angeschaut, du bekommst es ja eh selber hin letztendlich 
 
	 
 
	
	
	
		
	Beiträge: 42
	Themen: 6
	Registriert seit: 25.01.2013
	
	
 
	
		
		
		07.04.2013, 10:46 
(Dieser Beitrag wurde zuletzt bearbeitet: 07.04.2013, 10:51 von Javatic.)
		
	 
	
		*grins* Hoffentlich 

! Auf jeden Fall vielen Dank für die Hilfe 

!
Allerdings verstehe ich nicht so wirklich was get_thread in diesem Falle bringt; In der Cross Reference steht dies:
Code:
/**
4931   * Get the thread of a thread id.
4932   *
4933   * @param int The thread id of the thread.
4934   * @param boolean Whether or not to recache the thread.
4935   * @return string The database row of the thread.
4936   */
4937  function get_thread($tid, $recache = false)
4938  {
4939      global $db;
4940      static $thread_cache;
4941  
4942      if(isset($thread_cache[$tid]) && !$recache)
4943      {
4944          return $thread_cache[$tid];
4945      }
4946      else
4947      {
4948          $query = $db->simple_select("threads", "*", "tid='".intval($tid)."'");
4949          $thread = $db->fetch_array($query);
4950  
4951          if($thread)
4952          {
4953              $thread_cache[$tid] = $thread;
4954              return $thread;
4955          }
4956          else
4957          {
4958              $thread_cache[$tid] = false;
4959              return false;
4960          }
4961      }
4962  }
Das gibt einem dann ja nur all die Daten eines bestimmten Threades zurück; "tid	fid	subject	prefix	icon	poll	uid	username	dateline	firstpost	lastpost	lastposter	lastposteruid	views	replies	closed	sticky	numratings	totalratings	notes	visible	unapprovedposts	attachmentcount	deletetime" - Aber aus welchen Daten kann ich nun entnehmen, ob die Post-ID die ich zZ editiere, ein Thread-Start-Post ist? Sorry falls ich mich etwas dümmlich anstelle 

.. Ahh.. Ich glaub ich habs.. firstpost mit der PID vergleichen? Müsste dann nur noch nachgucken, ob die Thread-ID im $GLOBALS Array vorhanden ist. Oder ginge es vielleicht auch so: "SELECT * FROM prefix_threads WHERE firstpost = '$pid';" ? Wenn das Resultat dann mehr als 0 Spalten zürückliefert, sollte der Post ja theoretisch ein Startpost sein.. Oder liege ich wieder mal falsch 

?
	
 
 
	
	
	
		
	Beiträge: 2.318
	Themen: 13
	Registriert seit: 09.11.2008
	
	
 
	
	
		Ja, pid == firstpost. Du willst da selber keine Datenbankabfrage machen, wenn eine MyBB-Funktion schon die entsprechenden Daten liefert. get_thread() ist schon richtig, wenn die Daten da schon gecached sind bekommst du das, ansonsten macht die Funktion die Abfrage für dich.