Beitragserstellung bei vorhandenem Thema verweigern? - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html) +--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html) +--- Thema: Beitragserstellung bei vorhandenem Thema verweigern? (/thread-16283.html) |
Beitragserstellung bei vorhandenem Thema verweigern? - Axxis - 31.05.2010 Servus, ich suche nach einer Möglichkeit, dass wenn jemand ein Thema eröffnen will, und dieses Thema im exakten Wortlaut schon vorhanden ist, dass dann eine Fehlermeldung kommt, und somit doppelte Themen nicht gepostet werden können. Jemand einen Vorschlag, wie das zu lösen wäre? Oder vielleicht gibt es ja schon so ein Plugin oder eins was man dafür umschreiben könnte. Bin über jeden Vorschlag dankbar. RE: Beitragserstellung bei vorhandenem Thema verweigern? - StefanT - 31.05.2010 Wer schreibt denn ein Thema zweimal? RE: Beitragserstellung bei vorhandenem Thema verweigern? - Axxis - 31.05.2010 (31.05.2010, 11:12)StefanT schrieb: Wer schreibt denn ein Thema zweimal? Die Frage habe ich befürchtet Es geht um eines meiner Foren mit einer Börse, und wir haben Stress mit den Releases, weil dort immer wieder mehrfach ein Thema eröffnet wird, weil jeder der schnellste beim posten sein will. Es liegen manchmal nur wenige Minuten dazwischen. Diese Themen sind dann anstatt 5-10 x untereinander, auf zig Threads verteilt. Und das soll verhindert werden, dass eine Fehlermeldung kommt, wenn der Releasename schon 1 x vorhanden ist... RE: Beitragserstellung bei vorhandenem Thema verweigern? - Kenny - 01.06.2010 Ahoi Axxis, ich bin zwar kein PHP-Künstler, aber ich habe vielleicht einen Lösungsansatz bzw Anregung für dich. Es gibt beim MyBB doch die Funktion "ähnliche Themen anzeigen lassen". Vielleicht lässt sich diese Funktion ja an deine Wünsche anpassen. Mir selber fehlen da die PHP-Kenntnisse. Aber vielleicht kriegst du das ja hin. RE: Beitragserstellung bei vorhandenem Thema verweigern? - NetHunter - 01.06.2010 Das ist mit einigen Codeänderungen machbar. Fangen wir an. newthread.php Finde: PHP-Code: $valid_subject = $posthandler->verify_subject(); PHP-Code: $proof_for_double_subject = $posthandler->verify_proof_for_double_subject(); PHP-Code: if(!$valid_thread || !$valid_subject) PHP-Code: if(!$valid_thread || !$valid_subject || !$proof_for_double_subject) inc/datahandlers/post.php Finde ca. Zeile 948: PHP-Code: // Return the post's pid and whether or not it is visible. PHP-Code: function verify_proof_for_double_subject() PHP-Code: if(!$thread['savedraft']) PHP-Code: if (array_key_exists('subject', $thread)) inc/languages/sprachpacket/datahandler_post.lang.php Einfügen: Code: $l['postdata_double_subject'] = 'Ein Thema mit dem selben Betreff existiert schon, bitte wähle einen anderen.'; Viel Spaß! RE: Beitragserstellung bei vorhandenem Thema verweigern? - frostschutz - 01.06.2010 ...oder man legt in MySQL einfach ein Unique index/restraint für das subject-Feld der mybb_threads Tabelle an... Dann gehts auch ganz ohne Codeänderung (dafür mit SQL Fehler aber wen interessieren die schon). RE: Beitragserstellung bei vorhandenem Thema verweigern? - Axxis - 02.06.2010 Genial *Happy* Funktioniert einwandfrei. Vielen vielen Dank NetHunter. Tag gerettet, wunderbar! @Kenny Das mit den ähnlichen Themen hatte ich auch schon überlegt, aber da reichten meine Kenntnisse leider auch nicht was umzustricken. @frostschutz Zitat: "(dafür mit SQL Fehler aber wen interessieren die schon)" Der war gut ^^ Danke an Alle, so macht´s Spass - erledigt - RE: Beitragserstellung bei vorhandenem Thema verweigern? - GreenDragon - 30.07.2012 Hallo, die Modifikation in Beitrag#5 funktioniert bei mir nicht in MyBB 1.6.8 folgender Fehler kommt dann: Fatal error: Call to undefined method PostDataHandler::verify_proof_for_double_subject() in /home/...../public_html/...../newthread.php on line 678 Ich habe NetHunter schon eine PN geschrieben, aber vielleicht sieht ja schon jemand woran das liegen könnte. Würde das auch gerne einbauen, dass doppelte Themen verweigert werden. RE: Beitragserstellung bei vorhandenem Thema verweigern? - StefanT - 30.07.2012 Bist du sicher, dass du alles an der richtigen Stelle eingefügt hast? RE: Beitragserstellung bei vorhandenem Thema verweigern? - GreenDragon - 30.07.2012 Ich hab das zig mal gemacht und immer wieder Fehler. Durch einen blöden Zufall habe ich dann einen Code an anderer Stelle als oben beschrieben platziert. Und durch dieses hektische Einfügen ging es plötzlich. Das war jetzt schon fast ein Sechser im Lotto. Oben steht: inc/datahandlers/post.php Finde ca. Zeile 948: PHP-Code: // Return the post's pid and whether or not it is visible. Habe aber unter diesen Zeilen den Folgecode geaddet: PHP-Code: // Return the post's pid and whether or not it is visible. Und DAS funktioniert. So wie oben im Beitrag beschrieben geht es nicht. Egal, die Funktion ist eingebaut und klappt jetzt |