Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
bei Verwarnung Post
#11
Moin, um euch mal zu entlasten, hab ich eben bisschen für euch gecodet Wink

Stand: MyBB 1.6.1
Das Plugin hat keinerlei Admin-Konfig o.ä., sondern stellt nur ein "Grundgerüst" zu Funktionsweise dar.

In der Datei warnings.php muss ein Hook hinzugefügt werden, da es dort keinen passenden gibt.
Zeile 248:
PHP-Code:
$db->insert_query("warnings"$new_warning); 
Ändern in
PHP-Code:
$db->insert_query("warnings"$new_warning);        
$plugins->run_hooks("warnings_do_warn_insert"); 

Das Plugin in die Datei inc/plugins/warnpost.php schreiben und min die Variable "$into_fid" anpassen. Diese enthält die ForenID wo der Thread erstellt wird.

Die Nachricht etc. könnt ihr gerne anpassen Wink
PHP-Code:
<?php

/*
    Warn Post Extension
    
    Version 0.1
    
    Autor: thebod
    Homepage: http://www.b-ike.de/
    
    Erstellt bei Userverwarnungen einen Thread.
    
    Alpha-Testversion, bitte anpassen!
    
    Lizenz: Ihr dürft alles machen, lasst nur meinen Namen bitte drin ;)
*/

if(!defined("IN_MYBB"))
{
    die(
"Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}
global 
$into_fid;

/*********** CHANGE HERE ***********/

$into_fid 2;  // Foren ID

/***********************************/

$plugins->add_hook("warnings_do_warn_insert""warnpost_doAction");

function 
warnpost_info()
{
    return array(
        
"name"            => "Warn Post",
        
"description"    => "Erstellt einen Thread beim Verwarnungen von Userns",
        
"website"        => "http://www.schwarzernorden.de/",
        
"author"        => "thebod",
        
"authorsite"    => "http://www.b-ike.de/",
        
"version"        => "0.1",
        
"guid"             => "",
        
"compatibility" => "*"
    
);
}

function 
warnpost_doAction()
{
    global 
$mybb$new_warning$into_fid;
    
    require_once 
MYBB_ROOT."inc/datahandlers/post.php";
    
$posthandler = new PostDataHandler("insert");
    
$posthandler->action "thread";
    
    
$user get_user($new_warning['uid']);
    
    
$pmNotice false;
    if(
$mybb->input['send_pm'] == && $group_permissions['canusepms']  != && $user['receivepms'] != && $mybb->settings['enablepms'] != 0)
        
$pmNotice true;
    
    
$new_thread = array(
        
"fid" => $into_fid,
        
"subject" => "Verwarnung User " $user['username'],
        
"prefix" => '',
        
"icon" => 0,
        
"uid" => $mybb->user['uid'],
        
"username" => $mybb->user['username'],
        
"message" =>"Verwarnung von User " $user['username']."\n".
                    
"Notiz:[QUOTE]" $new_warning['notes'] . "[/QUOTE]\n".
                    
"Punkte: " $new_warning['points'] . "\n".
                    (
$pmNotice "Der User wurde per PM benachrichtigt.\n" ''),
        
"ipaddress" => get_ip(),
        
"posthash" => $mybb->input['posthash']
    );
    
    
$posthandler->set_data($new_thread);
    
    
$posthandler->validate_thread();
    
    
$posthandler->insert_thread();

Zitieren
#12
...würde ich über ein Feedback, ob es funzt, freuen!
Zitieren
#13
Hallo thebod Wink,

ich werds die Tage mal in meinem neuen Projekt testen. Feedback kommt dann auf jeden Fall. Aber so 1-2 Tage brauch ich wohl noch bis alle Kategorien, Foren und Einstellungen passen.

EDIT:

Scheint tadellos zu funktionieren!

Zitieren
#14
(07.01.2011, 10:35)thebod schrieb: Moin, um euch mal zu entlasten, hab ich eben bisschen für euch gecodet Wink

Stand: MyBB 1.6.1
Das Plugin hat keinerlei Admin-Konfig o.ä., sondern stellt nur ein "Grundgerüst" zu Funktionsweise dar.

In der Datei warnings.php muss ein Hook hinzugefügt werden, da es dort keinen passenden gibt.
Zeile 248:
PHP-Code:
$db->insert_query("warnings"$new_warning); 
Ändern in
PHP-Code:
$db->insert_query("warnings"$new_warning);        
$plugins->run_hooks("warnings_do_warn_insert"); 

Das Plugin in die Datei inc/plugins/warnpost.php schreiben und min die Variable "$into_fid" anpassen. Diese enthält die ForenID wo der Thread erstellt wird.

Die Nachricht etc. könnt ihr gerne anpassen Wink
PHP-Code:
<?php

/*
    Warn Post Extension
    
    Version 0.1
    
    Autor: thebod
    Homepage: http://www.b-ike.de/
    
    Erstellt bei Userverwarnungen einen Thread.
    
    Alpha-Testversion, bitte anpassen!
    
    Lizenz: Ihr dürft alles machen, lasst nur meinen Namen bitte drin ;)
*/

if(!defined("IN_MYBB"))
{
    die(
"Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}
global 
$into_fid;

/*********** CHANGE HERE ***********/

$into_fid 2;  // Foren ID

/***********************************/

$plugins->add_hook("warnings_do_warn_insert""warnpost_doAction");

function 
warnpost_info()
{
    return array(
        
"name"            => "Warn Post",
        
"description"    => "Erstellt einen Thread beim Verwarnungen von Userns",
        
"website"        => "http://www.schwarzernorden.de/",
        
"author"        => "thebod",
        
"authorsite"    => "http://www.b-ike.de/",
        
"version"        => "0.1",
        
"guid"             => "",
        
"compatibility" => "*"
    
);
}

function 
warnpost_doAction()
{
    global 
$mybb$new_warning$into_fid;
    
    require_once 
MYBB_ROOT."inc/datahandlers/post.php";
    
$posthandler = new PostDataHandler("insert");
    
$posthandler->action "thread";
    
    
$user get_user($new_warning['uid']);
    
    
$pmNotice false;
    if(
$mybb->input['send_pm'] == && $group_permissions['canusepms']  != && $user['receivepms'] != && $mybb->settings['enablepms'] != 0)
        
$pmNotice true;
    
    
$new_thread = array(
        
"fid" => $into_fid,
        
"subject" => "Verwarnung User " $user['username'],
        
"prefix" => '',
        
"icon" => 0,
        
"uid" => $mybb->user['uid'],
        
"username" => $mybb->user['username'],
        
"message" =>"Verwarnung von User " $user['username']."\n".
                    
"Notiz:[QUOTE]" $new_warning['notes'] . "[/QUOTE]\n".
                    
"Punkte: " $new_warning['points'] . "\n".
                    (
$pmNotice "Der User wurde per PM benachrichtigt.\n" ''),
        
"ipaddress" => get_ip(),
        
"posthash" => $mybb->input['posthash']
    );
    
    
$posthandler->set_data($new_thread);
    
    
$posthandler->validate_thread();
    
    
$posthandler->insert_thread();

Meiner Meinung nach, wäre es besser im AdminCP eine Einstelllungsmöglichkeit für die ForenIDs zu erstellen. Für Anfänger ist dieses direkte bearbeiten nicht zu empfehlen.
Zitieren
#15
1. Vollquote is böse, 2. dann änder das doch ab, war eh (wie beschrieben) nur ein Schnell-Schreib-PlugIn Wink
Zitieren