/*******************************************************************************
 *
 * Leiden Open source Variation Database (LOVD) 3.0 Changelog
 *
 *************/

/*******************
 * 3.0 Beta 04
 * 2012-04-25
 *********/
 * On the bottom of the user's ViewEntries, visible for managers and up, we have
   added a log entry ViewList with log entries linked to the user.
 * Fixed bug; Variants imported from VCF and SeattleSeq files were sometimes
   incorrectly described as inversions.
 * Automatic mapping will now create several gene entries if a single variant
   can be mapped onto more than one gene.
 * Automatically mapped variants now get a VariantOnTranscript/Protein
   description.
 * Variants imported from VCF files will now get DB-ID's even if automatic
   mapping has been turned off.
 * Fixed bug; the automatic mapping script would crash with a PHP fatal error if
   it tries to get gene information from the HGNC for a deprecated gene symbol.
 * Fixed bug; The "make standard" AJAX call made from the SeattleSeq import form
   did not actually make the column standard because of a problem in the call.
 * Fixed bug; Submission emails sent out by LOVD by users with more than one
   email address, had the additional addresses in the body of the email.
 * Fixed bug; The /transcripts/GENE URL also showed transcripts for genes with
   symbols starting with the requested gene symbol.
 * Fixed bug; The number of variants shown in the individuals listing, showed
   the number of variants found in the first screening instead of the total
   number of variants found.
   (thanks to Chris Watson, St. James's Univ Hospital, Leeds, UK, for reporting)
 * Fixed bug; The custom column data type wizard was resetting a textarea's size
   to 40 every time the wizard ran.
 * Implemented PDO in all remaining lovd_queryDB() calls in genes.php,
   logout.php and users.php.
 * Fixed bug; LOVD's REST2SOAP library was throwing errors on older PHP versions
   while parsing XML files.
 * Fixed bug; After a SeattleSeq import, the final overview given didn't show
   all imported variants (although import was successful).
 * Fixed bug; When not logged in, no variant descriptions on transcripts could
   be viewed.
 * SeattleSeq import will now describe variants as p.(=) only if they are more
   than 10 bases away from the nearest splice site.
 * Fixed bug; the "External links" field could not be filled in with link
   descriptions, because the XSS security check didn't allow it.
 * Fixed bug; lovd_checkXSS() was not properly protected against XSS itself.
 * Cleaned up the gene homepage, which had way too many columns enabled.
 * Fixed bug; Fixed the bug that searching in a
   (created|edited|updated|owned)_by column would result in an invalid search
   syntax error.
 * Fixed bug; Sometimes the footer would not be included when an error occurred.
 * Fixed bug; Now preventing javascript injection in the custom columns data
   type wizard.
 * Implemented confirmed variants into the submission mail process.
 * Now writing to log if the mail to the curator(s) failed at the end of a
   submission and also added a notification of the error to the user.
 * Added some checks to screenings?confirm so that users cannot confirm variants
   when they are not allowed.
 * Added some examples to the standard custom link descriptions.
 * Renamed `VariantOnGenome/DNA_published` to `VariantOnGenome/Published_as` &
   `VariantOnTranscript/DNA_published` to `VariantOnTranscript/Published_as`.
 * Changed the page the user goes to when a column is enabled or
   removed/disabled.
 * Fixed bug; No longer able to view data that you are not authorized for in
   viewEntries.
 * Split screenings?confirm in screenings?confirmVariants and
   screenings?removeVariants.
 * Added automatic trimming of whitespaces in some SQL queries.
 * Implemented a proper error handling for emails.
 * Added the custom columns `Individual/Consanguinity`, `Phenotype/Date`,
   `Phenotype/Inheritance`, `VariantOnGenome/Genetic_origin` and
   `VariantOnGenome/Segregation` to the standard available set of columns.
 * Added allele and variant effect columns to some of the variant views.
 * Fixed bug; Fixed a fatal error saying the function called array_replace does
   not exist, because it is not available before PHP 5.3.0.
 * Fixed bug; Fixed an issue where NULL values would not be stored properly in
   the database.
 * Fixed bug; The check on DBID would, in some cases, throw an error on a DBID
   that LOVD just predicted.
 * Fixed some usability issues with the tab menu.
 * Increased the width of the tooltip, so that in some places parts of the
   tooltip don't disappear at the bottom edge of the page.
 * Added the allele field to some variant viewLists.
 * Fixed the variant counts in the genes viewList.
 * Leaving the proxy_port empty during install, would cause it to be stored as 0
   instead of NULL in the database, this is now fixed.
 * Changed all implementations of `VariantOnGenome/DBID` so that it can only
   contain the DBID itself and nothing extra.
 * Changed the column order on the gene homepage and changed the homepage url
   & external url fields to actual clickable links.
 * Now does not show some columns in the gene homepage when they are empty or
   when the user's level is not high enough.
 * Activated the Phenotype & VariantOnTranscript standard custom columns during 
   installation.
 * Added a few variant statistics to the gene homepage and fixed the variant
   statistics on the gene viewList.


/*******************
 * 3.0 Beta 03
 * 2012-03-28
 *********/
 * Implemented PDO in all remaining lovd_queryDB() calls in check_update.php,
   class/object_columns.php, class/object_genes.php,
   class/object_genome_variants.php, class/object_individuals.php,
   class/object_phenotypes.php, class/object_screenings.php,
   class/object_users.php, diseases.php, inc-auth.php, inc-init.php,
   inc-lib-init.php, individuals.php, install/index.php, login.php, settings.php
   and setup.php.
 * Fixed bug; ViewLists without page controls could not be sorted anymore since
   Beta-02.
 * Finished correcting the stats calculations in check_update.php.
 * Fixed bug; When trying to assign Panel ID 0 to an individual, LOVD returned a
   query error.
 * Fixed bug; On slower machines, LOVD could run into the maximum execution time
   during installation.
 * Fixed bug; LOVDs which were not correctly installed, for instance because the
   configuration step was skipped, could not be uninstalled.
 * Fixed bug; LOVD 3.0 could not connect to external sources through a proxy
   server.
   Closes #3: "Allow LOVD to work behind a proxy".
   (thanks to Susan McCafferty, University of Glasgow, UK, for reporting)
   (thanks to Chris Watson, St. James's Univ. Hospital, Leeds, UK, for testing)
 * Fixed bug; When incorrect MySQL data was filled in the config.ini, LOVD would
   now show a correct error message on the screen.
 * Fixed bug; lovd_matchURL() didn't correctly parse the given URLs that could
   result in false positives or false negatives.
 * Fixed bug; The email sent after a submitter registers, did not contain a
   proper link directly to the user's profile.
 * The email forwarded to the admin after a submitter registers, now has a
   proper Reply-To header.
 * Fixed notice directly after a submitter registers.
 * Fixed bug; "Not authorized" messages would include the header even if the
   "clean" header was already included before.
 * Fixed bug; On servers where MySQL had the ONLY_FULL_GROUP_BY setting enabled,
   custom columns could not be edited nor enabled.
 * Fixed bug; lovd_isAuthorized() returned false for users lower than managers
   when authorizing for variants, individuals, phenotypes and screenings.
 * Slightly optimized lovd_isAuthorized().
 * Fixed bug; It was not possible to activate the "Forward messages to database
   admin" or "Enable submitters to change data" settings.
 * Include the new Template class, that will soon replace inc-top.php,
   inc-top-clean.php, inc-bot.php and inc-bot-clean.php.
 * Implemented it in columns.php.
 * Fixed bug; ViewLists would throw an JavaScript error in some cases.
 * Fixed bug; DBID would not be predicted correctly in some cases.
 * Fixed bug; Searching for time on a DATETIME column would result in a Bad
   Syntax message in viewLists.
   Closes #8: "Searching a DATETIME column does not accept time input".
 * Made some layout changes to the list of current curators/collaborators for a
   gene.
 * Implemented better messages when a viewList does not return any entries.
 * Added a button to the viewEntry of variants that links to
   variants/<variantid>?map, where the user can add/remove transcripts on which
   the variant gets mapped on.
 * Fixed bug; Internal transcript start and stop positions that are pulled from
   mutalyzer were not correct.
 * Fixed bug; When clicking on a separator line in the tab menu, LOVD would
   redirect to /undefined, which would result in a 404 error.
 * Fixed bug; If LOVD was upgrading to a newer version, when redirecting back
   to the page where the user came from some pages would throw an error.
 * Added the "Imprinting" column to the genes pages & forms.
 * Implemented a delete column feature, that can remove a column from the
   installation after it has been disabled/removed from all data.
 * Fixed bug; Page navigation now reverts to the highest possible page, when a
   page is requested that is too high.
 * Added the possibility to add checkboxes to all entries in a viewList and a
   menu that allows you to perform actions to these entries.
 * Implemented a functionality to confirm ealier found variants with a
   screening.
 * When removing a transcript from the variant descriptions LOVD will show a
   warning when the red cross is clicked.
 * Added the option to import VCF files and SeattleSeq annotated files.
 * Variants on genomic level, such as variants imported with VCF files, can be
   mapped automatically to the genes in the database. Also, the uploader can
   choose to have LOVD create genes automatically, if imported variants are in
   a gene region.
 * Added an option to search for a certain variant in other LOVD databases.


/*******************
 * 3.0 Beta 02
 * 2012-02-09
 *********/
 * Went through the entire 2Do.txt file to resort the new priorities after
   3.0-beta-01.
 * The installation process now checks if MultiViews or mod_rewrite (or
   something equivalent on non-Apache servers) is activated. It also checks for
   the PHP function xml_parser_create().
   Closes #4: "Problems running LOVD 3.0 on Windows 7/WampServer 2.0".
 * Updated the INSTALL.txt to reflect this.
 * Removed link to LOVD status page for now since we haven't implemented it yet.
 * When resorting a ViewList, the list will return to the first page.
 * When there is only one user in the database, after creating a gene you are no
   longer forwarded to the "Add curator" page.
 * Fixed display problem with the disease entry form when there are genes with
   long names.
 * Fixed bug; Searching for !="" still showed entries with empty values in the
   specified column.
 * Fixed bug; Searching for values in custom columns used the slower HAVING SQL
   syntax instead of the optimized WHERE syntax.
 * When searching for negative matches (e.g. "!DMD" which means "does not match
   DMD"), the NULL values were ignored and not returned.
 * Fixed bug; The progress bar shown while upgrading did not calculate the total
   work correctly, making a weird "jump" at the end.
 * Fixed accidentially changed field length for the VariantOnGenome/Frequency
   field.
 * Fixed bug; The checks on the Panel ID field were not adequate.
 * Fixed bug; When running the data type wizard twice on the same form, the pre-
   vious values were not remembered.
 * Fixed bug; The data type wizard didn't remember the form type of the Decimal
   type column.
 * Fixed notice when creating two PDO connections.
 * Fixed bug; SOAP moduleCall()s would produce warnings when lovd_php_file()
   returned false on a failed SOAP request.
 * Fixed bug; Genes were not editable.
 * LOVD 3.0 now requires the PHP mbstring extension to be on.
 * After changing the page size on a viewList, the page number now always resets
   to 1.
 * Added links in the screenings tab dropdown to the custom columns overviews.
 * Added some icons in the dropdown menus.
 * Fixed bug; Fixed a notice from the custom column create form.
 * Added a progress bar in custom column delete.
 * Fixed bug; Fixed missing permission checks in various parts of LOVD.
 * Fixed bug; The variant create and edit form would give a notice if a variant
   could not be recognized/mapped by mutalyzer.
 * The buttons "Add a variant to this screening", "Add a screening to this
   individual" & "Add a phenotype to this individual" are now only visible when
   the user is the owner of the data, curator or higher.
 * You can now specify that no variants were found with a particular screening.
 * Now a user is only able to select up to 15 genes that have been screened in
   the screenings create & edit forms. For genome-wide analysis no genes should 
   be selected.
 * Fixed bug; The DBID was not properly predicted in some cases.
 * Fixed bug; When creating a gene, there were in some specific cases no proper
   checks if the gene was already present in the database.
 * Removed the separator line in the tab menu's when there are no items after
   it.
 * Added some mod_rewrite rules that we had forgotten to add before.


/*******************
 * 3.0 Beta 01
 * 2012-01-31
 *********/
 * Fixed bug; Sometimes transcripts where shown under a gene's detailed view
   that belonged to genes with only a similar name.
   Closes #6: "showing active transcripts".
 * Fixed bug; Password reset tried to send an email even if the user was unknown
   but it threw a PHP error instead. Also, you can no longer check if a username
   exists by using this function.
 * The default page size for the viewList used to select curators is now 10.
 * Fixed notices in columns.php.
 * Fixed bug; Removing a VariantOnTranscript column that has been added to many
   genes resulted in a very long selection list.
 * Fixed bug; The row links from the view/GENE viewList were not correct.
 * Fixed weird display of the view/GENE viewList when no transcripts or variants
   are available.
 * Added a column with the individual's disease(s) to the view/GENE viewList.
 * Added icons on the LOVD Setup page.
 * Increased required MySQL version to 4.1.2.
 * Added a user called LOVD for usage in (created|edited|updated)_by columns in
   case of LOVD making changes to the database itself.
 * Fixed bug; The display for checkbox custom columns was not working properly
   when viewing the column properties.
 * Fixed bug; When creating a custom (multiple) select column, LOVD would throw
   an error saying the select_options have to be numeric.
 * Fixed bug; When removing a non-shared custom column, you would get a notice.
 * All standard custom columns & custom links have now been set to be created by
   LOVD.
 * Implemented custom columns edit page.
 * The column width can now no longer allow more than 3 digits.
 * It is now possible to edit/create up to 5 columns simultaneously in different
   tabs/windows without losing data.
 * Implemented a dynamic change of the example below the 'width' input field in
   the custom columns edit & create forms.
 * Fixed bug; The variant create form threw a notice.
 * Fixed bug; Added a proper message on the gene-specific variant listing when
   there are no transcript with variants available for the selected gene.
 * Fixed bug; Prevented a variant from being added to the same screening every
   time due to a bug in the code.
 * Fixed bug; Prevented a notice from occurring regarding the chromosome in the
   variant edit form.
 * Fixed bug; Variants which were not public where still viewable in some
   viewLists.
 * Rewrote the submission mailing process, so that screenings & phenotypes can
   be added to an individual properly with a notification mail to the curator(s)
   and such.
 * Implemented panelid & panel size.
 * Implemented VariantOnGenome/DBID check & predict functions into the variant
   create and edit forms.
 * Corrected some pathogenicity error messages on the variant forms.
 * Fixed bug; Installing LOVD would cause a notice, because pathogenicity was
   not yet changed to functional effect.
 * Fixed bug; The map variant button did not properly check if there are no
   transcripts.
 * Changed the VariantOnGenome/DBID descriptions, regular expression pattern
   check and form type for the new LOVD3 implementation.
 * Removed Individual/Times_Reported and copied its data to panel size.
 * Changed some of the functional effect option names.
 * Added a loading image implementation to the HGVS check on the variant create
   & edit form.
 * Genes with a mitchondrial location can now be added in the create gene form.
 * Newly registered user accounts will now be registered as having been created
   by the user itself, instead of by nobody.
 * Gene symbols with a 'reserved' chromosomal location will not be allowed to be
   added to LOVD since mutalyzer cannot do anything if the chromosome is not
   known.
 * Sometimes the variant create or edit forms would take a long time to load,
   this has now been fixed.
 * Changed the default width for "VariantOnGenome/DBID" from 200 to 80.
 * Added a new database table to correctly sort the chromosomes.
 * Variant start & stop positions are now stored in the database, to facilitate
   correct sorting of the variants.


/*******************
 * 3.0 Alpha 07
 * 2011-12-14
 *********/
 * Fixed bug; When a gene has been selected, the disease tab was always linking
   to diseases associated to the DMD gene, even if there was no DMD gene.
 * When viewing a chromosome-specific variant overview, the chromosome number is
   mentioned in the page title.
 * Fixed bug; DECIMAL type columns weren't properly checked for their values'
   maximum allowed lengths nor if negative numbers were allowed.
 * Fixed bug; INT type columns weren't properly checked for their values'
   maximum allowed lengths.
 * Fixed bug; On servers without MySQL support, LOVD didn't return a proper
   warning anymore.
 * Fixed bug; Fixed an unclear error message that might be shown when creating a
   disease with no genes in the database yet.
 * Improved the navigation a bit by implementing shorter routes.
 * Fixed bug; The "New password" fields were always mandatory when editing a
   user's account.
 * Fixed bug; Newly created submitter accounts were reported to have last been
   logged in in the year 1970.
 * Fixed bug; A variable name in inc-top.php interfered with a variable name in
   lovd_requireAuth(), which made lovd_requireAuth() print a wrong error message
   when a user did not have proper rights to view a page.
 * Reimplemented /variants/GENE viewList - the variants can now only be viewed
   per transcript. The viewer can switch transcripts if others are available for
   the selected gene. Also created the /variants/GENE/NM_ID URL, which locks the
   view on the given transcript.
 * When viewing a variant's details, the affected transcripts now also mention
   the gene symbol.
 * Added links to gene and transcript pages from the variant's detailed view.
 * Fixed bug; Under some circumstances, you could get two "No results have been
   found that match your criteria." error messages below each other.
 * Implemented /transcripts/NM_ID, that forwards to the correct numeric ID.
 * Fixed bug; Values of checkbox custom columns were not stored in the database.
 * Fixed bug; When removing a VariantOnTranscript or Phenotype custom column,
   the multiple selection list to select from which objects the column should be
   removed, was not restricted to a certain maximum size.
 * Fixed bug; DATETIME columns with DATETIME values got an error message that
   they should contain DATE values.
 * Added the /view/GENE page that shows variant, screening and individual data
   joined to each other, per gene, like was done in LOVD 2.0.
 * Changed the dbSNP custom link so that it can accept "rs1234567" as well as
   just "1234567".
 * Fixed bug; The VariantOnTranscripts ViewList did not show any active custom
   columns.
 * Added the "Affects function" selection list to all variant create & edit 
   forms, which will be the replacement of the "Pathogenicity" field from LOVD2.
 * Added the option M (mitochondrial) to the chromosome selection list when
   creating a genomic variant.
 * Added support for editing a variant that affects transcripts of more than one
   gene.
 * Added a "loading..." image when the map variants button is pressed in the
   variant create & edit form.
 * Changed the way LOVD sorts on the `VariantOnGenome/DNA` and
   `VariantOnTranscript/DNA` columns.
 * When creating a variant on transcript level, you can now ignore specific
   transcripts.
 * The variant edit form now only shows the transcripts that the variant is
   mapped on.


/*******************
 * 3.0 Alpha 06
 * 2011-11-18
 *********/
 * Added the "Collaborates" column to the user's viewEntry, visible from Manager
   and up.
 * Fixed bug; The built-in Mutalyzer Syntax Checker on the variant create form
   didn't work for variants on non-numeric chromosomes, due to misinterpretation
   of 'chrX' as a malformed reference sequence.
 * When visiting gene-specific pages, LOVD now creates the gene-specific header
   with the list of curators displayed on the top of the page, like in LOVD 2.0.
 * LOVD also remembers your selected gene while you are active in LOVD, and some
   tabs' links are adapted to direct you to gene-specific overviews directly.
 * Improved the PDO wrapper by implementing a PDOStatement::fetchAllAssoc().
 * Changed order of columns in /variants/GENE overview, such that the variants
   on the transcript level are shown first.
 * Fixed bug; Internet Explorer users could be having some trouble with the drop
   down menu because of a bug in IE.
 * Added the protein NCBI ID column to the transcript viewList.
 * Fixed bug; Using the back button in your browser didn't always work properly
   when searching data using viewLists.
 * Fixed notice on phenotype data entry form.
 * Clicking on an entry in the "variant affecting transcripts" viewList now also
   links to the entry's viewEntry, and custom links are now displayed properly.
 * Fixed bug; The viewLists of individuals, screenings and phenotypes has no
   functional anchor.
 * Fixed bug; "Owned by" and "Status" fields are now only editable for curators
   and higher. The status of entries edited by the data owner, will be lowered
   to Marked, if it was set to Public.
 * Fixed bug; When leaving a Date data field empty, the database stored
   "0000-00-00".
 * Fixed bug; Internet Explorer users could be having some trouble with links
   from the "variants affecting transcripts" page, because Internet Explorer's
   Javascript engine does not respect the <BASE> tag.
 * Changed the end of submission URL from submit/(individual|variant)/<ID> to
   submit/finish/(individual|variant)/<ID>.
 * Implemented mailing to curators etc. at the end of a submission.
 * Authorization of users is now supported for all data types.
 * Searching numeric columns will now also allow negative numbers.
 * Enabled the "Forward messages to database admin" & "Enable submitters to
   change data" options in system settings.
 * Only public & marked entries are now visible to non-authorized users.
 * Implemented default values for variant forms.
 * Variants on transcript can now be edited and include HGVS syntax check &
   position converter on the form.
 * Changed the Content-Type of the standard email headers to charset UTF-8.
 * Variants on transcript viewlists now have a status field, which is actually
   the status from the corresponding genomic variant.
 * Added a viewEntry for variants on transcript below the genomic variant in
   variants/<variantid>#<transcriptid>.
 * Fixed bug; The active_columns selection box in custom link forms will no
   longer cause a notice when no columns have been selected.
 * Fixed bug; The password field will now always be checked correctly.
 * Phenotype edit forms and viewEntries are now displayed properly.
 * Focus of the variant?create/edit form is now on the submit button instead of
   the map variants buttons.
 * Added a password field to the custom links edit form.
 * Changed the layout of some forms.


/*******************
 * 3.0 Alpha 05
 * 2011-10-17
 *********/
 * Fixed bug; When deleting a user, an error occurred because of an invalid
   query to the database.
 * Fixed bug; When creating an individual entry, an error could have been shown
   on the screen.
 * Fixed bug; Registering a user would result into an infinite loop, freezing
   the browser because the code was expecting the user to be logged in.
 * Added new cross and check images in 11x11 and 16x16 and removed the old ones.
 * Added a register user functionality.
 * Added a reCAPTCHA library.
 * Implemented a reCAPTCHA to the user register form.
 * Implemented AJAX calls into the variant submission form so that the HGVS is
   checked instantly and you can convert the position from genomic to the
   transcripts and vice versa.
 * Fixed bug; newly registered submitters are now logged in properly after the
   registration step.
 * Fixed bug; running LOVD in php5 safe mode will no longer cause notices.
 * Added new mail functionalities and implemented them into the registration &
   password reset processes.
 * Improved the compatibility with other database platforms.
 * Changed the wrap length of email body texts from 80 to 70 characters.
 * Implemented the search expression ="" to viewLists, which will match columns
   with no value.
 * Changed PDO to use buffered queries.
 * Changed the standard email headers that are sent with all outgoing mails.
 * Search fields in the viewList now always fit the column.
 * Added a default location_url to the system settings form.
 * User level in the users viewList is now sortable AND searchable.
 * Added some more information about the meaning of the icons on the custom
   column overview if you move your mouse over them.
 * LOVD now distributes an User-Agent string when using certain web calls.
 * Changed URL of bug tracking system, since it has been moved.
 * When installing LOVD, the database URL is now predicted for the user.
 * Fixed problems with advanced searching in viewLists.
 * Made some textual improvements.
 * Improved the PDO wrapper.
 * Fixed bug; Checking the install's URL didn't work during LOVD installation,
   as notices were generated about a missing variable.


/*******************
 * 3.0 Alpha 04
 * 2011-09-02
 *********/
 * For phenotype data entries, the status can now also be set.
 * Fixed bug; The reset password functionality was non functional.
 * The gene's disclaimer will now be shown underneath the viewEntry table.
 * Fixed bug; A gene database's date of creation can no longer be in the future.
 * Curators can now also view custom column information.
 * Added link for changing the columns' order underneath a category's viewList.
 * Added "Genes screened" and "Variants" columns to the individual viewList.
 * Fixed bug; The submitter count and unique variants count were not calculated
   properly by check_update.php.
 * Fixed some numical references to user levels (should be constants).
 * Minimum required PHP version is now 5.1.0, due to the requirement of PDO.
 * LOVD now checks the existence of PDO support and the MySQL driver for PDO,
   then connects to MySQL using PDO. Actually implementing PDO everywhere will
   take some time.
 * Fixed bug; LOVDs that were not installed yet, were throwing notices.
 * Added code for proper authorization of data owners to individuals.php,
   screenings.php and phenotypes.php. The correct user level is not yet assigned
   by lovd_isAuthorized().
 * Fixed some issues with HTML 4.01 compatibility.
 * Fixed bug; lovd_queryDB() did not show the entire query if it was throwing an
   error message about the number of arguments used in the query.
 * Added chromosome to genomic variant viewList.
 * Updated the INSTALL.txt help file.
 * Implemented a custom viewList class, allowing easy implementation of flexible
   viewLists with several different data objects linked to each other.
 * Fixed bug; Added XSS fix to lovd_displayError().
 * Fixed bug; MySQL handles 01 very different than '01' for VARCHAR columns,  so
   lovd_queryDB() will now always quote integers.
 * Implemented the /variants/chr# URL showing a viewList of all genomic variants
   on a specific chromosome.
 * Fixed bug; Non-mandatory selection lists did not have the "(Optional)" suffix
   on data entry forms.
 * Added jeegoocontext drop down menu, written by Erik van den Berg
   (http://www.planitworks.nl/jeegoocontext)
 * Cleaned up inc-upgrade.php; it is no longer supported to upgrade LOVD 3.0
   from earlier than 3.0-pre-21.
 * Added minified jQuery 1.6.2 to the newly created lib/jQuery folder.
 * Added minified jQuery UI 1.8.15-core files (core/mouse/widget/position) &
   sortable file to lib/jQuery.
 * Removed lib/tool-man folder and its contents entirely as it was outdated and
   a solid replacement was found in jQuery UI.
 * Included jQuery & jQuery UI in inc-top.php so they can be accessed everywhere
   in LOVD.
 * Fixed bug; sorting in genes?sortCurator & columns?order now also works for IE
   by using jQuery UI sortable.
   Fixed #1: "Drag and drop sorting does not work in IE 8".
 * Fixed bug; Changed the temporary memory leak fix to a solid permanent fix in
   genes?create, genes?edit & transcripts?create.
 * Renamed 'inc-js-insert_custom_links.php' to 'inc-js-custom_links.php'.
 * Implemented deleteEntry in users?delete & built in a check in users?(un)lock
   to see if a user is already (un)locked.
 * Fixed bug; In phenotype?create it is now mandatory to select a disease, and
   also implemented checks for a valid diseaseid. Also only diseases that have
   custom columns enabled will be selectable now.
 * When an individual has only one disease, you don't have to select the disease
   when creating a new phenotype entry.
 * Implemented one-click navigation from the individual's detailed view to the
   form to add phenotype information on a certain disease.
 * Fixed bug; Couldn't select which genes were screened on screening data entry
   forms.
 * Changed all references to inc-js-insert-custom-links.php to the new name
   inc-js-custom_links.php and removed the old file.
 * Fixed bug; lovd_AJAX_viewListAddNextRow() now works properly in all browsers.
 * Fixed bug; lovd_includeJS() can now also handle files in a different path.
 * Fixed bug; lovd_viewForm() allowed single selection lists to have a "select
   all" link.
 * Fixed bug; Fixed the database structure for transcript variant custom columns
   in object_custom.php.
 * Optimized & cleaned the transcripts?create code.
 * Transcripts/<gene symbol> now also works and is basically the same as the
   /transcripts view with a search on <gene symbol>.
 * Improved navigation between linked data types by adding some extra viewLists
   and links.
 * Implemented a working form to create variants on transcript level.
 * Implemented full submission workflow.


/*******************
 * 3.0 Alpha 03
 * 2011-08-03
 *********/
 * Fixed bug; The verification of the LOVD database URL did not work, actually
   because of a problem in the script on the LOVD website.
 * Fixed bug; When selecting curators for a gene, if the viewList with available
   users was sorted or searched, the users could no longer be selected.
 * Fixed bug; When selecting curators for a gene, clicking on the user's name
   led to execution of javascript outside the scope of the page, resulting in a
   blank page with only "true" on it.
 * Fixed bug; Users can no longer remove a user as curator for a gene, when this
   user has an equal or higher level than themselves.
 * Fixed bug; Fixed notices when not properly selecting a curator for a gene.
 * Added the "Order" column in the custom columns viewList.
 * Simplified the check on the regular expression syntax of a custom column.
 * Fixed bug; On the gene viewEntry pages one of the headers was malformed.
 * Implemented option for curators to sort the list of curators for their genes.
 * Implemented lovd_isAuthorized() for checking a user's authorization for dif-
   ferent data types. Currently, only genes are implemented. The user's level,
   if lower than LEVEL_MANAGER, will no longer be defined in inc-auth.php.
 * Curators of any gene can now also check LOVD's update status. The link to
   this page is now only active for Curators and up.
 * Added navigation for Curators from the gene viewEntry page to forms to edit a
   gene, add a transcript to a gene, and sort the list of curators. Those pages
   are now also opened up to Curators.
 * Minimum MySQL version needed to run LOVD 3.0 is now 4.1.1.
 * Added lovd_php_htmlspecialchars() function that also works recursively.
 * Added array_merge() optimization where possible.
 * Fixed bug; Values of custom columns configured as simple drop down lists were
   lost during edit of the data entry.
 * Fixed bug; On the genomic variant data entry form, "Owner of individual"
   should be "Owner of variant". Also other forms had this error.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Links to OMIM are now to OMIM.org and not to the NCBI site anymore.
 * Fixed bug; The user's viewList and viewEntry reported collaborators as being
   curators for the genes they are collaborators for.
 * Implemented lovd_isAuthorized() checks for diseases and transcripts, so that
   curators can correctly be recognized as authorized users.
 * Added virtual user level LEVEL_OWNER, assigned by lovd_isAuthorized() to sub-
   mitters who are owner or creator of a certain data entry.
 * Fixed too big Variant/DBID size on the data entry form.
 * Fixed bug and standardized code for checks on ownerid and statusid.
 * Fixed bug; When all available users had been selected as curator or
   collaborator, you were not able to remove anyone from this list anymore.
 * Fixed bug; Internet Explorer "forgot" which columns where hidden from view in
   viewLists when searching or sorting them.
 * Fixed bug; A change applied to lovd_php_file() in r46 failed on servers with
   PHP 4, so included work around.
 * Checking the user's password for authorization of creates, edits and deletes
   is now handled by class/objects.php.
 * Fixed bug; On input errors, some data entry forms did not delete the password
   after the form was sent back.
 * Fixed bug; All custom columns can now be removed properly.
 * Fixed bug; When a user edits a gene, LOVD checks if there is a known UD number
   in the database. If not, then it generates one through mutalyzer.
 * Implemented a re-ordering functionality of custom columns.
 * Changed the regular expression for gene symbol validity so that it can also
   contain @ and #.
 * Implemented a urldecode and urlencode in genes.php to allow special chars
   to be in the gene symbol and thus in the URL.
 * Implemented automatic exploding of GROUP_CONCAT data based on their name. 
   So '_genes' = array (;) or '__active_diseases' = nested array(;;).
 * Added the temporary memory leak fix from genes?create also to genes?edit &
   transcripts?create.
 * Fixed bug; Variants can be added to a screening again. Still this is only
   possible from the screenings page when you select "Add variant to screening".
 * The proper columns are now loaded also for transcript variants in
   object_custom.php.
 * Implemented tooltips for custom links in viewLists, inside the tooltip is the
   actual link so that they are now clickable without going to the viewEntry.
 * User levels are now properly displayed in user viewLists & viewEntries and
   sortable (not searchable).


/*******************
 * 3.0 Alpha 02
 * 2011-07-05
 *********/
 * Fixed bug; Windows systems will now be able to send mails to the users when
   using reset password.
 * Fixed bug; Appropriate email headers are now added to the LOVD system mail
   function.
 * Fixed bug; Temporary fix for the memory leak in /genes?create.
 * Fixed bug; Order of custom columns is now set correctly when enabled.
 * Create, edit & delete phenotype are now implemented and working properly.
 * User authorization level is now searchable in viewLists.
 * Custom columns can now be removed.
 * Adapted the page for phenotype create a bit.
 * Changed & to W3C compliant &amp; in HTML output.
 * Some LOVD 2.0 -> LOVD 3.0 code standardizations.
 * Some code optimizations.
 * insertEntry() and updateEntry() don't need to implode array values,
   lovd_queryDB() does that for them already.
 * Changed "variant information entry" to "variant entry".
 * Added new logos for gene database create and edit.
 * Removed remaining carriage returns in all files except the
   config.ini.php-lovd.
 * Removed internal LOVD columns from the VariantsOnTranscripts' viewList and
   viewEntry.
 * Fixed bug; Non-shared custom columns couldn't be removed.
 * Used CURRENT_PATH instead of (possibly concatenated) $_PATH_ELEMENTS calls.
 * Added new screening techniques to the "Screening/Technique" column.
 * Fixed bug; The "VariantOnTranscript/RNA" and "VariantOnTranscript/Protein"
   columns were non-mandatory by mistake.
 * Fixed bug; The "updated" column in the genes viewList did not allow for date
   type searching because lovd_getColumnType() did not recognize it.
 * Fixed bug; Notices were thrown when searching in date columns using
   incomplete date ranges.
 * Cleaned out the 2Do.txt file; bugs that had been fixed already were removed.
 * Added anchor in columns viewList.
 * The "Last login" and "Started" columns in the users viewList have been
   shortened to just the dates.
 * Fixed bug; A gene's hidden curators and collaborators should only be viewable
   on that gene's viewEntry page by collaborators or higher.
 * Added panelid and panel_size to the Individuals table, to distinguish between
   individuals and panels.
 * The VariantOnTranscript/DBID field has been removed in favor of the
   VariantOnGenome/DBID field.
 * A new authentication method is introduced, storing the user's passwords even
   more safely as before. The user account password stores are only updated one
   by one, whenever a user logs in.



/*******************
 * 3.0 Alpha 01
 * 2011-05-26
 *********/
 * Initial release to general public.
