vpGuestbook - Gästebuchmodul für die 4.6.x

aSoahc
Beiträge: 49
Registriert: Fr 6. Feb 2009, 13:55
Kontaktdaten:

Neue Datumsausgabe

Beitrag von aSoahc » Do 19. Feb 2009, 15:57

Hallo Zusammen,

mir hat die Datumsausgabe nicht sonderlich gefallen und daher hab ich einfach die Ausgabe etwas umgestrickt -> Modul Output ca. Zeile 332. :D
@Dodger77: Oder hat es einen besonderen Grund, dass du die Datumsausgabe so implementiert hast?

Code: Alles auswählen

//  $tpl->set('d', 'DATE',       $eintrag['date']);
     $tpl->set('d', 'DATE',       date('j. M. Y - G:i', $eintrag['date']));        // 18. Feb. 2009 - 20:37
//  $tpl->set('d', 'DATE1',      strftime($dateformat1, $eintrag['date']));
//  $tpl->set('d', 'DATE2',      strftime($dateformat2, $eintrag['date']));
Natürlich die Anpassung im Modul-Template ebenfalls nicht vergessen.

Gruß aSoahc

@Dodger77: Vielen Dank für das tolle Gästebuch.

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: Neue Datumsausgabe

Beitrag von Dodger77 » Do 19. Feb 2009, 16:09

aSoahc hat geschrieben:@Dodger77: Oder hat es einen besonderen Grund, dass du die Datumsausgabe so implementiert hast?
...
Vielen Dank für das tolle Gästebuch.
Gern geschehen. Einen Grund hat das natürlich schon. Die Platzhalter {DATE1} und {DATE2} können beide für eine formatierte Datumsausgabe genutzt werden (siehe dazu auch Seite 7 in der Doku). Man kann natürlich auch nur einen der Platzhalter im Modul-Template verwenden.

initiant
Beiträge: 21
Registriert: Do 17. Apr 2008, 21:17
Wohnort: Mitteleuropa
Kontaktdaten:

Re: vpGuestbook - Gästebuchmodul für die 4.6.x

Beitrag von initiant » Fr 3. Apr 2009, 11:23

Funktioniert Bad Behavior auch mit diesem Gästebuchmodul? Das Gästebuch auf Dodger77 Website weist viele Spameinträge, deshalb meine Frage. Ist so was normal? :?

initiant

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: vpGuestbook - Gästebuchmodul für die 4.6.x

Beitrag von Dodger77 » Fr 3. Apr 2009, 11:48

Bisher im Einsatz sind Bad Behaviour und Project Honeypot. Beides bislang zwar ganz nett (Project Honeypot hat ca. 70000 Spameinträge verhindert), aber vollkommen reicht das doch nicht. Leider fehlt aktuell etwas die Zeit, um da sinnvoll gegen vorzugehen.

Ein paar Posts weiter oben wird übrigens auf eine Erweiterung des Gästebuchs um ein CAPTCHA hingewiesen.

Nakoda
Beiträge: 219
Registriert: Fr 2. Jul 2004, 23:50
Wohnort: Hamburg
Kontaktdaten:

Re: vpGuestbook - Gästebuchmodul für die 4.6.x

Beitrag von Nakoda » Di 5. Mai 2009, 09:39

Moin Moin Dodger77,

ich habe Dein vpGuestbook bei mir eingebaut. Prima Sache das läuft auch alles prima. Habe es jedoch etwas modifiziert und ein captcha mit eingebastelt. War ein wenig Fummelei hat aber mit Hilfe des INet auch geklappt. Nun aber zu meinem Anliegen. Ist es irgendwie möglich die Anzeige der Avatars etwas anders zu gestalten? z. B.: Klick auf einen Link öffnet ein Fenster in dem alle Bildchen angezeigt werden. Wiederum ein Klick wählt dieses dann aus. Das i-Tüpfelchen wäre natürlich wenn man zusätzlich ein eigenes Hochladen könnte wenn einem von den vorgegebenen keines gefällt.
Über eine kleine Rückmeldung würde ich mich freuen und ein Danke schicke ich auch schon mal mit. :D
Gruß aus HH

Armin
http://sig.sysprofile.de/quicksys/sysp-102592.png
Contenido 4.8.18

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: vpGuestbook - Gästebuchmodul für die 4.6.x

Beitrag von Dodger77 » Di 5. Mai 2009, 12:39

Hallo Armin,

einen Bildupload halte ich jetzt nicht für so schön. Man könnte doch stattdessen einen Service wie gravatar o.ä. integrieren. Ich werde das aber in der näherer Zukunft wohl zeitlich eher nicht machen können.

Nakoda
Beiträge: 219
Registriert: Fr 2. Jul 2004, 23:50
Wohnort: Hamburg
Kontaktdaten:

Re: vpGuestbook - Gästebuchmodul für die 4.6.x

Beitrag von Nakoda » Di 5. Mai 2009, 13:15

War halt so'n Gedanke.
Werde mich dann in Geduld üben bis Du die Zeit findest oder ich mich da durchgefummelt habe. Kann mich bei Erfolg hier noch einmal melden. :D
Gruß aus HH

Armin
http://sig.sysprofile.de/quicksys/sysp-102592.png
Contenido 4.8.18

ghinwa
Beiträge: 1
Registriert: Mo 11. Mai 2009, 10:47
Kontaktdaten:

Re: vpGuestbook - Gästebuchmodul für die 4.6.x

Beitrag von ghinwa » Mo 11. Mai 2009, 11:02

hallo leute

ich brauche dringend ein Gästebuch so ungefähr wie das snoopys-guestbook
ich habe phpmyadmin und möchte ein gästebuch haben wo die einträge durch mich freigeschaltet werden..
bitte könnte mir weiter helfen?

Nakoda
Beiträge: 219
Registriert: Fr 2. Jul 2004, 23:50
Wohnort: Hamburg
Kontaktdaten:

Re: vpGuestbook - Gästebuchmodul für die 4.6.x

Beitrag von Nakoda » Mo 11. Mai 2009, 11:09

Guckst Du hier! :D
Gruß aus HH

Armin
http://sig.sysprofile.de/quicksys/sysp-102592.png
Contenido 4.8.18

masch
Beiträge: 104
Registriert: Do 8. Jan 2009, 10:29
Kontaktdaten:

Re: vpGuestbook - Gästebuchmodul für die 4.6.x

Beitrag von masch » Do 14. Mai 2009, 06:48

Hallo,

ich verwende das vpGB. Contenido die aktuelle Version. Konfiguration hat prima geklappt. Sieht auch prächtig aus.
folgendes Problem:
ich verwende 4 Sprachen. unter lang=1 werden Beiträge angezeigt. und lang=2,3,4 erscheint nur der Counter wieviele GB Einträge es gibt.
Ich habe die Artikel zu den anderen Sprachversionen synchronisiert.

weitere Fragen:
welche Möglichkeit gibt es das GB den jeweiligen Sprachversionen anzupassen.
Das Standardkontaktformular zB ist eine absolute Referenz diesbezüglich.

gibt es eine Möglichkeit die IP Adresse des Eintragenden zu verstecken? Also schon speichern, aber nicht öffentlich anzeigen zu lassen?

vielen lieben Dank

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: vpGuestbook - Gästebuchmodul für die 4.6.x

Beitrag von Dodger77 » Do 14. Mai 2009, 10:11

masch hat geschrieben:folgendes Problem:
ich verwende 4 Sprachen. unter lang=1 werden Beiträge angezeigt. und lang=2,3,4 erscheint nur der Counter wieviele GB Einträge es gibt.
Ich habe die Artikel zu den anderen Sprachversionen synchronisiert.

weitere Fragen:
welche Möglichkeit gibt es das GB den jeweiligen Sprachversionen anzupassen.
Das Ausgabe-Modul lässt sich so konfigurieren, dass die Ausgabe von GB-Einträgen sprachspezifisch sein soll (es wir in Sprache 1 nur angezeigt, was in Sprache 1 eingetragen wurde) oder eben nicht (dann werden immer alle Einträge angezeigt).
Man kann außerdem konfigurieren, welches Modul-Template verwendet werden soll. Das lässt sich je Sprache einzeln einstellen. So hat man relativ viele Möglichkeiten, denke ich.
masch hat geschrieben:gibt es eine Möglichkeit die IP Adresse des Eintragenden zu verstecken? Also schon speichern, aber nicht öffentlich anzeigen zu lassen?
Klar. Bei Verwendung der extended-Templateklasse kann man etwas in dieser Form machen:

Code: Alles auswählen

{if("{EDIT}" == "1")}
{IPHOST}
{/if}
Oder den Platzhalter halt gar nicht im Modul-Template einsetzen.

shi
Beiträge: 251
Registriert: Fr 5. Nov 2004, 14:12
Kontaktdaten:

Re: vpGuestbook - Gästebuchmodul für die 4.6.x

Beitrag von shi » Mo 8. Jun 2009, 11:14

Hallo, ich verwende das modul mit capacha. Wenn jetzt ein nbesucher einen falschen Code eingibt werden auch die angaben im Formular gelöscht. kann man das verhindern? So das bei falscher Code eingabe der eingegebende Text erhalten bleibt?

Mein verwendeter Quellcode

Code: Alles auswählen

<?php

/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :	    vpGuestbook 1.9 - Eintrag
* Author      :     Ingo van Peeren, Simon Martinelli
* Copyright   :     Ingo van Peeren (ingo@van-peeren.de), simas - simon martinelli solutions
* Created     :     2005-03-14
* Modified    :     2007-08-07
************************************************/
// Mailer-Klasse einbinden
cInclude('classes',  'class.phpmailer.php');

// CMS_VARs initialisieren
$ausgabe_cat            = "CMS_VALUE[1]";
$ausgabe_cont           = "CMS_VALUE[2]";
$tpl_datei              = "CMS_VALUE[3]";
$tpl_art                = "CMS_VALUE[4]";
$smilies_aktiv          = "CMS_VALUE[5]";
$smiliespfad            = "CMS_VALUE[6]";
$bbcode_aktiv           = "CMS_VALUE[7]";
$userfeld1              = "CMS_VALUE[8]";
$userfeld2              = "CMS_VALUE[9]";
$userfeld3              = "CMS_VALUE[10]";
$email_benachrichtigung = "CMS_VALUE[11]";
$emails_an              = "CMS_VALUE[12]";
$cookie_aktiv           = "CMS_VALUE[13]";
$cookie_dauer           = "CMS_VALUE[14]";
$direkt_sichtbar        = "CMS_VALUE[15]";
if ($direkt_sichtbar != 1) $direkt_sichtbar = 0;
$xhtml                  = "CMS_VALUE[16]";
$bilderpfad             = "CMS_VALUE[17]";
$avatare_aktiv          = "CMS_VALUE[18]";
// CMS_VARs initialisieren Ende

// eXtended-Template-Klasse (von swelpot) einbinden
// zur Verwendung siehe:
// http://www.contenido.org/forum/viewtopic.php?t=5851

if ( !is_object($tpl) ) {
    $tpl = new Template;
}

if ($tpl_art == "extended") cInclude('classes',  'class.ExtendedTemplate.php');
else cInclude('classes',  'class.template.php');

if ($xhtml) $einzeltag = " /";
else $einzeltag = "";

$cfg["tab"]["vpguestbook"] = $cfg['sql']['sqlprefix']."_vpguestbook";
$db = new DB_Contenido;

// Funktionen
function testURL($url) {
  if(eregi("http://", $url))   {
    $url = str_replace ("http://", "", $url);

  }
  if ($url != "") {
    $url = "http://".$url;
  }
  return $url;
}

function cookie_setzen ($dauer) {
  global $sess, $vpgblastentry;

  $vpgblastentry = time()+$dauer*60;
  if ($sess->is_registered("vpgblastentry")) $sess->unregister("vpgblastentry");
  $sess->register("vpgblastentry");

}

function vpgb_js () {

  $js = "
    <script type=\"text/javascript\">

    function storeCaret ()
    {
      if (document.getElementById('vpgb_eintrag').entry.createTextRange) document.getElementById('vpgb_eintrag').entry.caretPos = document.selection.createRange().duplicate();
    }

    function insertAtCaret (icon1, icon2)
    {
      if (document.getElementById('vpgb_eintrag').entry.createTextRange && document.getElementById('vpgb_eintrag').entry.caretPos)
      {
        var caretPos = document.getElementById('vpgb_eintrag').entry.caretPos;
        selectedtext = caretPos.text;
        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == '' ? ' '+icon1 + ' ' : ' '+icon1+' ';
        caretPos.text = caretPos.text + selectedtext + icon2;
      }
      else document.getElementById('vpgb_eintrag').entry.value = document.getElementById('vpgb_eintrag').entry.value + ' '+icon1 + ' ' + icon2+' '
      document.getElementById('vpgb_eintrag').entry.focus();
    }

    function DoPrompt(action) {
    var revisedMessage;
    var post = document.getElementById(\"vpgb_eintrag\");
    var currentMessage = post.entry.value;

    if (action == \"url\") {
        var thisURL = prompt(\"URL der gewünschten Seite angeben\", \"http://\");
        var thisTitle = prompt(\"Titel der Seite angeben\", \"Seitentitel\");
        var urlBBCode = \"[URL=\"+thisURL+\"]\"+thisTitle+\"[/URL]\";
        revisedMessage = currentMessage+urlBBCode;
        post.entry.value=revisedMessage;
        post.entry.focus();
        return;
    }

    if (action == \"email\") {
        var thisEmail = prompt(\"gewünschte E-Mail-Adresse angeben\", \"\");
        var emailBBCode = \"[EMAIL]\"+thisEmail+\"[/EMAIL]\";
        revisedMessage = currentMessage+emailBBCode;
        post.entry.value=revisedMessage;
        post.entry.focus();
        return;
    }

    if (action == \"bold\") {
        var thisBold = prompt(\"den fetten Text angeben\", \"\");
        var boldBBCode = \"[b]\"+thisBold+\"[/b]\";
        revisedMessage = currentMessage+boldBBCode;
        post.entry.value=revisedMessage;
        post.entry.focus();
        return;
    }

    if (action == \"italic\") {
        var thisItal = prompt(\"den kursiven Text angeben\", \"\");
        var italBBCode = \"[i]\"+thisItal+\"[/i]\";
        revisedMessage = currentMessage+italBBCode;
        post.entry.value=revisedMessage;
        post.entry.focus();
        return;
    }

    if (action == \"underline\") {
        var thisUL = prompt(\"den unterstrichenenen Text angeben\", \"\");
        var ulBBCode = \"[u]\"+thisUL+\"[/u]\";
        revisedMessage = currentMessage+ulBBCode;
        post.entry.value=revisedMessage;
        post.entry.focus();
        return;
    }

    }
    </script>
  ";

  return $js;
}

function smilies_preg_quote($str, $delimiter)
{
	$text = preg_quote($str);
	$text = str_replace($delimiter, '\\' . $delimiter, $text);

	return $text;
}

function smilies_auslesen () {
global $cfgClient, $client, $smiliespfad;

  $fcontents = file($cfgClient[$client]['path']['frontend'] . $cfgClient[$client]['upload'] . $smiliespfad . 'smiles.pak');

  if (is_array($fcontents)) {
    $i = 0;
    foreach($fcontents as $zeile)
    {
      $smilies_daten = explode("=+:", trim(addslashes($zeile)));
      $smilies[$i]['icon'] = $smilies_daten[0];
      $smilies[$i]['erklaerung'] = $smilies_daten[1];
      $smilies[$i]['ersetzung'] = $smilies_daten[2];
      $i++;
    }
  }
  return $smilies;
}

function smilies_ersetzen ($entry) {
global $smilies, $cfgClient, $client, $smiliespfad;

  if (is_array($smilies)) {
    foreach ($smilies as $row) {
      $ers = "/(?<=.\W|\W.|^\W)" . smilies_preg_quote($row['ersetzung'], "/") . "(?=.\W|\W.|\W$)/";
      $entry = preg_replace($ers, '<img src="' . $cfgClient[$client]['upload'] . $smiliespfad. $row['icon'].'" alt="' . $row['erklaerung'] . '" />',$entry);
    }
  }
  return $entry;

}

function smilies_ausgeben ($smilies) {
global $cfgClient, $client, $smiliespfad, $einzeltag;

  $code = "";
  if (is_array($smilies)) {
    foreach($smilies as $smilie)
    {
      if ($smilie['icon'] != $h) $code .= "<a class=\"smilie\" href=\"javascript:insertAtCaret('" . htmlspecialchars($smilie['ersetzung']) . "','')\"><img src=\"" . $cfgClient[$client]['path']['htmlpath'] . $cfgClient[$client]['upload'] . $smiliespfad . $smilie['icon'] . "\" alt=\"" . htmlspecialchars($smilie['erklaerung']) . "\"".$einzeltag."></a>";
      $h = $smilie['icon'];
    }
  }
  return $code;
}

function bbcode_link ($type) {

  $link = "javascript:DoPrompt('".$type."')";

  return $link;
}

function bbcode_ersetzen ($text) {
global $xhtml;

  if ($xhtml) {
    $text = str_ireplace("[b]", "<strong>", $text);
    $text = str_ireplace("[/b]", "</strong>", $text);
    $text = str_ireplace("[i]", "<em>", $text);
    $text = str_ireplace("[/i]", "</em>", $text);
    $text = str_ireplace("[u]", "<u>", $text);
    $text = str_ireplace("[/u]", "</u>", $text);
  }
  else {
    $text = str_ireplace("[b]", "<b>", $text);
    $text = str_ireplace("[/b]", "</b>", $text);
    $text = str_ireplace("[i]", "<i>", $text);
    $text = str_ireplace("[/i]", "</i>", $text);
    $text = str_ireplace("[u]", "<u>", $text);
    $text = str_ireplace("[/u]", "</u>", $text);
  }
  $patterns = array();
  $replacements = array();
  $patterns[0] = "/\[url\]www.([^\[]*)\[\/url\]/i";
  $replacements[0] = "<a href=\"http://www.\\1\" target=_blank>\\1</a>";
  $patterns[1] = "/\[url\]([^\[]*)\[\/url\]/i";
  $replacements[1] = "<a href=\"\\1\" target=_blank>\\1</a>";
  $patterns[2] = "/\[url=([^\[]*)\]([^\[]*)\[\/url\]/i";
  $replacements[2] = "<a href=\"\\1\" target=_blank>\\2</a>";
  $patterns[3] = "/\[email\]([^\[]*)\[\/email\]/i";
  $replacements[3] = "<a href=\"mailto:\\1\">\\1</a>";
  $patterns[4] = "/\[email=([^\[]*)\]([^\[]*)\[\/email\]/i";
  $replacements[4] = "<a href=\"mailto:\\1\">\\2</a>";
  $text = preg_replace($patterns, $replacements, $text);

  return $text;
}

function bilder_liste () {
global $cfgClient, $client, $bilderpfad;

  $basedir = getcwd();
  chdir($cfgClient[$client]['path']['frontend'] . $cfgClient[$client]['upload'] . $bilderpfad);
  $handle = opendir(".");
  while ($file = readdir($handle)) {
    if (is_dir($file)) $dirlist[] = $file;
    if (is_file($file)) $filelist[] = $file;
  }
  closedir($handle);
  $wdir2 = $basedir . "/";
  chdir($wdir2);
  if ($filelist) {
    asort($filelist);
  }
  $i = 0;
  if (is_array($filelist)) {
    while (list ($key, $file) = each ($filelist)) {
      $bilder[$i] = $file;
      $i++;
    }
  }

  return $bilder;
}

function bilder_radio ($bilder) {
global $cfgClient, $client, $bilderpfad, $einzeltag;

  $code = "";
  if (is_array($bilder)) {
    foreach ($bilder as $bild) {
      $code .= "<div style=\"float: left;\"><img src=\"" . $cfgClient[$client]['path']['htmlpath'] . $cfgClient[$client]['upload'] . $bilderpfad . $bild . "\" alt=\"$bild\" ".$einzeltag."><br".$einzeltag."><input type=\"radio\" name=\"test\" value=\"$bild\"".$einzeltag."></div>\n";
    }
    $code .= "<br style=\"clear: all;\"".$einzeltag.">";
  }
  return $code;

}

function bilder_select ($bilder) {
global $cfgClient, $client, $bilderpfad, $einzeltag;

  $code = "";
  if (is_array($bilder)) {
    $code .= "<select size=\"1\" name=\"image\" id=\"image\" onchange=\"document.getElementById('vpgb_image').src= '" . $cfgClient[$client]['path']['htmlpath'] . $cfgClient[$client]['upload'] . $bilderpfad . "' + document.getElementById('vpgb_eintrag').image.options[document.getElementById('vpgb_eintrag').image.selectedIndex].value
    \">\n";
    $h = 0;
    foreach ($bilder as $bild) {
      $code .= "<option value=\"$bild\">$bild</option>\n";
      if ($h == 0) {
        $erstes = $bild;
        $h = 1;
      }
    }
    $code .= "</select>\n";
    $code .= "<img src=\"" . $cfgClient[$client]['path']['htmlpath'] . $cfgClient[$client]['upload'] . $bilderpfad . $erstes . "\" id=\"vpgb_image\" alt=\"\"".$einzeltag.">\n";
  }
  return $code;
}

function benachrichtigung ($name, $email, $url, $entry, $iphost, $user1, $user2, $user3, $image) {
global $emails_an, $userfeld1, $userfeld2, $userfeld3;

  $mailtext = "Es gibt einen neuen Eintrag im Gästebuch:

Name: ".html_entity_decode($name)."
E-Mail: $email
Homepage: $url
IP/Hostname: $iphost
$userfeld1: ".html_entity_decode($user1)."
$userfeld2: ".html_entity_decode($user2)."
$userfeld3: ".html_entity_decode($user3)."
Bild: $image
Eintrag:
".html_entity_decode($entry)."
";

  $mail = new phpmailer();
  $mail->AddAddress($emails_an);
  $mail->From     = $emails_an;
  $mail->FromName = "Gästebuch";
  $mail->Subject  = "Neuer Gästebucheintrag";
  $mail->Body     = $mailtext;
  if(!$mail->Send()){
    $notsend .= $lngNews["mailcouldnotbesend1"].$to.$lngNews["mailcouldnotbesend2"] . "<br>";
  }

}

function eintragen () {
global $db, $cfg, $client, $lang, $idart, $direkt_sichtbar, $email_benachrichtigung, $smilies_aktiv, $bbcode_aktiv, $bilder, $xhtml;

  // Initialisieren der Variablen
  $error = "";

  error_reporting(E_ERROR);
  session_start(); 

  if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam']) {
    unset($_SESSION['captcha_spam']); 
  }
  else  {
    $error = "Bitte Sicherheitscode eingeben!<br/>";
  }

  // Name überprüfen
  if ($_POST['name'] == "") {
    $error = "Bitte geben Sie Ihren Namen an!";
  }
  else {
    $name = htmlentities(strip_tags($_POST['name']));
  }

  // Email überprüfen
  $email_pattern = '/^[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}$/i';
  if (($_POST['email'] == "") || (preg_match($email_pattern, $_POST['email']))) {
    $email = $_POST['email'];
  }
  else {
    $error = "Bitte geben Sie eine gültige Email-Adresse an!";
  }

  // URL überprüfen
  if ($_POST['url'] != "") {
    $url = htmlentities(strip_tags($_POST['url']));
    $url = testURL($url);
  }

  // Eintrag überprüfen
  if ($_POST['entry'] == "") {
    $error = "Bitte schreiben Sie einen Eintrag!";
  }
  else {
    $hentry = strip_tags(htmlentities($_POST['entry']));
    $entry = $hentry;
    if ($smilies_aktiv) $entry = smilies_ersetzen($entry);
    if ($bbcode_aktiv) $entry = bbcode_ersetzen($entry);
  }

  // Bilder prüfen
  if (($_POST['image'] == "") || (in_array ($_POST['image'], $bilder))) {
    $image = $_POST['image'];
  }

  // Uservariablen überprüfen
  $user1 = htmlentities(strip_tags($_POST['user1']));
  $user2 = htmlentities(strip_tags($_POST['user2']));
  $user3 = htmlentities(strip_tags($_POST['user3']));

  // IP und Hostname speichern
  $iphost = $_SERVER["REMOTE_ADDR"];
  $host = @gethostbyaddr($_SERVER["REMOTE_ADDR"]);
  if ($host) $iphost .= " / " . $host;

  // der eigentliche Eintrag in die Datenbank
  if ($error == "") {
    $sql = "INSERT INTO ".$cfg["tab"]["vpguestbook"]." (name, email, url, entry, image, iphost, user1, user2, user3, active, client, lang, date) VALUES ('$name', '$email', '$url', '$entry', '$image', '$iphost', '$user1', '$user2', '$user3', $direkt_sichtbar, $client, $lang, NOW())";
    if (! $db->query($sql)) $error = $db->$Error;
    elseif ($email_benachrichtigung) benachrichtigung ($name, $email, $url, $hentry, $iphost, $user1, $user2, $user3, $image);
  }
  return $error;
}
// Funktionen Ende

if ($smilies_aktiv) {
  // Smilies-Array füllen
  $smilies = smilies_auslesen();
}
$bilder = bilder_liste();

$formular_anzeigen = TRUE;

if ($_POST) {
  if ($sess->is_registered("vpgblastentry")) {
    $lastentry = $GLOBALS["vpgblastentry"];
  }
  if (($lastentry >= time()) && ($cookie_aktiv)) $fehler = "Bitte nicht mehrmals hintereinander eintragen!";
  else $fehler = eintragen();
  if ($fehler != "") {
    $formular_anzeigen = TRUE;
    echo "Fehler: " . $fehler;
  }
  elseif ($direkt_sichtbar) {
    echo "Vielen Dank für Ihren Eintrag!";
    $formular_anzeigen = FALSE;
    if ($cookie_aktiv) cookie_setzen ($cookie_dauer);
  }
  else {
    echo "Vielen Dank für Ihren Eintrag! Dieser wird nach Prüfung freigeschaltet.";
    $formular_anzeigen = FALSE;
    if ($cookie_aktiv) cookie_setzen ($cookie_dauer);
  }
}

if ($formular_anzeigen) {
  if ($smilies_aktiv) {
    // Smilies HTML-Ausgabe
    $smiliesform = smilies_ausgeben($smilies);
  }
  if ($smilies_aktiv || $bbcode_aktiv) echo vpgb_js();

  if ($avatare_aktiv) {
    $imageselect = bilder_select($bilder);
    $imageradio = bilder_radio($bilder);
  }

  $nameform = "<input id=\"name\" type=\"text\" name=\"name\" size=\"18\"".$einzeltag.">";
  $emailform = "<input id=\"email\" type=\"text\" name=\"email\" size=\"18\"".$einzeltag.">";
  $urlform = "<input id=\"url\" type=\"text\" name=\"url\" size=\"18\"".$einzeltag.">";
  if ($userfeld1 != "") $user1form = "<input id=\"user1\" type=\"text\" name=\"user1\" size=\"18\"".$einzeltag.">";
  if ($userfeld2 != "") $user2form = "<input id=\"user2\" type=\"text\" name=\"user2\" size=\"18\"".$einzeltag.">";
  if ($userfeld3 != "") $user3form = "<input id=\"user3\" type=\"text\" name=\"user3\" size=\"18\"".$einzeltag.">";
  $entryform = "<textarea id=\"entry\" name=\"entry\" cols=\"30\" rows=\"10\" onselect=\"storeCaret(this);\" onclick=\"storeCaret(this);\" onkeyup=\"storeCaret(this);\"></textarea>";
  $submitform = "<input type=\"submit\" class=\"submit\" name=\"vpgb_submit\" value=\"eintragen\"".$einzeltag.">";

if ($tpl_art == "extended") $tpl = new ExtendedTemplate();
else $tpl = new Template;

  $tpl->reset();
  $tpl->set('s', 'NAMEFORM',      $nameform);
  $tpl->set('s', 'EMAILFORM',     $emailform);
  $tpl->set('s', 'URLFORM',       $urlform);
  $tpl->set('s', 'USER1FORM',     $user1form);
  $tpl->set('s', 'USER2FORM',     $user2form);
  $tpl->set('s', 'USER3FORM',     $user3form);
  $tpl->set('s', 'IMAGERADIO',    $imageradio);
  $tpl->set('s', 'IMAGESELECT',   $imageselect);
  $tpl->set('s', 'SMILIESFORM',   $smiliesform);
  $tpl->set('s', 'ENTRYFORM',     $entryform);
  $tpl->set('s', 'SUBMITFORM',    $submitform);
  $tpl->set('s', 'BBFETT',        bbcode_link("bold"));
  $tpl->set('s', 'BBKURSIV',      bbcode_link("italic"));
  $tpl->set('s', 'BBUNTERSTRICH', bbcode_link("underline"));
  $tpl->set('s', 'BBURL',         bbcode_link("url"));
  $tpl->set('s', 'BBEMAIL',       bbcode_link("email"));

  ?>
  <script type="text/javascript">
  function submitForm (s) {
    s.disabled = true;
    s.value = "Vielen Dank!";
    return true;
  }
  </script>
  <?php
  echo "<form action=\"front_content.php?idcatart=$idcatart\" method=\"post\" id=\"vpgb_eintrag\" onSubmit=\"return submitForm(this.vpgb_submit)\">";
  $tpl->generate('templates/' . $tpl_datei);
  echo "</form>";
}

?>

BagHira
Beiträge: 486
Registriert: Do 23. Feb 2006, 19:42
Wohnort: Tirschenreuth / Oberpfalz / Bayern
Kontaktdaten:

Re: vpGuestbook - Gästebuchmodul für die 4.6.x

Beitrag von BagHira » Di 9. Jun 2009, 10:22

shi hat geschrieben:Hallo, ich verwende das modul mit capacha. Wenn jetzt ein nbesucher einen falschen Code eingibt werden auch die angaben im Formular gelöscht. kann man das verhindern? So das bei falscher Code eingabe der eingegebende Text erhalten bleibt?
Guggst du hier: http://forum.contenido.org/viewtopic.ph ... 62&start=0
Gruß Holger

Träumer haben vielleicht keinen Plan, aber Realisten haben keine Vision.

Handgewickelte Glasperlen Facebook Google+

painxxl
Beiträge: 4
Registriert: Mi 19. Aug 2009, 21:09

Re: vpGuestbook - Gästebuchmodul für die 4.6.x

Beitrag von painxxl » Fr 21. Aug 2009, 18:43

Hallo, ich habe ein kleines problem bei der Ausgabe, und zwar möchte ich wenn ich die Gästebucheinträge ausgebe, diese gerne in eine textarea "<textarea>{ENTRY}</textarea>" ausgeben.

dabei habe ich das Problem dass die Zeilenumbrüche immer mit "<br />" im Textbereich ausgegeben werden .
habe leider nicht so viel Ahnung von Scripten, daher hoffe ich dass mir jemand dabei helfen kann, diese Ausgabe zu realisieren,

http://www.nz-buergermoos.de/cms/gaeste ... index.html

Danke!

Mfg Tobias

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: vpGuestbook - Gästebuchmodul für die 4.6.x

Beitrag von Dodger77 » Sa 22. Aug 2009, 08:41

painxxl hat geschrieben:Hallo, ich habe ein kleines problem bei der Ausgabe, und zwar möchte ich wenn ich die Gästebucheinträge ausgebe, diese gerne in eine textarea "<textarea>{ENTRY}</textarea>" ausgeben.
Ich würde das einfach sein lassen. Für die Ausgabe ist das Formular-Element <textarea> eher nicht gedacht.

Gesperrt