MyBB.de Forum

Normale Version: PM Handler - keine Empfänger
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi,

ich habe folgenden Code zum automatischen Versenden von PMs geschrieben / mir zusammen kopiert Wink

PHP-Code:
    global $mybb;
    
    
$qry_pmempfaenger "SELECT userid FROM Tabelle";
    
$result_pmempfaenger mysql_query($qry_pmempfaenger);
    
    while(
$pmempfaenger_row mysql_fetch_object($result_pmempfaenger))
    {
    
    require_once 
MYBB_ROOT."inc/datahandlers/pm.php";
    
    
$pmhandler = new PMDataHandler();
       
    
$subject "Subj";
    
$message "Hi,
        
    (dies ist eine autmoatisch generierte PM)"
;

    
    
$pm = array(
        
'subject' => $subject,
        
'message' => $message,
        
'toid' => $pmempfaenger_row->userid,
        
'fromid' => 1
        
);

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

    } 

User 1 hat alle PNs in seinem Ausgang, das passt also. Allerdings steht bei Empfänger überall "Keine Angabe (Nicht gesendet)"

Sad

King Louis

Der PM Handler erwartet die Namen der Empfänger und nicht deren ID.
PHP-Code:
global $mybb;
    
    
$qry_pmempfaenger "SELECT username FROM Tabelle";
    
$result_pmempfaenger mysql_query($qry_pmempfaenger);
    
    while(
$pmempfaenger_row mysql_fetch_object($result_pmempfaenger))
    {
    
    require_once 
MYBB_ROOT."inc/datahandlers/pm.php";
    
    
$pmhandler = new PMDataHandler();
       
    
$subject "Subj";
    
$message "Hi,
        
    (dies ist eine autmoatisch generierte PM)"
;

    
    
$pm = array(
        
'subject' => $subject,
        
'message' => $message,
        
'fromid' => 1
        
);
    
$pm['to'][] = $pmempfaenger_row->username;
    
$pmhandler->set_data($pm);
    if(!
$pmhandler->validate_pm())
        return 
false;
    else
    {
        
$pmhandler->insert_pm();
        
//return true;
    
}

    } 


//Edit:
Gerade gesehen, dass es auch mit ID's geht. Allerdings müssen die trotzdem in einem Array liegen, also so wie ich es gemacht habe. Kannst also meine Lösung mit deiner kombinieren Wink
Danke schon mal für die schnelle Antwort, jetzt kommt aber

Fatal error: Cannot use [] for reading in E:\xampp\htdocs\123.php on line 106

Zeile 106 ist $pm['to'][] => $pmempfaenger_row->username;

King Louis

Du müsstest die Zeile unter das array() schreiben, innerhalb klappt das nicht. Außerdem musst du anstatt "=>" wieder "=" benutzen.
PHP-Code:
$pm['toid'][] = $pmempfaenger_row->userid
Argh das verflixte ">" Blush

Jetzt klappts, dankeschön!