GUESTBOOK
--------

1. LEGAL

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

2. DESCRIPTION

GuestBook is a CGI program that implements a guest book. A guest book 
is a web page containing entries. Each entry is sent by a user after 
visiting a web page through a form. Basically, users who visit a web 
page can either sign or view the guest book.

Some of its features are: 

  * Multiple guest books in the same web page or site. 
  * Customized background color. 
  * Customized background image. 
  * Customized foreground color. 
  * Automatic date inclusion (in US and non-US format). 
  * HTML tags converted into text. 
  * Automatic notification via e-mail of new entries. 

You can see a working example at http://www.adevas.com/GuestBookExample.html.
If you examine this example, you can see that there are two forms: one to sign 
the guest book and another to view it. The sign form can have as many fields as 
you want, but apart from your own fields, you have to use several 
required and optional fields. 

The required fields are: 

  * BOOK: it is the name for the guest book. You can have as many as 
    desired. For each guest book, a file will be created in the same 
    directory as GuestBook.exe is located (usually cgi-bin). Therefore, 
    this directory needs write permissions. 
  * ACTION: can be either SIGN or VIEW. 

And the optional fields are: 

  * TITLE: title for the guest book that will be uses by the web browser. 
    If this parameter is not specified, the default GuestBook name will be 
    used. Applicable to SIGN and VIEW actions. 
  * BACKGROUNDCOLOR: it can be something like "blue" or HTML format like 
    "#FF0000". If not specified, a white background color will be used. 
  * BACKGROUNDIMAGE: the location of a graphical file to be used in the 
    background of the web page. Applicable to SIGN and VIEW actions. 
  * TEXTCOLOR: it is similar to BACKGROUNDCOLOR. Applicable to SIGN and 
    VIEW actions. 
  * DATEFIELD: it is the name of the field that will show the date when 
    the entry was entered. Applicable only to the SIGN action. 
  * DATEFORMAT: it can be either DMY (for day/month/year) or MDY (for US 
    date format). Applicable only to the SIGN action. 
  * EMAIL: e-mail address where a notification e-mail on a new entry will 
    be delivered. Applicable only to the SIGN action and requires the SMTP 
    field to be specified. 
  * SMTP: SMTP server to send the e-mail notifications. Applicable only to 
    the SIGN action. 
  * HOME: web page where a link will be created at the end of the guest 
    book. Applicable to SIGN and VIEW actions. 

A good example of a HTML form to sign a guest book is: 

  <form name="SignGuestBook" action="/cgi-bin/GuestBook.exe" method="GET">
    <input type="hidden" name="BOOK" value="Example">
    <input type="hidden" name="ACTION" value="SIGN">
    <input type="hidden" name="TITLE" value="Guest Book Example">
    <input type="hidden" name="DATEFIELD" value="Date">
    <input type="hidden" name="DATEFORMAT" value="DMY">
    Name: <input type="text" name="Name" size="40" maxlength="256"><br><br>
    E-mail address: <input type="text" name="Address" size="40" maxlength="256"><br><br>
  Comments: <textarea name="Comments" rows="8" cols="70"></textarea><br><br>
  <input type="submit" value="Sign Guest Book">
</form> 

You can see that the first 5 field are used to configure different aspects of GuestBook. The rest of the fields are the ones that will be used to sign the guest book.
The corresponding form to view the same guest book could be: 

  <form name="ViewGuestBook" action="/cgi-bin/GuestBook.exe" method="get">
    <input type="hidden" name="BOOK" value="Example">
    <input type="hidden" name="ACTION" value="VIEW">
    <input type="hidden" name="TITLE" value="Guest Book Example">
    <input type="submit" value="View Guest Book">
  </form> 

It is possible to achieve the same behaviour with a link like: 

  <a href="/cgi-bin/GuestBook.exe?ACTION=VIEW&BOOK=Example&TITLE=Guest%20Book%20Example">View GuestBook</a> 

3. REGISTERED VERSION

This free version is fully functional except for the automatic e-mail 
notificacion of new entries feature, that is disabled. If you decide 
that GuestBook is useful for your purposes or/and need the e-mail 
notification, please pay the $19 fee and get the registered version. 
You will also quality to receive support future developments free of 
charge. The free version of GuestBook does not include technical support.

5. SOURCE CODE

GuestBook is written in C++. Visual C++ 6.0 was used, but because it 
uses standard C++ (using the STL among other things), you should not 
have any problem compiling it with any other compiler. The source code 
is available, but it is not free. You will have to pay $99 to obtain 
it. If you are interested, send me a message to contact@adevas.com.
