ilch Forum » Allgemein » HTML, PHP, SQL,... » Problem bei der Umsetzung auf der Homepa

Geschlossen
  1. #1
    User Pic
    Beachy Mitglied
    Registriert seit
    09.10.2007
    Beiträge
    13
    Beitragswertungen
    0 Beitragspunkte
    Hallo,

    Es geht um die Umsetzung von der E-mail versendung bei PN Eingang.

    externer Link

    Da ist geschrieben das man nur diese Funktion

    function sendpm ($sid,$eid,$ti,$te,$status = 0) {
      db_query("INSERT INTO `prefix_pm` (sid,eid,time,titel,txt,status) VALUES (".$sid.",".$eid.",'".time()."','".$ti."','".$te."',".$status.")");
    }


    mit dieser Funktion ändern soll

    function sendpm ($sid,$eid,$ti,$te,$status = 0) {
      db_query("INSERT INTO `prefix_pm` (sid,eid,time,titel,txt,status) VALUES (".$sid.",".$eid.",'".time()."','".$ti."','".$te."',".$status.")");
      $mail = @db_result(db_query("SELECT email FROM prefix_user WHERE id = $eid"),0);
      if (!empty($mail)) {
        icmail($mail,"Neue PM","Du hast eine neue PM.\n Du kannst sie hier: ".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?forum-privmsg abrufen.'); 
      }
    }



    Allerdings schaut bei mir die Funktion so aus

    function sendpm ($sid,$eid,$ti,$te,$status = 0) {
      if (is_array($eid)) {
      	db_query("INSERT INTO `prefix_pm` (`sid`,`eid`,`time`,`titel`,`txt`,`status`) ".
      	"SELECT  ".$sid.",`prefix_user`.`id`,'".time()."','".$ti."','".$te."',".$status." FROM `prefix_user` WHERE `prefix_user`.`id` IN (" . implode(',', $eid) . ")");
      } else {
      	db_query("INSERT INTO `prefix_pm` (`sid`,`eid`,`time`,`titel`,`txt`,`status`) VALUES (".$sid.",".$eid.",'".time()."','".$ti."','".$te."',".$status.")");
      }
    }
    ?>



    Kann mir bei dem Problem bitte jemand helfen grumml

    im vorraus schon mal danke lächeln
    Harte Arbeit hat noch niemandem geschadet, aber warum soll ich ein Risiko eingehen.
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    MVN050 Mitglied
    Registriert seit
    20.09.2008
    Beiträge
    1.273
    Beitragswertungen
    29 Beitragspunkte
    ich glaube das sich in der zeit von fast 5 jahren malder code ändern wird oder? lachen

    willst du jetzt eine email schreiben oder eine pm schreiben? für pm kuck dir das mal an
    externer Link
    für email steht bissle oben drüberwas
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Beachy Mitglied
    Registriert seit
    09.10.2007
    Beiträge
    13
    Beitragswertungen
    0 Beitragspunkte
    Ne,

    ich will es so haben, das wenn ich eine PN von einem anderen User bekomm eine Email erhalte wo z.B. drin steht das ich eine neue PN bekommen hab zunge

    Also eine automatische Email versendung lächeln
    Harte Arbeit hat noch niemandem geschadet, aber warum soll ich ein Risiko eingehen.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    MVN050 Mitglied
    Registriert seit
    20.09.2008
    Beiträge
    1.273
    Beitragswertungen
    29 Beitragspunkte
    kannst du doch in den userprofil einstellen oder nich?
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Beachy Mitglied
    Registriert seit
    09.10.2007
    Beiträge
    13
    Beitragswertungen
    0 Beitragspunkte
    Nicht wirklich traurig
    Harte Arbeit hat noch niemandem geschadet, aber warum soll ich ein Risiko eingehen.
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Beachy Mitglied
    Registriert seit
    09.10.2007
    Beiträge
    13
    Beitragswertungen
    0 Beitragspunkte
    Also hier ist die Lösung dank Mairu...

    Besten Dank hierfür nochmal.

    Falls jemand ein Script braucht das Emails versendet bei PN eingang...

    Einfach ganz unten:

    function sendpm ($sid,$eid,$ti,$te,$status = 0) {
      if (is_array($eid)) {
      	db_query("INSERT INTO `prefix_pm` (`sid`,`eid`,`time`,`titel`,`txt`,`status`) ".
      	"SELECT  ".$sid.",`prefix_user`.`id`,'".time()."','".$ti."','".$te."',".$status." FROM `prefix_user` WHERE `prefix_user`.`id` IN (" . implode(',', $eid) . ")");
      } else {
      	db_query("INSERT INTO `prefix_pm` (`sid`,`eid`,`time`,`titel`,`txt`,`status`) VALUES (".$sid.",".$eid.",'".time()."','".$ti."','".$te."',".$status.")");
      }
    }



    Mit diesem Code ersetzen:

    function sendpm($sid, $eid, $ti, $te, $status = 0) {
        if (!is_array($eid)) {
            $eid = array($eid);
        }
        $uqry = db_query('SELECT id, email FROM prefix_user WHERE id IN (' . implode(',', $eid) . ')');
        $mailAdresses = array();
        $pmData = array();
        $time = time();
        while ($row = db_fetch_assoc($uqry)) {
            if (!empty($row['email'])) {
                $mailAdresses[] = $row['email'];
            }
            $pmData[] = '(' . $sid . ', ' . $row['id'] . ',' . $time . ',"' . $ti . '","' . $te . '",' . $status . ')';
        }
        db_query('INSERT INTO `prefix_pm` (sid,eid,time,titel,txt,status) VALUES ' . implode(',', $pmData));
        $host = $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
        foreach ($mailAdresses as $mail) {
            icmail($mail, 'Neue PM', 'Du hast eine neue PM.' . "n" . 'Du kannst sie hier: ' . $host . '?forum-privmsg abrufen.');
        }
    }



    Funktioniert aufjedenfall für das Clanscript 1.1 O
    Harte Arbeit hat noch niemandem geschadet, aber warum soll ich ein Risiko eingehen.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten