MyBB.de Forum

Normale Version: bei Verwarnung Post
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
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();

...würde ich über ein Feedback, ob es funzt, freuen!

Kenny

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!

(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.
1. Vollquote is böse, 2. dann änder das doch ab, war eh (wie beschrieben) nur ein Schnell-Schreib-PlugIn Wink
Seiten: 1 2