ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Info Mail bei neuen War Eintrag

Geschlossen
  1. #1
    User Pic
    Cmd.Nebula Mitglied
    Registriert seit
    13.01.2012
    Beitrge
    4
    Beitragswertungen
    0 Beitragspunkte
    Hallo ,

    suche eine möglichkeit , das wenn ein neuer War im Nextwar eingetragen wird , alle Member eines gleichen rechts per Mail über den neuen Eintrag informiert wird.


    Mfg

    Cmd.Nebula
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beitrge
    7.510
    Beitragswertungen
    1165 Beitragspunkte
    In admin/wars unter case 'next' nach dem db INSERT einfach die Funktion icmail() einbasteln!
    Als Empfänger der Emails der Teammitglieder (tid) vorher abfragen!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Cmd.Nebula Mitglied
    Registriert seit
    13.01.2012
    Beitrge
    4
    Beitragswertungen
    0 Beitragspunkte
    Hallo Lord Schirmer ,

    danke für die schnelle Antwort , habe mir gleich mal nen php Editor runtergeladen und werde es mal erst selber versuchen hinzubekommen.

    Hab von der Sache zwar gar keine Ahnung , aber ich werds versuchen.

    Ich nehme an das hier richtig bin ?

    # Next wars
    	case 'next' :
    
    	db_query("INSERT INTO prefix_wars (datime,`status`,gegner,tag,page,mail,icq,wo,tid,`mod`,game,mtyp,land,txt) VALUES ('".get_datime()."',2,'".$_POST['gegner']."','".$_POST['tag']."','".$_POST['page']."','".$_POST['email']."','".$_POST['icq']."','".$_POST['wo']."','".$_POST['tid']."','".$_POST['mod']."','".$_POST['game']."','".$_POST['mtyp']."','".$_POST['land']."','".$_POST['txt']."')");


    würde die Funktion dann hier irgendwie mit einbauen , hoffe dat ist richtig.

    Falls nicht werde ich mich wohl wieder melden.

    Danke nochmals

    Cmd.Nebula


    Zuletzt modifiziert von Lord|Schirmer am 15.01.2012 - 01:38:36
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Cmd.Nebula Mitglied
    Registriert seit
    13.01.2012
    Beitrge
    4
    Beitragswertungen
    0 Beitragspunkte
    Hey Lord Schirmer , habs erstmal hinbekommen. Zumindest bekomme ich eine Email an eine bestimmte adresse gesendet.

    Das mit der (tid) sehe ich mir morgen an.

    Danke nochmals


    Cmd.Nebula
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beitrge
    7.510
    Beitragswertungen
    1165 Beitragspunkte
    Bitte Code in den vorgesehenen Tag [code] setzen. Siehe über dem Eingabefeld. Link BBCode Hilfe.

    Ansonsten sehr schön ... poste einfach deine Ausführung sofern Du noch Hilfe benötigst.
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Cmd.Nebula Mitglied
    Registriert seit
    13.01.2012
    Beitrge
    4
    Beitragswertungen
    0 Beitragspunkte
    Hey Lord Schirmer ,

    hab alles hinbekommen und funktioniert ohne Fehler.

    Danke für die geistliche Anregung.

    Also bis bald

    Cmd.Nebula


    PS: Den nächsten Code poste ich richtig :-)
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    wor Mitglied
    Registriert seit
    05.03.2008
    Beitrge
    49
    Beitragswertungen
    0 Beitragspunkte
    Hallo mit einander,

    ist zwar ein halbes Jahr her wollte aber kein neues Thema erstellen da ich eigentlich das gleiche brauche.

    ZitatZitat geschrieben von Lord|Schirmer

    In admin/wars unter case 'next' nach dem db INSERT einfach die Funktion icmail() einbasteln!
    Als Empfänger der Emails der Teammitglieder (tid) vorher abfragen!


    die icmail() Funktion konnte ich erfolgreich einbauen nur das mit der Teilnehmer ID und dem vorherigen auslesen der eMail Adressen der Teammitglieder (tid) bekomme ich nicht gebacken.

    Man muss ja erst aus der prefix_groupusers mit Hilfe der (gid) feststellen welcher User (uid) zu welchem Team (gid) gehört.

    Und dann wiederum mit der gewonnen Erkenntnis die E-Mail Adressen dieser User aus der prefix_user Tabelle auslesen.

    Aber wie macht man das ??? habe da leider nicht das richtige Fachwissen um es in PHP richtig umzusetzen und hier wurde nur geschrieben das es alles geklappt hat aber wie leider nicht.

    Hoffe einer könnte mir diese Funktion als ein Codeschnippsel zur Verfügung stellen das würde mir weiter Helfen.

    Danke schon mal
    wor
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    wor Mitglied
    Registriert seit
    05.03.2008
    Beitrge
    49
    Beitragswertungen
    0 Beitragspunkte
    *hust hust* kennt jemand eine Lösung für mein Problem ? ich komm da nicht weiter da reicht mein wissen leider nicht aus traurig
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beitrge
    7.510
    Beitragswertungen
    1165 Beitragspunkte
    Schau ich mir heute Abend mal an!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beitrge
    7.510
    Beitragswertungen
    1165 Beitragspunkte
    So ... ausgehend vom originalem War-Script.

    unter der Zeile:

    			if ( empty ($_POST['pkey']) ) {
    				db_query("INSERT INTO prefix_wars (datime,`status`,gegner,tag,page,mail,icq,wo,tid,`mod`,game,mtyp,land,txt) VALUES ('".get_datime()."',2,'".$_POST['gegner']."','".$_POST['tag']."','".$_POST['page']."','".$_POST['email']."','".$_POST['icq']."','".$_POST['wo']."','".$_POST['tid']."','".$_POST['mod']."','".$_POST['game']."','".$_POST['mtyp']."','".$_POST['land']."','".$_POST['txt']."')");
            $wid = db_last_id();


    folgenden Code darunter hinzufügen:

    	$ergPm = db_query("SELECT a.id as userid, a.name, b.uid FROM prefix_groupusers b LEFT JOIN prefix_user a ON a.id = b.uid WHERE b.gid = ".$_POST['tid']);
    	if (db_num_rows($ergPm) >= 1) {
    		while($rowPm = db_fetch_assoc($ergPm) ) {
    			$betreff = 'Neuer Wareintrag von '.$_SESSION['authname'];
    			$text = 'Hallo '.$rowPm['name'].', es wurde ein neuer War von '.$_SESSION['authname'].' fr dein Team eingetragen. [url=/index.php?wars-more-'.$wid.']Link zum War[/url]';
    			sendpm ($_SESSION['authid'],$rowPm['userid'],$betreff,$text,-1);
    		}
    	}


    Habe es nicht getestet, sollte funktionieren. Geht aber nur bei Neueintrag (nicht Änderung) an das ausgewählte Team.


    Zuletzt modifiziert von Lord|Schirmer am 29.07.2012 - 17:30:47
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    wor Mitglied
    Registriert seit
    05.03.2008
    Beitrge
    49
    Beitragswertungen
    0 Beitragspunkte
    Sorry das ich so spät Antworte konnte nicht früher.

    hmm... ich verstehe nicht wirklich was da genau passiert aber ich sehe das zum Schluss sendpm() aber sollte da nicht icmail() sein damit eine E-Mail gesendet wird.

    Ich habe es bis her soweit geschafft das eine E-Mail an eine bestimmte E-Mail Adresse gesendet wird. Was mir jetzt Fehlt ist das die E-Mail Adressen der Teammitglieder ausgelesen werden und dann die E-Mail zu jedem Mitglied kommt.

    So sieht mein Code im Moment aus, ich habe es hier aus dem Forum irgend wo heraus kopiert und durch ausprobieren soweit gebracht das es funktioniert also ist der Code möglicherweise nicht Perfekt und eventuell total Falsch aber so funktioniert es, nur das mit der E-Mail Adresse kriege ich nicht hin das ist zu hoch für mich.

    			if ( empty ($_POST['pkey']) ) {
    				db_query("INSERT INTO prefix_wars (datime,`status`,gegner,tag,page,mail,icq,wo,tid,`mod`,game,mtyp,land,txt) VALUES ('".get_datime()."',2,'".$_POST['gegner']."','".$_POST['tag']."','".$_POST['page']."','".$_POST['email']."','".$_POST['icq']."','".$_POST['wo']."','".$_POST['tid']."','".$_POST['mod']."','".$_POST['game']."','".$_POST['mtyp']."','".$_POST['land']."','".$_POST['txt']."')");
            $wid = db_last_id();
    
            # Mail bei Nextwar
    		
    function getSiteURL($endslash = true)
    {
        $site = 'http://' . $_SERVER['HTTP_HOST'];
        $dir = dirname($_SERVER['SCRIPT_NAME']);
        if (strlen($dir) == 1) {
            if ($endslash) {
                $site .= '/';
            }
        } else {
            $site .= $dir . ($endslash ? '/' : '');
        }
        return $site;
    }	
    	
    $link = getSiteURL().'index.php?wars-more-'.$wid;		
    $text = 'Hallo,<br/><br/> soeben wurde ein neues War auf unserer Seite eingetragen. <br/><br/>Mehr Infos bzw. An -oder Ab sagen kannst du unter diesem Link: <a href="'.$link.'">zu dem War</a><br/><br/><br/><br/>Mit freundlichen Grssen<br/>Administrator';	
    icmail('hiersolldie@teamidemailfunktion.rein','Ein Neues War', $text,"","true");
    		
            # Ende Mail Nextwar
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beitrge
    7.510
    Beitragswertungen
    1165 Beitragspunkte
    Ups ... irgendwie hatte ich wohl PM im Kopf.

    Probiers mal so (gleiche Stelle):

    $ergPm = db_query("SELECT a.id as userid, a.email, a.name, b.uid FROM prefix_groupusers b LEFT JOIN prefix_user a ON a.id = b.uid WHERE b.gid = ".$_POST['tid']);
    if (db_num_rows($ergPm) >= 1) {
    	while($rowPm = db_fetch_assoc($ergPm) ) {
    		
    		$betreff = 'Neuer Wareintrag von '.$_SESSION['authname'];
    		
    		$text  = 'Hallo '.$rowPm['name'];
    		$text .= '<br />';
    		$text .= 'es wurde ein neuer War von '.$_SESSION['authname'].' fr dein Team eingetragen.';
    		$text .= '<br /><br />';
    		$text .= '<a href="http://'.$_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"].'?wars-more-'.$wid.'">Link zum eingetragenen War.</a>';
    		$text .= '<br /><br />';
    		$text .= 'Mit freundlichem Gru';
    		$text .= '<br />';
    		$text .= 'Administrator';	
    
    		icmail ($rowPm['email'], $betreff, $text,'' , 'true');
    	}
    }
    rules :: doku :: faq :: linkus
    1 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    wor Mitglied
    Registriert seit
    05.03.2008
    Beitrge
    49
    Beitragswertungen
    0 Beitragspunkte
    So auf die schnelle noch getestet und es scheint zu funktionieren, werde morgen noch ausführlicher testen aber im Moment sieht es sehr gut aus.

    Vielen Dank
    wor
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurck zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten