4images Forum & Community

4images Modifications / Modifikationen => Mods & Plugins (Requests & Discussions) => Topic started by: dabri on August 02, 2002, 03:02:03 PM

Title: Benachrichtigung bei Kommentaren
Post by: dabri on August 02, 2002, 03:02:03 PM
Gibt es eine Möglichkeit, das bei neuen Kommentaren der Admin oder von mir aus der Uploader (wäre bei mir der gleiche, nämlich ich :wink: ) eine Benachrichtigung per eMail erhält.

Des Weiteren auch registriete User die einen Kommentar zu einem Bild abgegeben haben, eine eMail erhalten wenn zu diesem Bild ein weiterer Kommentar abgegeben wurde.

Wenn es dafür noch kein Mod oder ähnliches gibt, vielleicht könnte das ja in eine zukünftige Version integriert werden?

Gruß Daniel
Title: Benachrichtigung bei Kommentaren
Post by: Jan on August 02, 2002, 08:35:05 PM
Wurde schonmal gewünscht. Habs auf die Liste gesetzt.

Jan
Title: Ein bisher mißglückter Versuch dies selbst umzusetzen
Post by: Tommy on November 08, 2002, 09:46:56 AM
Hi,
Fein das Jan diese Funktion auf seine Wunschliste gesetzt hat. :) In der Zwischenzeit wollte ich mir jedoch eine Notbehelfslösung dafür basteln.
Doch leider wirft es mir bei meinen "SQL-Abfragen" ein paar Fehler aus.

Mein Ansatzpunkt war/ist das so eine Mailfunktion, am besten dahin gehört wo auch der Kommentar gespeichert wird. Dies wäre in der "details.php" bei "SaveComments". Da mir von den benötigten Daten nur die "image_id" in form von $id vorlag, müßte ich mit dieser über weitere SQl-Abfragen die fehlenden Werte ermitteln und in Variablen einspeisen. Während die Abfragen in "phpmysql" funktionieren, geht es im untenstehenden code ab 3. und 4. nicht? Und das irrietiert mich ziemlich ;)

Habe zwar auch den "phpbbmode" bei mir integriert, aber daran liegt es sicher nicht, da auf die richtige user_table zugegriffen wird.

Meiner Meinung nach liegt der "Fehler" in der Variable "$user_id" die durch die 2. Sql-Abfrage gefüttert wird und dann an die 3. Sql-Abfrage weitergegeben wird.

Hier erstmal die Fehlermeldung die ich erhalte:

Code: [Select]

//DB Error: Bad SQL Query: SELECT user_name FROM phpbb_users WHERE user_id = Resource id #20
//You have an error in your SQL syntax near 'id #20' at line 1

//DB Error: Bad SQL Query: SELECT user_email FROM phpbb_users WHERE user_id = Resource id #20
//You have an error in your SQL syntax near 'id #20' at line 1


und das wäre der Code den ich benütze:

Code: [Select]

//-----------------------------------------------------
//--- Save Comment aus details.php --------------------
//-----------------------------------------------------
$error = 0;
.
.
    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-Abfragen zur Ermittlung der Daten für die E-Mail-Routine:
//1-Der Bild-Titel soll mit Hilfe der bekannten image_id $id ermittelt werden - Status: OK
$sql = "SELECT image_name FROM ".IMAGES_TABLE." WHERE image_id = $id";
$image_name = $site_db->query($sql);
//2-Die (user_id) des Bild-Eigentümers soll mit Hilfe der bekannten image_id $id ermittelt werden - Status: OK
$sql = "SELECT user_id FROM ".IMAGES_TABLE." WHERE image_id = $id";
$user_id = $site_db->query($sql);
//3-Der Name des Bildeigentümers soll mit Hilfe der vorher ermittelten $user_id ermittelt werden - Status: GEHT NICHT
$sql = "SELECT user_name FROM ".USERS_TABLE." WHERE user_id = $user_id";
$recipient_name = $site_db->query($sql);
//4-Die E-Mail-Adresse des Bildeigentümers soll mit Hilfe der vorher ermittelten $user_id ausgegeben werden werden - Status: GEHT NICHT
$sql = "SELECT user_email FROM ".USERS_TABLE." WHERE user_id = $user_id";
$recipient_email = $site_db->query($sql);

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

    }
  }
  unset($row);
  unset($spam_row);
}
.
.


Für jegliche Anregung und Hilfe wäre ich echt dankbar ;)

... und Tschüß

tommy
Title: Benachrichtigung bei Kommentaren
Post by: Jan on November 08, 2002, 10:09:18 AM
Alle Daten die Du aus der Datenbank auslesen willst sind bereits vorhanden, Du kannst Dir die Datenbankabfragen also sparen.

recipient_email -> $image_row['user_email']
user_name -> $image_row['user_name']
image_name -> $image_row['image_name']

Jan
Title: Benachrichtigung bei Kommentaren
Post by: Tommy on November 09, 2002, 09:45:10 AM
Hallo Jan,

Herzlichen Dank für Deine Hilfe und Anregung :) Hat mir wirklich ne Menge Arbeit erspart und hab wieder was dazu gelernt ;) Nach noch etwas rumtüfteln gestern Abend, funktioniert das nun prima.

Ein kleineres Prob war noch, das der ['user_name'] sich nicht Anzeigen lassen wollte. Bin aber dann draufgekommen das das an der phpbb-integration lag und hab einfach ['user_name'] gegen ['username'] ausgetauscht und somit war auch das gelöst.

Als nochmal recht herzlichen Dank :)

Tommy
Title: Benachrichtigung bei Kommentaren
Post by: Vraxor on November 15, 2002, 09:59:12 AM
HI all,

could someone please explain in english what is done to send a mail when a comment is given.

I've been trying to do this myself and I succeeded in sending a mail, but the mail never left the mailserver because it did not have a receipient.

I really love to get this to work, but I just don't understand much german.

Cheers,
Vraxor
Title: was ist bei gästen?
Post by: migraul on May 05, 2003, 03:54:10 PM
Mich würde interessieren wie kann ich diese Funktion für eine oder mehrere Kategorien abschalten. Ich habe eine Gastgalerie in der man ohne Anmeldung ( Registrierung ) Fotos hochladen kann. Jetzt habe ich bemerkt, was eigentlich logisch ist, das wenn man bei diesen Fotos Kommentare schreibt Fehlermeldungen ausgegeben werden! Kann man die Kommentare per Mail für eine oder mehrere Kategorien abschalten?

Danke!
Title: Benachrichtigung bei Kommentaren
Post by: mag on June 26, 2003, 08:19:46 AM
HI,

kannst du mal den Finalen Code darstellen?
Title: Re: Benachrichtigung bei Kommentaren
Post by: michi-w. on April 20, 2005, 12:23:15 AM
dito
Title: Re: Benachrichtigung bei Kommentaren
Post by: HorrorCrafT on April 21, 2005, 04:44:37 PM
würd mich auch interessieren! bin leider nicht so fitt in php um es selber lösen zu können  :oops: