PN bei gemeldetem Beitrag - lumpi - 19.09.2015
Moin,
soweit bin ich schon:
PHP-Code: //pn, wenn beitrag gemeldet - start $query = $db->simple_select("posts","pid,uid", "pid = ".$post['pid'].""); $result = $db->fetch_array($query);
require_once MYBB_ROOT."inc/datahandlers/pm.php"; $pmhandler = new PMDataHandler(); $pm = array( "subject" => "Ein Beitrag von dir wurde gemeldet", "message" => "Dieser Beitrag wurde gemeldet: " ."\n" .$lang->sprintf($lang->email_reportpost, $mybb->user['username'], $mybb->settings['bbname'], $post['subject'], $mybb->settings['bburl'], str_replace('&', '&', get_post_link($post['pid'], $thread['tid'])."#pid".$post['pid']), $thread['subject'], $mybb->input['reason']), "icon" => 0, "fromid" => $mybb->user['uid'], "toid" => !!!Hier soll eine GruppenID eingefügt werden an die die PN dann geht, also an alle in GruppeX!!! );
$pmhandler->admin_override = true; $pmhandler->set_data($pm); if(!$pmhandler->validate_pm()) return false; else { $pmhandler->insert_pm(); } //pn, wenn beitrag gemeldet - ende
Das ganze in report.php vor "$plugins->run_hooks("report_do_report_end");" eingefügt
Bei "toid" komme ich nicht weiter. Kann wer helfen?
Grüße
RE: PN bei gemeldetem Beitrag - doylecc - 19.09.2015
Nur mit der GruppenId für die Empfänger wird das nicht funktionieren. Dafür brauchst du ein Array mit allen UserId's der Gruppenmitglieder.
Das könntest du z.B. so erstellen:
PHP-Code: $query_to = $db->simple_select("users", "uid"); $toid = array();
while ($to_uids = $db->fetch_array($query_to)) { if (is_member(GruppenId der Empfängergruppe, $user = $to_uids['uid'])) { $toid[] = $to_uids['uid']; } }
Dann kannst du für den Datahandler einsetzen:
RE: PN bei gemeldetem Beitrag - lumpi - 19.09.2015
PHP-Code: //pn, wenn beitrag gemeldet - start $query_to = $db->simple_select("users", "uid"); $toid = array();
while ($to_uids = $db->fetch_array($query_to)) { if (is_member(GruppenId der Empfängergruppe, $user = $to_uids['uid'])) { $toid[] = $to_uids['uid']; } }
$query = $db->simple_select("posts","pid,uid", "pid = ".$post['pid'].""); $result = $db->fetch_array($query);
require_once MYBB_ROOT."inc/datahandlers/pm.php"; $pmhandler = new PMDataHandler(); $pm = array( "subject" => "Ein Beitrag von dir wurde gemeldet", "message" => "Dieser Beitrag wurde gemeldet: " ."\n" .$lang->sprintf($lang->email_reportpost, $mybb->user['username'], $mybb->settings['bbname'], $post['subject'], $mybb->settings['bburl'], str_replace('&', '&', get_post_link($post['pid'], $thread['tid'])."#pid".$post['pid']), $thread['subject'], $mybb->input['reason']), "icon" => 0, "fromid" => $mybb->user['uid'], "toid" => $toid
);
$pmhandler->admin_override = true; $pmhandler->set_data($pm); if(!$pmhandler->validate_pm()) return false; else { $pmhandler->insert_pm(); } //pn, wenn beitrag gemeldet - ende
Meinst du so?
RE: PN bei gemeldetem Beitrag - doylecc - 19.09.2015
Ja, und dann halt in der Funktion is_member() die entsprechende GruppenId verwenden, also 4 für Admins oder 6 für Moderatoren etc.
RE: PN bei gemeldetem Beitrag - lumpi - 20.09.2015
PHP-Code: if (is_member(4, $user = $to_uids['uid'])) {
So? Dann probiere ich das mal
RE: PN bei gemeldetem Beitrag - MrBrechreiz - 20.09.2015
(19.09.2015, 21:29)lumpi schrieb: Moin,
soweit bin ich schon:
PHP-Code: //pn, wenn beitrag gemeldet - start $query = $db->simple_select("posts","pid,uid", "pid = ".$post['pid'].""); $result = $db->fetch_array($query);
require_once MYBB_ROOT."inc/datahandlers/pm.php"; $pmhandler = new PMDataHandler(); $pm = array( "subject" => "Ein Beitrag von dir wurde gemeldet", "message" => "Dieser Beitrag wurde gemeldet: " ."\n" .$lang->sprintf($lang->email_reportpost, $mybb->user['username'], $mybb->settings['bbname'], $post['subject'], $mybb->settings['bburl'], str_replace('&', '&', get_post_link($post['pid'], $thread['tid'])."#pid".$post['pid']), $thread['subject'], $mybb->input['reason']), "icon" => 0, "fromid" => $mybb->user['uid'], "toid" => !!!Hier soll eine GruppenID eingefügt werden an die die PN dann geht, also an alle in GruppeX!!! );
$pmhandler->admin_override = true; $pmhandler->set_data($pm); if(!$pmhandler->validate_pm()) return false; else { $pmhandler->insert_pm(); } //pn, wenn beitrag gemeldet - ende
Das ganze in report.php vor "$plugins->run_hooks("report_do_report_end");" eingefügt
Bei "toid" komme ich nicht weiter. Kann wer helfen?
Grüße
Dumm ist nur, dass nicht Du selbst den Code erstellt hast, sondern nur kopiert wurde
RE: PN bei gemeldetem Beitrag - lumpi - 20.09.2015
Warum sollte ich das auch nochmal machen, wenn es doch schon gemacht wurde?
RE: PN bei gemeldetem Beitrag - MrBrechreiz - 20.09.2015
Weil Du "soweit bin ich schon:" geschrieben hattest und es somit als deine Arbeit ausgibst. Ist aber Wurscht.
Funktioniert es denn mit waldo´s Angaben ?
|