Gästebuch 01.03.01 |
Willkommen, Gast ( Anmelden | Registrierung ) [ Hilfe | Mitglieder | Suche ]
Gästebuch 01.03.01 |
Fri. 16. March 2007, 00:56
Beitrag
#1
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 613 Mitglied seit: 30.06.2006 Mitglieds-Nr.: 30 |
Modulname:
--------------------------------------------------------------------------- Gästebuch Status: --------------------------------------------------------------------------- stable Bechreibung: --------------------------------------------------------------------------- Das Gaestebuch bietet Besuchern der Webseite eine Nachricht zu hinterlassen. Es ist unter anderem einstellbar, was für Felder dem User zur Verfügung stehen sollen, wieviele Einträge pro Seite angezeigt werden sollen und ob es bei einem neuen Eintrag eine Email an den Administrator geben soll. Das Modul kann auch als Kommentarmodul eingesetzt werden. Features: --------------------------------------------------------------------------- - Smileys lassen sich per JS eingeben - XHTML-konformer Output - Emailbenachtigung bei einem neuen Eintrag- Navigation - Die Reihenfolge und Anzahl der Ausgabe kann konfiguriert werden - Emailbenachtigung neu einem neuen Eintrag - Smileys können nun als img dargestellt werden, Konfigurierbar - CSS-Klassen für jedes Eingabefeld definiert - die Formularfelder könne jetzt überprüft werden, Konfigurierbar - Config normal/ erweitert/ versteckt überarbeitet - ein zweites Kommentarfeld hinzugefügt (z.B. für Antworten) - einzelne Template für Ort und das zweite Kommentarfeld hinzugefügt - Separates Template für die Eingabemaske im Backend - Fehlermeldung erweitert - Captcha Spam-Schutz - Spamschutz (es gibt eine Fehlermeldung wenn versucht wird eines der Badwords in der Nachricht anzugeben) To-Do: --------------------------------------------------------------------------- Autor(en): --------------------------------------------------------------------------- Reto Haldemann v/o Mistral Design: Olaf Smiley-JS: wojewski, Olaf Lizenz: --------------------------------------------------------------------------- GPL Benötigte Sefrengo Version: --------------------------------------------------------------------------- = 01.03.01 inkl. Bugfix "API: GUI Pager" http://forum.sefrengo.org/index.php?showtopic=720&hl= Installation: --------------------------------------------------------------------------- Wechseln Sie in Ihrer Sefrengo Version in den Bereich "Design->Module". Am unteren Ende des Bereichs befindet sich ein Uploadfeld. Wählen Sie hier die<br>gewünschte "*.cmsmod"- Datei aus. Mit einem Klick auf das Diskettensymbol <br>wird das Modul in das CMS importiert. Das Modul ist nun innerhalb des CMS<br>nutzbar. Dokumentation: --------------------------------------------------------------------------- - nicht vorhanden Bemerkung: --------------------------------------------------------------------------- Hallo zusammen. Für die Smilyes müssen die Bilder mit dem Ordner 'smileys' ins Verzeichnis 'cms/mod' kopiert werden.<br>Wenn das default Layout verwendet wird muss auch noch die CSS-Datei importiert werden (gb.css). Dort muss in der CSS-Regel 'form #gast .gb' euer Domain eingetragen werden, damit beim Eintrag erstellen die möglchen Smileys ausgegeben werden. Changelog --------------------------------------------------------------------------- Current versionnumber is 01.03.01 - released 16.03.2007 ------------------------------------------------------------------------------------------------ + Javascript für Smileys ^ CSS Wojewski hatte sich ja was einfallen lassen die smileys über JS anzustoßen. Ich habs mal ins Modul reingepackt. Ich hoffe es klappt überall. Die CSS hat sich geändert!!!! Ach so, ich häng mal noch nen Screen ran... screen_16.03.2007_00.57.53.jpg ( 32.56KB ) Anzahl der Downloads: 80 [attachment=474:Gaestebu...01_03_01.zip]
Angehängte Datei(en)
-------------------- |
|
|
Wed. 21. March 2007, 18:56
Beitrag
#2
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 446 Mitglied seit: 12.09.2006 Wohnort: Bamberg Mitglieds-Nr.: 235 |
Möchte nochmal einen FR aufgreifen und zwar der zum moderieren des Gästebuches.
Ich muß gleich voraus schicken, daß ich beim php lernen bin und mich einfach nicht an die Sache traue. Man kann doch ein verstecktes Feld bei der Eingabe im Gästebuch mitgeben, daß die Zahl "1" beinhaltet und in die DB (cms_content_external) schreibt z.B. unter der idtype "gb_mod" (für moderiert). Die Zahl möchte ich aus dem Grund, damit ich bei der öffentlichen Ansicht nur Einträge mit der value "0" habe. In der Konfiguration des Moduls unter dem Reiter "Administrativ" kann man ja dann auswählen, ob diese obere Routine angewandt werden soll. Also: Moderation an/aus Jetzt könnte man dies auch auf zwei arten lösen, um den Beitrag freizuschalten oder zu löschen. 1. Die Mail für neuen Eintrag einen Link mitgeben, der den Inhalt Value von "1" auf "0" schreibt, damit er sichtbar wird! 2. Die sichere Methode, da nicht jeder "mails bei eintrag" aktiviert hat, eine Liste ausgeben, bei der man den Beitrag löschen oder freigeben kann! Wäre dankbar wenn mir jemand behilflich sein könnte! Gruß FireFlyer |
|
|
Wed. 21. March 2007, 23:03
Beitrag
#3
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 613 Mitglied seit: 30.06.2006 Mitglieds-Nr.: 30 |
Ich muß gleich voraus schicken, daß ich beim php lernen bin und mich einfach nicht an die Sache traue. Ach, dann warten wir einfach bis du dich traust Im Ernst, ich trau mich auch nicht. -------------------- |
|
|
Thu. 22. March 2007, 09:26
Beitrag
#4
|
|
TRAIL AND ERROR SPECIALIST Gruppe: AdvancedMembers Beiträge: 1.708 Mitglied seit: 27.06.2006 Wohnort: Hansestadt Rostock, Deutschland Mitglieds-Nr.: 9 |
was'n das für'n haufen angsthasen hier
-------------------- cheers, Alex
|
|
|
Thu. 22. March 2007, 15:21
Beitrag
#5
|
|
Advanced Member Gruppe: Members Beiträge: 81 Mitglied seit: 03.07.2006 Wohnort: Dornbirn / Vlbg. - Austria Mitglieds-Nr.: 83 |
Hallo,
da habe ich mal was in diese richtung gemacht. leider noch mit dem DEDI Gästebuch. Ich habe das Komentarfeld dazu verwendet. bei einem Eintrag erscheint ein Text der darauf hinweist dass der Beitrag erst nach kontrolle zum lesen ist. Der administrator kann dann im Backend im Komentarfeld eine 1 eintragen damit der Beitrag angezeigt wird oder den Eintrag löschen. Wenn ein neues DB feld eingebaut werden würde wäre somit das ganze schon gelöst. Nur habe ich im moment keine Zeit dazu Module zu erweitern die ich nicht benötige. Vielleicht will das ja wer anders in angriff nehmen. Ich kann dann die bisherigen änderungen auch bereitstellen (Code Snips) Diese funktionieren in SF sicher auch. Gruss Thomas |
|
|
Fri. 23. March 2007, 17:06
Beitrag
#6
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 446 Mitglied seit: 12.09.2006 Wohnort: Bamberg Mitglieds-Nr.: 235 |
wer würde denn sich mit mir das trauen.
Im Backend hat ich schon die neue Option "Moderiert" drin, jetzt geht es nur ans Eingemachte mit den Abfragen. Is recht komplex das Modul, aber mit Hilfe (und was dazu lernen) könnte man das schaffen! Freiwillige vor... |
|
|
Fri. 23. March 2007, 21:21
Beitrag
#7
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 446 Mitglied seit: 12.09.2006 Wohnort: Bamberg Mitglieds-Nr.: 235 |
@speedweb
ich hab das Gästebuch jetzt soweit auf Vordermann gebracht, daß nur noch die Verknüpfung zwischen DB-Feld gb_moderated und der Ausgabe programmiert werden muß. Ich kann dir ja das bisherige Modul dann mal zukommen lassen. Bis jetzt ist das Feld noch sichtbar und kann jeden Wert annehmen. P.S: Gästebuch 01.03.01 enthält in der Konfiguration eine falsche Beschriftung: // Email an Admin $mip_form['27']['desc'] = 'Smileys nicht als Bilder darstellen?'; $mip_form['27']['cat'] = 'chk'; $mip_form['27']['option_var']['0'] = 'MOD_VAR[27]'; $mip_form['27']['option_val']['0'] = $cms_mod['value']['27']; $mip_form['27']['option_desc']['0'] = 'ja'; $mip_form['27']['option_val_select']['0'] = 'false'; muß heißen: // Smileys als Bilder $mip_form['27']['desc'] = 'Smileys nicht als Bilder darstellen?'; $mip_form['27']['cat'] = 'chk'; $mip_form['27']['option_var']['0'] = 'MOD_VAR[27]'; $mip_form['27']['option_val']['0'] = $cms_mod['value']['27']; $mip_form['27']['option_desc']['0'] = 'ja'; $mip_form['27']['option_val_select']['0'] = 'false'; |
|
|
Sat. 24. March 2007, 14:32
Beitrag
#8
|
|
Advanced Member Gruppe: Members Beiträge: 81 Mitglied seit: 03.07.2006 Wohnort: Dornbirn / Vlbg. - Austria Mitglieds-Nr.: 83 |
Hallo,
sobald ich wieder ein wenig mehr Zeit habe kann ich mir den Rest mal ansehen. Im grunde genommen muss da ja nicht mehr alzuviel gemacht werden. - das neue Feld mit in die Abfrage nehmen - die Kontrollschleife einbauen (vom Komentarfeld auf das neue DB Feld umstellen) - Vielleicht einen Link generieren über den im E-Mail der Beitrag freigeschalten wird. Gruss Thomas |
|
|
Wed. 4. April 2007, 20:12
Beitrag
#9
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 446 Mitglied seit: 12.09.2006 Wohnort: Bamberg Mitglieds-Nr.: 235 |
Konfiguration:
CODE <?php // //0: Schriftart //1: Schriftart Eingabefelder //8: Anzahl der Eintraege //9: Frontend-Template //10: Final-Template //11: Link fuer einen neuen Eintrag //12: Link zum editieren //13: Link zum loeschen //14: Link zur URL //15: Link zur eMail //16: Backend-Template //17: Template zur location //18: Schriftart //19: Schriftart Eingabefelder (nicht verwendet) //20: Template für comment2 //21: Template fuer Eintrag erstellen Frontend //22: Checkbox Mail senden //23: Email-Adresse //24: Email-Template //25: Email-Betreff //26: Checkbox Moderation //27: Smileys als Bilder //28: Reihenfolge der Ausgabe //29: Formularfelder testen //30: Fehlertext //31: Schriftart Eingabefelde {but_send} //32: Schriftart fuer Eingabefelde name //33: Schriftart fuer Eingabefelde email //34: Schriftart fuer Eingabefelde {homepage} //35: Schriftart fuer Eingabefelde {location} //36: Schriftart fuer Eingabefelde {comment} //37: Schriftart fuer Eingabefelde {comment2} //38: Template fuer Eintrag erstellen/bearbeiten Frontend //39: Navitrennzeichen //40: Navianzahl //41: Navi TextPrev //42: Navi TextNext //43: Navi TextFirst //44: Navi TextLast //71 captchaimage verwenden //73 txt captchaimage length (7) //74 txt captchaimage width (7) //75 txt captchaimage height (7) //76 txt captchaimage attributes (7) //77 txt captchaimage styleset (7) //78 txtarea captchaimage template (7) //91 Badwords //92 Fehlermeldung bei Spamversuch mit Badwords //configmode $mip_form['99']['desc'] = 'Konfigurationsmodus'; $mip_form['99']['cat'] = 'option'; $mip_form['99']['size'] = '1'; $mip_form['99']['option_desc'][] = 'Normal'; $mip_form['99']['option_val'][] = ''; $mip_form['99']['option_desc'][] = 'Ausgeblendet'; $mip_form['99']['option_val'][] = 'hidden'; $mip_form['99']['cms_var'] = 'MOD_VAR[99]'; $mip_form['99']['cms_val'] = $cms_mod['value']['99']; $mip_form['99']['flag'] = 'reload'; mip_formsp($mip_form['99']);//configmode //hidden config if($cms_mod['value']['99'] == 'hidden'){ foreach($cms_mod['value'] AS $ke=>$va){ if($ke != '99'){ ?> <input name="MOD_VAR[<?php echo $ke; ?>]" type="hidden" value="<?php echo htmlentities($va, ENT_COMPAT, 'UTF-8');?>"> <?php } } } //normal config (not hidden config) else if($cms_mod['value']['99'] == '' || $cms_mod['value']['99'] == 'advanced'){ // Schriftart $mip_form['0']['desc'] = 'CSS '.$mod_lang['gen_font']; $mip_form['0']['cat'] = 'app_css'; $mip_form['0']['output_cat'] = 'option'; $mip_form['0']['cms_var'] = 'MOD_VAR[0]'; $mip_form['0']['cms_val'] = $cms_mod['value']['0']; $mip_form['0']['cms_val_default'] = 'font2'; $mip_form['0']['flag'] = 'class_only'; // Schriftart fuer Eingabefelder $mip_form['1']['desc'] = 'CSS für die Formulareinträge'; $mip_form['1']['cat'] = 'app_css'; $mip_form['1']['output_cat'] = 'option'; $mip_form['1']['cms_var'] = 'MOD_VAR[1]'; $mip_form['1']['cms_val'] = $cms_mod['value']['1']; $mip_form['1']['cms_val_default'] = 'font1'; $mip_form['1']['flag'] = 'class_only'; // Navigation template vorwaerts aktiv $mip_form['39']['cat'] = 'txt'; $mip_form['39']['desc'] = 'Trennzeichen für die Navigation'; $mip_form['39']['cms_var'] = 'MOD_VAR[39]'; $mip_form['39']['cms_val'] = $cms_mod['value']['39']; $mip_form['39']['cms_val_default'] = ' | '; // Navigation Anzahl Navipunkte $mip_form['40']['cat'] = 'txt'; $mip_form['40']['desc'] = 'Anzahl Navipunkte vor und nach der aktuellen Seite'; $mip_form['40']['cms_var'] = 'MOD_VAR[40]'; $mip_form['40']['cms_val'] = $cms_mod['value']['40']; $mip_form['40']['cms_val_default'] = '3'; // Navigation text_prev $mip_form['41']['cat'] = 'txt'; $mip_form['41']['desc'] = 'Template für vorherige Seite'; $mip_form['41']['cms_var'] = 'MOD_VAR[41]'; $mip_form['41']['cms_val'] = $cms_mod['value']['41']; $mip_form['41']['cms_val_default'] = '‹'; // Navigation text_next $mip_form['42']['cat'] = 'txt'; $mip_form['42']['desc'] = 'Template für naechste Seite'; $mip_form['42']['cms_var'] = 'MOD_VAR[42]'; $mip_form['42']['cms_val'] = $cms_mod['value']['42']; $mip_form['42']['cms_val_default'] = '›'; // Navigation text_first $mip_form['43']['cat'] = 'txt'; $mip_form['43']['desc'] = 'Template für erste Seite'; $mip_form['43']['cms_var'] = 'MOD_VAR[43]'; $mip_form['43']['cms_val'] = $cms_mod['value']['43']; $mip_form['43']['cms_val_default'] = '«'; // Navigation text_last $mip_form['44']['cat'] = 'txt'; $mip_form['44']['desc'] = 'Template für letzte Seite'; $mip_form['44']['cms_var'] = 'MOD_VAR[44]'; $mip_form['44']['cms_val'] = $cms_mod['value']['44']; $mip_form['44']['cms_val_default'] = '»'; // Anzahl der Eintraege $mip_form['8']['cat'] = 'option'; $mip_form['8']['desc'] = 'Anzahl Einträge pro Seite'; $mip_form['8']['cms_var'] = 'MOD_VAR[8]'; $mip_form['8']['cms_val'] = $cms_mod['value']['8']; $mip_form['8']['cms_val_default'] = '10'; $mip_form['8']['option_desc']['0'] = '5'; $mip_form['8']['option_val']['0'] = '5'; $mip_form['8']['option_desc']['1'] = '10'; $mip_form['8']['option_val']['1'] = '10'; $mip_form['8']['option_desc']['2'] = '15'; $mip_form['8']['option_val']['2'] = '15'; $mip_form['8']['option_desc']['3'] = '20'; $mip_form['8']['option_val']['3'] = '20'; $mip_form['8']['option_desc']['4'] = '25'; $mip_form['8']['option_val']['4'] = '25'; $mip_form['8']['option_desc']['5'] = '50'; $mip_form['8']['option_val']['5'] = '50'; $mip_form['8']['option_desc']['6'] = '100'; $mip_form['8']['option_val']['6'] = '100'; $mip_form['8']['option_desc']['7'] = 'alle'; $mip_form['8']['option_val']['7'] = '0'; // ---------------------------------------------------------------------------- // Frontend-Template $mip_form['9']['cat'] = 'txtarea'; $mip_form['9']['type'] = 'long'; $mip_form['9']['rows'] = '7'; $mip_form['9']['desc'] = '<small>Templatevariablen: {number}, {name}, {email}, {homepage}, {location}, {comment}, {comment2}, {created}, {newentry}<br>Admin-Variablen: {lastmodified}, {ip}, {editentry}, {deleteentry}</small><br>Frontend:'; $mip_form['9']['cms_var'] = 'MOD_VAR[9]'; $mip_form['9']['cms_val'] = $cms_mod['value']['9']; $mip_form['9']['cms_val_default'] = '<div class="gb"> <div class="gbnum">#{number}</div> <p class="gbhead">am {created} Uhr schrieb {name} {location} {email} {homepage}</p> <p class="gbcomm">{comment}</p> {comment2} </div> '; // Backend-Template $mip_form['16']['cat'] = 'txtarea'; $mip_form['16']['type'] = 'long'; $mip_form['16']['rows'] = '7'; $mip_form['16']['desc'] = 'Backend:'; $mip_form['16']['cms_var'] = 'MOD_VAR[16]'; $mip_form['16']['cms_val'] = $cms_mod['value']['16']; $mip_form['16']['cms_val_default'] = '<div class="gb"> <div class="gbnum">#{number}</div> <p class="gbhead">am {created} Uhr schrieb {name} {location} {email} {homepage}</p> <p class="gbcomm">{comment}</p> {comment2} <p class="gbcomm">Created: {created}<br />Lastmodified: {lastmodified}<br />IP: {ip}</p> {editentry} {deleteentry} </div> '; // Smileys als Bilder $mip_form['27']['desc'] = 'Smileys nicht als Bilder darstellen?'; $mip_form['27']['cat'] = 'chk'; $mip_form['27']['option_var']['0'] = 'MOD_VAR[27]'; $mip_form['27']['option_val']['0'] = $cms_mod['value']['27']; $mip_form['27']['option_desc']['0'] = 'ja'; $mip_form['27']['option_val_select']['0'] = 'false'; // ---------------------------------------------------------------------------- // Final-Template $mip_form['10']['cat'] = 'txtarea'; $mip_form['10']['type'] = 'long'; $mip_form['10']['rows'] = '7'; $mip_form['10']['desc'] = '<small>Mögliche Templatevariablen: {newentry}, {comments}, {navi}'; $mip_form['10']['cms_var'] = 'MOD_VAR[10]'; $mip_form['10']['cms_val'] = $cms_mod['value']['10']; $mip_form['10']['cms_val_default'] = '<div id="gast"> {newentry} <p class="gbhead">{navi}</p> {comments} <p class="gbhead">{navi}</p> {newentry} </div>'; // Ausgabenreihenfolge $mip_form['28']['cat'] = 'option'; $mip_form['28']['desc'] = 'Reihenfolge der Ausgabe'; $mip_form['28']['cms_var'] = 'MOD_VAR[28]'; $mip_form['28']['cms_val'] = $cms_mod['value']['28']; $mip_form['28']['cms_val_default'] = 'SORT_DESC'; $mip_form['28']['option_desc']['0'] = 'vorwärts'; $mip_form['28']['option_val']['0'] = 'SORT_ASC'; $mip_form['28']['option_desc']['1'] = 'rückwärts'; $mip_form['28']['option_val']['1'] = 'SORT_DESC'; // ---------------------------------------------------------------------------- // Link fuer einen neuen Eintrag $mip_form['11']['cat'] = 'txtarea'; $mip_form['11']['type'] = 'long'; $mip_form['11']['rows'] = '1'; $mip_form['11']['desc'] = 'Link für einen neuen Eintrag<br><small>Mögliche Templatevariable: {url}</small>'; $mip_form['11']['cms_var'] = 'MOD_VAR[11]'; $mip_form['11']['cms_val'] = $cms_mod['value']['11']; $mip_form['11']['cms_val_default'] = '<p class="gbneu"><a href="{url}">Eintrag hinzufügen</a></p>'; // Link zum editieren $mip_form['12']['cat'] = 'txtarea'; $mip_form['12']['type'] = 'long'; $mip_form['12']['rows'] = '1'; $mip_form['12']['desc'] = 'Link zum editieren eines Eintrags<br><small>Mögliche Templatevariable: {url}</small>'; $mip_form['12']['cms_var'] = 'MOD_VAR[12]'; $mip_form['12']['cms_val'] = $cms_mod['value']['12']; $mip_form['12']['cms_val_default'] = '<a href="{url}">Eintrag bearbeiten</a>'; // Link zum loeschen $mip_form['13']['cat'] = 'txtarea'; $mip_form['13']['type'] = 'long'; $mip_form['13']['rows'] = '1'; $mip_form['13']['desc'] = 'Link zum löschen eines Eintrags<br><small>Mögliche Templatevariable: {url}</small>'; $mip_form['13']['cms_var'] = 'MOD_VAR[13]'; $mip_form['13']['cms_val'] = $cms_mod['value']['13']; $mip_form['13']['cms_val_default'] = '<a href="{url}">Eintrag löschen</a>'; // Link zur URL $mip_form['14']['cat'] = 'txtarea'; $mip_form['14']['type'] = 'long'; $mip_form['14']['rows'] = '1'; $mip_form['14']['desc'] = 'Link zur Homepage des Users<br><small>Mögliche Templatevariable: {url}</small>'; $mip_form['14']['cms_var'] = 'MOD_VAR[14]'; $mip_form['14']['cms_val'] = $cms_mod['value']['14']; $mip_form['14']['cms_val_default'] = ' | <a href="http://{url}">Homepage</a>'; // Link zur eMail $mip_form['15']['cat'] = 'txtarea'; $mip_form['15']['type'] = 'long'; $mip_form['15']['rows'] = '1'; $mip_form['15']['desc'] = 'Link für eMail-senden<br><small>Mögliche Templatevariable: {url}</small>'; $mip_form['15']['cms_var'] = 'MOD_VAR[15]'; $mip_form['15']['cms_val'] = $cms_mod['value']['15']; $mip_form['15']['cms_val_default'] = ' | <a href="mailto:{url}">eMail</a>'; // Template zur location $mip_form['17']['cat'] = 'txtarea'; $mip_form['17']['type'] = 'long'; $mip_form['17']['rows'] = '1'; $mip_form['17']['desc'] = 'Template für den Ort<br><small>Mögliche Templatevariable: {loc}</small>'; $mip_form['17']['cms_var'] = 'MOD_VAR[17]'; $mip_form['17']['cms_val'] = $cms_mod['value']['17']; $mip_form['17']['cms_val_default'] = 'aus {loc}'; // Template zur comment2 $mip_form['20']['cat'] = 'txtarea'; $mip_form['20']['type'] = 'long'; $mip_form['20']['rows'] = '1'; $mip_form['20']['desc'] = 'Template für den Kommentar2<br><small>Mögliche Templatevariable: {com2}</small>'; $mip_form['20']['cms_var'] = 'MOD_VAR[20]'; $mip_form['20']['cms_val'] = $cms_mod['value']['20']; $mip_form['20']['cms_val_default'] = '<p class="gbantw"><strong>Antwort:</strong><br />{com2}</p>'; // ---------------------------------------------------------------------------- // Schriftart $mip_form['18']['desc'] = 'CSS '.$mod_lang['gen_font']; $mip_form['18']['cat'] = 'app_css'; $mip_form['18']['output_cat'] = 'option'; $mip_form['18']['cms_var'] = 'MOD_VAR[18]'; $mip_form['18']['cms_val'] = $cms_mod['value']['18']; $mip_form['18']['cms_val_default'] = 'font1'; $mip_form['18']['flag'] = 'class_only'; // Schriftart fuer Eingabefelde {but_send} $mip_form['31']['desc'] = 'CSS für die Eingabefelder {but_send}'; $mip_form['31']['cat'] = 'app_css'; $mip_form['31']['output_cat'] = 'option'; $mip_form['31']['cms_var'] = 'MOD_VAR[31]'; $mip_form['31']['cms_val'] = $cms_mod['value']['31']; $mip_form['31']['cms_val_default'] = 'font1'; $mip_form['31']['flag'] = 'class_only'; // Schriftart fuer Eingabefelde name $mip_form['32']['desc'] = 'CSS für die Eingabefelder {name}'; $mip_form['32']['cat'] = 'app_css'; $mip_form['32']['output_cat'] = 'option'; $mip_form['32']['cms_var'] = 'MOD_VAR[32]'; $mip_form['32']['cms_val'] = $cms_mod['value']['32']; $mip_form['32']['cms_val_default'] = 'font1'; $mip_form['32']['flag'] = 'class_only'; // Schriftart fuer Eingabefelde email $mip_form['33']['desc'] = 'CSS für die Eingabefelder {email}'; $mip_form['33']['cat'] = 'app_css'; $mip_form['33']['output_cat'] = 'option'; $mip_form['33']['cms_var'] = 'MOD_VAR[33]'; $mip_form['33']['cms_val'] = $cms_mod['value']['33']; $mip_form['33']['cms_val_default'] = 'font1'; $mip_form['33']['flag'] = 'class_only'; // Schriftart fuer Eingabefelde {homepage} $mip_form['34']['desc'] = 'CSS für die Eingabefelder {homepage}'; $mip_form['34']['cat'] = 'app_css'; $mip_form['34']['output_cat'] = 'option'; $mip_form['34']['cms_var'] = 'MOD_VAR[34]'; $mip_form['34']['cms_val'] = $cms_mod['value']['34']; $mip_form['34']['cms_val_default'] = 'font1'; $mip_form['34']['flag'] = 'class_only'; // Schriftart fuer Eingabefelde {location} $mip_form['35']['desc'] = 'CSS für die Eingabefelder {location}'; $mip_form['35']['cat'] = 'app_css'; $mip_form['35']['output_cat'] = 'option'; $mip_form['35']['cms_var'] = 'MOD_VAR[35]'; $mip_form['35']['cms_val'] = $cms_mod['value']['35']; $mip_form['35']['cms_val_default'] = 'font1'; $mip_form['35']['flag'] = 'class_only'; // Schriftart fuer Eingabefelde {comment} $mip_form['36']['desc'] = 'CSS für die Eingabefelder {comment}'; $mip_form['36']['cat'] = 'app_css'; $mip_form['36']['output_cat'] = 'option'; $mip_form['36']['cms_var'] = 'MOD_VAR[36]'; $mip_form['36']['cms_val'] = $cms_mod['value']['36']; $mip_form['36']['cms_val_default'] = 'font1'; $mip_form['36']['flag'] = 'class_only'; // Schriftart fuer Eingabefelde {comment} $mip_form['37']['desc'] = 'CSS für die Eingabefelder {comment2}'; $mip_form['37']['cat'] = 'app_css'; $mip_form['37']['output_cat'] = 'option'; $mip_form['37']['cms_var'] = 'MOD_VAR[37]'; $mip_form['37']['cms_val'] = $cms_mod['value']['37']; $mip_form['37']['cms_val_default'] = 'font1'; $mip_form['37']['flag'] = 'class_only'; // Template fuer Eintrag erstellen Frontend $mip_form['21']['cat'] = 'txtarea'; $mip_form['21']['type'] = 'long'; $mip_form['21']['rows'] = '7'; $mip_form['21']['desc'] = '<small>Mögliche Templatevariablen: {name}, {email}, {homepage}, {location}, {comment}, {comment2}, {captcha}, {but_abort}, {but_send}<br>{smileys}, {smileys2} (nur Backend)</small><br>Frontend:'; $mip_form['21']['cms_var'] = 'MOD_VAR[21]'; $mip_form['21']['cms_val'] = $cms_mod['value']['21']; $mip_form['21']['cms_val_default'] = '<div id="gast"> <div class="gb"> {failure}<br /><label for="name">Name*</label>{name}<br /> <label for="email">eMail*</label>{email}<br /> <label for="url">Homepage</label>{homepage}<br /> <label for="location">Wohnort</label>{location}<br /> <label for="comment">Kommentar*</label>{comment}<br /> <label for="moderated">moderiert*</label>{moderated}<br /> <p>* = Pflichtfelder</p> {smileys} {but_send} </div> </div> '; // Template fuer Eintrag erstellen/bearbeiten backend $mip_form['38']['cat'] = 'txtarea'; $mip_form['38']['type'] = 'long'; $mip_form['38']['rows'] = '7'; $mip_form['38']['desc'] = 'Backend:'; $mip_form['38']['cms_var'] = 'MOD_VAR[38]'; $mip_form['38']['cms_val'] = $cms_mod['value']['38']; $mip_form['38']['cms_val_default'] = '<div id="gast"> <div class="gb"> {failure}<br /><label for="name">Name:</label>{name}<br /> <label for="email">eMail:</label>{email}<br /> <label for="url">Homepage:</label>{homepage}<br /> <label for="location">Wohnort:</label>{location}<br /> <label for="comment">Kommentar:</label>{comment}<br /> {smileys} <label for="comment2">Antwort:</label>{comment2}<br /> {smileys2} {but_send} </div> </div> '; //Formularfelder testen $mip_form['29']['desc'] = 'Folgende Formularfelder testen'; $mip_form['29']['cat'] = 'option'; $mip_form['29']['flag'] = 'multiple'; $mip_form['29']['size'] = '5'; $mip_form['29']['cms_var'] = 'MOD_VAR[29]'; $mip_form['29']['cms_val'] = $cms_mod['value']['29']; $mip_form['29']['cms_val_default'] = 'name,email,comment'; $mip_form['29']['option_desc'][] = 'name'; $mip_form['29']['option_val'][] = 'name'; $mip_form['29']['option_desc'][] = 'email'; $mip_form['29']['option_val'][] = 'email'; $mip_form['29']['option_desc'][] = 'homepage'; $mip_form['29']['option_val'][] = 'url'; $mip_form['29']['option_desc'][] = 'location'; $mip_form['29']['option_val'][] = 'location'; $mip_form['29']['option_desc'][] = 'comment'; $mip_form['29']['option_val'][] = 'comment'; $mip_form['29']['option_desc'][] = 'comment2'; $mip_form['29']['option_val'][] = 'com2'; // Fehlertext $mip_form['30']['cat'] = 'txtarea'; $mip_form['30']['type'] = 'long'; $mip_form['30']['rows'] = '1'; $mip_form['30']['desc'] = 'Text wenn ein Formularfeld nicht korrekt ausgefüllt wurde.'; $mip_form['30']['cms_var'] = 'MOD_VAR[30]'; $mip_form['30']['cms_val'] = $cms_mod['value']['30']; $mip_form['30']['cms_val_default'] = '<p><strong>Folgende Felder wurden nicht korrekt ausgefüllt:<br />{field}</strong></p>'; // ---------------------------------------------------------------------------- // Moderation $mip_form['26']['desc'] = 'Moderation?'; $mip_form['26']['cat'] = 'chk'; $mip_form['26']['option_var']['0'] = 'MOD_VAR[26]'; $mip_form['26']['option_val']['0'] = $cms_mod['value']['26']; $mip_form['26']['option_desc']['0'] = 'ja'; $mip_form['26']['option_val_select']['0'] = 'true'; // Email an Admin $mip_form['22']['desc'] = 'Email bei neuem Eintrag?'; $mip_form['22']['cat'] = 'chk'; $mip_form['22']['option_var']['0'] = 'MOD_VAR[22]'; $mip_form['22']['option_val']['0'] = $cms_mod['value']['22']; $mip_form['22']['option_desc']['0'] = 'ja'; $mip_form['22']['option_val_select']['0'] = 'true'; // Email-Adresse $mip_form['23']['desc'] = 'Empfänger-Adresse'; $mip_form['23']['cat'] = 'txt'; $mip_form['23']['cms_var'] = 'MOD_VAR[23]'; $mip_form['23']['cms_val'] = $cms_mod['value']['23']; $mip_form['23']['cms_val_default'] = $cfg_client['newsfrom']; // Email-Template $mip_form['24']['cat'] = 'txtarea'; $mip_form['24']['type'] = 'long'; $mip_form['24']['rows'] = '7'; $mip_form['24']['desc'] = 'Email-Template:'; $mip_form['24']['cms_var'] = 'MOD_VAR[24]'; $mip_form['24']['cms_val'] = $cms_mod['value']['24']; $mip_form['24']['cms_val_default'] = "Name: {name} eMail: {email} Homepage: {homepage} Wohnort: {location} Eintrag: {comment} Erstellt: {created} IP: {ip} Link: {link}"; // Email-Betreff $mip_form['25']['desc'] = 'Email-Betreff '; $mip_form['25']['cat'] = 'txt'; $mip_form['25']['cms_var'] = 'MOD_VAR[25]'; $mip_form['25']['cms_val'] = $cms_mod['value']['25']; $mip_form['25']['cms_val_default'] = 'neuer Gaestebuch-Eintrag'; // ---------------------------------------------------------------------------- //Captchaimage styleset $mip_form['71']['cat'] = 'option'; $mip_form['71']['desc'] = 'Captcha verwenden'; $mip_form['71']['size'] = '1'; $mip_form['71']['option_desc'][] = 'Nein'; $mip_form['71']['option_val'][] = 'false'; $mip_form['71']['option_desc'][] = 'Ja'; $mip_form['71']['option_val'][] = 'true'; $mip_form['71']['cms_val_default'] = 'false'; $mip_form['71']['cms_var'] = 'MOD_VAR[71]'; $mip_form['71']['cms_val'] = $cms_mod['value']['71']; //Captchaimage length $mip_form['73']['cat'] = 'txt'; $mip_form['73']['desc'] = 'Captcha-Code Länge <small>(Anzahl der einzugebenen Zeichen)</small>'; $mip_form['73']['cms_var'] = 'MOD_VAR[73]'; $mip_form['73']['cms_val'] = $cms_mod['value']['73']; $mip_form['73']['cms_val_default'] = '4'; //Captchaimage width $mip_form['74']['cat'] = 'txt'; $mip_form['74']['desc'] = 'Captcha-Code Bildbreite <small>(in Pixeln)</small>'; $mip_form['74']['cms_var'] = 'MOD_VAR[74]'; $mip_form['74']['cms_val'] = $cms_mod['value']['74']; $mip_form['74']['cms_val_default'] = '100'; //Captchaimage height $mip_form['75']['cat'] = 'txt'; $mip_form['75']['desc'] = 'Captcha-Code Bildhöhe <small>(in Pixeln)</small>'; $mip_form['75']['cms_var'] = 'MOD_VAR[75]'; $mip_form['75']['cms_val'] = $cms_mod['value']['75']; $mip_form['75']['cms_val_default'] = '30'; $mip_form['75']['tab'] = '0'; //Captchaimage attributes $mip_form['76']['cat'] = 'txt'; $mip_form['76']['desc'] = 'Captcha-Code optionale, zusätzliche Imagetag-Attribute'; $mip_form['76']['cms_var'] = 'MOD_VAR[76]'; $mip_form['76']['cms_val'] = $cms_mod['value']['76']; $mip_form['76']['cms_val_default'] = ''; $mip_form['76']['tab'] = '0'; //Captchaimage styleset $mip_form['77']['cat'] = 'option'; $mip_form['77']['desc'] = 'Captcha-Code Bilddesign'; $mip_form['77']['size'] = '1'; $mip_form['77']['option_desc'][] = 'throwCHARS'; $mip_form['77']['option_val'][] = ''; $mip_form['77']['option_desc'][] = 'binCLEAR'; $mip_form['77']['option_val'][] = '1'; $mip_form['77']['option_desc'][] = 'psychoPIXEL'; $mip_form['77']['option_val'][] = '2'; $mip_form['77']['cms_var'] = 'MOD_VAR[77]'; $mip_form['77']['cms_val'] = $cms_mod['value']['77']; //Template Captchaimage $mip_form['78']['desc'] = 'Template Capturebild<br> <small>Mögliche Templatevariablen: {image}, {textfield}, {hiddentoken}</small>'; $mip_form['78']['cat'] = 'txtarea'; $mip_form['78']['rows'] = '1'; $mip_form['78']['type'] = 'long'; $mip_form['78']['cms_var'] = 'MOD_VAR[78]'; $mip_form['78']['cms_val'] = $cms_mod['value']['78']; $mip_form['78']['cms_val_default'] = '{image} {textfield}{hiddentoken}'; // ---------------------------------------------------------------------------- // Badword Liste $mip_form['91']['desc'] = 'Badwords:'; $mip_form['91']['cat'] = 'txtarea'; $mip_form['91']['type'] = 'long'; $mip_form['91']['rows'] = '7'; $mip_form['91']['cms_var'] = 'MOD_VAR[91]'; $mip_form['91']['cms_val'] = $cms_mod['value']['91']; $mip_form['91']['cms_val_default'] = 'Nice Site, Good Work, xxx'; // Badword Fehlermeldung $mip_form['92']['cat'] = 'txtarea'; $mip_form['92']['type'] = 'long'; $mip_form['92']['rows'] = '1'; $mip_form['92']['desc'] = 'Fehlermeldung:'; $mip_form['92']['cms_var'] = 'MOD_VAR[92]'; $mip_form['92']['cms_val'] = $cms_mod['value']['92']; $mip_form['92']['cms_val_default'] = 'Spam Versuch'; // ---------------------------------------------------------------------------- mip_forms_tabpane_beginp(); mip_forms_tabitem_beginp('Allgemein'); echo '<p><strong>Einstellungen die Ausgabe der Einträge</strong></p>'; mip_formsp($mip_form['0']); // Schriftart mip_formsp($mip_form['1']); // Schriftart Eingabefelder mip_formsp($mip_form['27']); // Smileys als Bilder mip_formsp($mip_form['29']); // Formularfelder testen mip_formsp($mip_form['30']); // Fehlertext echo '<br /><p><strong>Navigation</strong></p>'; mip_formsp($mip_form['8']); // Anzahl der Eintraege mip_formsp($mip_form['28']); // Reihenfolge der Ausgabe mip_formsp($mip_form['39']); // Trennzeichen mip_formsp($mip_form['40']); // Navianzahl mip_formsp($mip_form['41']); // Trennzeichen mip_formsp($mip_form['42']); mip_formsp($mip_form['43']); mip_formsp($mip_form['44']); echo '<br /><p><strong>Einstellungen für Eintrag erstellen / bearbeiten</strong></p>'; mip_formsp($mip_form['18']); // Schriftart //mip_formsp($mip_form['19']); // Schriftart Eingabefelder mip_formsp($mip_form['31']); // Schriftart Eingabefelde {but_send} mip_formsp($mip_form['32']); // Schriftart fuer Eingabefelde name mip_formsp($mip_form['33']); // Schriftart fuer Eingabefelde email mip_formsp($mip_form['34']); // Schriftart fuer Eingabefelde {homepage} mip_formsp($mip_form['35']); // Schriftart fuer Eingabefelde {location} mip_formsp($mip_form['36']); // Schriftart fuer Eingabefelde {comment} mip_formsp($mip_form['37']); // Schriftart fuer Eingabefelde {comment2} mip_forms_tabitem_endp(); mip_forms_tabitem_beginp('Template'); echo '<p><strong>Verbindungs - Template</strong></p>'; mip_formsp($mip_form['10']); // Final-Template echo '<br /><p><strong>Einstellungen die Ausgabe der Einträge</strong></p>'; mip_formsp($mip_form['9']); // Frontend-Template mip_formsp($mip_form['16']); // Backend-Template echo '<br /><p><strong>Einstellungen für Eintrag erstellen / bearbeiten</strong></p>'; mip_formsp($mip_form['21']); // Template fuer Eintrag erstellen Frontend mip_formsp($mip_form['38']); // Template fuer Eintrag erstellen/bearbeiten Backend mip_forms_tabitem_endp(); mip_forms_tabitem_beginp('Links'); echo '<p><strong>Links</strong></p>'; mip_formsp($mip_form['11']); // Link fuer einen neuen Eintrag mip_formsp($mip_form['12']); // Link zum editieren mip_formsp($mip_form['13']); // Link zum loeschen mip_formsp($mip_form['14']); // Link zur URL mip_formsp($mip_form['15']); // Link zur eMail mip_formsp($mip_form['17']); // Template zur location mip_formsp($mip_form['20']); // Template für comment2 (nicht verwendet) mip_forms_tabitem_endp(); mip_forms_tabitem_beginp('Administrativ'); echo '<p><strong>Moderation</strong></p>'; mip_formsp($mip_form['26']); // Moderation echo '<p><strong>E-Mail</strong></p>'; mip_formsp($mip_form['22']); // Checkbox Mail senden mip_formsp($mip_form['23']); // Email-Adresse mip_formsp($mip_form['24']); // Email-Template mip_formsp($mip_form['25']); // Email-Betreff mip_forms_tabitem_endp(); mip_forms_tabitem_beginp('Sonstiges'); echo '<p><strong>Captcha</strong></p>'; mip_formsp($mip_form['71']);//captcha verwenden mip_formsp($mip_form['73']);//txt captchaimage length mip_formsp($mip_form['74']);//txt captchaimage width mip_formsp($mip_form['75']);//txt captchaimage height mip_formsp($mip_form['76']);//txt captchaimage attributes mip_formsp($mip_form['77']);//txt captchaimage styleset mip_formsp($mip_form['78']);//txt captchaimage styleset echo '<br><p><strong>Anti-Spam: BAD WORD LIST</strong></p>'; //BAD-WORD LIST mip_formsp($mip_form['91']); //Badwords mip_formsp($mip_form['92']); //Fehlermeldung bei Spamversuch mit Badwords mip_forms_tabitem_endp(); mip_forms_tabpane_endp(); // ---------------------------------------------------------------------------- } unset($mip_form); ?> Frontendausgabe: CODE <CMSPHP> $is_dev = false; </CMSPHP> <CMSPHP:CACHE> //Alle Variablen, die nur innerhalb des gecachten PHPs sichtbar sind, auch für dynamisches PHP zur Verfügung stellen echo '<CMSPHP>'; if (is_array($cms_mod['value'])) { foreach($cms_mod['value'] AS $k => $v){ echo '$mvars["'.$k.'"] = "'. addslashes($v) .'";'."\n"; }} echo '</CMSPHP>'; </CMSPHP:CACHE> <CMSPHP> if($is_dev) { include "D:/sefrengo/module eigene/Gaestebuch/1.3/Gaestebuch_output.php"; } else { // //0: Schriftart //1: Schriftart Eingabefelder //8: Anzahl der Eintraege //9: Frontend-Template //10: Final-Template //11: Link fuer einen neuen Eintrag //12: Link zum editieren //13: Link zum loeschen //14: Link zur URL //15: Link zur eMail //16: Backend-Template //17: Template zur location //18: Schriftart //19: Schriftart Eingabefelder (nicht verwendet) //20: Template für comment2 //21: Template fuer Eintrag erstellen Frontend //22: Checkbox Mail senden //23: Email-Adresse //24: Email-Template //25: Email-Betreff //26: Checkbox Moderation //27: Smileys als Bilder //28: Reihenfolge der Ausgabe //29: Formularfelder testen //30: Fehlertext //31: Schriftart Eingabefelde {but_send} //32: Schriftart fuer Eingabefelde name //33: Schriftart fuer Eingabefelde email //34: Schriftart fuer Eingabefelde {homepage} //35: Schriftart fuer Eingabefelde {location} //36: Schriftart fuer Eingabefelde {comment} //37: Schriftart fuer Eingabefelde {comment2} //38: Template fuer Eintrag erstellen/bearbeiten Frontend //39: Navitrennzeichen //40: Navianzahl //41: Navi TextPrev //42: Navi TextNext //43: Navi TextFirst //44: Navi TextLast //71 captchaimage verwenden //73 txt captchaimage length (7) //74 txt captchaimage width (7) //75 txt captchaimage height (7) //76 txt captchaimage attributes (7) //77 txt captchaimage styleset (7) //78 txtarea captchaimage template (7) //91 Badwords //92 Fehlermeldung bei Spamversuch mit Badwords // zur Fehlersuche //if(isset($test)) //{ // $mod['test'] = "true"; //} if ( !function_exists('gaestebuch_checkInput') ) { function gaestebuch_checkInput($check_string) { global $name, $email, $url, $location, $comment, $comment2, $moderated; $returnvalue =""; //'required' => '/(\s|\S)/', if( (! preg_match('/(\s|\S)/', $name)) && (substr_count($check_string,"name") >= 1 ) ){ $returnvalue .= "Name, "; } if( (! preg_match('/(\s|\S)/', $url)) && (substr_count($check_string,"url") >= 1 ) ){ $returnvalue .= "Homepage, "; } if( (! preg_match('/(\s|\S)/', $location)) && (substr_count($check_string,"location") >= 1 ) ){ $returnvalue .= "Wohnort, "; } if( (! preg_match('/(\s|\S)/', $comment)) && (substr_count($check_string,"comment") >= 1 ) ){ $returnvalue .= "Kommentar, "; } if( (! preg_match('/(\s|\S)/', $comment2)) && (substr_count($check_string,"com2") >= 1 ) ){ $returnvalue .= "Antwort, "; } if( (! preg_match('/(\s|\S)/', $moderated)) && (substr_count($check_string,"moderated") >= 1 ) ){ $returnvalue .= "Moderiert, "; } if (substr_count($check_string,"email") >= 1 ) { //'email' => '/^[a-zA-Z0-9\._-]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/', if(! preg_match('/^[a-zA-Z0-9\._-]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/', $email) ){ $returnvalue .= "eMail, "; } } else { //'emailOrEmpty' => '/(^$)|(^[a-zA-Z0-9\._-]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$)/' if(! preg_match('/(^$)|(^[a-zA-Z0-9\._-]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$)/', $email)) { $returnvalue .= "eMail, "; } } return $returnvalue; } // end function } // end if exist if ( !function_exists('gaestebuch_renderSmileys') ) { function gaestebuch_renderSmileys($text,$url) { // the list of codes to be interpreted $search = array( '/( :\)| :-\)|:smile:)/i', '/( :\/| :-\/|:undecided:)/i', '/( ;\)| ;-\)|:wink:)/i', '/( | :-D|:cheesy:)/i', '/( :\(| :-\(|:frown:)/i', '/( :\'\(| :\'-\(|:cry:)/i', '/( | :-o|:shocked:)/i', '/( 8\)| 8-\)|:cool:)/i', '/( ::\)|)/i', '/( | :-P|:tongue:)/i', '/( :X| :-X|:sealed:)/i'); // the related <img> html elements $prefix = ' <img src="'.$url.'/'; $suffix = '" alt="" border="0" /> '; $replace = array( $prefix.'smile.gif'.$suffix, $prefix.'undecided.gif'.$suffix, $prefix.'winkgrin.gif'.$suffix, $prefix.'cheesy.gif'.$suffix, $prefix.'frown.gif'.$suffix, $prefix.'cry.gif'.$suffix, $prefix.'shocked.gif'.$suffix, $prefix.'cool.gif'.$suffix, $prefix.'rolleyes.gif'.$suffix, $prefix.'tongue.gif'.$suffix, $prefix.'sealed.gif'.$suffix); // process the text return preg_replace($search, $replace, $text); } } if ( !function_exists('gaestebuch_set_captcha_vals') ) { function gaestebuch_set_captcha_vals($length = 4, $width = 100, $height = 30, $attributes = '', $styleset = '', $template = '{image} {textfield}{hiddentoken}') { global $captchavals; $captchavals['length'] = $length; $captchavals['width'] = $width; $captchavals['height'] = $height; $captchavals['attributes'] = $attributes; $captchavals['styleset'] = $styleset; $captchavals['template'] = $template; } } if ( !function_exists('gaestebuch_checkCaptcha') ) { function gaestebuch_checkCaptcha() { // required api $request_object =& sf_factoryGetObject('HTTP', 'WebRequest'); $captcha_object =& sf_factoryGetObject('GUI', 'CaptchaImage'); $mod['action'] = $request_object->getVal('action'); $mod['test_captcha'] = $request_object->getVal('gb_captcha'); if ($captcha_object->validateByCharseqAndRequestFieldname($mod['test_captcha'],'gb_captcha','post')) { return ''; } else { return "Captcha, "; }; } } // ******************************************************************************** *************** // neuen Eintrag testen if(${'gb'.$cms_mod['container']['id'].'_'.$cms_mod['modul']['id']} == 'save') { //Werte holen $sf_wr =& $GLOBALS['sf_factory']->getObject('HTTP', 'WebRequest'); $name = $sf_wr->getVal('name'); $url = $sf_wr->getVal('url'); $location = $sf_wr->getVal('location'); $comment = $sf_wr->getVal('comment'); $comment2 = $sf_wr->getVal('comment2'); $moderated = $sf_wr->getVal('moderated'); if (!((($sess->name == 'sefrengo') || ($sess->name == 'cms')) || ($view == 'edit'))) { // Eingaben ueberpruefen $gb['InputFailure'] = gaestebuch_checkInput($mvars['29']); if ($mvars['71'] == 'true') { // Captcha ueberpruefen $gb['InputFailure'] .= gaestebuch_checkCaptcha(); } } // den gesamten Content nach verdächtigem durchforsten und dann abbrechen $value1035 = "MOD_VALUE[91]"; $badStrings = explode(",",$value1035); array_walk($badStrings , create_function('&$temp', '$temp = trim($temp);')); foreach($badStrings as $v2) { if(eregi($v2,$comment)){ $gb['InputFailure'] .= "<br>MOD_VALUE[92], "; break; } } unset($v2, $badStrings); } // ******************************************************************************** *************** // Eingabeformular fuer neuen Eintrag if((${'gb'.$cms_mod['container']['id'].'_'.$cms_mod['modul']['id']} == 'edit') || ($gb['InputFailure'] != "")) { // Eintrag zum editieren aus der Datenbank suchen if ($gb_entry) { $sql = "SELECT * FROM $cms_db[content_external] WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype!='1' AND typenumber='$gb_entry'"; $db->query($sql); while ($db->next_record()) { if ($db->f('idtype') == 'gb_name') $gb_temp['name'] = htmlentities($db->f('value'), ENT_COMPAT, 'UTF-8'); if ($db->f('idtype') == 'gb_email') $gb_temp['email'] = htmlentities($db->f('value'), ENT_COMPAT, 'UTF-8'); if ($db->f('idtype') == 'gb_url') $gb_temp['url'] = htmlentities($db->f('value'), ENT_COMPAT, 'UTF-8'); if ($db->f('idtype') == 'gb_location') $gb_temp['location'] = htmlentities($db->f('value'), ENT_COMPAT, 'UTF-8'); if ($db->f('idtype') == 'gb_comment') $gb_temp['comment'] = htmlentities($db->f('value'), ENT_COMPAT, 'UTF-8'); if ($db->f('idtype') == 'gb_comment2') $gb_temp['comment2'] = htmlentities($db->f('value'), ENT_COMPAT, 'UTF-8'); if ($db->f('idtype') == 'gb_moderated') $gb_temp['moderated'] = htmlentities($db->f('value'), ENT_COMPAT, 'UTF-8'); } } // fals die Eingaben nicht i.O. waren if ($gb['InputFailure'] != "") { if ($name) $gb_temp['name'] = $name; if ($email) $gb_temp['email'] = $email; if ($url) $gb_temp['url'] = $url; if ($location) $gb_temp['location'] = $location; if ($comment) $gb_temp['comment'] = $comment; if ($comment2) $gb_temp['comment2'] = $comment2; if ($moderated) $gb_temp['moderated'] = $moderated; } //if ($mvars['19'] != '') $gb_temp['span'] = ' class='.$mvars['19']; if ($mvars['31'] != '') $gb_temp['span_but'] = ' class='.$mvars['31']; if ($mvars['32'] != '') $gb_temp['span_name'] = ' class='.$mvars['32']; if ($mvars['33'] != '') $gb_temp['span_email'] = ' class='.$mvars['33']; if ($mvars['34'] != '') $gb_temp['span_url'] = ' class='.$mvars['34']; if ($mvars['35'] != '') $gb_temp['span_location'] = ' class='.$mvars['35']; if ($mvars['36'] != '') $gb_temp['span_comment'] = ' class='.$mvars['36']; if ($mvars['37'] != '') $gb_temp['span_comment2'] = ' class='.$mvars['37']; if ($mvars['26'] != '') $gb_temp['span_moderated'] = ' class='.$mvars['26']; if ($mvars['71'] == 'true') { $captcha_object =& sf_factoryGetObject('GUI', 'CaptchaImage'); gaestebuch_set_captcha_vals($mvars['73'], $mvars['74'], $mvars['75'], $mvars['76'], $mvars['77'], $mvars['78']); $captcha_object->setCaptchaTemplate($captchavals['template']); $gb_temp['captcha'] = $captcha_object->getCaptchaHtml('gb_captcha', $captchavals['length'], null, $captchavals['attributes'], $captchavals['styleset'], $captchavals['width'], $captchavals['height']); } else { $gb_temp['captcha'] = ''; } if (($sess->name == 'sefrengo') || ($sess->name == 'cms')) { if($view == 'edit') { $final_temp = $mvars['38']; } else { $final_temp = $mvars['21']; } } else { $final_temp = $mvars['21']; } $final_temp = str_replace('{name}', "<input type=\"text\" name=\"name\" id=\"name\" value=\"".$gb_temp['name']."\"".$gb_temp['span_name']." />", $final_temp); $final_temp = str_replace('{email}', "<input type=\"text\" name=\"email\" id=\"email\" value=\"".$gb_temp['email']."\"".$gb_temp['span_email']." />", $final_temp); $final_temp = str_replace('{homepage}', "<input type=\"text\" name=\"url\" id=\"url\" value=\"".$gb_temp['url']."\"".$gb_temp['span_url']." />", $final_temp); $final_temp = str_replace('{location}', "<input type=\"text\" name=\"location\" id=\"location\" value=\"".$gb_temp['location']."\"".$gb_temp['span_location']." />", $final_temp); $final_temp = str_replace('{comment}', "<textarea name=\"comment\" id=\"comment\" cols=\"35\" rows=\"10\"".$gb_temp['span_comment'].">".$gb_temp['comment']."</textarea>", $final_temp); $final_temp = str_replace('{comment2}', "<textarea name=\"comment2\" id=\"comment2\" cols=\"35\" rows=\"10\"".$gb_temp['span_comment2'].">".$gb_temp['comment2']."</textarea>", $final_temp); $final_temp = str_replace('{moderated}', "<input type=\"text\" name=\"moderated\" id=\"moderated\" value=\"".$gb_temp['moderated']."\"".$gb_temp['span_moderated']." />", $final_temp); $final_temp = str_replace('{captcha}', $gb_temp['captcha'], $final_temp); if($mvars['27'] != "false" ) { // olaf smileys ausgeben wenn true $final_temp = str_replace('{smileys}', " <div class=\"smileys\"> <a href=\"java script:setsmile(1)\"><img src=\"./cms/mod/smileys/smile.gif\" alt=\"\" /></a> <a href=\"java script:setsmile(2)\"><img src= \"./cms/mod/smileys/undecided.gif\" alt=\"\" /></a> <a href= \"java script:setsmile(3)\"><img src=\"./cms/mod/smileys/winkgrin.gif\" alt= \"\" /></a> <a href=\"java script:setsmile(4)\"><img src= \"./cms/mod/smileys/cheesy.gif\" alt=\"\" /></a> <a href= \"java script:setsmile(5)\"><img src=\"./cms/mod/smileys/frown.gif\" alt= \"\" /></a> <a href=\"java script:setsmile(6)\"><img src= \"./cms/mod/smileys/cry.gif\" alt=\"\" /></a> <a href= \"java script:setsmile(7)\"><img src=\"./cms/mod/smileys/shocked.gif\" alt= \"\" /></a> <a href=\"java script:setsmile(8)\"><img src= \"./cms/mod/smileys/cool.gif\" alt=\"\" /></a> <a href= \"java script:setsmile(9)\"><img src=\"./cms/mod/smileys/rolleyes.gif\" alt= \"\" /></a> <a href=\"java script:setsmile(10)\"><img src= \"./cms/mod/smileys/tongue.gif\" alt=\"\" /></a> <a href= \"java script:setsmile(11)\"><img src=\"./cms/mod/smileys/sealed.gif\" alt= \"\" /></a> </div> <script type=\"text/javascript\"> <!-- function setsmile(smiliecode) { var comment; var smiliestring; switch (smiliecode) { case 1: smiliestring = \" :-) \"; break; case 2: smiliestring = \" :-/ \"; break; case 3: smiliestring = \";-) \"; break; case 4: smiliestring = \" :-D \"; break; case 5: smiliestring = \" :-( \"; break; case 6: smiliestring = \" :cry: \"; break; case 7: smiliestring = \" :-o \"; break; case 8: smiliestring = \" 8-) \"; break; case 9: smiliestring = \" : \"; break; case 10: smiliestring = \" :-P \"; break; case 11: smiliestring = \" :-X \"; break; default: smiliestring = \"\"; break; } comment = document.getElementById(\"comment\"); comment.value = comment.value + smiliestring; } //--> </script>", $final_temp); $final_temp = str_replace('{smileys2}', " <div class=\"smileys\"> <a href=\"java script:setsmile2(1)\"><img src=\"./cms/mod/smileys/smile.gif\" alt=\"\" /></a> <a href=\"java script:setsmile2(2)\"><img src= \"./cms/mod/smileys/undecided.gif\" alt=\"\" /></a> <a href= \"java script:setsmile2(3)\"><img src=\"./cms/mod/smileys/winkgrin.gif\" alt= \"\" /></a> <a href=\"java script:setsmile2(4)\"><img src= \"./cms/mod/smileys/cheesy.gif\" alt=\"\" /></a> <a href= \"java script:setsmile2(5)\"><img src=\"./cms/mod/smileys/frown.gif\" alt= \"\" /></a> <a href=\"java script:setsmile2(6)\"><img src= \"./cms/mod/smileys/cry.gif\" alt=\"\" /></a> <a href= \"java script:setsmile2(7)\"><img src=\"./cms/mod/smileys/shocked.gif\" alt= \"\" /></a> <a href=\"java script:setsmile2(8)\"><img src= \"./cms/mod/smileys/cool.gif\" alt=\"\" /></a> <a href= \"java script:setsmile2(9)\"><img src=\"./cms/mod/smileys/rolleyes.gif\" alt= \"\" /></a> <a href=\"java script:setsmile2(10)\"><img src= \"./cms/mod/smileys/tongue.gif\" alt=\"\" /></a> <a href= \"java script:setsmile2(11)\"><img src=\"./cms/mod/smileys/sealed.gif\" alt= \"\" /></a> </div> <script type=\"text/javascript\"> <!-- function setsmile2(smiliecode) { var comment; var smiliestring; switch (smiliecode) { case 1: smiliestring = \" :-) \"; break; case 2: smiliestring = \" :-/ \"; break; case 3: smiliestring = \";-) \"; break; case 4: smiliestring = \" :-D \"; break; case 5: smiliestring = \" :-( \"; break; case 6: smiliestring = \" :cry: \"; break; case 7: smiliestring = \" :-o \"; break; case 8: smiliestring = \" 8-) \"; break; case 9: smiliestring = \" : \"; break; case 10: smiliestring = \" :-P \"; break; case 11: smiliestring = \" :-X \"; break; default: smiliestring = \"\"; break; } comment2 = document.getElementById(\"comment2\"); comment2.value = comment2.value + smiliestring; } //--> </script>", $final_temp); } else { $final_temp = str_replace('{smileys}', "", $final_temp); $final_temp = str_replace('{smileys2}', "", $final_temp); } // olaf Ende smileys $final_temp = str_replace('{but_send}', "<input type=\"submit\" value=\"eintragen\"".$gb_temp['span_but']." />", $final_temp); $final_temp = str_replace('{but_abort}', "<a href=\"".$con_side[$idcatside]['link']."\">Zurück</a>", $final_temp); if ($gb['InputFailure'] != "") { // $final_temp = str_replace('{failure}',$mvars['30'].substr($gb['InputFailure'],0,-2), $final_temp); $final_temp = str_replace('{failure}',str_replace('{field}',substr($gb['InputFailure'],0,-2), $mvars['30']), $final_temp); } else { $final_temp = str_replace('{failure}',"", $final_temp); } $final_temp = "<form id=\"gb".$cms_mod['container']['id']."_".$cms_mod['modul']['id']."\" action=\"".$con_side[$idcatside]['link']."\" method=\"post\">\n<div id=\"gb".$cms_mod['container']['id']."\">\n<input type=\"hidden\" name=\"gb".$cms_mod['container']['id']."_".$cms_mod['modul']['id']."\" value=\"save\" />\n<input type=\"hidden\" name=\"gb_entry\" value=\"$gb_entry\" />\n".$final_temp."\n</div>\n</form>"; if ($mvars['18'] != '') eval(' ?><span class='.$mvars['18'].'>'.$final_temp.'</span>'); else eval(' ?>'.$final_temp); } // ******************************************************************************** *************** // neuen Eintrag in die Datenbank schreiben if((${'gb'.$cms_mod['container']['id'].'_'.$cms_mod['modul']['id']} == 'save') && ( $gb['InputFailure'] == "")) { if ($mod['test'] == "true") {echo "<hr>Kontrolle:".implode(',',$_POST)."--> gb_entry".$gb_entry."<br>";} if(!$gb_entry) { // neue Eintragsnummer suchen (hoechste + 1) $sql = "SELECT MAX(typenumber) AS typenumber FROM $cms_db[content_external] WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype!='1'"; $db->query($sql); $db->next_record(); if ($db->affected_rows()) $typenumber = $db->f('typenumber') + 1; else $typenumber = 1; } else { $sql = "SELECT * FROM $cms_db[content_external] WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype!='1' AND typenumber='$gb_entry'"; $db->query($sql); while ($db->next_record()) { if ($db->f('idtype') == 'gb_name') $gb_temp2['name'] = 1; if ($db->f('idtype') == 'gb_email') $gb_temp2['email'] = 1; if ($db->f('idtype') == 'gb_url') $gb_temp2['url'] = 1; if ($db->f('idtype') == 'gb_location') $gb_temp2['location'] = 1; if ($db->f('idtype') == 'gb_comment') $gb_temp2['comment'] = 1; if ($db->f('idtype') == 'gb_comment2') $gb_temp2['comment2'] = 1; if ($db->f('idtype') == 'gb_moderated') $gb_temp2['moderated'] = 1; } $typenumber = $gb_entry; } // Name schreiben if ($name) { set_magic_quotes_gpc($name); if($gb_temp2['name'] == 1) { unset($gb_temp); $sql = "UPDATE $cms_db[content_external] SET value='$name', lastmodified='".time()."', author='".$auth->auth['uid']."' WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype='gb_name' AND typenumber='$gb_entry'"; $db->query($sql); if ($db->affected_rows()) $gb_temp='true'; else $gb_change='true'; } else { $sql = "INSERT INTO $cms_db[content_external] (idsidelang, container, number, idtype, typenumber, value, author, created, lastmodified) VALUES ('".$con_side[$idcatside]['idsidelang']."', '".$cms_mod['container']['id']."', '".$cms_mod['modul']['id']."', 'gb_name', '$typenumber', '$name', '".$auth->auth['uid']."', '".time()."', '".time()."')"; $db->query($sql); $gb_change='true'; } } else { if($gb_temp2['name'] == 1) { $sql = "DELETE FROM $cms_db[content_external] WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype='gb_name' AND typenumber='$gb_entry'"; $db->query($sql); } } // eMail-Adresse schreiben if ($email) { set_magic_quotes_gpc($email); if($gb_temp2['email'] == 1) { unset($gb_temp); $sql = "UPDATE $cms_db[content_external] SET value='$email', lastmodified='".time()."', author='".$auth->auth['uid']."', typenumber='$gb_entry' WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype='gb_email' AND typenumber='$gb_entry'"; if ($mod['test'] == "true") {echo "<hr>SQL:".$sql."<br>";} $db->query($sql); if ($db->affected_rows()) { $gb_temp='true'; if ($mod['test'] == "true") {echo "<hr>dg_temp -> true<br>";} } else {$gb_change='true'; if ($mod['test'] == "true") {echo "<hr>gd_change -> true<br>";} } } else { $sql = "INSERT INTO $cms_db[content_external] (idsidelang, container, number, idtype, typenumber, value, author, created, lastmodified) VALUES ('".$con_side[$idcatside]['idsidelang']."', '".$cms_mod['container']['id']."', '".$cms_mod['modul']['id']."', 'gb_email', '$typenumber', '$email', '".$auth->auth['uid']."', '".time()."', '".time()."')"; $db->query($sql); $gb_change='true'; } } else { if($gb_temp2['email'] == 1) { $sql = "DELETE FROM $cms_db[content_external] WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype='gb_email' AND typenumber='$gb_entry'"; $db->query($sql); } } // url schreiben if ($url) { set_magic_quotes_gpc($url); $url = str_replace('http://','',$url); if($gb_temp2['url'] == 1) { unset($gb_temp); $sql = "UPDATE $cms_db[content_external] SET value='$url', lastmodified='".time()."', author='".$auth->auth['uid']."' WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype='gb_url' AND typenumber='$gb_entry'"; $db->query($sql); if ($db->affected_rows()) $gb_temp='true'; else $gb_change='true'; } else { $sql = "INSERT INTO $cms_db[content_external] (idsidelang, container, number, idtype, typenumber, value, author, created, lastmodified) VALUES ('".$con_side[$idcatside]['idsidelang']."', '".$cms_mod['container']['id']."', '".$cms_mod['modul']['id']."', 'gb_url', '$typenumber', '$url', '".$auth->auth['uid']."', '".time()."', '".time()."')"; $db->query($sql); $gb_change='true'; } } else { if($gb_temp2['url'] == 1) { $sql = "DELETE FROM $cms_db[content_external] WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype='gb_url' AND typenumber='$gb_entry'"; $db->query($sql); } } // Wohnort schreiben if ($location) { set_magic_quotes_gpc($location); if($gb_temp2['location'] == 1) { unset($gb_temp); $sql = "UPDATE $cms_db[content_external] SET value='$location', lastmodified='".time()."', author='".$auth->auth['uid']."' WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype='gb_location' AND typenumber='$gb_entry'"; $db->query($sql); if ($db->affected_rows()) $gb_temp='true'; else $gb_change='true'; } else { $sql = "INSERT INTO $cms_db[content_external] (idsidelang, container, number, idtype, typenumber, value, author, created, lastmodified) VALUES ('".$con_side[$idcatside]['idsidelang']."', '".$cms_mod['container']['id']."', '".$cms_mod['modul']['id']."', 'gb_location', '$typenumber', '$location', '".$auth->auth['uid']."', '".time()."', '".time()."')"; $db->query($sql); $gb_change='true'; } } else { if($gb_temp2['location'] == 1) { $sql = "DELETE FROM $cms_db[content_external] WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype='gb_location' AND typenumber='$gb_entry'"; $db->query($sql); } } // Kommentar schreiben if ($comment) { set_magic_quotes_gpc($comment); if($gb_temp2['comment'] == 1) { unset($gb_temp); $sql = "UPDATE $cms_db[content_external] SET value='$comment', lastmodified='".time()."', author='".$auth->auth['uid']."' WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype='gb_comment' AND typenumber='$gb_entry'"; $db->query($sql); if ($db->affected_rows()) $gb_temp='true'; else $gb_change='true'; } else { $sql = "INSERT INTO $cms_db[content_external] (idsidelang, container, number, idtype, typenumber, value, author, created, lastmodified) VALUES ('".$con_side[$idcatside]['idsidelang']."', '".$cms_mod['container']['id']."', '".$cms_mod['modul']['id']."', 'gb_comment', '$typenumber', '$comment', '".$auth->auth['uid']."', '".time()."', '".time()."')"; $db->query($sql); $gb_change='true'; } } else { if($gb_temp2['comment'] == 1) { $sql = "DELETE FROM $cms_db[content_external] WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype='gb_comment' AND typenumber='$gb_entry'"; $db->query($sql); } } // Kommentar schreiben if ($comment2) { set_magic_quotes_gpc($comment2); if($gb_temp2['comment2'] == 1) { unset($gb_temp); $sql = "UPDATE $cms_db[content_external] SET value='$comment2', lastmodified='".time()."', author='".$auth->auth['uid']."' WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype='gb_comment2' AND typenumber='$gb_entry'"; $db->query($sql); if ($db->affected_rows()) $gb_temp='true'; else $gb_change='true'; } else { $sql = "INSERT INTO $cms_db[content_external] (idsidelang, container, number, idtype, typenumber, value, author, created, lastmodified) VALUES ('".$con_side[$idcatside]['idsidelang']."', '".$cms_mod['container']['id']."', '".$cms_mod['modul']['id']."', 'gb_comment2', '$typenumber', '$comment2', '".$auth->auth['uid']."', '".time()."', '".time()."')"; $db->query($sql); $gb_change='true'; } } else { if($gb_temp2['comment2'] == 1) { $sql = "DELETE FROM $cms_db[content_external] WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype='gb_comment2' AND typenumber='$gb_entry'"; $db->query($sql); } } // IP-Adresse schreiben if ($gb_change) { if(!$gb_entry) { $sql = "INSERT INTO $cms_db[content_external] (idsidelang, container, number, idtype, typenumber, value, author, created, lastmodified) VALUES ('".$con_side[$idcatside]['idsidelang']."', '".$cms_mod['container']['id']."', '".$cms_mod['modul']['id']."', 'gb_ip', '$typenumber', '".getenv('REMOTE_ADDR')."', '".$auth->auth['uid']."', '".time()."', '".time()."')"; $db->query($sql); } } // Moderation schreiben if ($moderated) { set_magic_quotes_gpc($moderated); if($gb_temp2['moderated'] == 1) { unset($gb_temp); $sql = "UPDATE $cms_db[content_external] SET value='$moderated', lastmodified='".time()."', author='".$auth->auth['uid']."' WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype='gb_moderated' AND typenumber='$gb_entry'"; $db->query($sql); if ($db->affected_rows()) $gb_temp='true'; else $gb_change='true'; } else { $sql = "INSERT INTO $cms_db[content_external] (idsidelang, container, number, idtype, typenumber, value, author, created, lastmodified) VALUES ('".$con_side[$idcatside]['idsidelang']."', '".$cms_mod['container']['id']."', '".$cms_mod['modul']['id']."', 'gb_moderated', '$typenumber', '$moderated', '".$auth->auth['uid']."', '".time()."', '".time()."')"; $db->query($sql); $gb_change='true'; } } else { if($gb_temp2['moderated'] == 1) { $sql = "DELETE FROM $cms_db[content_external] WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype='gb_moderated' AND typenumber='$gb_entry'"; $db->query($sql); } } unset($typenumber); unset($gb_entry); unset($gb_temp); unset(${'gb'.$cms_mod['container']['id'].'_'.$cms_mod['modul']['id']}); // E-Mail schreiben wenn gewuenscht if($mvars['22'] == "true" && strchr($mvars['23'],'@')){ $mailbody = str_replace('{name}',$name,$mvars['24']); $mailbody = str_replace('{email}',$email,$mailbody); $mailbody = str_replace('{homepage}',$url,$mailbody); $mailbody = str_replace('{location}',$location,$mailbody); $mailbody = str_replace('{comment}',stripslashes($comment),$mailbody); $mailbody = str_replace('{comment2}',stripslashes($comment2),$mailbody); $mailbody = str_replace('{created}',date("d.m.Y h:i"),$mailbody); $mailbody = str_replace('{ip}',getenv('REMOTE_ADDR'),$mailbody); $mailbody = str_replace('{link}',$cfg_client['htmlpath'].$con_side[$idcatside]['link'],$mailbody); $mailbody = str_replace('<br />',"\n",$mailbody); mail($mvars['23'], $mvars['25'], $mailbody, "From: Gaestebuch<".$mvars['23'].">\nX-Mailer: PHP/" . phpversion(). "\n"); unset($mailbody); } } // ******************************************************************************** *************** // wenn "del" als aktion uebergeben wird und wir noch im edit-modus sind if(${'gb'.$cms_mod['container']['id'].'_'.$cms_mod['modul']['id']} == 'delete' && $cms_side['edit']) { $sql = "DELETE FROM $cms_db[content_external] WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype!='1' AND typenumber='$gb_entry'"; $db->query($sql); $sql = "UPDATE $cms_db[content_external] SET typenumber=typenumber-1 WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype!='1' AND typenumber>'$gb_entry'"; $db->query($sql); unset(${'gb'.$cms_mod['container']['id'].'_'.$cms_mod['modul']['id']}); } // ******************************************************************************** *************** // Gaestebuch anzeigen if(!${'gb'.$cms_mod['container']['id'].'_'.$cms_mod['modul']['id']}) { // Navigationstemplate $gb['navi_forward_on'] = $mvars['2']; $gb['navi_forward_off'] = $mvars['3']; $gb['navi_backward_on'] = $mvars['4']; $gb['navi_backward_off'] = $mvars['5']; $gb['navi_numeric_on'] = $mvars['6']; $gb['navi_numeric_off'] = $mvars['7']; // Startposition festlegen $gb['navi_position'] = (is_numeric(${'gb'.$cms_mod['container']['id'].'_'.$cms_mod['modul']['id'].'_pos'}) && ${'gb'.$cms_mod['container']['id'].'_'.$cms_mod['modul']['id'].'_pos'} > 0) ? ${'gb'.$cms_mod['container']['id'].'_'.$cms_mod['modul']['id'].'_pos'} : 1; // Eintraege zaehlen $sql = "SELECT DISTINCT typenumber FROM $cms_db[content_external] WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype!='1'"; $db->query($sql); //Anzahl aller moeglichen Artikel $gb['side_score'] = $db->num_rows(); // Seitennavigation bauen if ($mvars['8'] > '0') { $base_url = "gb".$cms_mod['container']['id']."_".$cms_mod['modul']['id']."_pos"; $pager =& sf_factoryGetObject('GUI', 'Pager'); $pager->setTotalItems($gb['side_score']); $pager->setItemsPerPage($mvars['8']); $pager->setDelta($mvars['40']); $pager->setCurrentPage($gb['navi_position']); $pager->setSpacesBeforeSeparator(0); $pager->setSeparator($mvars['39']); $pager->setTextPrev($mvars['41']); $pager->setTextNext($mvars['42']); $pager->setTextFirst($mvars['43']); $pager->setTextLast($mvars['44']); $pager->setUrlVar($base_url); $pager->generate(); $final['navi'] = $pager->getLinks(); } else { $final['navi'] = ""; } // Eintraege in Array schreiben if ($mvars['28'] == "SORT_DESC") { // start = anzEintraege - startSeite - anzAnzeigen + 1 $gb['begin_search'] = $gb['side_score'] - ($gb['navi_position']-1)*$mvars['8'] - $mvars['8'] + 1; $gb['end_search'] = $gb['side_score'] - ($gb['navi_position']-1)*$mvars['8']; } else { $gb['begin_search'] = ($gb['navi_position']-1)*$mvars['8'] + 1; $gb['end_search'] = ($gb['navi_position']-1)*$mvars['8'] + $mvars['8']; } if ($mod['test'] == "true") {echo "<hr>Kontrolle Navigation: Anz ".$gb['side_score']."<br>Start: ".$gb['begin_search']."<br>Ende: ".$gb['end_search']."<br>[28]:".$mvars['28']."<br>[8]:".$mvars['8']."<br>";} if ($mvars['8'] == '0') { $sql = "SELECT * FROM $cms_db[content_external] WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype!='1' ORDER BY lastmodified DESC"; } else { //$sql = "SELECT * FROM $cms_db[content_external] WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype!='1' AND typenumber BETWEEN '".$gb['begin_search']."' AND '".$gb['end_search']."' ORDER BY lastmodified ".$mvars['28']; $sql = "SELECT * FROM $cms_db[content_external] WHERE idsidelang='".$con_side[$idcatside]['idsidelang']."' AND container='".$cms_mod['container']['id']."' AND number='".$cms_mod['modul']['id']."' AND idtype!='1' AND typenumber BETWEEN '".$gb['begin_search']."' AND '".$gb['end_search']."' ORDER BY lastmodified DESC"; } $db->query($sql); while ($db->next_record()) { //if ($mod['test'] == "true") {echo "<br>Eintraege: Nr:".$db->f('typenumber')." Creat:".$db->f('created')." Last:".$db->f('lastmodified')." value: ".$db->f('value')." Type: ".$db->f('idtype');} $gb['typenumber'][] = $db->f('typenumber'); if ($db->f('idtype') == 'gb_name') $gb[$db->f('typenumber')]['name'] = $db->f('value'); if ($db->f('idtype') == 'gb_email' && $mvars['15'] != '') $gb[$db->f('typenumber')]['email'] = str_replace('{url}', htmlspecialchars($db->f('value'), ENT_COMPAT, 'UTF-8'), $mvars['15']); if ($db->f('idtype') == 'gb_url' && $mvars['14'] != '') $gb[$db->f('typenumber')]['url'] = str_replace('{url}', htmlspecialchars($db->f('value'), ENT_COMPAT, 'UTF-8'), $mvars['14']); if ($db->f('idtype') == 'gb_location' && $mvars['17'] != '') $gb[$db->f('typenumber')]['location'] = str_replace('{loc}', htmlspecialchars($db->f('value'), ENT_COMPAT, 'UTF-8'), $mvars['17']); if ($db->f('idtype') == 'gb_comment') $gb[$db->f('typenumber')]['comment'] = $db->f('value'); if ($db->f('idtype') == 'gb_comment2' && $mvars['20'] != '') $gb[$db->f('typenumber')]['comment2'] = str_replace('{com2}', htmlspecialchars($db->f('value'), ENT_COMPAT, 'UTF-8'), $mvars['20']); if ($db->f('idtype') == 'gb_moderated') $gb[$db->f('typenumber')]['moderated'] = $db->f('value'); if ($db->f('idtype') == 'gb_ip') { $gb[$db->f('typenumber')]['ip'] = $db->f('value'); $gb[$db->f('typenumber')]['created'] = date($cfg_cms['FormatDate'].' '.$cfg_cms['FormatTime'], $db->f('created')); } if (!$gb[$db->f('typenumber')]['lastmodified']) $gb[$db->f('typenumber')]['lastmodified'] = date($cfg_cms['FormatDate'].' '.$cfg_cms['FormatTime'], $db->f('lastmodified')); } // Template erstellen $final['newentry'] = str_replace('{url}', $con_side[$idcatside]['link']."&gb".$cms_mod['container']['id']."_".$cms_mod['modul']['id']."=edit", $mvars['11']); // Eintraege erstellen if (is_array($gb['typenumber'])) { $gb['typenumber'] = array_unique($gb['typenumber']); if ( $mvars['28'] == 'SORT_DESC') { array_multisort ($gb['typenumber'], SORT_NUMERIC, SORT_DESC); } else { array_multisort ($gb['typenumber'], SORT_NUMERIC, SORT_ASC); } foreach($gb['typenumber'] as $gb['number']=>$i) { $final['editentry'] = str_replace('{url}', $con_side[$idcatside]['link']."&gb".$cms_mod['container']['id']."_".$cms_mod['modul']['id']."=edit&gb_entry=".$i, $mvars['12']); $final['deleteentry'] = str_replace('{url}', $con_side[$idcatside]['link']."&gb".$cms_mod['container']['id']."_".$cms_mod['modul']['id']."=delete&gb_entry=".$i, $mvars['13']); if ($mvars['1'] != '') { $gb_temp['span'] = '<span class='.$mvars['1'].'">'; $gb_temp['span2'] = '</span>'; } else { $gb_temp['span'] = ''; $gb_temp['span2'] = ''; } if ($cms_side['edit']) $comment_temp = $mvars['16']; else $comment_temp = $mvars['9']; $comment_temp = str_replace('{name}', $gb_temp['span'].htmlspecialchars($gb[$i]['name'], ENT_COMPAT, 'UTF-8').$gb_temp['span2'], $comment_temp); $comment_temp = str_replace('{email}', $gb_temp['span'].$gb[$i]['email'].$gb_temp['span2'], $comment_temp); $comment_temp = str_replace('{homepage}', $gb_temp['span'].$gb[$i]['url'].$gb_temp['span2'], $comment_temp); $comment_temp = str_replace('{location}', $gb_temp['span'].htmlspecialchars($gb[$i]['location'], ENT_COMPAT, 'UTF-8').$gb_temp['span2'], $comment_temp); $comment_temp = str_replace('{comment}', $gb_temp['span'].str_replace("<br />","<br />", nl2br(htmlspecialchars($gb[$i]['comment'], ENT_COMPAT, 'UTF-8'))).$gb_temp['span2'], $comment_temp); $comment_temp = str_replace('{comment2}', $gb_temp['span'].str_replace("<br />","<br />", nl2br($gb[$i]['comment2'])).$gb_temp['span2'], $comment_temp); $comment_temp = str_replace('{moderated}', $gb_temp['span'].htmlspecialchars($gb[$i]['moderated'], ENT_COMPAT, 'UTF-8').$gb_temp['span2'], $comment_temp); $comment_temp = str_replace('{ip}', $gb_temp['span'].$gb[$i]['ip'].$gb_temp['span2'], $comment_temp); $comment_temp = str_replace('{created}', $gb_temp['span'].$gb[$i]['created'].$gb_temp['span2'], $comment_temp); $comment_temp = str_replace('{lastmodified}', $gb_temp['span'].$gb[$i]['lastmodified'].$gb_temp['span2'], $comment_temp); $comment_temp = str_replace('{newentry}', $gb_temp['span'].$final['newentry'].$gb_temp['span2'], $comment_temp); $comment_temp = str_replace('{number}', $gb_temp['span'].$i.$gb_temp['span2'], $comment_temp); if ($cms_side['edit']) { $comment_temp = str_replace('{editentry}', $gb_temp['span'].$final['editentry'].$gb_temp['span2'], $comment_temp); $comment_temp = str_replace('{deleteentry}', $gb_temp['span'].$final['deleteentry'].$gb_temp['span2'], $comment_temp); } else { $comment_temp = str_replace('{editentry}', '', $comment_temp); $comment_temp = str_replace('{deleteentry}', '', $comment_temp); } if($mvars['27'] != "false" ) { $comment_temp = gaestebuch_renderSmileys($comment_temp,'cms/mod/smileys'); } if ($mvars['0'] != '') $final['comments'] .= '<span class="'.$mvars['0'].'">'.$comment_temp.'</span>'; else $final['comments'] .= $comment_temp; } } // Final-Template erstellen $final_temp = str_replace('{newentry}', $final['newentry'], $mvars['10']); $final_temp = str_replace('{comments}', $final['comments'], $final_temp); $final_temp = str_replace('{navi}', $final['navi'], $final_temp); $final_temp = str_replace('{navi_forward}', $final['navi_forward'], $final_temp); $final_temp = str_replace('{navi_backward}', $final['navi_backward'], $final_temp); eval(' ?>'.$final_temp); } unset($gb, $gb_temp, $comment_temp, $final_temp, $final, $gb_temp2, $mod, $gb_change, $base_url, $captcha_object); } //end $is_dev unset($is_dev); </CMSPHP> Unter Administrativ ist jetzt die neue Checkbox für die Moderation und es wird auch der Wert vom Formular unter "moderiert" übernommen. Jetz sollte das Feld vesteckt werden und immer mit dem Inhalt "1" gefüllt werden. Dies müsste die Formularstelle sein: CODE $final_temp = str_replace('{moderated}', "<input type=\"text\" name=\"moderated\" id=\"moderated\" value=\"".$gb_temp['moderated']."\"".$gb_temp['span_moderated']." />", $final_temp); wenn ich da den type von text auf hidden und value auf "1" ändere wird in der DB nichts gespeichert. Warum? Vorarbeit für die Eingabe wäre somit dann fertig! Dann mein Problem mit der Abfrage. Jetzt sollte verglichen werden (denke ähnlich wie Captcha), falls moderation gewünscht wurde, ob in dem Feld eine "0" steht und damit im Frontend angezeigt wird. Vorraussetzung ist dafür, dass im backend (Beitrag edit: (also freischalten) value von "1" auf "0" geändert wird! Falls nicht moderiert werden soll, kann man ja den inhalt von value mit "1" ausgeben! Gruß FireFlyer Der Beitrag wurde von FireFlyer bearbeitet: Wed. 4. April 2007, 20:20
Bearbeitungsgrund: codebox verwenden!
|
|
|
Vereinfachte Darstellung | Aktuelles Datum: 25.9.24 - 00:08 |