# # Danke und viel Spaß! # # http://um-fritz.de # ####################################################################### /* Diese Skript erstellt eine Seite aus dem XHTML-Template und liest zudem ein Formular- template ein. Mittels dieses Formulars können Besucher neue Posts verfassen. */ unset($vorschau); $incl_pfad = dirname($_SERVER['SCRIPT_FILENAME']); $pfad = str_replace($_SERVER['DOCUMENT_ROOT'], "", $incl_pfad); if (!include_once $incl_pfad."/gb_script/gb_global_vars.php") { echo "
Include gb_global_vars.php fehlgeschlagen"; } if (!include_once $incl_pfad."/gb_script/gb_functions.php") { echo "
Include gb_functions.php fehlgeschlagen"; } $page = get_html_template (); if (!file_exists($posts_file)) { $content = "

Installationshinweis

\n

Bevor Sie das Gästebuch einsetzen, legen Sie bitte eine leere Datei Namens $posts_file an.

"; } else { $content = make_addpost_page(); } $page = page_replace_var($page, "content", $content); show_page(); ######################################################################## function make_addpost_page() { //Baut das Formular in die Seite ein global $page, $addpost_form, $error, $error_msg; $error_flag = false; if (!file_exists($addpost_form)) { $output = "

Installationshinweis

Bevor Sie das Gästebuch einsetzen, legen Sie bitte eine Formulardatei Namens $addpost_form an.

"; return($output); } else { if (!empty($_POST)) { $_POST = clean_up_input(); #Block Spamaufgabe bereits gelöst worden? if ($_POST['nospam_done'] != "done") { foreach ($error['nummern'] as $k => $w) { if ($_POST['sum1'] == $error['nummern'][$k]) { $sum1 = $k; } if ($_POST['sum2'] == $error['nummern'][$k]) { $sum2 = $k; } } if ($_POST['summe'] == $sum1 + $sum2) { $_POST['nospam_done'] = "done"; } else { $_POST['nospam_done'] = "done"; #hier stand vorher done } } #Eingaben prüfen -> fehlerhaft: Errormsg erstellen, Vorschau angefordert || Noch keine Vorschau:nicht speichern! if (!empty($_POST['icq'])) { $error_msg .= $error['spam_trap']; $error_flag = true; } if (empty($_POST['Name'])) { $error_msg .= $error['no_name']; $error_flag = true; } if (empty($_POST['text'])) { $error_msg .= $error['no_text']; $error_flag = true; } preg_match_all("#http://#i", $_POST['text'], $url_count, PREG_SET_ORDER); if (count($url_count) > $error['max_url']) { $error_msg .= $error['many_url']; $error_flag = true; } if ($_POST['nospam_done'] != "done" && $_POST['summe'] != $sum1 + $sum2) { $error_msg .= $error['wrong_calc']; $error_flag = true; } if ($error_flag == true) { $error_msg = $error['error'].$error_msg."$tab

"; $vorschau = make_content_addpost_vorschau(); make_content_gb_form(); } elseif ($_POST['confirm'] != "done" || $_POST['vorschau'] == "Vorschau") { #ELSE empty($_POST)) $vorschau = make_content_addpost_vorschau(); make_content_gb_form(); } else { #Eintagen angeklickt und keine Fehler mehr, dann saven! $content = prepareToSaveAndSave(); } } else { #$_POST ist leer: erstmals GB Form ausgeben make_content_gb_form(); } }#ENDE file_exists($addpost_form) return($content); } #ENDE make_addpost_page function make_content_addpost_vorschau() { global $vorschau, $pfad, $posts_file, $smilies, $confirm; $confirm = "done"; $post_text = nl2br($_POST['text']); $post_text = str_replace("
", "
", $post_text); $post_text = format_gb_msgtext($post_text); $post_name = $_POST['Name']; $post_stadt = $_POST['Stadt']; foreach($smilies as $key => $value) { //Smilies einfügen $smilie = " \"Smilie\" "; $post_text = str_replace($key, $smilie, $post_text); $post_name = str_replace($key, $smilie, $post_name); $post_stadt = str_replace($key, $smilie, $post_stadt); } $posts_lines = file($posts_file); $linecount = count($posts_lines); $id = $linecount+1; if (!empty ($post_stadt)) { $stadt = " aus ".$post_stadt; } else { $stadt = ""; } if (!empty ($_POST['hp'])) { $homepage = " \"Homepage\" \n"; } else { $homepage = ""; } if (!empty ($_POST['mail'])) { $mail = " \"E-Mail\" \n"; } else { $mail = ""; } $vorschau = "\n"; $vorschau .= "\n"; # $vorschau .= "\n"; #$vorschau .= "\n"; #$vorschau .= "\n"; $vorschau .= "
Nr. ".$id."".$post_name.$stadt." am ".date("j. n. Y")." um ".date("H:i")."".$mail." ".$homepage."
# ".$id."Eintrag vom ".date("j. n. Y")." um ".date("H:i")."
\n"; #$vorschau .= " \"Seitenanfang\" "; #$vorschau .= "
".$post_name."
"; $vorschau .= "
".$post_text."
\n"; #$vorschau .= "".$post_text."\n"; #$vorschau .= "\n"; return($vorschau); }#ENDE make_content_vorschau() function make_content_gb_form() { //Ersetzt die Platzhalter im Formular global $page, $addpost_form, $pfad, $error, $error_msg, $vorschau, $confirm, $gb_title, $smilies; $sum1 = rand(1, 10); $sum2 = rand($sum1, 10); if (empty($_POST['confirm'])) { $confirm = "undone"; } else { $confirm = "done"; } if ($_POST['nospam_done'] != "done") { $nospam .= "
\n"; $nospam .= $tab." Kein Spam\n"; $nospam .= $tab."

\n"; $nospam .= $tab." Ich bin ein Mensch:
".$tab."Bitte helfen Sie dieses Gästebuch frei von Spam zu halten. Zählen Sie bitte [%sum1%] und\n"; $nospam .= $tab." [%sum2%] zusammen und schreiben Sie das Ergebnis als Zahl in das Feld:\n"; $nospam .= $tab." ?

\n"; $nospam .= $tab."
"; } if ($_POST['confirm'] == "done" || $_POST['vorschau'] == "Vorschau") { $button_send = ""; } else { $button_send = ""; } $content_lines = file($addpost_form); $content = implode("\t", $content_lines); $page = page_replace_var($page, "content", $content); $page = page_replace_var($page, "gb_title", $gb_title); if (empty($_POST['nospam_done'])) { $page = page_replace_var($page, "nospam_done", "undone"); } else { $page = page_replace_var($page, "nospam_done", $_POST['nospam_done']); } $spalte=0; $smiletab=""; foreach($smilies as $key => $value) { $zelle.= "\"Smilie\""; $spalte=$spalte+1; if($spalte == 6) { $zeile .= "".$zelle.""; $spalte=0; $zelle=""; }; } #$zeile="" $smilietab = "".$zeile; $smilietab.="
"; #ende $page = page_replace_var($page, "nospam", $nospam); $page = page_replace_var($page, "vorschau", $vorschau); $page = page_replace_var($page, "confirm", $confirm); $page = page_replace_var($page, "error_msg", $error_msg); $page = page_replace_var($page, "self", $_SERVER['PHP_SELF']); $page = page_replace_var($page, "icq", $_POST['icq']); $page = page_replace_var($page, "Name", $_POST['Name']); $page = page_replace_var($page, "Stadt", $_POST['Stadt']); $page = page_replace_var($page, "mail", $_POST['mail']); $page = page_replace_var($page, "hp", $_POST['hp']); $page = page_replace_var($page, "text", $_POST['text']); $page = page_replace_var($page, "summe", ""); $page = page_replace_var($page, "sum1", $error['nummern'][$sum1]); $page = page_replace_var($page, "sum2", $error['nummern'][$sum2]); $page = page_replace_var($page, "button_send", $button_send); $page = page_replace_var($page, "pfad", $pfad); $page = page_replace_var($page, "smilietab", $smilietab); return; }#ENDE make_content_gb_form function prepareToSaveAndSave() { //Öffnet Postsdatei, fügt neue Zeile ein und schließt Postsdatei global $posts_file, $content, $unwort, $email_notice, $email_adresse; $_POST = clean_up_input(); foreach($_POST as $key => $value) { $_POST[$key] = str_replace("~", "^", $_POST[$key]); $_POST[$key] = nl2br($_POST[$key]); $_POST[$key] = str_replace("
", "
", $_POST[$key]); $_POST[$key] = preg_replace("@\015\012|\015|\012@", "", $_POST[$key]); } $posts_lines = file($posts_file); $linecount = count($posts_lines); $id = $linecount+1; $new_postline .= $id."~"; $new_postline .= date("j. n. Y")." um ".date("H:i")."~"; $new_postline .= $_POST['Name']."~".$_POST['Stadt']."~".$_POST['mail']."~".$_POST['hp']."~".$_POST['text']."\n"; #wenn Post schon vorhanden nicht speichern! foreach($unwort as $id => $wort) { $pattern = "#$wort#iU"; $new_postline = preg_replace($pattern, ":censored:", $new_postline); } $old_post_text = $posts_lines[0]; $old_post_text = explode("~", $old_post_text); if(trim($_POST['text']) == trim($old_post_text[6])) { $content = "

Eintrag nicht gespeichert


\n

Dieser Eintag ist schon vorhanden.

Zurück zum Gästebuch

\n"; } else { #wenn Post noch nicht vorhanden speichern! array_unshift($posts_lines, $new_postline); save_change_to_postfile($posts_lines); if ($email_notice == "ja") { $headers = "From: Neuer Eintrag im Gästebuch"; $headers .= "<$email_adresse>\r\n"; $headers .= "Content-Type: text/plain; charset=ISO-8859-1 \r\n"; $headers .= "Content-Transfer-Encoding: 8bit"; $email_body = str_replace("~", "\n", $new_postline); $email_body = str_replace("
", "\n", $email_body); mail($email_adresse, "Gästebuch", ($email_body), $headers); } } header("Location: gb.php"); }#ENDE save_post ?>