Changelog for the flatPHPbook script by Thomas Hettenhausen
http://flatphpbook.sourceforge.net
http://www.hettenhausen.net


Changes in 1.01
--------------
- BUGFIX: The ability to comment on entries or edit them introduced in v1.0 resulted in a problem: if the edited post was the newest one,
  the next post after that was not correctly added to the database file - instead it was added to the end of the last post and therefore
  is not displayed correctly. Symptom: the missing posts "nickname" is appended to the admins comment, but not seen anywhere else.
  You will manually have to edit the db file and press return with the cursor between the closing brackets of the admin comment in question
  and the nickname of the post that is missing. With 1.01, this gets handled correctly for all new posts being edited / added.
- BUGFIX: The JavaScript file contained an incomplete function skeleton I was working on, but it was even missing the "function" keyword.
  On some systems, this resulted in error messages or disfuntionality (client side in the browser). Removed the offending code
  since it was doing nothing at the moment.
- BUGFIX: Empty lines in the database file (for whatever reason they got into it) are now handled better than before and do not show up
  as empty posts anymore. The counting of posts now takes them into account and removes them from the number as well.
  At the moment, I see no way to take the empty lines out of the numbering, so there would be a jump between post numbers.
  This is due to the limitations of this being a stateless script. I might find a way around this later.
- BUGFIX: Not really a bug fix, but I cleaned up some of the code and moved redundant code into a new function.
- NEW FEATURE: Site admins can now choose to "moderate" the guestbook - which results that new posts are only displayed when logged in
  as admin, and then feature an additional "approve" button which enables them to make them visible by all. Disabled by default.
- NEW FEATURE: Set the default character encoding to ISO-8859-15 instead of ISO-8859-1 to allow for use of the added signs,
  the Euro symbol being one of them.
- DOCUMENTATION: Added the documentation for the new moderation feature.


Changes in 1.0
--------------
THIS VERSION BREAKS DATABASE COMPATIBILITY WITH PRE-1.0 VERSIONS, YOU NEED TO CONVERT YOUR FILE BEFORE FIRST USE!
SEE README.HTML FOR DETAILS ON HOW TO DO THIS!
- BUGFIX: "ClickToEditConfig" was not used, instead it was always displaying the english text instead.
- BUGFIX: In some places in the code, wrong styles were used, which was not easily determinable
  since in the default stylesheet they produced the same layout
- BUGFIX: After using one of the BBcode buttons, the messagebox now regains the focus properly.
- NEW FEATURE: Possibility to edit / comment entries (gets written to the entry just like a regular part of the entry)
- NEW FEATURE: External links (the "homepage" of an entry and links inside comments) can now have a target set for them (new browser
  window or full window if guestbook is inside a frameset).
- NEW FEATURE: The date and time of a post now is no longer saved as two strings according to your formatting, but as a standardized
  Unix timestamp. It only gets formatted at display time, which makes it a lot more flexible: now you can later on switch the format
  in which the date and time get displayed uniformly for all entries!
- NEW FEATURE: It is now possible to add custom fields (0 and up) with custom names. These just get appended to the rest of the post in
  the database file, so older posts just will not display these fields.


Changes in 0.9.9
----------------
- "BUGFIX": I exchanged (hopefully) all the single quotes and replaced them with double quotes. The main reason I used them in the first
  place was because than I did not have to escape them in the PHP echo sequences. Now I think the result is more XHTML
  compliant if I use double quotes, and the HTML source just looks better (more readable, I think).
- BUGFIX: Made the stylesheet validate as CSS (had a wrong argument for one padding and no "generic" font family as last alternative).
- NEW FEATURE: The codepage/character encoding for the resulting HTML code can now be set via the INI file. Defaults to ISO-8859-1.
- NEW FEATURE: You now have the possibility to not have the BBcode buttons displayed and even finetune which ones you want.
- NEW FEATURE: Added everything needed for BBcode font sizing (button, JavaScript, the BBcode function in the script...)
- NEW FEATURE: Changed the result of the BBcode to use <span style="..."> instead of the deprecated <font>, <b>, etc. tags.
- NEW FEATURE: I am moving all the style code to the style sheet where it belongs and created more classes. This results in 
  even more flexibility in styling the output. No more <p style="..."> (except for the buttons), only <p class="...">... 
- NEW FEATURE: Colorized the dropdown list for the color selection.


Changes in 0.9.8
----------------
- BUGFIX: The rewrite of some authentication parts for using cookies probably solved some problems with PHP sessions,
  so I declare this a bugfix release as well...
- NEW FEATURE: Added the option (and made this default) to use cookies for staying in admin mode after logging in
  instead of PHP sessions. Made it more stable for me.
- DOCUMENTATION: Added the explanation for the "useCookies" part to the Readme file.


Changes in 0.9.7
----------------
- BUGFIX: Deleting posts got broken somewhere along the way (preparing 0.9.6, I am sure). Fixed now.
- BUGFIX: Page navigation fixed (the numbers always worked, but moving the config to the INI file disabled the arrows...).
- NEW FEATURE: You can now be notified automatically via email if a new post was made to your guestbook. Should
  work on both Win32 and Unix/Linux servers (does for me...).
- NEW FEATURE: When in admin mode, you will be able to edit the INI file via a web interface if you click on the link
  labelled "Click here to edit the configuration." directly underneath the input form fields for new posts.
  INI file needs to be writable for this (like the DB file).
- NEW FEATURE: Added a "Cancel"-button to the preview page so you can easily return to the guestbook.
- DOCUMENTATION: Changed the readme file so that it reflects the new functionality and added the comments from the INI
  file to the configuration section there to keep the INI itself cleaner.



Changes in 0.9.6
----------------
- BUGFIX: The date and time notation introduced in the last version now works (sorry for not doing it correctly...).
  Now there is a third option, "german", for "DD.MM.YYYY, H:m:s"
- NEW FEATURE: Now displays the input form again with submitted values if either previewing or submitting
  if either of the required fields Nickname or Message was omitted. Required a lot of restructuring and rewriting,
  that's why this update took so long.
- NEW FEATURE: Moved the configuration from the top of the script to an external INI file called guestbook.ini.
- NEW FEATURE: Added the string used for the Preview button to the main headline of the preview page
- NEW FEATURE: Changed the default stylesheet to be less ... grey. Now it is a little brighter with very little color added ;)
- DOCUMENTATION: Changed the wording of Appendix B.


Changes in 0.9.5
----------------
- BUGFIX: JavaScript functions now do not insert BBcode around nothing where empty strings would be submitted if a user pressed OK on
  an empty text field.
- NEW FEATURE: The PHP script now reads all language-specific content, including button tags and JavaScript prompt windows, from an
  external file and therefore is easily translatable into other languages. German is already available, since I am German.
- NEW FEATURE: You now have the possibility to have the date and time recorded in American format (MM-DD-YYYY and HH:MM:SS am/pm
  instead of YYYY-MM-DD and HH:MM:SS) by setting the variable $timeNotation. Note: this is evaluated at submit time.
- DOCUMENTATION: Added a new appendix to the Readme.html regarding the translation.



Changes in 0.9.4
----------------
- BUGFIX: The combination of posting a link with the BBCode while not giving a name for the link, but including the leading
  http:// resulted in the guestbook displaying a link with a leading http://http// instead of http://  - fixed.
- BUGFIX: Should now validate correctly as HTML 4.01/Transitional. It had an invalid ACCESSKEY attribute to SELECT
  which did not work anyways, of course, the character encoding/content type was missing, there was no DocType,
  and the JavaScript link was missing its type as well. All fixed.
- NEW FEATURE: Added the possibility to disable logging the IP address of the poster (which was originally included
  to make it possible to take legal actions if necessary). If you do not want this or it is illegal in your country
  you can now disable this.
- DOCUMENTATION: Expanded and clarified (I hope!) the part of the documentation regarding file permissions for
  the script and the database file on Unix/Linux systems.



Changes in 0.9.3
----------------
- BUGFIX: Removed the navigation links for navigating between the several pages containing the posts
  if the guestbook was empty.
- BUGFIX: Date and time of posting are now recorded in a more standardized form, YYYY-MM-DD, HH:MM:SS
  with leading zeros for every aspect (before; minutes, seconds, months and days did not have leading zeros).
  Only with new posts, old posts fom versions < 0.9.2 already recorded with the wrong formatting.
  You can of course edit the guestbook.db file manually if you want to.
- NEW FEATURE: Cleaned up the PHP code and, more importantly, the resulting HTML code. Some parts of the HTML structure
  are easier to style and use now if you want your own stylesheet (from your own website e.g.)  
- NEW FEATURE: Moved the text displayed above the input fields (the part listing the features of the script in its initial state)
  to a separate file for easier updating in future versions.
- NEW FEATURE: Added the BUG FIX, NEW FEATURE and DOCUMENTATION tags to this changelog so you can check
  if a new release is mainly a bugfix release (you might need) or if it adds new functionality (you might want).
- DOCUMENTATION: Updated the Readme file to contain information on keeping your guestbook data when upgrading.
- DOCUMENTATION: Added a new appendix to the Readme file explaining the structure of the database file (guestbook.db).



Changes in 0.9.2 
----------------
- BUGFIX: Fixed several "undefined variable" or "no such offset" errors that appeared when deleting posts.
  That did not happen on my main development machine, so I did not notice until I moved to another machine.
  Obviously some versions of PHP for Win32 are more forgiving...
- BUGFIX: Fixed a bug where the extra-super-duper-new security check introduced in 0.9.1 (which would not delete
  a post if the numbers got mixed up) did nothing, because I both had a typo in the hidden form field and
  did not initialize the important variables correctly, so NULL was compared to NULL (always true). I never saw that, but
  it is kinda hard to test a feature like that if I do not have a heavy-load-guestbook to test with...
- BUGFIX: Fixed the bug with the homepage associated with a post. If the poster did not add "http://" to the beginning
  of the URL (e.g. "www.domain.com" instead of "http://www.domain.com"), the resulting HTML code was
  <a href="www.domain.com">..., which created a hyperlink to
  http://guestbookserver/guestbookdirectory/www.domain.com - which just did not work.
- NEW FEATURE: Added the possibility to have "Sign this guestbook" and "View this guestbook" on different pages (by request
  from a friend). If $separateViewFromSign is set to 1, the script defaults to viewing the guestbook and displays a link to sign
  the guestbook instead of the input fields. On the page with the fields, a link "to view" is displayed instead of
  the list of the previous posts.
- DOCUMENTATION: Corrected and reformatted the Readme file and added several new parts to it
  (e.g. the whole Requirements section).

  


Changes in 0.9.1
----------------
- BUGFIX: Fixed installation bug where file system permissions would prevent creation of 'guestbook.db' by adding
  an empty file of this name to the archive.
- BUGFIX: If the admin deleted a post while someone else submitted a post, the numbering schemes got mixed up.
  This resulted in the wrong post being deleted. Now no post is deleted for safety reasons.
- BUGFIX: Added a "color" section to the color selector, because the topmost color did not trigger the script.
- BUGFIX: Special characters such as quotes no longer are preceded by a backslash.