Eintrag bei einem Post in die DB

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Disturber
Mitglied
Beiträge: 3
Registriert: 09.12.2006 19:21

Eintrag bei einem Post in die DB

Beitrag von Disturber »

Liebe Community,

Ich hab für meine Internetseite ein eigenes "Coin"-System geschrieben.
Nun besitze ich ein phpbb2 Forum und wollte es so integrieren, dass wenn man dort einen post macht, auch einen Coin gutgeschrieben bekommt.

Mein Problem ist eigentlich nur, wo muss ich mein php code einsetzen...
Ich find mich nicht so wirklich zurecht..hab schon auf der Offiziellen phpbb Seite unter Dokumentation geschaut - half mir nicht weiter.

Vielleicht hat jemand von euch eine Ahnung / so etwas schon gemacht.

Wie gesagt, ich brauch nur die Textstelle an der ich meinen code einführen muss, sodass er ausgeführt wird, wenn ein neuer Beirtag geschrieben wird.

Danke im Vorraus.
Disturber
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Ein Beitrag wird über die Datei Posting.php geschrieben. Diese verwendet allerdings für das Eintragen des Beitrags die funktion submit_post aus der includes/functions_post.php Wenn du dir die ansiehst und auch nur dann einen Coin verteilst wenn $mode "reply" oder "newtopic" ist, dann sollte es klappen. Vielleicht noch daran denken, dass man ja auch Posts löschen kann (Funktion: delete_post)...
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Es gibt doch sogar einen Mod dafür.....
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Disturber
Mitglied
Beiträge: 3
Registriert: 09.12.2006 19:21

Beitrag von Disturber »

Hey,

Vielen Dank für deine schnelle Antwort,

Ich hab nun

if($mode != editpost)

somit....passt das mit den coins, jedoch..
hab ich das mitm delete nicht wirklich herausfinden können.

Ebenso würd ich gern die coins..rechts unter dem user-avatar anzeigen...
wie gesagt ich brauch eigentlich nur die Textstelle, da ich mich nicht so in dem phpbb script-salat auskenne :oops:

Vielleicht habt ihr noch einen Tipp, würd mich freuen
Disturber
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Wo sollen denn die Coins generell angezeigt werden?
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Was das delete angeht: In der o.a. Funktion delete_post solltest du etwas einbauen, dass den Coin wieder abzieht der zu dem Post gehört, also das gleiche wie beim Posten nur mit - statt + (würde ich mal vermuten)

Unter dem Avatar sind fürchte ich mehrere Stellen, da phpbb ein Templatesystem verwendet.
1. Stelle: root/templates/xxx/viewtopic_body.tpl
Dort nach {postrow.POSTER_AVATAR} suchen, dort wird der Avatar eingefügt. Hier muss für die Anzeige dann eine Variable hin in der folgenden Form:

Code: Alles auswählen

{postrow.COINS}
Wie du das genau da einbaust musst du selbst wissen mit dem Layout kann man ja experimentieren.
2. Stelle: viewtopic.php
Da findest du ziemlich am Ende diesen Code:

Code: Alles auswählen

$template->assign_block_vars('postrow', array(
		'ROW_COLOR' => '#' . $row_color,
		'ROW_CLASS' => $row_class,
Mit da hinein muss eine Zeile wie diese

Code: Alles auswählen

'COINS' => $das_was_unter_dem_avatar_angezeigt_werden_soll,
Die Variable musst du natürlich noch mit Inhalt belegen, aber du wolltest ja auch nur die Stelle und ich kenne dein "coin" system nicht.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Disturber
Mitglied
Beiträge: 3
Registriert: 09.12.2006 19:21

Beitrag von Disturber »

Super,
Ja, wie gesagt ich benötige nur die Textstellen,
Also..Vielen Dank das mit der Anzeige hat
soweit super geklappt :grin:

[ externes Bild ]

Jedoch habe ich wegen dem Delete noch eine Frage :oops:
Also ich würde es nun hier einsetzen:

Code: Alles auswählen

//
// Delete a post/poll
//
function delete_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id)
{
	global $board_config, $lang, $db, $phpbb_root_path, $phpEx;
	global $userdata, $user_ip;

	if ($mode != 'poll_delete')
	{
Jedoch erzielte das nicht den erwünschten Effekt...bin ich dort eventuell falsch...oder muss ich noch mit $mode arbeiten ?!

Dankbar für jede Hilfe ;)[/code]
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Eigentlich sollte das genau die richtige Funktion sein. Allerdings löscht die auch Umfragen, mit $mode zu arbeiten macht also Sinn.

Code: Alles auswählen

//in posting.php:
delete_post($mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $poll_id);
Wenn du allerdings als Moderator ein Thema löscht dann funktioniert das anders, das wird in der modcp.php gemacht:

Code: Alles auswählen

$sql = "DELETE 
					FROM " . POSTS_TABLE . " 
					WHERE post_id IN ($post_id_sql)";
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“