Automatische Threaderöffnung ...

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
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.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Automatische Threaderöffnung ...

Beitrag von Wuppi »

Hi

jetzt wirds kompliziert ;)

Forum XYZ hat eine Partnerschaft mit der Seite ABC. Seite ABC ist quasi ein Newsanbieter - unter jeder News ist ein Link zu XYZ. Wenn dieser Link aufgerufen wird, wird in einem Partnerforum ein Thread eröffnet - die News von ABC wird hier reingequotet, mit Quelle, Thread-Eröffner soll der User "SeiteXYZ.de" sein. Dann kann der Gast, der den Link geklickt hat, direkt sein Senf zur News geben (also direkt zur posting.php) ...

Natürlich soll dafür gesorgt werden, das keine doppelten Threads erstellt werden - der Forenserver sollte also erkennen "oh für die News gibt es schon einen Thread => User direkt dahinleiten" (erstmal zum Lesen ...)

So das zur Mod-Suche ;)

Stelle mir das so vor: Der Partner erstellt erstmal seine News (geht bis zur Handarbeit - kein PHP/Datenbank) und setzt einen Link "http://forumxyz/partner.php?id=123" dann packt er die News in einer id.txt ... klickt der Gast jetzt auf den Forenlink passiert folgendes: die partner.php holt sich die http://partnerabc/id.txt, vergleicht (wurde die ID schon importiert? Ja => gehe zu viewtopic, nein = erstelle einen Thread)

Hört sich simple an? :=)
Jemand sowas schon gebastelt? Ne Idee?

Gruß
Wuppi
TheRealKoston
Mitglied
Beiträge: 225
Registriert: 10.01.2004 20:26
Wohnort: Freystadt

Beitrag von TheRealKoston »

Also ich weiss nur wie du per Link einen neuen Thread erstellen kannst, das mit der id kann ich net:
http://www.phpbb.de/posting.php?mode=newtopic&f=15
Würde im Bereich Modifikationen einen neuen Thread starten
weil der parameter &f=xx das Forum auswählt(Die xx durch die Zahl ersetzten z.b. 9 oder sonstiges ;) )

Hoffe ich konnte dir ein wenig helfen, das mit der id - ka wie man das umsetzten könnte

Alternativ Vorschlag: Der Admin erstellt den Thread und linkt dann unter der News auf den Thread, so wird verhindert, dass es keine Doppelpostings gibt. Du kannst nicht annehmen, dass ein Script sowas erkennt, wenn andere Wörter, die die gleiche Bedeutung haben, verwendet werden.
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

@Wuppi: technisch wäre das schon möglich; wobei du bedenken musst das der theard eigendlich erst dann erstellt werden darf wenn der user auch wirklich was schreibt. angenommen der user klickt auf den link auf ABC, kommt dann auf XYZ um einen Beitrag zu schreiben, überlegt es sich dann aber anders und bricht ab. in diesem fall wäre der theard umsonst erstellt worden. oder ist dir das egal? wen ja wäre das schon bedeutend einfacher zu handeln.

mfg saerdnaer
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

saerdnaer hat geschrieben:@Wuppi: technisch wäre das schon möglich; wobei du bedenken musst das der theard eigendlich erst dann erstellt werden darf wenn der user auch wirklich was schreibt. angenommen der user klickt auf den link auf ABC, kommt dann auf XYZ um einen Beitrag zu schreiben, überlegt es sich dann aber anders und bricht ab. in diesem fall wäre der theard umsonst erstellt worden. oder ist dir das egal? wen ja wäre das schon bedeutend einfacher zu handeln.

mfg saerdnaer
Hi

Naja es gibt doch 2 Lesergruppen - Das Forum und die Newsseite - der Forenleser schaut nicht unbedingt auf die Newsseite ... wenn also einer von der Newsseite den Thread startet, dann aber nichts schreiben möchte (vielleicht drückt er ja aus neugierde darauf), ist das KEIN Problem ... so haben die Forenleser wenigsten die Chance an die News zu kommen, die sie sonst vielleicht übersehen würden.

Eigentlich müsste das partner.php-Script doch nur die info abholen (fopen oder wie der befehl heißt) und dann direkt in die Datenbank das nötigste für ein Thread machen - muß ja nicht über das posting.php gehen - wäre sicherlich auch anfälliger für sec-holes?

@TheRealKoston: Der Partner muß für seine IDs nur fortlaufende Zahlen nehmen ... das phpbb bekommt eine weitere Tabelle, da steht die PartnerID und eine "gepostet ja/nein"-Spalte. So sollte es keine doppelten News geben ... außer der ändert aus spass mal die ID ;) ... natürlich problematisch wenn 2 gleichzeitig klicken - aber es handelt sich um ne Newsseite die NICHT überlaufen ist - die Gefahr ist also ruhig ignorierbar.

Das ganze ist für ein geplantes Projekt - der Partner muß natürlich erst überzeugt werden, aber mit so ner möglichkeit hätte man dann schon was in der Hand zum Demonstrieren!

Gruß
Wuppi
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

ich geb dir jetzt einfach mal ein bischen code der einen neues thema erstellt. den rest müsstest du selbst machen.

Code: Alles auswählen

$post_mode = 'newtopic';
$topic_id = 0;
$post_id = 0;
$vote_id = 0;
$subject = 'Hier die Betreffzeile'; // Betreffzeile
$message = 'Hier der Inhalt des Beitrags'; // Nachricht
$forum_id = 123 // Forum Id des Forums in das gepostet werden soll
$bbcode = 0; // BBcode benutzen 1 = ja ; 2 = nein
$html = 0; // HTML benutzen
$smilies = 0; // Smilies benutzen
$attach_sig = 0; // Signatur anhängen
$post_data = array(
	'first_post' => true,
	'last_post' => true,
	'has_poll' => false,
	'edit_poll' => false,
	'flood_control_off' => true
);
$return_message = '';
$return_meta = '';
$username = '';
$poll_text = '';
$poll_options = '';
$poll_length = '0';
$bbcode_uid = '';
$topic_type = POST_NORMAL;
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
include($phpbb_root_path . 'includes/functions_post.'.$phpEx);
if ( isset($userdata) )
{
	$userdata2 = $userdata;
}
$userdata = get_userdata(123); // Id des Useraccounts
prepare_post($post_mode, $post_data, $bbcode, $html, $smilies, $error_msg, $username, $bbcode_uid, $subject, $message, $poll_text, $poll_options, $poll_length);
if ( $error_msg != '' )
{
	if ( isset($userdata2) )
	{
		$userdata = $userdata2;
		unset($userdata2);
	}
	message_die(GENERAL_ERROR, "Fehler beim Erstellen des Beitrags:<br/>" . $error_msg);
}
submit_post($post_mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $vote_id, $topic_type, $bbcode, $html, $smilies, $attach_sig, $bbcode_uid, str_replace("'", "''", $username), str_replace("'", "''", $subject), str_replace("'", "''", $message), $poll_text, $poll_options, $poll_length);
if ( $error_msg != '' )
{
	if ( isset($userdata2) )
	{
		$userdata = $userdata2;
		unset($userdata2);
	}
	message_die(GENERAL_ERROR, "Fehler beim Erstellen des Beitrags:<br/>" . $error_msg);
}
if ( $post_mode != 'editpost' )
{
	update_post_stats($post_mode, $post_data, $forum_id, $topic_id, $post_id, $userdata['user_id']);
}
if ( isset($userdata2) )
{
	$userdata = $userdata2;
	unset($userdata2);
}
Zuletzt geändert von saerdnaer am 13.08.2004 19:10, insgesamt 3-mal geändert.
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

Hi

das ja schonmal ein Anfang ... Vielen Dank.

Jetzt müsste ich die .txt z.b. mit fopen einlesen? und definieren das die erste Zeile = Titel ist - gleichzeitig müsste html rausgefilter werden und ggf. ggn bb-code ersetzt werden ...

Wenn ich mir div. RSS-Scripte für Feeds zur Hand nehmen, hab ich diesbzg. ja schon ne grundlage? (hab noch nie irgendwas fremdes ausgelesen ;) )

Gruß
Wuppi
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

den inhalt der datei einfach mit $text = implode('', file('http://abc.de/123.txt');
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

Hi

das script zum runterladen/bearbeiten hab ich ;)

Jetzt aber noch ne Frage @saerdnaer:

Bei deinem Script:
* Wo definiere ich wo der Thread eröffnet werden soll? (welches Forum)
* Wird der text von deinem script schon db-mässig aufgebereitet? (also ' durch /' ersetzt usw. - nicht das da jemand auf nette ideen kommt ;). Du gibst die funktion "prepare_post" an - macht die das? Hört sich jedenfalls so an? ;)

Gruß
Wuppi
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

hab den post bearbeitet.
was die prepare post macht weiß ich nicht mehr so genau. ich denke irgendwas mit html und bbcode vorbereitungen. das mit den ' wir manuell mit der str_replace gemacht. du kannst dir die funktion in der includes/functions_post.php ansehen
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“