Jambook

Jambook

Jambook is a feature rich open source Joomla guestbook component with spam protection, email address cloaking, flood protection, double posting checks and the ability to use Joomla wysiwyg editor, even for guests!

Requirements

License

This component is released under the GNU General Public License, a copy of this license should be included in the zip file and available for reading from the administrator page once the component has been installed.

Installation

Please read the Joomla documentation for more detailed information on how to install components. Below are quick descriptions for Joomal 1.5 and Joomla 1.0.

Joomla 1.5

Go to the Administration page for your Joomla installation. If you haven't activated the Legacy Mode plugin, you must do so first from the Extensions -> Plugins page. Then go to the Extensions -> Install/Uninstall in the menu. Click the "Browse..." button, select the Jobline package file and click on "Upload File & Install". Go to Components -> Jobline -> Configuration and make sure you setup it up correctly. See the Jobline documentation for descriptions of all configuration options. Once you have the component set up correctly, make sure you don't forget to create a menu item for it.

Joomla 1.0

Go to the Administration page for your Joomla installation. Go to the Installers -> Components in the menu. Click the "Browse..." button, select the Jobline package file and click on "Upload File & Install". Go to Components -> Jobline -> Configuration and make sure you setup it up correctly. See the Jobline documentation for descriptions of all configuration options. Once you have the component set up correctly, make sure you don't forget to create a menu item for it.

Features

Information

Discussions about this component and my other extensions can be found on the support forums of my development site JX Development. You can also find other extensions I've created for Joomla and other systems on this site.

Any bugs or feature requests should be reported to the trackers for the component at Joomlacode.org. Bugs and feature requests sent in by any other means might easily be missed.

This component is developed in my spare time and released for free for everyone to use. If you like this component you can encourage further development by donating a few dollars to me via PayPal:

Support

If you have a support question you should first look at the FAQ, read this documentation and search the support forum on my site JX Development. If you can't find an answer to your question, you can post it on the support forum where hopefully someone will have an answer for you.

If you want personal support you can use the Paid Support Question Form available both from the admin pages of the component as well as on my site. Unfortunately I don't have time to answer support questions by email.

About the name

The name Jambook is derived from the Swahili word "jambo", which means "hello", and the English word "book".

Usage

Once installed you will have a new menu option called Jambook under the component menu in the administrator page of Joomla. From this menu you can List items, Approve new items, administer the component, read information, change the configuration etc.

Frontend Usage Information

The main page of Jambook shows a list of the guestbook entries. How this list is sorted, how many entries are shown per page, where the entry field is shown etc are all changeable in the Jambook configuration available from Joomla Administrator.

Search

Jambook has a built in search function to allow users to enter a text string to find all entries containing that string. If any entries are found they will show in a list similar to the normal guestbook entry list. If you want the main Joomla search page to search Jambook entries as well you will need the Jambook Searchbot, which can be downloaded separately.

Write guestbook entry

The guestbook entry form will either be shown above or below the guestbook entries, or on a separate page, depending on the 'Entry Form Placement' configuration option under the Posting configuration page of Jambook. The administrator can choose whether a preview page will be shown prior to saving the entry, and if a thank you email should be sent when the entry has been entered. It is also possible for the administrator to receive a notification of all entries entered.

Administrator Usage Information

When clicking on the main Jambook menu item in the Joomla Administrator Component menu a control page listing a description of each of the administration pages, as well as some information about the component. Below is a detailed description of each of these pages. This page reads the latest Jambook version from a central server on the internet.

Guestbook Entries

On this page all guestbook entries are listed and can be modified by the administrator. This is the page where entries can be approved by publishing them and it is also possible to edit entries and create new entries. This list works in the same way as the normal Joomla content editing list. To edit a guestbook entry, click on its title or mark the checkbox and click on the "Edit" icon. Click on the "New" icon to add a new guestbook entry. Several entries can be published, unpublished or deleted at the same time by marking the checkboxes next to them and clicking on the appropriate icon. To mark all checkboxes on the current page, click on the checkbox in the header field.

Add/Edit Guestbook Entries

The forms to Add and Edit a guestbook entry works in the same way, when a guestbook entry is edited all fields will be pre-filled with the values of that posting.

The fields are the same as when writing an entry from the frontend, except that there is a tab for publishing parameters. It is possible to publish entries, set a specific time the entry will be published or unpublished, and it is also possible to change the date when the entry was posted.

When editing a guestbook entry, it will be checked out and no other user will be able to edit it until it has been saved or the cancel icon has been clicked.

Template Manager

This shows a list of the available template files in the currently selected template set. To edit the contents of a template file, just click on the name of the item. It is not possible to add or remove template files, as they are used internally by the component.

Description of template files
show
The look when viewing a single guestbook entry.
list
How the list of entries will look.
listempty
What should be shown if there are no entries in the guestbook.
listitem
This file is called for each entry when showing the guestbook.
edititem
The look of the guestbook entry form.
thankyou
The page that is shown when an entry has been posted.
search
The search page.
error
The look of error messages.
preview
The preview screen when posting an entry from the frontend.

Edit template

When clicking on a template in the template list a page with a large text field is shown where the contents of the template file can be edited. If the template file is writeable a green "Writeable" text is shown above the field, if the system won't be able to save the template a red "Unwriteable" text is shown above the field instead. If the latter is shown you need to change the file permissions on the file shown to be able to save this template file from the administrator page. Click on the 'Save' button to save the template, or 'Cancel' to discard any changes.

Configuration

These are a few simple configuration options to change the behavior of the component.

Settings

General viewing settings for the component, defining how entries are listed etc.

Days Kept
Number of days after which guestbook entries are automatically deleted from database (be careful please! Enter 0 for not at all)
Days New
Number of days guestbook entries are considered new.
Days Published
Number of days guestbook entries are shown (enter 0 for no limit).
Sort Order
Sort order of entries in lists.
Entries Per Page
Number of guestbook entries to show on each page in lists.
Date Format
Date format, leave empty to use language default (uses strftime() syntax).
Show Username
Set to 'Yes' to show username instead of real name on entries.
Selected Template
Select which template set to use
Cloak Email
Cloak email address added to entries.
Posting

These settings change the behavior when posting guestbook entries.

Entry Form Placement
Placement of entry form on guestbook.
Use Preview Page
Use preview page when posting before entry is saved.
Allow Guest Names
Allow guests to enter a name when writing entries.
Posting Restriction
Restrict who can write in guestbook to this access level.
Auto Approve
Automatically approve posted guestbook entries.
Edit Hours
Registered users are allowed to edit their own entries for this many hours.
Flood Protection
Flood protection, enter number of seconds that must pass before another entry can be made from the same IP address.
No Double Postings
Disallow double posting of two entries with the same title and entry content.
Strip HTML in content?
Should HTML be kept, removed completely, or only remove tags not in list below? Regardless of which option is chosen, some malicious tags and their content are always removed. These are: script, head, title, style, applet, object, embed, link, meta, iframe as well as HTML comments. It is not recommended to allow any HTML tags in content, use at your own risk.
Allowed HTML tags
If 'Strip HTML in content' is set to 'Remove HTML not in list', only these tags will be allowed in the content of the guestbook entry. (Separate each tag with comma).
Wysiwyg Editor
Use the default html editor for Joomla! on frontend?.
Initialize Editor
Initialize WYSIWYG HTML editor for non-registered users?
Editor Width
Width of HTML editor window in pixels
Editor Height
Height of HTML editor window in pixels
Email

Email specific configuration options.

Mail From Address
Email address automatic emails should be sent from
Mail From Name
Name automatic emails should be sent from
Admin Email Address
Administrator email address to send emails to (leave empty to use super admin email).
Admin Email Name
Administrator name used in emails.
Send Thankyou Email
Send thank you email to author when guestbook entry is posted.
Notify Admin
Send an email to admin when entries are posted.
Spam

Spam protection configuration options.

Use CAPTCHA
Use CAPTCHA image. Show a picture with a random string of characters that the user must enter to save the guestbook entry.
Spam Treatment
How to treat entries marked as spam, according to the settings below.
URL = Spam
Treat entries containing url tag/link as spam.
Image = Spam
Treat entries containing image tag as spam.
Only Smileys
Treat entries as spam if they only contain smileys.
Forbidden Words
Treat entries containing these forbidden words as spam (each word should be on a line of it's own).
Banned IP
Treat entries from the following IP addresses as spam (each address should be on a line of it's own).
Smiley List
List of smileys to check for, separated by space.
Imports

Settings for the import functionality.

Publish Entries
Set to "Yes" if you want entries imported to be published in Jambook.
Max URL Length
Maximum length of link titles, if the title of a link is longer than this the title is shortened
Convert BBCode
Convert BBCode into html in entries before they are saved to the Jambook database. Since Jambook uses wysiwyg editors, the BBCode isn't necessary

Jambook Information

This page shows information about the component, these usage instructions, license information etc.

Import Entries

To make the transition to Jambook easier it is possible to import entries from other guestbook components. Select the desired guestbook and click on the button to begin the import. If you want more guestbooks to be supported, contact me with information on the table structure and some sample data and I will try to write an importer for it.

AkoBook

This import was written for AkoBook v3.42, but should also work for AkoBook Plus.

Easybook

Import entries from Easybook v1.1 stable, no other versions have been tested.

Templates

This component includes a template system for the html output of frontend pages. Two different sets of templates are included with the component and it's possible to switch between these from the component configuration. Each template file can also be changed via the component Administration. It's only possible to edit the content of template files in the currently selected template set.

The template files are normal HTML files, but also uses functionality similar to Joomla Mambots to make it possible to show where dynamic data should be placed.

Availableable Template Mambots

{jxtvalue=XXX}
Prints the content of the variable XXX. All job database fields are added as variables, as well as some other useful values. The available variables available are different for each template file.
{jxtlang=XXX}
Prints the language string XXX. This can be any language string available in Joomla and the component.
{jxtshowif=XXX} Any content {/jxtshowif}
Only shows the content between opening and closing mambots if variable XXX contains a value.
{jxtshowifnot=XXX} Any content {/jxtshowifnot}
Shows the content if the variable XXX doesn't contain a value.

N.B. The jxtshowif and jxtshowifnot template mambots can't be nested, as it will only work from the opening mambot to the first occurence of closing mambot.

Please look at the content of the provided template files for more information on how to use this template system.

It's also possible to get configuration values, by adding "config_" in front of key name of the configuration value.

About the Author

This component was initially developed by Olle Johansson.

Find more Joomla components, modules and mambots on Olle Johanssons development site Jx Development.

Credits

First of all I'd like to thank all of the Joomla Core Developers for giving away so much of their time to develop the best CMS there is to be found on the net.

Those who have contributed with code or language translations need an extra special thanks. These are: Martin Ackerfors for Swedish translation, Vipyammer (www.vipyammer.nl) for Dutch translation, Andreas Binczyk for German (informal) translation, Jean-François Questiaux for French translation, b2m@gmx.de for security fixes and german language corrections, Carlos Eduardo Rührwiem for Portuguese translation, Zoran Jekic for Serbian translation, Torbein Kvil Gamst for Norwegian translation, Tomek CeDeROM Cedro for Polish translation, Hugo Gandarillas Stuardo for Spanish translation, Ulrikhe Lukoie for Russian translation, Oguz Kaan Kilinc for Turkish translation, nustiu for Romanian translation, Tomasko Dudik for Slovakian translation.

I'd also like to thank all of those who develop components, modules, templates etc for Joomla &em; it's great to have such a wealth of addons to choose from.

I'm also using a CAPTCHA system created by Julien Pachet and the font Dustismo created by Dustin Norlander.

Flag icons provided by famfamfam.com.

Disclaimer

The creator of this component, Olle Johansson, is not responsible for the security of the data saved by this component and is not responsible for anything that occurs through the use of this component. The component is used entirely at your own risk.