Hallo, Gast! (Registrieren)

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


Benutzer, die gerade dieses Thema anschauen: 4 Gast/Gäste
PN bei gemeldetem Beitrag
#1
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 gehtalso 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
Zitieren
#2
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:

PHP-Code:
"toid" => $toid 
Zitieren
#3
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?
Zitieren
#4
Ja, und dann halt in der Funktion is_member() die entsprechende GruppenId verwenden, also 4 für Admins oder 6 für Moderatoren etc.
Zitieren
#5
PHP-Code:
if (is_member(4$user $to_uids['uid'])) { 

So? Dann probiere ich das mal Smile
Zitieren
#6
(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 gehtalso 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 Sad
Mit freundlichen Grüßen

MrBrechreiz
Zitieren
#7
Warum sollte ich das auch nochmal machen, wenn es doch schon gemacht wurde?
Zitieren
#8
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 ?
Mit freundlichen Grüßen

MrBrechreiz
Zitieren