MyBB.de Forum
[Gelöst]Eigene Antwort unterbinden - 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: [Gelöst]Eigene Antwort unterbinden (/thread-1575.html)

Seiten: Seiten: 1 2 3


RE: Eigene Antwort unterbinden - Michael - 29.03.2006

Die Hooks sind im Code des MyBB verteilt und dienen der Einbindung von Plugins an genau diesen Stellen. Die Stelle für dein Plugin wäre der Haken "newreply_do_newreply_start":
PHP-Code:
<?php
$plugins
->add_hook("newreply_do_newreply_start""noreplytoownpost");

function 
noreplytoownpost_info()
{
    return array(
        
"name"        => "Keine Antwort auf eigene Beitr&auml;ge",
        
"description" => "Dieses Plugin verhindert, dass Benutzer nicht auf ihre eigenen Beit&auml;ge äntworten k&ouml;nnen.",
        
"website"     => "https://www.mybb.de",
        
"author"      => "MyBBoard.de",
        
"authorsite"  => "https://www.mybb.de",
        
"version"     => "1.0",
        );
}

function 
noreplytoownpost_activate() {
}

function 
noreplytoownpost_deactivate() {
}

function 
noreplytoownpost() {
    global 
$db$mybb;
    
$query $db->query("SELECT uid FROM ".TABLE_PREFIX."posts WHERE tid = '".$tid."' ORDER BY dateline DESC LIMIT 0,1");
    
$lastposter $db->fetch_array($query);
    if(
$mybb->user['uid'] == $lastposter['uid']) {
        
error("Du kannst nicht auf deinen eigenen Beitrag antworten!");
    }
}
?>



RE: Eigene Antwort unterbinden - Jan - 29.03.2006

Woher weiß ich welchen Hacken ich brauche?
Wie würde man des jetzt ändern, das man meinen Code noch mit reinnehmen kann?
Also eine Einstellung im ACP erstellt?


RE: Eigene Antwort unterbinden - Michael - 30.03.2006

Die Einstellung müsste bei der Aktivierung in die Datenbank geschrieben werden und bei der Deaktivierung wieder gelöscht werden. Wie das geht findest du auch in dem Thema wie ein Plugin aufgebaut ist.


RE: Eigene Antwort unterbinden - Jan - 30.03.2006

????
Woher weiß ich was ich dort eintragen muss?
PHP-Code:
$plugins->add_hook("newreply_do_newreply_start""noreplytoownpost"); 

Und wie trage ich die ein?

Ich würde ja echt gerne ein plugin proggen, aber leider hab ich bis jetzt immernur mit phpBB zu tun gehabt, und dadurch eigentlich nur PHP gemacht.


RE: Eigene Antwort unterbinden - Michael - 30.03.2006

Jan schrieb:????
Woher weiß ich was ich dort eintragen muss?
PHP-Code:
$plugins->add_hook("newreply_do_newreply_start""noreplytoownpost"); 
newreply_do_newreply_start ist der Haken, an dem das Plugin eingebunden werden soll. Im Code des MyBB wird das Plugin dann an dieser Stelle ausgeführt:
PHP-Code:
$plugins->run_hooks("newreply_do_newreply_start"); 
"noreplytoownpost" ist der Name der Funktion, die ausgeführt werden soll und die in der Plugin-Datei definiert wird.
Jan schrieb:Und wie trage ich die ein?
Was trägst du wo ein?
Jan schrieb:Ich würde ja echt gerne ein plugin proggen, aber leider hab ich bis jetzt immernur mit phpBB zu tun gehabt, und dadurch eigentlich nur PHP gemacht.
Ist das kein PHP? Toungue


RE: Eigene Antwort unterbinden - Jan - 30.03.2006

Wie finde ich den richtigen Haken?

Doch, es ist schon PHP. Nur mit den Einstellungen will es mir noch nicht ganz einleuchten.

Hast du zufällig grad Lust und Zeit mal mir ein bissl zu helfen?

Jan


RE: Eigene Antwort unterbinden - Michael - 30.03.2006

Welchen "Hook" du verwenden musst, kommt natürlich darauf an, wo das Plugin aingebunden werden soll. Eine Übersicht über die vorhandenen Haken findest du hier: https://www.mybb.de/forum/showthread.php?tid=253

Du kannst auch inefach in der Datei, in die das Plugin eingebunden werden soll, nach "$plugins->run_hooks" suchen, dann siehst du welche Haken es dort gibt.

Solltest du weitere Fragen haben, stelle diese bitte im Forum.


RE: Eigene Antwort unterbinden - Jan - 30.03.2006

Es geht mir darum, dieses Plugin auszubauen.
Und zwar mit Hilfe des Codes von mir.
Es soll also im AC möglich sein, für jedes forum, die Rechte einzeln zu setzen.
Dazu müsste man, jedes Forum auslesen, und dann mit Hilfe eines Radiobuttons den Wert von 2 auf 1 ändern.


RE: Eigene Antwort unterbinden - Michael - 30.03.2006

Würde es nicht mehr Sinn machen eine Spalte in der Tabelle forums einzufügen, so dass die Berechtigungen für jedes Forum dort einzeln gespeichert werden? Dann musst du natürlich diese Einstellungen in den Foreneinstellungen im Admin-CP einfügen (nicht durch Plugin möglich).


RE: Eigene Antwort unterbinden - Jan - 30.03.2006

ja, ich habe in der tabelle für alles die nummer 2 vergeben, damit kann in keinem Forum auf seinen beitrag geantwortet werden. diese 2 muss nun in den foren geändert werden, in denen das antworten auf eigene beiträge erlaubt sein soll.

Dieses würde ich halt gerne mit Hilfe des plugins vom AC kontrollier bar machen.