Author Topic: E-mail an Admin und User bei neuen Kommentar  (Read 37119 times)

0 Members and 1 Guest are viewing this topic.

Offline www.ul-piloten.de

  • Newbie
  • *
  • Posts: 47
    • View Profile
    • Das Portal für Ultraleicht Piloten
E-mail an Admin und User bei neuen Kommentar
« on: February 16, 2009, 09:31:16 PM »
Hallo liebe Spezialisten,
ich habe hier im Forum den folgenden Code für die Datei: details.php gefunden.
Der User bekommt nun bei neu geschriebenen Kommentar eine E-Mail  :)

Code: [Select]
    if (!$error)  {
      $sql = "INSERT INTO ".COMMENTS_TABLE."
              (image_id, user_id, user_name, comment_headline, comment_text, comment_ip, comment_date)
              VALUES
              ($id, ".$user_info['user_id'].", '$user_name', '$comment_headline', '$comment_text', '".$session_info['session_ip']."', ".time().")";
      $site_db->query($sql);
      $commentid = $site_db->get_insert_id();
      update_comment_count($id, $user_info['user_id']);
   $sql = "SELECT image_name FROM ".IMAGES_TABLE." WHERE image_id = $id";
    $image_name = $site_db->query($sql);
    $sql = "SELECT user_id FROM ".IMAGES_TABLE." WHERE image_id = $id";
    $user_id = $site_db->query($sql);
   
    $recipient_name = $image_row['user_name'];
    $recipient_email = $image_row['user_email'];
    $recipient_name = $config['site_name'];
    $recipient_email = $config['site_email'];
    $image_url = $script_url."/details.php?".URL_IMAGE_ID."=".$id."";
   
       // Start Emailer für comments
    include(ROOT_PATH.'includes/email.php');
    $site_email = new Email();
    $site_email->set_to($recipient_email);
    $site_email->set_from($config['site_email'], $config['site_name']);
    $site_email->set_subject("Neuer Kommentar wurde geschrieben");
    $site_email->register_vars(array(
      "user_name" => $image_row['user_name'],
      "recipient_name" => $recipient_name,
      "image_name" => $image_row['image_name'],
      "comment_date" => format_date($config['date_format']." ".$config['time_format'], $current_time),
      "site_name" => $config['site_name'],
      "image_url" => $image_url,
          ));
    $site_email->set_body("comment_email", $config['language_dir']);
    $site_email->send_email();

Wie gesagt bekommt der User bei einem neuen Kommentar eine E-mail. Doch leider bekommt der Admin keine Nachricht  :(
Wenn ich den folgenden Code lösche, bekommt der Admin eine E-Mail, aber der User nicht mehr.
Code: [Select]
    $recipient_name = $config['site_name'];
    $recipient_email = $config['site_email'];

Was mache ich falsch?
Welchen Code muss ich einfügen, damit der User und Admin eine E-Mail bekommt?
Oder noch besser wäre es wenn der Admin, User und alle anderen die zu dem Photo einen Kommentar geschrieben haben ein E-Mail Benachrichtigung bekommen.

Freue mich riesig auf Eure Hilfe.
Gruß
Michael

UL-Piloten.de // Das Portal für Ultraleicht - Piloten und Interessierte

Offline KurtW

  • 4images Guru
  • *******
  • Posts: 2.778
    • View Profile
    • Malediven-Bilder ~~Dreams~~
Re: E-mail an Admin und User bei neuen Kommentar
« Reply #1 on: February 17, 2009, 06:07:03 AM »
Hallo,

zum Ersten würde ich in dem mod- thread posten, wo du auch schon den Code rauskopiert hast.
So erhält der modowner eine Nachricht, dass jemand eine Frage dazu hat.


Kurt

Offline www.ul-piloten.de

  • Newbie
  • *
  • Posts: 47
    • View Profile
    • Das Portal für Ultraleicht Piloten
Re: E-mail an Admin und User bei neuen Kommentar
« Reply #2 on: February 17, 2009, 06:38:50 AM »
Hallo,

zum Ersten würde ich in dem mod- thread posten, wo du auch schon den Code rauskopiert hast.
So erhält der modowner eine Nachricht, dass jemand eine Frage dazu hat.


Kurt

Hallo Kurt,

der thrad ist aus dem Jahr 2002, und der Moderator seit dem Jahr 2007 nicht mehr aktiv.
Deshalb habe ich die Frage neu eingestellt!
Ich würde mich freuen hier Hilfe zu bekommen.

Gruß
Michael

UL-Piloten.de // Das Portal für Ultraleicht - Piloten und Interessierte

Offline seeyou

  • Pre-Newbie
  • Posts: 5
    • View Profile
Re: E-mail an Admin und User bei neuen Kommentar
« Reply #3 on: February 17, 2009, 10:45:39 AM »
Hey, hatte auch probiert, das über den Thread im Forum zu machen ging aber Nie,

Deswegen, der Harte weg --> deteils.php

Code: [Select]
if (!$error)  {
      $sql = "INSERT INTO ".COMMENTS_TABLE."
              (image_id, user_id, user_name, comment_headline, comment_text, comment_ip, comment_date)
              VALUES
              ($id, ".$user_info['user_id'].", '$user_name', '$comment_headline', '$comment_text', '".$session_info['session_ip']."', ".time().")";
      $site_db->query($sql);
      $commentid = $site_db->get_insert_id();
      update_comment_count($id, $user_info['user_id']);
 
//MAIL-Start
$sql = "SELECT image_name FROM ".IMAGES_TABLE." WHERE image_id = $id";
    $image_name = $site_db->query($sql);
    $sql = "SELECT user_id FROM ".IMAGES_TABLE." WHERE image_id = $id";
    $user_id = $site_db->query($sql);
   
    $recipient_name = $image_row['user_name'];
    $recipient_email = $image_row['user_email'];
    $image_url = $script_url."/details.php?".URL_IMAGE_ID."=".$id."";


//Abfrage wegen mail
  $sql = "SELECT user_mail_text
          FROM ".USERS_TABLE."
              WHERE user_name = '$recipient_name' "; 
      $result = $site_db->query_firstrow($sql);
      $mailtext = $result['user_mail_text'];

//Abfrage wegen mail




if ($recipient_name != $user_name && $mailtext != 0)
{
//MAIL
$sender = "Foto.seeyou";
$sendermail = "foto@seeyou.de";
$zeit = "geschrieben am ".date("d.m.Y").", um ".date("H:i");
 
  $empfaenger = $recipient_email;
  $betreff = "Neuer Kommentar zu deinem Bild";
  $text = "Hallo $recipient_name,
           es wurde folgender Kommentar von: $user_name zu deinem Bild hinterlassen,
   \n
   $comment_headline ,
   $comment_text
   $zeit
   \n
   um direkt zu dem Bild zu gelangen folge folgendem Link:
   $image_url        
   ";
  mail($empfaenger, $betreff, $text,
       "From: $sender <$sendermail>"); 

}
// Mail

Ist nicht gaz 1A Funktionier aber einwandfrei,

Solltest natürlich den Absender sowie dessen Mail Adresse Ändern,
Im Moment bekommt der Benutzer eine Mail, wenn ein Kommentar zu seinem Bild hinterlassen wurde.

Wenn du willst das auch der Admin eine bekommt musst du nur noch einmal den Code Kopieren und die Maiil Adresse des Admins einsetzen,

Das wo Abfrage steht, ist eine Erweiterung der Datenbank, sodass der Bildbesitzer/user einstellen kann ob er benachrichtigungen bei Kommentaren zu seinen Bildern entfangen will.

Dafür die Datenbank erweitern:
ALTER TABLE 4images_users ADD (user_mail_text INT UNSIGNED);
UPDATE 4images_users SET user_mail_text =1;

Jetz in der Membereditprofile.html folgendes einfügen:

Code: [Select]
<!-- Mod Mail -->
<tr>
            <td class="row2"><b>Benachrichtigung bei Kommentar</b></td>
            <td class="row2">
              <input type="radio" name="user_mail_text" value="1"{user_mail_text_yes} />
              {lang_yes}&nbsp;&nbsp;&nbsp;
              <input type="radio" name="user_mail_text" value="0"{user_mail_text_no} />
              {lang_no}
            </td>
          </tr>
<!-- Mod Mail -->  

und in der db_field_definitions.php
folgende Zeile anhängen:
Code: [Select]
$additional_user_fields['user_mail_text'] = array($lang['mail_text'], "radio", 0);
Damit funktioniert das schon einmal ..

Hoffe hilft dir weiter





Offline www.ul-piloten.de

  • Newbie
  • *
  • Posts: 47
    • View Profile
    • Das Portal für Ultraleicht Piloten
Re: E-mail an Admin und User bei neuen Kommentar
« Reply #4 on: February 17, 2009, 05:31:21 PM »
Hallo und vielen Dank für die Hilfe,

leider funktioniert das nicht bei mir  :(
Ich habe meinen oben bechriebenen Code mit deinem ersetzt, aber dann bekommt weder der User noch der Admin eine E-Mail.
Wahrscheinlich habe ich wohl etwas falsch gemacht!

Gibt es nicht die Möglichkeit meinen Code beizubehalten (Der User bekommt ja eine Mail) und die E-Mailadresse des Admin fest in der details.php zu hinterlegen?
So dass beide eine E-Mail bekommen!

Freue mich riesig auf Antworten.
Gruß
Michael

UL-Piloten.de // Das Portal für Ultraleicht - Piloten und Interessierte

Offline seeyou

  • Pre-Newbie
  • Posts: 5
    • View Profile
Re: E-mail an Admin und User bei neuen Kommentar
« Reply #5 on: February 17, 2009, 06:23:44 PM »
wenn du deins ausbauen willst, kannst du auch folgenden Code unter die Zeile 35 setzen

Code: [Select]
// Start Admin-Mail

    $recipient_name = $config['site_name'];
    $recipient_email = $config['site_email'];

    include(ROOT_PATH.'includes/email.php');
    $site_email = new Email();
    $site_email->set_to($recipient_email);
    $site_email->set_from($config['site_email'], $config['site_name']);
    $site_email->set_subject("Neuer Kommentar wurde geschrieben");
    $site_email->register_vars(array(
      "user_name" => $image_row['user_name'],
      "recipient_name" => $recipient_name,
      "image_name" => $image_row['image_name'],
      "comment_date" => format_date($config['date_format']." ".$config['time_format'], $current_time),
      "site_name" => $config['site_name'],
      "image_url" => $image_url,
          ));
    $site_email->set_body("comment_email", $config['language_dir']);
    $site_email->send_email();



jedoch würd ich dann auch den Body, der mail neu setzen, sonst wird der Admin immer mit dem user namen Angesprochen.

Offline www.ul-piloten.de

  • Newbie
  • *
  • Posts: 47
    • View Profile
    • Das Portal für Ultraleicht Piloten
Re: E-mail an Admin und User bei neuen Kommentar
« Reply #6 on: February 17, 2009, 06:55:46 PM »
Hallo und Danke für die schnelle Antwort.

Nun erhalte ich beim schreiben eines Kommentar die folgende Fehlermeldung :
Code: [Select]
Fatal error: Cannot redeclare class email in /www/htdocs/w0097a95/wbb2/4images/includes/email.php on line 28
Hier der Code wie ich ihn eingefügt habe:
Code: [Select]
    if (!$error)  {
      $sql = "INSERT INTO ".COMMENTS_TABLE."
              (image_id, user_id, user_name, comment_headline, comment_text, comment_ip, comment_date)
              VALUES
              ($id, ".$user_info['user_id'].", '$user_name', '$comment_headline', '$comment_text', '".$session_info['session_ip']."', ".time().")";
      $site_db->query($sql);
      $commentid = $site_db->get_insert_id();
      update_comment_count($id, $user_info['user_id']);
        $sql = "SELECT image_name FROM ".IMAGES_TABLE." WHERE image_id = $id";
    $image_name = $site_db->query($sql);
    $sql = "SELECT user_id FROM ".IMAGES_TABLE." WHERE image_id = $id";
    $user_id = $site_db->query($sql);
   
    $recipient_name = $image_row['user_name'];
    $recipient_email = $image_row['user_email'];
    $image_url = $script_url."/details.php?".URL_IMAGE_ID."=".$id."";
   
       // Start Emailer für comments
    include(ROOT_PATH.'includes/email.php');
    $site_email = new Email();
    $site_email->set_to($recipient_email);
    $site_email->set_from($config['site_email'], $config['site_name']);
    $site_email->set_subject("Comment Posted");
    $site_email->register_vars(array(
      "user_name" => $image_row['user_name'],
      "recipient_name" => $recipient_name,
      "image_name" => $image_row['image_name'],
      "comment_date" => format_date($config['date_format']." ".$config['time_format'], $current_time),
      "site_name" => $config['site_name'],
      "image_url" => $image_url,
          ));
    $site_email->set_body("comment_email", $config['language_dir']);
    $site_email->send_email();
// Start Admin-Mail

    $recipient_name = $config['site_name'];
    $recipient_email = $config['site_email'];

    include(ROOT_PATH.'includes/email.php');
    $site_email = new Email();
    $site_email->set_to($recipient_email);
    $site_email->set_from($config['site_email'], $config['site_name']);
    $site_email->set_subject("Neuer Kommentar wurde geschrieben");
    $site_email->register_vars(array(
      "user_name" => $image_row['user_name'],
      "recipient_name" => $recipient_name,
      "image_name" => $image_row['image_name'],
      "comment_date" => format_date($config['date_format']." ".$config['time_format'], $current_time),
      "site_name" => $config['site_name'],
      "image_url" => $image_url,
          ));
    $site_email->set_body("comment_email", $config['language_dir']);
    $site_email->send_email();
    }
  }
  unset($row);
  unset($spam_row);
}

//-----------------------------------------------------
//--- Show Comments -----------------------------------
//-----------------------------------------------------

Wo liegt der Fehler?
Würde mich über weitere Hilfe freuen :wink:

Gruß
Michael


UL-Piloten.de // Das Portal für Ultraleicht - Piloten und Interessierte

Offline seeyou

  • Pre-Newbie
  • Posts: 5
    • View Profile
Re: E-mail an Admin und User bei neuen Kommentar
« Reply #7 on: February 17, 2009, 06:58:45 PM »
nimmm mal zeile 39 raus

Offline www.ul-piloten.de

  • Newbie
  • *
  • Posts: 47
    • View Profile
    • Das Portal für Ultraleicht Piloten
Re: E-mail an Admin und User bei neuen Kommentar
« Reply #8 on: February 17, 2009, 07:08:50 PM »
 :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D

SUPER, ES KLAPPPT!!!

1000 Dank, ich lade dich zu einem Rundflug ein.
Die passenden Photos kannst Du Dir ja schon einmal in der Galerie anschauen.

Gruß
Michael

UL-Piloten.de // Das Portal für Ultraleicht - Piloten und Interessierte

Offline seeyou

  • Pre-Newbie
  • Posts: 5
    • View Profile
Re: E-mail an Admin und User bei neuen Kommentar
« Reply #9 on: February 17, 2009, 07:38:48 PM »
Ok, ich komm vorbei

darf ich noch jemanden mitbringen ? :?:?

Offline www.ul-piloten.de

  • Newbie
  • *
  • Posts: 47
    • View Profile
    • Das Portal für Ultraleicht Piloten
Re: E-mail an Admin und User bei neuen Kommentar
« Reply #10 on: February 17, 2009, 07:45:40 PM »
...noch eine kleine Einschränkung, der Passagier sollte nicht über 80kg wiegen.

Gruß
Michael

UL-Piloten.de // Das Portal für Ultraleicht - Piloten und Interessierte

Offline seeyou

  • Pre-Newbie
  • Posts: 5
    • View Profile
Re: E-mail an Admin und User bei neuen Kommentar
« Reply #11 on: February 17, 2009, 07:53:18 PM »
Dann kann ich ja warten während du mit meinem Engel abhebst ?

Offline www.ul-piloten.de

  • Newbie
  • *
  • Posts: 47
    • View Profile
    • Das Portal für Ultraleicht Piloten
Re: E-mail an Admin und User bei neuen Kommentar
« Reply #12 on: February 18, 2009, 07:02:30 AM »
So können wir das machen, Startflugplatz wäre Oerlinghausen (bei Bielefeld).
Also wenn Ihr in der Nähe seid, meldet Euch. Am besten über meine Website.


UL-Piloten.de // Das Portal für Ultraleicht - Piloten und Interessierte

Offline bergblume

  • Sr. Member
  • ****
  • Posts: 463
  • on to the top!
    • View Profile
Re: send automatically E-mail to Admin and User by new comment
« Reply #13 on: July 08, 2009, 11:10:47 PM »
geniale sache... vielen dank für diesen wertvollen mod...

anbei nochmals der funktionierende code (ohne zeile 39 ;-) ) --- zu ändern in details.php

search for

Code: [Select]
//-----------------------------------------------------
//--- Show Comments -----------------------------------
//-----------------------------------------------------

add above:

Code: [Select]
  if (!$error)  {
      $sql = "INSERT INTO ".COMMENTS_TABLE."
              (image_id, user_id, user_name, comment_headline, comment_text, comment_ip, comment_date)
              VALUES
              ($id, ".$user_info['user_id'].", '$user_name', '$comment_headline', '$comment_text', '".$session_info['session_ip']."', ".time().")";
      $site_db->query($sql);
      $commentid = $site_db->get_insert_id();
      update_comment_count($id, $user_info['user_id']);
      $msg = $lang['comment_success'];
        $sql = "SELECT image_name FROM ".IMAGES_TABLE." WHERE image_id = $id";
    $image_name = $site_db->query($sql);
    $sql = "SELECT user_id FROM ".IMAGES_TABLE." WHERE image_id = $id";
    $user_id = $site_db->query($sql);
    
    $recipient_name = $image_row['user_name'];
    $recipient_email = $image_row['user_email'];
    $image_url = $script_url."/details.php?".URL_IMAGE_ID."=".$id."";

    
       // Start Emailer für comments
    include(ROOT_PATH.'includes/email.php');
    $site_email = new Email();
    $site_email->set_to($recipient_email);
    $site_email->set_from($config['site_email'], $config['site_name']);
    $site_email->set_subject("Comment Posted");
    $site_email->register_vars(array(
      "user_name" => $image_row['user_name'],
      "recipient_name" => $recipient_name,
      "image_name" => $image_row['image_name'],
      "comment_date" => format_date($config['date_format']." ".$config['time_format'], $current_time),
      "site_name" => $config['site_name'],
      "image_url" => $image_url,
          ));
    $site_email->set_body("comment_email", $config['language_dir']);
    $site_email->send_email();
// Start Admin-Mail

    $recipient_name = $config['site_name'];
    $recipient_email = $config['site_email'];

    $site_email = new Email();
    $site_email->set_to($recipient_email);
    $site_email->set_from($config['site_email'], $config['site_name']);
    $site_email->set_subject("Neuer Kommentar wurde geschrieben");
    $site_email->register_vars(array(
      "user_name" => $image_row['user_name'],
      "recipient_name" => $recipient_name,
      "image_name" => $image_row['image_name'],
      "comment_date" => format_date($config['date_format']." ".$config['time_format'], $current_time),
      "site_name" => $config['site_name'],
      "image_url" => $image_url,
          ));
    $site_email->set_body("comment_email", $config['language_dir']);
    $site_email->send_email();
    }
  }
  unset($row);
  unset($spam_row);
}

please note to compare the upper part of this code and delete in case some duplicate contents in your details.php....

Offline Sunny C.

  • Addicted member
  • ******
  • Posts: 1.805
  • I ♥ 4I
    • View Profile
Re: E-mail an Admin und User bei neuen Kommentar
« Reply #14 on: July 09, 2009, 07:37:59 PM »
Habs mal in meiner Liste aufgenommen!