.. You may want to use the usual include line. Uncomment and adjust the path. .. include:: ../Includes.txt ============== EXT: Guestbook ============== :Author: Christopher :Created: 2010-12-18T19:57:23 :Changed: 2018-06-09T14:57:00 :Classification: tt_guest :Description: The keywords help with categorizing and tagging of the manuals. You can combine two or more keywords and add additional keywords yourself. Please use at least one keyword from both lists. If your manual is NOT in english, see next tab "language" ---- forEditors (use this for editors / german "Redakteure") forAdmins (use this for Administrators) forDevelopers (use this for Developers) forBeginners (manuals covering TYPO3 basics) forIntermediates (manuals going into more depth) forAdvanced (covering the most advanced TYPO3 topics) see more: http://wiki.typo3.org/doc_template#tags ---- :Keywords: forEditors, forBeginners :Author: Franz Holzinger :Email: franz@ttproducts.de :Language: en .. _img-1-img-2-EXT-Guestbook: |img-1| |img-2| EXT: Guestbook ============================== Extension Key: tt\_guest Language: en Version: 1.7.0 Keywords: forEditors, forBeginners Copyright 2006-2018, Franz Holzinger, This document is published under the Open Content License available from http://www.opencontent.org/opl.shtml The content of this document is related to TYPO3 \- a GNU/GPL CMS/Framework available from www.typo3.org .. _Table-of-Contents: Table of Contents ----------------- **`EXT: Guestbook 1 <#__RefHeading__5708_1738894311>`_** **`Introduction 3 <#__RefHeading__1741_851200283>`_** `Support 3 <#__RefHeading__1743_851200283>`_ **`Configuration 4 <#__RefHeading__1745_851200283>`_** `Note: 4 <#__RefHeading__1747_851200283>`_ `Spam: 4 <#__RefHeading__1749_851200283>`_ `Privacy Policy: 4 <#__RefHeading__2780_1240704717>`_ `Captcha: 5 <#__RefHeading__1751_851200283>`_ `Files: 5 <#__RefHeading__1753_851200283>`_ `Description 6 <#__RefHeading__1755_851200283>`_ `class.tx\_ttguest.php properties 6 <#__RefHeading__1757_851200283>`_ `Submit.php properties 7 <#__RefHeading__1759_851200283>`_ **`Known problems 9 <#__RefHeading__1761_851200283>`_** **`To-Do list 10 <#__RefHeading__1763_851200283>`_** **`Changelog 11 <#__RefHeading__1765_851200283>`_** .. _Introduction: Introduction ------------ |img-3| Support ^^^^^^^ Report bugs at the `Issues for tt\_guest `_ . .. _Configuration: Configuration ------------- .. _Note: Note: ^^^^^ Only those settings which can be found using the Constants Editor or in the file ext\_typoscript\_constants.txt are valid constants. You must include the 'Guestbook Old Style' or the 'Guestbook CSS Style' into your 'static template records' of your TYPO3 template. .. _Spam: Spam: ^^^^^ Use the spamWords constant and add your own spam words. **Example** : :: spamWords := addToList(bad phrase, V1agra) Collect the IP addresses of the users who sent you too many spams and protect your whole website by putting those IP addresses into your .htaccess file. Or insert the IP addresses inside of the Directory clauses of an apache config file. See `http://www.javascriptkit.com/howto/htaccess5.shtml `_ **Example** : :: ... order allow,deny deny from 195.225.177.12 87.118.112.253 81.177.14.45 allow from all ... .. _Privacy-Policy: Privacy Policy: ^^^^^^^^^^^^^^^ You must set the constant PIDprivacyPolicy to the page id which shows your DSGVOor GDPR information. This is a legal requirement. You must use a front end registration extension to register the users. They must already have agreed to your privacy policy. If you use the forum without logged in front end users, then a privacy policy checkbox will appear in the forum entry form. You can overwrite the default texts by the \_LOCAL\_LANG setup. **Example** : plugin.tt\_guest :: plugin.tt_guest { _LOCAL_LANG { privacy_policy.title = PRIVACY AGREEMENT privacy_policy.acknowledgement = The GDPR is applied. privacy_policy.approval_required = You must approve it. privacy_policy.acknowledged = You acknowledge to have read the privacy policy. privacy_policy.acknowledged_2 = You acknowledge that your entered data may be processed according to GDPR. privacy_policy.hint = You can withdraw this again. .. _img-4: |img-4| ^^^^^^^ .. _Captcha: Captcha: ^^^^^^^^ Install the extension sr\_freecap. The default constants is empty. Set the constants to “captcha = freecap”. This will enable the display of a captcha display in your post forms. An alternative is the extension captcha. Set the constants to “captcha = captcha”. |img-5| Files: ^^^^^^ .. ### BEGIN~OF~TABLE ### .. _Controller-RegisterPluginController-php: Controller/RegisterPluginController.php """"""""""""""""""""""""""""""""""""""" .. container:: table-row File Controller/RegisterPluginController.php Description Main class used to display the guestbook and form .. _Controller-Submit-php: Controller/Submit.php """"""""""""""""""""" .. container:: table-row File Controller/Submit.php Description Used with FEDATA to submit guestbook entries to the database. See static\_template 'plugin.tt\_guest' **Properties:** .notifyEmail = email address that should be notified of submissions. .. _guest-template1-tmpl-guest-template2-tmpl: guest\_template1.tmpl guest\_template2.tmpl """"""""""""""""""""""""""""""""""""""""""" .. container:: table-row File guest\_template1.tmpl guest\_template2.tmpl Description Example template files. 'guest\_template1.tmpl' is default with static\_template 'plugin.tt\_guest' .. _constants-txt: constants.txt """"""""""""" .. container:: table-row File constants.txt setup.txt Description You must include the static template 'CSS styled content'. .. ###### END~OF~TABLE ###### .. _Description: Description ^^^^^^^^^^^ The default guest book consists of two main files, class.tx\_ttguest.php (display) and guest\_submit.inc (submission to database) plus two example templates, guest\_template[x].tmpl. If you want to create a guestbook out-of-the-box you should include the static template 'plugin.tt\_guest' and create a content element of the “List” type and enter a certain code. For a visual introduction to this, please see the example on the Typo3 testsite (page id 15). .. _generated: ((generated)) """"""""""""" .. _Example: Example: ~~~~~~~~ (See files under tt\_guest/static for a working configuration) .. _class-tx-ttguest-php-properties: class.tx\_ttguest.php properties ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. ### BEGIN~OF~TABLE ### .. _templateFile: templateFile """""""""""" .. container:: table-row Property templateFile Data type resource Description The template-file. See examples like 'media/scripts/guest\_template1.tmpl' Default .. _alternatingLayouts: alternatingLayouts """""""""""""""""" .. container:: table-row Property alternatingLayouts Data type integer Description Indicates how many alternating design the guestbook should expect. If you define a subpart like " ... " this is used al the time. If you define a similar subpart " ... " which might show another set of colors, this is used every second time instead of the default! This is because "alternateLayouts" is set to 2 If you define a similar subpart " ... " ... this will be used every third time IF (!) "alternateLayouts" is set to 3. If you do now set it to three, the first two will be used only. Default 2 .. _pid-list: pid\_list """"""""" .. container:: table-row Property pid\_list Data type string / stdWrap Description The pid's from where to fetch the items. Default is the current page. Accepts multiple pid's commaseparated! Default .. _PIDprivacyPolicy: PIDprivacyPolicy """""""""""""""" .. container:: table-row Property PIDprivacyPolicy Data type int+ Description PID for the privacy policy page in the TYPO3 page tree. On this page you must publish the privacy policy according to DSGVOand *GDPR* . If you have set this page and no memberOfGroups is set, then an additional privacy confirmation checkbox will appear. Default .. _code: code """" .. container:: table-row Property code Data type string / stdWrap Description Code to define, what the script does. Case sensitive Default .. _data-entry-form-POSTFORM: data entry form (POSTFORM) """""""""""""""""""""""""" .. container:: table-row Property data entry form (POSTFORM) guestbook list (GUESTBOOK) Data type Creates a form from which to post a new guest-book entry. Shows the content of the current guestbook (from the pid('s)). .. _defaultCode: defaultCode """"""""""" .. container:: table-row Property defaultCode Data type string Description The default code (see above) if the value is empty. By default it's not set and a help screen will appear Default .. _date-stdWrap: date\_stdWrap """"""""""""" .. container:: table-row Property date\_stdWrap Data type ->stdWrap Description stdWrap for display of dates. **Example:** :: date_stdWrap.strftime= %e-%m-%y Default .. _time-stdWrap: time\_stdWrap """"""""""""" .. container:: table-row Property time\_stdWrap Data type ->stdWrap Description stdWrap for display of time. **Example:** :: time_stdWrap.strftime= %H:%M:%S Default .. _age-stdWrap: age\_stdWrap """""""""""" .. container:: table-row Property age\_stdWrap Data type ->stdWrap Description stdWrap for display of ages. **Example:** :: age_stdWrap.age = 1 Default .. _title-stdWrap: title\_stdWrap """""""""""""" .. container:: table-row Property title\_stdWrap Data type ->stdWrap Description stdWrap for display of the title field Default .. _note-stdWrap: note\_stdWrap """"""""""""" .. container:: table-row Property note\_stdWrap Data type ->stdWrap Description stdWrap for display of the note field Default .. _author-stdWrap: author\_stdWrap """"""""""""""" .. container:: table-row Property author\_stdWrap Data type ->stdWrap Description stdWrap for display of the author field Default .. _email-stdWrap: email\_stdWrap """""""""""""" .. container:: table-row Property email\_stdWrap Data type ->stdWrap Description stdWrap for display of the email field Default .. _www-stdWrap: www\_stdWrap """""""""""" .. container:: table-row Property www\_stdWrap Data type ->stdWrap Description stdWrap for display of the www field Default .. _subpartMarker: subpartMarker """"""""""""" .. container:: table-row Property subpartMarker Data type string Description The "marker" that defines the subpart to use from the template. (see the template example files) Default TEMPLATE\_GUESTBOOK .. _postform: postform """""""" .. container:: table-row Property postform Data type ->FORM cObject Description Configuration of the form for posting replyes and possibly also new threads. By default this is based on styles.content.mailform and extended with other fields. Default .. _requireRecords: requireRecords """""""""""""" .. container:: table-row Property requireRecords Data type boolean Description If set, this script will return the comments only if there are comments. If not set the comment header will display no matter what. Default .. _dontParseContent: dontParseContent """""""""""""""" .. container:: table-row Property dontParseContent Data type boolean Description Normally the content which is output it htmlspecialchar'ed and nl2br'ed. This flag prevents that. Default .. _displayCurrentRecord: displayCurrentRecord """""""""""""""""""" .. container:: table-row Property displayCurrentRecord Data type boolean Description If set, certain settings are manipulated in order to let the script render a single item - the $cObj->data. Used to display single items forcibly. Default .. _wrap1: wrap1 """"" .. container:: table-row Property wrap1 Data type -> stdWrap Description Global Wrap 1. This will be splitted into the markers ###GW1B### and ###GW1E###. Don't change the input value by the settings, only wrap it in something. **Example:** :: wrap1.wrap = | Default .. _wrap2: wrap2 """"" .. container:: table-row Property wrap2 Data type -> stdWrap Description Global Wrap 2 (see above) Default .. _color1: color1 """""" .. container:: table-row Property color1 Data type string /stdWrap Description Value for ###GC1### marker (Global color 1) Default .. _color2: color2 """""" .. container:: table-row Property color2 Data type string /stdWrap Description Value for ###GC2### marker (Global color 2) Default .. _color3: color3 """""" .. container:: table-row Property color3 Data type string /stdWrap Description Value for ###GC3### marker (Global color 3) Default .. ###### END~OF~TABLE ###### [tsref:(script).guestLib] .. _Submit-php-properties: Submit.php properties ^^^^^^^^^^^^^^^^^^^^^ .. ### BEGIN~OF~TABLE ### .. _spamWords: spamWords """"""""" .. container:: table-row Property spamWords Data type string Description Comma separated list of words. A post will be considered as spam if one of these words is found in the note. Default .. _notifyEmail: notifyEmail """"""""""" .. container:: table-row Property notifyEmail Data type string Description Email address where to send the notification of new entries into the guestbook. Default .. _Constants: Constants: """""""""" .. container:: table-row Property Constants: emailCheck Data type boolean Description If set the email address will be checked if it exists. Otherwise no entry will be made and an error message gets displayed. Default .. _Constants: Constants: """""""""" .. container:: table-row Property Constants: captcha Data type string Description Usage of the captcha security string. Set this to freecap and install sr\_freecap. Or set this to captcha and install captcha. Default .. ###### END~OF~TABLE ###### .. _Known-problems: Known problems -------------- - This guestbook does not have so many possibilities like other guest books. - You must include the tt\_guest default template (Guestbook CSS Style) in the template module 'Include static (from extensions)'. .. _To-Do-list: To-Do list ---------- - Write a new guestbook extension with more features. - Related the guestbook items back to the content element inserting it - thus we can have more guestbooks on a single page. - Search mailbox for more... .. _Changelog: Changelog --------- .. ### BEGIN~OF~TABLE ### .. _1-7-0: 1.7.0 ^^^^^ .. container:: table-row Version 1.7.0 Changes Support for TYPO3 8.7 DSGVO / GDPR .. _1-4-0: 1.4.0 ^^^^^ .. container:: table-row Version 1.4.0 Changes Support for TYPO3 6.2 .. _1-3-0: 1.3.0 ^^^^^ .. container:: table-row Version 1.3.0 Changes Support for TYPO3 4.6 .. ###### END~OF~TABLE ###### .. ######CUTTER_MARK_IMAGES###### .. |img-1| image:: img-1.png .. :align: left .. :border: 0 .. :height: 44 .. :id: graphics5 .. :name: graphics5 .. :vspace: 57 .. :width: 161 .. |img-2| image:: img-2.png .. :align: left .. |img-3| image:: img-3.png .. :align: left .. :border: 0 .. :height: 659 .. :id: Grafik23 .. :name: Grafik23 .. :width: 549 .. |img-4| image:: img-4.png .. :align: left .. :border: 0 .. :height: 188 .. :id: Grafik1 .. :name: Grafik1 .. :width: 669 .. |img-5| image:: img-5.png .. :align: left .. :border: 0 .. :height: 461 .. :id: Grafik2 .. :name: Grafik2 .. :width: 631