DEPRECATION WARNING

This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

EXT: HBook

Author:Kasper Skårhøj
Created:2002-11-01T00:32:00
Changed by:Martin Helmich
Changed:2006-11-27T15:36:12
Author:Martin Helmich
Email:m.helmich@abi07-rahden.de
Info 3:
Info 4:

EXT: HBook

Extension Key: h_book

Copyright 2006, Martin Helmich, <m.helmich@abi07-rahden.de>

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.com

Table of Contents

EXT: HBook 1

Introduction 1

What does it do? 1

Screenshots 1

Users manual 2

Installation 2

Inserting the HBook 2

Configuration 3

TypoScript Reference 3

Introduction

What does it do?

The extension HBook offers a powerful, yet easy configurable guestbook with various features.

Text parsing

The HBook automatically parses the entry text for common BBCode tags (like [B][/B] for bold printing and so on...) and substitutes them with the proper HTML tags. Smilies like :) or ;) are substituted with a proper image. The HBook also parses links and email addresses found in the entry text.

Security issues

The HBook offers several ways of spam protection. Any entry containing a word found on a specific black list is not saved at all. This black list contains common spam words like “sex”, “porn”, and so on. Furthermore, an entry can optionally be verified by a randomly generated verification code that has to be copied manually from an image into an input field during entry creation. The administrator can block single IP addresses for a certain amount of time.

HBook entries can be administrated either by backend users using the Typo3 proprietary forms or by frontend users using a specific page protected by the Typo3 frontend authentification.

Screenshots

img-1

The default list view with smilie and BBCode support.

img-2

The entry creation form

Users manual

Installation

You can install the plugin quite easily via the Typo3 Extension Manager. There is nothing special you have to consider during the installation.

After installing, you should customize and configure the HBook to make it fit into your page design.

Inserting the HBook

Step 1: Listing all entries

Now the time has come to include the HBook into your website. Create a new page and insert a new content element. In the section “plugins” you will find the HBook plugin. You can now configure this HBook instance when editing this content record. At first, you should select 'List all entries' in the 'What to display' field in the 'General settings' section. In this setting the HBook will list all guestbook entries. You can change the sorting mode by changing the 'Order By' field in the 'Display' section.

Step 2: Creating new entries

Now you can list all guestbook entries that were ever submitted. But this makes sense only, if visitors can submit entries at all. For this, you can either add 'Create new entry' to the 'What to display' field in the record you created in step 1, or create a new page with a new content element and then set 'What to display' to 'Create new entry' there.

NOTE : If you create a new page for entry creation you have to tell the HBook where to store the guestbook entries. The best way is to create a SysFolder (create a new page and select 'SysFolder' as page type) and set the 'Entry storage page' in both plugin instances to this page.

Step 3: Editing entries

If you want to edit guestbook entries, you can either do this using the Typo3 proprietary backend forms (go to the entry storage page you propably specified in step 2, select 'List' and then select the HBook entry you want to edit). If you want certain frontend users (for example moderators on a bigger page) to have the right to edit guestbook entries without giving them backend access, you can create a new page with a new HBook instance. Here, you set 'What to display' to 'Edit entry'. Remember to set the 'Entry storage page'.

In the plugin displaying the entry list, you should now set the 'edit page' in the 'General settings' section to the page you just created.

To prevent every ordinary visitor from editing guestbook entries, you should restrict the access to this page to a certain group of fe_users.

Configuration

The HBook offers a wide range of configuration possibilities both on HTML Template and on TypoScript level.

TypoScript Reference

General properties
templateFile

Property

templateFile

Data type

file

Description

The template file.

Default

EXT:h_book/pi1/h_book.template.html

storagePID

Property

storagePID

Data type

page-UID

Description

The page the guestbook entries are stored on.

Default

local

Property

local

Data type

boolean

Description

If set, the HBook stores guestbook entries on the page the plugin was instanciated on.

Default

0

ipBlockDuration

Property

ipBlockDuration

Data type

int

Description

This defines the amount of time an IP address remains blocked.

Default

86400 (1 day)

smilies.display

Property

smilies.display

Data type

cObj (IMAGE)

Description

This cObj is the basic image for all smilies substituted in the entry text.

Default

smilies.data

Property

smilies.data

Data type

COA

Description

An array of all smilies to be substituted in the entry text. Each item should inherit the properties of smilies.display. Only the “file” and the “tag” property sould be unique for each smilie. The tag property defines the character sequence that is substituted with the image (like e.g. :) or ;) )

Default

enableAdditionalFields

Property

enableAdditionalFields

Data type

string

Description

A comma-seperated list of optional fields to enable. Possible values: email, homepage, location, icq, aim, msn

Default

email, homepage, location, icq, aim, msn

Entry creation

The entry creation configuration can be accessed by plugin.tx_hbook_pi1.create

required

Property

required

Data type

string

Description

A comma-seperated list of entry fields that are required when creating a new entry. Valid values are name, text, email and homepage.

Default

name,text

label

Property

label

Data type

stdWrap

Description

All input field labes are parsed with these options

Default

requiredLabel

Property

requiredLabel

Data type

stdWrap

Description

All required input field labels are parsed with these options. Regulary inherits all settings of create.label

Default

ipblocking

Property

ipblocking

Data type

boolean

Description

If set, IP blocking is enabled. This allows the administrator to temporarily block certain IP addresses from creating entries.

Default

1

filter

Property

filter

Data type

boolean

Description

If set, entries are blocked if they contain a certain word from a spam word blacklist (create.filter.words)

Default

1

filter.words

Property

filter.words

Data type

string

Description

A comma-seperated list of unwanted words. All entries containing on of these words are not displayed.

Default

spamCode

Property

spamCode

Data type

boolean

Description

If set, all visitors creating a guestbook entry have to verify that they are human and not a spam bot by manually copying a randomly generated code into an input field.

Default

1

spamCode.length

Property

spamCode.length

Data type

int

Description

The spam protection code length

Default

8

spamCode.background

Property

spamCode.background

Data type

array

Description

The background color of the image displaying the spam protection code. The color is defined by three properties called .r, .g and .b

Default

r=255;g=255;b=255

spamCode.text

Property

spamCode.text

Data type

array

Description

The text color of the image displaying the spam protection code. See create.spamCode.background

Default

r=0;g=0;b=0

errorList.item

Property

errorList.item

Data type

stdWrap

Description

If an error occurred during entry creation, the HBook displays a list of errors. Each error is parsed with this stdWrap object

Default

inputField.width

Property

inputField.width

Data type

int

Description

The width of the entry creation form input field width in characters

Default

64

Entry listing

The entry listing configuration can be accessed by plugin.tx_hbook_pi1.display

select

Property

select

Data type

select

Description

The select options for loading the guestbook entries

Default

labels.edit

Property

labels.edit

Data type

cObj

Description

The edit button.

Default

labels.email

Property

labels.email

Data type

cObj

Description

The email button

Default

labels.homepage

Property

labels.homepage

Data type

cObj

Description

The homepage button

Default

labels.icq

Property

labels.icq

Data type

cObj

Description

The ICQ button

Default

labels.msn

Property

labels.msn

Data type

cObj

Description

The MSN button

Default

labels.aim

Property

labels.aim

Data type

cObj

Description

The AIM button

Default

location

Property

location

Data type

cObj

Description

The location

Default

text

Property

text

Data type

stdWrap

Description

The parsing options for the entry text.

Default

comment

Property

comment

Data type

stdWrap

Description

The parsing options for the admin comment. This object usually inherits its attributes from the “text” object.

Default

author

Property

author

Data type

stdWrap

Description

StdWrap options for the author

Default

date

Property

date

Data type

stdWrap

Description

StdWrap options for the entry date

Default

pagebrowser

Property

pagebrowser

Data type

stdWrap

Description

StdWrap options for the page browser

Default

pagebrowser.item

Property

pagebrowser.item

Data type

stdWrap

Description

StdWrap options for a single page link.

The link texts for first, previous, next and last page are defined by the objects .first, .prev, .last, .next

Default

Credits

The finnish frontend translation was written by Katja Lampela. Thanks a lot.

img-3 EXT: HBook - 4