MyBB.de Forum
PM Handler - keine Empfänger - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: PM Handler - keine Empfänger (/thread-26211.html)



PM Handler - keine Empfänger - Speil - 07.08.2012

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


RE: PM Handler - keine Empfänger - King Louis - 07.08.2012

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


RE: PM Handler - keine Empfänger - Speil - 07.08.2012

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;


RE: PM Handler - keine Empfänger - King Louis - 07.08.2012

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



RE: PM Handler - keine Empfänger - Speil - 07.08.2012

Argh das verflixte ">" Blush

Jetzt klappts, dankeschön!