Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
[Gelöst]Eigene Antwort unterbinden
#11
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!");
    }
}
?>


Angehängte Dateien
.php   noreplytoownpost.php (Größe: 979 Bytes / Downloads: 4)

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#12
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?

Zitieren
#13
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.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#14
????
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.

Zitieren
#15
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

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#16
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

Zitieren
#17
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.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#18
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.

Zitieren
#19
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).

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#20
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.

Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Thread anzeige per Hook unterbinden? baeckerman83 5 2.237 09.09.2015, 13:11
Letzter Beitrag: baeckerman83
  Fremdverlinkung von Bildern unterbinden Jockl 13 5.742 13.10.2013, 13:59
Letzter Beitrag: Jockl
  anonymen Foren-Login unterbinden Manni 2 1.672 16.01.2010, 14:32
Letzter Beitrag: Manni