Hallo, Gast! (Registrieren)

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


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Suche bestimmte Plugins
#11
Ok, ich habe die Datei jetzt abgeaendert.
Es existiert nun eine Variable $sender. In diese Variable musst du die UID des Users, von dem die PM kommen soll, eintragen.
Die Nachricht der PM sieht jetzt so aus:
PHP-Code:
"Neue Bewertung erhalten von: ".$mybb->user['username'].". Die Bewertung war ".$reputation['reputation']."mit folgendem Grund: ".$reputation['comment']."." 
Ich denke, das ist selbsterklaerend.


Angehängte Dateien
.php   pm_after_rep.php (Größe: 1,95 KB / Downloads: 7)
Zitieren
#12
Hmm, gibt noch ein kleines Problem...

Ich hab die UID angegeben aber es kommt eine PM von mir selbst obwohl ich sie von einem anderen User erhalten habe & nicht meine UID angegeben habe...

Folgendes enthält die PM

Neue Bewertung erhalten von: . Die Bewertung war mit folgendem Grund: .


Mfg
Zitieren
#13
1. In der Nachricht muss im Array $reputation aus comment comments werden, habe da das s vergessen. Woran der Rest liegt, ist aber gerade unerklaerlich.
2. Lade mal bitte deine pm_after_rep.php hoch, dann werfe ich da gerade noch einmal einen Blick drauf.

Bin auch gerade nicht zu Hause, deswegen kann ich das nicht testen.
Zitieren
#14
Code:
<?php

// Disallow direct access to this file for security reasons
if(!defined("IN_MYBB"))
{
    die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}

$plugins->add_hook("reputation_do_add_end", "pm_after_rep");

function pm_after_rep_info()
{
    return array(
        "name"            => "PM nach Bewertung",
        "description"    => "Versendet eine PM an den User, der die Bewertung erhalten hat.",
        "website"        => "https://www.mybb.de",
        "author"        => "David Kleinmann aka Dave",
        "authorsite"    => "http://www.davethemaniac.net",
        "version"        => "1.0",
    );
}

function pm_after_rep_activate()
{

}

function pm_after_rep_deactivate()
{

}

function pm_after_rep()
{
    global $mybb, $templates, $headerinclude, $header, $footer, $theme, $lang;
    
    require_once MYBB_ROOT."inc/functions_user.php";
    require_once MYBB_ROOT."inc/datahandlers/pm.php";
    $pmhandler = new PMDataHandler();

    $sender = "1";
    $recipient = get_user($mybb->input['uid']);
    
    $pm = array(
        "subject" => "Neue Bewertung erhalten",
        "message" => "Neue Bewertung erhalten von: ".$mybb->user['K-Home Bot'].". Die Bewertung war ".$reputation['reputation']." mit folgendem Grund: ".$reputation['comment'].".",
        "fromid" => $sender,
        "username" => $recipient['username'],
        "do" => $mybb->input['do'],
        "pmid" => $mybb->input['pmid']
    );
    
    $pm['options'] = array(
        "signature" => $mybb->input['options']['signature'],
        "disablesmilies" => $mybb->input['options']['disablesmilies'],
        "savecopy" => $mybb->input['options']['savecopy'],
        "readreceipt" => $mybb->input['options']['readreceipt']
    );

    $pmhandler->set_data($pm);

    // Now let the pm handler do all the hard work.
    if(!$pmhandler->validate_pm())
    {
        $pm_errors = $pmhandler->get_friendly_errors();
        $send_errors = inline_error($pm_errors);
        echo($mybb->input['uid']);
        print_r($send_errors);
    }
    else
    {
        $pminfo = $pmhandler->insert_pm();
    }

}
?>

Hab da jetzt noch nichts ausgebessert!
Mfg


/e
Habe aus K-Home Bot > 11 gemacht... Das ist ja die UID oder?
xD
Zitieren
#15
PHP-Code:
"message" => "Neue Bewertung erhalten von: ".$mybb->user['username'].". Die Bewertung war ".$reputation['reputation']." mit folgendem Grund: ".$reputation['comments']."."

Die UID des Users von dem die PM kommen soll, muss hier rein: $sender = "1"; Also die 1 entsprechend ersetzen.
Zitieren
#16
Jetzt fehlt noch der Grund richtig:

Jetzt wird es so angezeigt:


Neue Bewertung erhalten von: Manu x3. Die Bewertung war mit folgendem Grund: .
Zitieren
#17
Ersetze
PHP-Code:
global $mybb$templates$headerinclude$header$footer$theme$lang
mal mit
PHP-Code:
global $mybb$templates$headerinclude$header$footer$theme$lang$reputation
Zitieren
#18
Danke Chef, geht alles Smile
Zitieren
#19
Danke hat bei mir auch alles Super geklappt
nun bin ich schon am rumexperimentieren.
BBCodes gehen ja auch in der php Datei

Aber nun kriege ich es nicht so hin das noch in der PN Message herausgefiltert werden soll das eine neutrale, positive oder negative bewertung ist.

Was muss ich ändern damit das +2 als Positiv steht ?

LG
Chris
Zitieren
#20
Suche nach:
PHP-Code:
$recipient get_user($mybb->input['uid']); 
Darunter einfügen:
PHP-Code:
if($reputation['reputation'] == "+1" || $reputation['reputation'] == "+2") {
    
$pmrep "Positiv";
} elseif(
$reputation['reputation'] == "-1" || $reputation['reputation'] == "-2") {
    
$pmrep "Negativ";
} else {
    
$pmrep "Neutral";

Ersetze dann in der Nachricht
PHP-Code:
"Die Bewertung war ".$reputation['reputation'].
duch
PHP-Code:
"Die Bewertung war ".$pmrep.

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


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
Exclamation Suche bestimmte Plugins! Dead 25 5.557 20.11.2011, 15:44
Letzter Beitrag: Dead