$Id: CHANGELOG,v 1.32 2002/10/17 17:26:44 djresonance Exp $

v 0.6.3
-------
 - wrote an install script.  It's now possible to completely install
   and configure phptest without touching any source files
 - updated the INSTALL file with instructions for running the install
   script and alternatives if it doesn't work
 - form fields are preserved on error now.  For instance, if you
   forget to fill in an alternate answer, when you press submit,
   you will be redirected informing you of the error, and the
   fields you typed in already will be filled in again.
 - added the ability to take tests with one question per page
 - added a polish translation (thanks rhin@o2.pl)
 - added a simple chinese translation (thanks cmschool@21cn.com)
 - added synonyms.  See english.inc.php for details (thanks John Lacey)
 - split the login/logout/change password page into three seperate pages
 - fixed a bug that caused users to get a 'you do not have permission to view
   this page' after submitting a test.
 - fixed a bug in edit_user.php (thanks Andy Dimicale)
 - fixed a bug in view_results.php (thanks John Lacey)
 - fixed a bug with register_globals in edit_group.php (thanks John Lacey)
 - fixed a bug that caused columns to not sort with register_globals turned off
   (thanks John Lacey)
 - fixed a bug that cuased an sql error when a partial admin user tried to
   preview a question (thanks John Lacey)
 - fixed bug that affected admin access for non-admin users (thanks John Lacey)

v 0.6.2 (8/28/02)
-------
 - phptest now works with register_globals turned off, and no notices or
   warnings are displayed
 - added 'true' and 'false' to the language files so they can be translated
 - much of the code has been rewritten to be cleaner and not as ugly
 - seperated all question types into seperate classes
 - groups are now sorted alphabetically when adding and viewing
 - configuration variables are now stored in the database, and can be edited
   directly from within phptest
 - the database fields have been modified if necessary to conform to a consistent
   naming scheme
 - phpdoc comments have been added to all of the functions in functions.inc.php.
   The generated documentation for them is in the /docs/devel directory
 - all phpTest functions are now prefixed with pt_
 - 'skill level' has been renamed to 'subject', as this makes more sense (thanks Dan)
 - the cookie stuff has been rewritten.  Now phpTest only stores 1 cookie on your pc
   with all of the needed values, instead of a seperate cookie for each value.
   The path is now also set correctly, which eliminates the cookie problem w/
   Mozilla.  Thanks goes to Dan Kegel for helping to troubleshoot this problem.
 - the method to add a user has been renamed from 'register' to 'add' to conform to
   the naming scheme
 - most of the sql queries have been reformatted for easier readiblilty
 - each individual question can be set to 'plain text' or 'html'.  Plain text
   questions are wrapped in a <pre> tag to preserve formatting
 - Mysql password encryption is the default (only) method for encrypting
   passwords now as my homebrewed functions did not work on some systems
 - the options to retake tests and block tests have been removed for now because
   they were not implemented very well.  I'm going to make them available on a
   per-test level (instead of being global for all tests) in the future.
 - all questions forms have been changed to textboxes to allow multi-line answers.
   the possible answers on the test are now enclosed in their own box to easily
   distinguish between them
 - The correct answers on tests are now shaded in green for admins
 - a new option has been added to each question: 'leave blank' and selected
   as the default response.
 - view_questions.php now truncates the preview of each question and answer
   to 30 characters.
 - The 'edit' link on tests for admins has been replaced by a nice icon
   courtesy of Danny Hernandez
 - fixed bug that caused the edit test page to show a blank value
   for num random or num required if either was 0.
 - added the much-needed ability to preview a question without having to put it
   on a test.  You can preview directly from view_questions.php now.
 - fixed escaped slash problems in various places
 - after taking a test, the user is automatically redirected to the results page

v 0.6.1 (7/30/2002)
-------
 - fixed some incorrect programming logic in cdatabase.inc.php.
   Thanks to John Lacey for pointing out the problems.
 - fixed bug that caused self-registered users to see admin menus
   (the bug was benign, they couldn't actually edit anything)
 - minor documentation errors have been fixed by John
 - fixed image uploading again.  For some reason, IE does not
   pass the $submit variable to the page if the form type is set
   to 'multipart/form-data' (this is needed for uploading files)
   I hacked a workaround in, but apparently uploading files is
   broken with IE.  I tested the code w/ Mozilla and it works fine,
   so I'm not sure what the problem is.  If you have any insight into this,
   please let me know.
 - fixed view_answers.php.  Previously it tried to pull the information about
   the question from the questions table.  If a question was deleted however,
   view_answers.php couldn't pull any info for it.  Now it simply stores a
   copy of all of the required information in the results table
 - rewrote some sql queries to use table joins instead of executing seperate
   queries
 - added option to log database queries.  Probably not useful to the regular
   user, but you can enable it in cdatabase.inc.php by setting $this->debug
   to TRUE
 - updated several pages to work with register_globals turned off.  John
   has volunteered to work on this some more.
 - fixed a lot of bugs that slipped through on the 0.6.0 release
 - added option to limit number of times someone can retake a test
 - added option to not let someone retake a test once they've passed it
 - added option to allow html in questions
 - added option to allow a test-taker to get a new set of questions a
   certain number of times.
 - fixed the "unknown file upload error" bug that occured with php < 4.1.0
 - updated the documentation to reflect new config variables

v 0.6.0 (7/3/2002)
-------
 - added option to sort the possible answers on test instead of randomizing
   thanks to John Lacey for submitting code for this.
 - rewrote pages so php doesn't generate notices for undefined variables
   and the like
 - fixed bug that caused some errors to be displayed if an admin tried to
   view a test that isn't active
 - Fixed the test display code to honor newlines in questions.
 - disabled graphing for now, I'd like to write my own rudimentary graph
   class as I don't really like phplot and JpGraph isn't GPL anymore.
 - added HACKING and TODO documents to install.
 - the czech translation is fully up to date now. Bob has cvs access so
   will be maintaing the czech translation directly from now on.
 - updated documentation.  I would say that the end-user documentation
   is about 40-50% done now.  When the end-user documentation is finished,
   I'm going to work on developer documentation with a technical overview
   of the system and other crap like that.

v 0.5.9 (6/14/2002)
-------
 - all pages are now XHTML 1.0-transitional compliant
 - changed all config vars to constants
 - changed all @extract($db->fetch_array($result), EXTR_PREFIX_ALL, 'db')
   to $row = $db->fetch_object($result).  (syntax looks nicer)
 - fixed broken array syntax (changed $array[value] to $array['value'])
 - modified cuser.inc.php to support mysql password encryption.  Check the
   docs for details
 - added option to let users register themselves
 - added option to require a valid email address
 - added a calendar to show upcoming tests.  It can be view by admins at
   view_test.php.  I'm not sure if it will be useful for regular users, so
   feedback on that point is welcome.
 - fixed error handling on all add/edit pages.  If you leave out a value on a
   form, you get a nice formatted error message and a redirection to the
   form page instead of just being dumped to an exit page.
 - updated user manual
 - many, many miscellaneous bugs fixed

v 0.5.8 (6/7/2002)
-------
 - rewrote form class
 - beautified code
 - changed db structure to allow for localization of 'Multiple Choice',
   'True or False', 'yes', 'no', and 'Essay' phrases
 - added option to add a picture to each test question.  The picture is
   available as a popup link on the test.  This is not working 100% yet,
   some pictures only display halfway, while others don't successfully
   upload.  Gifs seem to work the best so far.
   (thanks to <jlacey@ix.netcom.com> for this idea)
 - Added graph of individual user's test results on view_results.php page.
   More graphs/stats are in the works.
 - fixed cookies to work properly with php 4.2.1
 - fixed html bug that rendered some pages incorrectly w/ mozilla
 - added nl2br() to make html output look nicer in some areas
 - synched up phrases in language files

v 0.5.7 (6/3/2002)
-------
 - implemented better admin options for users and groups! Now, a non-admin
   can be granted permissions to add/edit/delete certain skill levels and
   groups.  This means that you can give permission for one person to only
   add and edit questions and tests from certain skill levels. That person
   could also add and edit users from a particular group.
 - users can now belong to multiple groups
 - fixed a bug that caused 'no users found' message to not be displayed
 - removed dependency on temp files to store cached tests.  They are now
   stored in the database, which simplifies life a bit.
 - got rid of all short form <?= tags for improved portability.
 - fixed user deletion so that the user's test results and answers are also
   deleted.  This should fix the problem of 'ghost' entries in
   view_results.php
 - added option to view test results in xml format.
 - added configuration var to specify whether or not to use persistent db
   connections

v 0.5.6 (5/24/2002)
-------
 - added config var to optionally show question weight to test takers
 - changed the caching so that it does not cache administrator results.
   This allows administrators to refresh and see different possible question
   combinations.
 - fixed a parse error in the czech module
 - added proper GPL header to every souce file
 - got rid of dumb popup window and cleaned up the 'view answers' page
 - wrote a table class so the code doesn't look so ugly
 - added 'additional notes' field to each question.  This field is displayed
   when a user views his test results.  You could use it to explain the answer
   to a question.
 - fixed the drop down select boxes on view_users.php and view_questions.php
   so they retain the values when sorting the table
 - fixed drown down select box on add_question.php so it retains skill level
   when adding successive questions
 - added brazilian-portuguese translation (thanks gandhi@quilombodigital.org)
 - fixed bug that allowed anyone to view anyone else's test results
 - rewrote view_answers.php to store user answers as seperate db
   entries.  This allows better presentation of the way the answers
   are displayed (for instance, now incorrect answers are in red and
   correct answers are in green)
 - continuing to work on docbook manual

v 0.5.5 (5/17/2002)
-------
 - overhauled the html layout.  I think it looks much nicer now.
 - added context sensitive help to different pages
 - Changed the 'viewable' option on the tests to a 'start-date end-date'
   scheme.  Now, a test will only be viewable inbetween the start and
   end date and with appropriate user permissions.
 - fixed display bug in view_users.php
 - fixed bug that caused error if only 1 required or random question was on
   the test
 - added configurable charset var, located in each language file
 - added czech translation (thanks jurencak@quick.cz)
 - fixed bug that caused an sql error if the user answered all questions on
   the test incorrectly
 - fixed some html issues
 - changed the test results page.  Now, test results for all users are shown
   by default.  If you just want to see results for a particular user, you can
   click on his username in the test results page.
 - added multiple date display formats (see config.inc.php for details)
 - added ability to limit displayed questions to a particular skill level in
   admin view (likewise for users and groups)
 - added page to clear saved tests cache
 - started initial work on docbook user manual

v 0.5.4 (5/9/2002)
-------
 - fixed redirect bug w/ IIS
 - changed all unnessarily double-quoted strings to single quotes.  This should
   improve speed somewhat.
 - On tests, every question has the first option clicked as the answer.  This
   will prevent people accidently forgetting to answer a question and losing
   all of their data
 - the test questions are now cached, so a user can't press the refresh button
   to get a different set of questions.
 - fixed css to display properly on IE6 and Mozilla
 - put all of the strings into languages/english.inc.php.  phpTest can now be
   easily translated into different languages by editing that file.  Initially,
   I've included a spanish translation thanks to mapleman@avixion.net.  If you
   translate phpTest into another language, please email me the modified file.
 - fixed editing of groups
 - Correct answers are now shown on true/false questions when an admin is
   viewing a test
 - fixed a couple type-o's in the install file
 - added edit link and weight to questions for admins in the test view
 - added link for test takers to view test results once they are logged in.
 - various other minor bugfixes

v 0.5.3 (5/3/2002)
-------
 - fixed a bug that generated an sql error if all of the questions
   on a test weren't answered
   (thanks to andy.dimacale@wheaton.com)

v 0.5.2 (4/??/2002)
-------
 - fixed a bug that prevented editing of true/false questions
   (thanks clove@1stbank.net)

v 0.5.1 (4/11/2002)
-------
 - fixed a bug that prevented adding new users with admin rights
 - fixed a bug that prevented editing current users

v 0.5.0 (4/10/2002)
-----
 - Initial Release