MyBB.de Forum

Normale Version: Automatische Pm
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo,
Ich wollte mal fragen wie ich über einen PHP Code eine PM versenden kann, ich würde das für das ModCP gebrauchen wenn ein Thread freigeschaltet wird, wo ich es einfügen muss usw. weis ich schon Big Grin

mfg,

Danke im Vorraus
Vielleicht hilft Dir dieser Beitrag weiter. Er bezieht sich zwar auf die Game Section, sollte aber auch in abgewandelter Form für Deine Anwendung realisierbar sein.
https://www.mybb.de/forum/thread-19330-p...#pid157942
Werde das gleich mal ausprobieren danke!

Habe jetzt diesen Code:
PHP-Code:
global $mybb;
    
        require_once 
MYBB_ROOT."inc/datahandlers/pm.php";
        
$pmhandler = new PMDataHandler();
        
        
$subject "Dein Highscore wurde geschlagen....";
        
$message "Hallo ".$thread['username']."
            
        Dein Highscore bei dem Spiel "
.$champ['title']." wurde von ".addslashes($mybb->user['username'])." geschlagen.
                        
        Klicke [url="
.$mybb->settings['bburl']."/games.php?action=play&gid=".$gid."]hier[/url], um das Spiel erneut zu spielen und Deinen [url=".$mybb->settings['bburl']."/games.php?action=scores&gid=".$gid."]Highscore[/url] zurück zu holen.";

        
$toid $thread['uid'];
        
$fromid $mybb->user['uid'];
                
        
$pm = array(
            
'subject' => $subject,
            
'message' => $message,
            
'toid' => array($toid),
            
'fromid' => $fromid
        
);

        
$pmhandler->set_data($pm);
        if(!
$pmhandler->validate_pm())
            return 
false;
        else
        {
            
$pmhandler->insert_pm();
            
//return true;
        
}
    } 
Geht aber net
So, ich habe es jetzt mal in die moderation.php eingefügt, das geht alles aber die PM wird nicht gesendet Sad
PHP-Code:
global $mybb;

        require_once 
MYBB_ROOT."inc/datahandlers/pm.php";
        
$pmhandler = new PMDataHandler();

        
$subject "Thema freigeschaltet";
        
$message "Hallo, Test"



        
$toid $champ['uid'];
        
$fromid $mybb->user['uid'];

        
$pm = array(
            
'subject' => $subject,
            
'message' => $message,
            
'toid' => array($toid),
            
'fromid' => $fromid
        
);

        
$pmhandler->set_data($pm);
        if(!
$pmhandler->validate_pm())
            return 
false;
        else
        {
            
$pmhandler->insert_pm();
            
//return true;
        

Der von mir verlinkte Beitrag war nur als Beispiel gedacht und nicht so, dass man ihn 1:1 verwenden kann. Eine entsprechende Anpassung wäre natürlich notwendig und hängt davon ab, was Du tatsächlich machen möchtest. In Deinem letzten Code-Beispiel dürfte das Hauptproblem daran liegen, dass
PHP-Code:
$toid $champ['uid']; 
nicht ausgeführt werden kann, weil $champ nicht bekannt ist. Das war auf die Game Section ausgelegt....
Und wenn der Empfänger kein Array ist, dann müsste man vermutlich
PHP-Code:
'toid' => array($toid), 
auch noch ändern.
Also das ganze ist in der moderation.php wenn ein Thread freigeschaltet wird.
Ich will jetzt mit diesem Code das der Freischalter diese Test PM bekommt, aber er bekommt keine Sad
Trotzdem danke für die Hilfe.
PHP-Code:
global $mybb;

        require_once 
MYBB_ROOT."inc/datahandlers/pm.php";
        
$pmhandler = new PMDataHandler();

        
$subject "Thema freigeschaltet";
        
$message "Hallo, Test";



        
$toid $mybb->user['uid'];
        
$fromid $mybb->user['uid'];

        
$pm = array(
            
'subject' => $subject,
            
'message' => $message,
            
'toid' => $toid,
            
'fromid' => $fromid
        
);

        
$pmhandler->set_data($pm);
        if(!
$pmhandler->validate_pm())
            return 
false;
        else
        {
            
$pmhandler->insert_pm();
            
//return true;
        

Evtl. hast Du den Code an der falschen Stelle eingebunden. Mit diesem Code
PHP-Code:
$toid $mybb->user['uid'];
$fromid $mybb->user['uid']; 
schickt sich der "Freischalter" übrigens selbst eine PM.
Ja, das ist mir bewusst, soll ja zum testen sein Wink.
Ich habe es vor dem break; in der moderation.php in der Funktion approve eingefügt, müsste doch stimmen
Ich finde da keine Funktion "approve" Sad
Zeile 672
PHP-Code:
    case "approvethread"
Seiten: 1 2 3