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

/*******************
 * 2.0 Build 38
 * 2020-10-15
 *********/
 * This is the final security release for LOVD2. LOVD2 is no longer supported.
 * Fixed security bug; Implemented additional XSS protection.
 * Implemented fallback to PHP/PDO for PHP7 installations that no longer
   support the mysql_* functions. This should make LOVD2 compatible with PHP7,
   but as LOVD2 is no longer supported, it is always recommended to use LOVD3
   instead.


/*******************
 * 2.0 Build 37
 * 2019-07-30
 *********/
 * Fixed problem when LOVD is behind a proxy communicating over HTTPS with the
   internet, but over normal HTTP with LOVD itself. LOVD then does not detect it
   is running under HTTPS and includes other items using normal HTTP, causing
   errors.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Included version 0.21 of official LOVD module "recaptcha".
   - Due to continuous changes in the reCAPTCHA appearance, changed the text
     that describes the image.
     (thanks to Raymond Dalgleish, University of Leicester, UK)
 * Removed the X-MSMail-Priority header from emails sent by LOVD, to lower the
   spam score.
 * Fixed security bug; Implemented XSS protection on URL of a search suggestion
   for non-existing gene symbols. The given gene symbol could be manipulated to
   include malicious javascript code into the page.
 * The API can include the variant effect now, if requested.
 * Fixed security bug; Implemented XSS protection on log entries viewing login
   attempts


/*******************
 * 2.0 Build 36
 * 2014-09-24
 *********/
 * Fixed bug; Because the Ensembl genome browser doesn't support the  offset tag
   in the BED file, the variants were displayed on the wrong position.
 * Fixed bug; In some cases, when multiple variants with the same ID are connec-
   ted to one patient, one of these variants can not be edited anymore.
 * Fixed notice in inc-bot.php.
 * Fixed bug; The StopForumSpam check at user registration  could not  deal with
   multiple email addresses in the email field.
 * Due to the HGNC changing their URL  schema  again,  no  new  genes  could  be
   created using the HGNC ID, starting from Wednesday, January 8th.
 * Fixed bug; The "Search through hidden entries" form only selected public col-
   umns, not columns selected to be shown on this form.
 * Fixed bug; When searching the DNA field for a variant that is only  available
   as a non-public entry, LOVD sometimes reported false positives, suggesting to
   contact the curator because a hidden variant on that position exists.
 * Rewrote all communication with Mutalyzer  to the new standard,  which will be
   required starting from the next Mutalyzer release, planned in September 2014.
 * Included version 1.3 of official LOVD module "mutalyzer".
   - Updated Mutalyzer URLs.
   - Implemented mirrors on LOVD.nl for providing Mutalyzer functionality that
     will become unavailable to LOVD2 installations.


/*******************
 * 2.0 Build 35
 * 2013-02-21
 *********/
 * Updated the export script for central repositories.
 * The optional  "external links"  on the gene homepage have been moved down the
   page.
 * Fixed bug; Curators with special characters in their names caused XML parsers
   to fail on the REST webservice.
   Fixed bug #57; "Unescaped ampersands in XML output".
   (thanks to Adam Webb, University of Leicester, UK, for reporting)
 * Due to the HGNC changing their URL schema,  no new  genes  could  be  created
   using the HGNC ID.
 * Fixed bug; The export script's dbSNP format didn't produce  any  output  when
   the "Variant/Genetic_origin" field was not enabled.
 * Fixed bug; The export script's dbSNP format  attachment  was  malformed  when
   exporting data from genes with long gene symbols.
 * Added  spam  protection  to  the  submitter  registration  form  using  the
   StopForumSpam.com API, like in LOVD3.


/*******************
 * 2.0 Build 34
 * 2012-03-15
 *********/
 * The error message that is shown if a gene symbol is passed to LOVD that  does
   not exist in the database,  now suggests an URL where the gene database might
   be found.
 * Fixed bug; The problem with creating tables in MySQL 5.5 because of a  change
   in the MySQL syntax was not fixed for when creating a new gene database.  Now
   implemented the same check on the MySQL version as implemented before.
   (thanks to David Baux, IURC, France, for reporting)
 * Fixed bug; The broken link to Ensembl has been restored by a change on their
   and our side. Also implemented a link to Ensembl from the detailed variant
   view.
 * Fixed bug; When editing a custom column which is made mandatory, LOVD checked
   in a wrong way if there were entries with empty values.
 * Fixed bug; Gene names containing a \ caused problems with the gene switcher.
 * Fixed bug; Gene names containing a ' retreived from the HGNC website were not
   handled correctly.
 * Fixed some spelling errors.
 * Fixed bug; "Not authorized"  messages would include the header  even  if  the
   "clean" header was already included before.
 * LOVD 2.0 now includes the VarioML export format,  which can export the entire
   database, just one gene, or one individual.
 * Fixed bug; Due to malformation of the PHP_SELF  attribute,  the  session  was
   lost when running the VarioML export script.
 * The Variant/DNA column can no longer be hidden from the public, because it
   causes a conflict in the building process of the variant listing.
 * The dbSNP export format has been extended with pathogenicity information and,
   if present, the Variant/Genomic_origin field.
 * Fixed bug; The detection technique list in the system settings form was  only
   capable of updating Patient/Detection/Technique, and not
   Variant/Detection/Technique.
   Fixed bug #53; "Editing the list of available detection techniques".
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)


/*******************
 * 2.0 Build 33
 * 2011-09-30
 *********/
 * Fixed bug; LOVD was not installable on MySQL  5.5  or  higher  because  MySQL
   changed its syntax of specifying a table engine.  ENGINE  is  available  from
   MySQL 4.1.2., but since MySQL 5.5 TYPE is no longer available.  Implemented a
   check on MySQL version before the queries are constructed to  make  sure  the
   right notation is used for the right MySQL version.
   (thanks to David Baux, IURC, France, for reporting)
 * Fixed bug; The change in LOVD 2.0 build 32 that allows restricting the output
   of the BED file based on a PubMed ID failed and caused LOVD to always  search
   for PubMed IDs, greatly reducing output in LOVD's BED files.
   (thanks to David Baux, IURC, France, for reporting)
 * Fixed a small mistake in an error message on the create gene database form.
 * Fixed bug; Tab characters in data fields were not encoded in download  files,
   so they caused errors when importing previously downloaded data.
   (thanks to David Baux, IURC, France, for reporting)
 * Fixed bug; Special whitespace characters (tabs,  carriage returns,  newlines)
   that were encoded in download files were not decoded properly when importing.
 * Implemented $_MODULES->getModule() to communicate with a module directly.
 * Added some more information about the meaning of  the  icons  on  the  global
   custom column overview if you move your mouse over them.
 * Implemented #51; "Link to exon table during variant submission".
 * LOVD now distributes an User-Agent string when using certain web calls.
 * Implemented #50; "Display patient number on Status page".
 * Included version 1.2 of official LOVD module "mutalyzer".
   - Just before data submission,  the module checks if Mutalyzer still has  the
     reference sequence available that LOVD uses.  If not, it resubmits it auto-
     matically.


/*******************
 * 2.0 Build 32 (update)
 * 2011-08-02
 *********/
 * Released update to LOVD 2.0 build 32 because a change in the  lovd_php_file()
   function failed on PHP 4 servers,  resulting in problems with the mapping  of
   variants (in most server configurations).
 * The OMIM custom link for variants is now also pointing to OMIM.org instead of
   the NCBI site.


/*******************
 * 2.0 Build 32
 * 2011-07-29
 *********/
 * Updated PATH_INFO security check such that other scripts in  /api/  are  also
   allowed to use it.
 * Improved code efficiency in lovd_php_file() a bit, ported from LOVD 3.0.
 * Both the genomic and the transcript reference sequence IDs will now be  shown
   on the Gene Homepage, if available.
 * Fixed bug; Managers and up could leave a gene they curate abandoned without a
   curator by deselecting themselves and selecting a user with equal or a higher
   level in their place.  Adding the other user then fails because of  the  user
   level restrictions.
   Now, managers and up may also add managers or the database administrator as a
   curator. Removal of curators still requires a higher level than the user that
   is being removed.
 * The BED file generated by LOVD can now be restricted to a certain PubMed ID.
 * The variant listing below the patient detailed view can now also be sorted on
   allele.
 * Added strip_tags() around the system title where necessary.
 * Fixed bug; After performing an upgrade the Configuration area didn't hide the
   notification about the available update.
 * Fixed bug; When using MySQL version 5.0.13 or higher,  the notification  feed
   no longer showed new variants, if they had not been edited yet.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Implemented #48; "Reply-To header for submitter registrations".
 * Links to OMIM are now to OMIM.org and not to the NCBI site anymore.
 * The submitter's email address(es) is/are now also displayed on the listing of
   submitters.
 * Included version 0.2 of official LOVD module "recaptcha".
   - Upstream server and path locations had changed causing intermittent failure
     to load the image.
 * Included version 1.1 of official LOVD module "mutalyzer".
   - Better support for storing UD numbers directly in the gene settings.
   - Fixed bug; Prevent hard error when local GenBank file is no longer found.
   - Fixed bug; Reloading the module for a certain gene sometimes failed if  the
     UD was lost but the transcript variant ID was not.


/*******************
 * 2.0 Build 31
 * 2011-04-04
 *********/
 * Fixed bug; The sticky header feature introduced in 2.0 build 30 did not stick
   properly when scrolling down and to the right at the same time.
 * Changed all instances of "in stead" to "instead" in the code and comments.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Fixed bug; lovd_checkXSS() didn't catch elements spread over multiple lines.
 * To indicate more clearly that there is an LOVD update, the configuration page
   now shows a warning in case of an available LOVD update.
 * LOVD installations that have set to be listed on the global LOVD listing will
   now also submit the OMIM IDs and names of the gene's associated diseases.
 * Fixed bug; With multiple consecutive columns hidden in a variant listing, the
   table body misaligned somewhat with the table header.
 * User and submitter email addresses are now clickable from the detailed views.
 * Included version 1.2 of official LOVD Reading Frame Checker script.
   - The predicted variant name now follows the HGVS nomenclature  more  closely
     by using the * notation for variants after the stop codon.


/*******************
 * 2.0 Build 30 (update)
 * 2011-02-16
 *********/
 * Released update to LOVD 2.0 build 30 because the Mutalyzer module failed  for
   all upgraded installations.
 * Not all pop up windows for the LOVD scripts available from the  Configuration
   area were actually resized.
 * Fixed bug; When editing a gene database and reloading the  Mutalyzer  module,
   the changed data model of the Mutalyzer module settings was ignored.
 * Included version 1.0 of official LOVD module "mutalyzer".
   - Fixed bug; When calling the Mutalyzer name checker,  the reference sequence
     UD number must now be retrieved from an array.
   - The module now links to the Mutalyzer name checker in two  ways,  depending
     on what kind of reference sequence data is available.


/*******************
 * 2.0 Build 30
 * 2011-02-10
 *********/
 * Fixed bug; The logout page showed debug output, caused by test code which got
   in the release by accident.
 * Replaced use of split()  function to preg_split(),  because the former is de-
   pricated now.
 * Fixed bug; When importing data files,  completely empty lines made the import
   process think the end of the file was reached.
 * Fixed bug; When requesting a list of variants through the REST API  with  the
   /unique flag, the self link of the Atom feed was no longer correct.
 * Added a focus() call on the submission form to move the popup for entering an
   existing variant name forward,  also if it was accidentally minimized by  the
   user.
 * The OMIM custom link will be formatted to the new OMIM URL style for new LOVD
   installations. The custom link is not changed in existing LOVD installations.
 * Fixed bug; When adding a new mandatory column to an empty database, LOVD also
   warned that existing entries were missing a value in this column.
 * The scripts available from the Configuration area were  sometimes  loaded  in
   windows a little bit too small to fit the script's output in.
 * Fixed bug; The links to the genome browsers didn't work when  users  selected
   the hg18 build.
 * Improved communication to the HGNC website when creating a new gene; Entrez
   Gene IDs were sometimes missing while the HGNC did have the ID available.
 * Emails sent out by LOVD after submission and updates to submissions will  now
   have a Reply-To header that points to the submitter,  to make direct communi-
   cation to the submitter easier.
 * Fixed bug; Managers and higher could no longer add themselves as curators for
   a gene through updating their account details,  due to a bug introduced  some
   time ago in LOVD 2.0 build 27. Errors were displayed in LOVD's error log.
 * Fixed bug; All variants with a protein description starting with "p.Met" were
   categorized as translation initiation variants.
 * The standard variant overviews now have a "sticky header" which moves down as
   the viewer scrolls the page down.
   This new feature was the idea of John-Paul Plazzer, InSiGHT Group.
 * The gene homepage now has a link to a table with exon and intron information
   (start and end position,  lengths),  if the reference sequence parser  script
   has been used.
 * Fixed bug; DB ID values with lowercase text in the gene symbol  (such as  orf
   genes) were not allowed with the standard input pattern for the DB ID field.
   (thanks to Wendy Roworth, Guy's Hospital, London, UK, for reporting)
 * Fixed bug; The link to Ensembl didn't work when the hg18 build was selected.
 * Variant data can now be exported in Mutalyzer batch checker format  to  allow
   easy variant name checking by Mutalyzer, and in dbSNP format which is sent to
   dbSNP directly by LOVD.
 * Fixed bug; The checks on chromosome location on various places did not  allow
   for mitochondrial locations.
 * Included version 0.9 of official LOVD module "mutalyzer".
   - Included the current version of the LOVD 3.0 REST2SOAP class to communicate
     with Mutalyzer 2.0 through it's SOAP webservice.
   - Changed module settings data structure to also store the transcript variant
     number that Mutalyzer requires for it's name checker.
   - Fixed bug; Mutalyzer sometimes returns reference sequence identifiers in a
     different format than just UD numbers.


/*******************
 * 2.0 Build 29
 * 2010-10-11
 *********/
 * Fixed bug; The lovd_php_file() function did not properly check if the  socket
   that it had opened, was actually valid.
   (thanks to Tim Strom, Helmholtz Zentrum München, Germany, for reporting)
 * Fixed bug; The LOVD update checker generated notices if the attempt to  fetch
   update information from the LOVD website failed because of network errors.
 * Fixed bug; On older MySQL versions, the new feature introduced in 2.0-28 that
   lists in the setup area the genes that submitters have submitted to, returned
   a query error.
 * Fixed bug; The variant mapper could get in an infinite loop mapping  variants
   very far up- or downstream of the gene, that have positions that LOVD can not
   store.
 * After importing new variant data,  the mapper will now automatically  restart
   to map the newly imported variants.
 * The DBID check will now only check IDs with numeric values, because the other
   type of IDs like GENE_e01e05 can belong to multiple variants.
 * When a user is forced to change his password, he was not allowed to log out.
 * Fixed bug; Downloaded files containing custom column information could not be
   imported into LOVD because the extra double quotes were no longer removed.
   This bug was introduced in 2.0-27.
 * When LOVD is configured to be included in the list of public  LOVD  databases
   on the LOVD website, it now also sends the gene name of each gene.
 * Searching for a text containing a pipe (|) was impossible because LOVD inter-
   preted the pipe as a logical OR. Now you can change this behaviour of LOVD by
   enclosing the search string with double quotes. LOVD will then treat the pipe
   as any other character.
 * When a curator agrees to changes a submitter has made to a variant entry, the
   status of the variant will now automatically be changed to Public, unless the
   status is lower than Marked.
 * Fixed bug; The REST API now isolates the ID value from the DBID field, in the
   case the ID is not the only content of this field.
 * Fixed bug; There was no link from the Configuration area to the functionality
   to edit the curator list of the selected gene (there was to sort this list).
 * Included version 0.8 of official LOVD module "mutalyzer".
   - LOVD will now use Mutalyzer 2.0, which supersedes Mutalyzer 1.0.4.


/*******************
 * 2.0 Build 28
 * 2010-08-02
 *********/
 * For genes with a properly configured mRNA reference sequence,  there is now a
   link to the Ensembl genome browser on the gene homepage.
 * Fixed bug; Some MySQL versions returned an error with the Copy Column feature
   because columns in the WHERE clause need the table name in the prefix.
 * Fixed bug; Some MySQL versions returned an error with the Copy Column feature
   because the JOIN syntax did not specify table names in the USING clause.
 * Added a favicon to LOVD.
 * Fixed bug; If public downloads were enabled, a download of the unique variant
   listing could also show unpublic variant information.
   (thanks to Astrid Out, Leiden University MC, Netherlands, for reporting)
 * When editing variant or patient information,  the changes made are now listed
   in the log entry in the database, so you can track what changed over time.
 * Fixed bug; When an import file does not contain the same number of columns on
   every line, notices were thrown.
 * When an import file contains multiple copies of the same column or row, it is
   now reported.
 * On the patient origin variant overview and the submitter's variant  overview,
   information blocks have been added to explain the purpose of these pages.
 * The variant statistics page now also recognizes p.Trp3* format in addition to
   p.Trp3X.
 * Managers viewing submitter information now see a list of genes the  submitter
   has sent variant data to.
 * When adding a new mandatory column to the data table or when editing a column
   and making it mandatory, LOVD now warns the user that entries in the database
   that have no value in this column cause errors when importing downloaded data
   files.
 * Fixed bug; Search terms that contained single quotes caused a JS error in the
   declaration of lovd_switchGeneInline().
 * LOVD now allows for searches where the order of words is forced by  enclosing
   the values with double quotes; searching for "Fokkema et al 2005",  including
   the quotes, will only return hits with these words in exactly this order, but
   doing the same search without quotes will return hits with all of these words
   in any order.
 * Included the LOVD manual of August 2nd, 2010.


/*******************
 * 2.0 Build 27
 * 2010-07-05
 *********/
 * Fixed bug; Non-numeric chromosome locations like 2q33-qter or 19cen-q13.1 are
   now also accepted as valid input.
   (thanks to Jorge Amigo Lechuga, U. Santiago de Compostela, ES, for reporting)
 * DBID values in other than the numeric format, were sometimes falsely reported
   as erroneous ID values if they were longer than the numeric format.
 * The UCSC browser no longer complains with a "404 Not Found" message for empty
   gene database.
 * Fixed bug; The 2.0-26 upgrade may not have ran completely,  if upgrading from
   an LOVD newer than 2.0-22.
 * LOVD is now a little bit more flexible trying to isolate the correct  variant
   name to be sent to Mutalyzer to be mapped to the genome.
   (thanks to Belinda Giardine, Penn State University, USA, for reporting)
 * Links to OMIM have been updated using the new URL scheme.
 * Managers can now also select curators for a gene, in stead of selecting genes
   for a curator.
 * You can now sort the list of curators on the gene homepage and on the top of
   the screen. Also, curators can be hidden from this list.  The ability to sort
   curators makes use of the ToolMan DHTML Library by Tim Taylor (tool-man.org).
 * Fixed bug; Malformed custom column import files could cause a query error.
 * Some users reported issues with normal text files not being recognized by the
   variant data import feature,  probably in the case the file type could not be
   found.  LOVD will now continue parsing the file if the file type could not be
   found, and will only report the detected file type if it's not 'text/*'.
 * Improved the lovd_php_file() function to be able to perform POST requests.
 * The LOVD update checker, which also sends statistics back to the LOVD website
   if this is enabled, now communicates over POST allowing more data to be sent.
 * In new LOVD installations, the following columns are now on the variant side:
   "Detection/Template", "Detection/Technique", "Detection/Tissue".
 * Added new custom column: "Variant/Reference".
 * When LOVD is configured to submit the database details to the LOVD website to
   be included in the LOVD listing, now also the curator information is sent.
 * Fixed bug; Relaxed the gene symbol check a bit, since the correct C#orf# gene
   symbols were rejected.
 * The API now also returns the Times_reported field for the variants and allows
   the grouping of variants by adding the /unique flag.
 * Fixed bug; LOVD was trying to map variants to the genome for genes without  a
   Human Build number filled in.
 * The "Find & Replace" and "Copy Column"  features now link back to the variant
   search results when that is what the user came from.
 * The central repositories export feature now also checks the Variant/Reference
   column for dbSNP and OMIM IDs.
 * Exon values like 01 and 01e are now grouped in the variant statistics page.
 * Included version 2.13 of official LOVD Reference Sequence Parser script.
   - Prevent notice and warn user if no transcripts are found in the given input
     GenBank file.
   - Fixed bug; Relaxed the gene symbol check a bit,  since the  correct  C#orf#
     gene symbols were rejected.
   - Fixed bug; GenBank files with Windows line endings returned errors.
     (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)


/*******************
 * 2.0 Build 26
 * 2010-05-03
 *********/
 * Fixed notice being thrown when rest.php was accessed directly.
 * Fixed incorrect variant count calculation on variant  detailed  view  because
   homozygous variants are hidden;  the total number of variants was  calculated
   for both and then summed up.
   (thanks to David Baux, IURC, France, for reporting)
 * Fixed bug; When importing custom columns from a text file,  the custom column
   settings were not verified like when they would have been created through the
   "create new custom column" form.
 * The database status page now links every gene to it's gene homepage.
 * Remapping the variants directly after editing a variant, is now forced.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Fixed bug; When adding a new variant to an existing patient, the check if the
   variant was already present in the patient was performed system-wide in stead
   of just for that patient.
   Fixed bug #46; "Variant checking to avoid duplicates".
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Fixed bug; Data from public fields of patients with only non-public  variants
   could be viewed through URL manipulation.
   (thanks to Astrid Out, Leiden University MC, Netherlands, for reporting)
 * Fixed bug; Downloading and re-importing data containing quotes malformed them
   into \' which became \\\' the next time.  This problem was a side effect of a
   bugfix in LOVD version 2.0-19.
   (thanks to Astrid Out, Leiden University MC, Netherlands, for reporting)
 * The Find & Replace feature now also allows for "Field contains anything" type
   of matching, allowing emptying or filling fields regardless of the contents.
 * Fixed bug; The exported XML documents could return XML parsing errors for the
   DNA fields, because they were not escaped.
 * There is now more space to include field descriptions on the data entry forms
   and in the short legend.
 * Fixed bug; Spaces in the coding DNA accession number field of the gene create
   and edit forms, made an empty error message appear.
 * Fixed bug; Some entries in the list of available variant detection techniques
   that were allowed by the Custom column settings edit form, were denied by the
   System settings form.
 * Renamed the field for the "coding DNA reference sequence" accession number on
   the form to create and edit gene databases to "transcript reference sequence"
   and allowed the input of NR reference sequences.
 * Added support for mapping variants with the hg18 / NCBI Build 36.1.
 * The HGNC ID can now also be edited and filled in while editing a gene.
 * Added link from the Gene homepage to the gene page on the website of the HUGO
   Gene Nomenclature Committee (HGNC), if the ID is available.
 * The following two values in the DNA field will no longer count as variants in
   the variant statistics, on the gene homepages,  on the status page and in the
   statistics sent to the public LOVD listing: "c.=" and "c.0".
 * Fixed bug; When mapping the variants to the genome, the mapper could return a
   "Division by zero" error.
 * Fixed bug; LOVD no longer attempts to map variants during the installation of
   LOVD and LOVD now gently handles PHP errors from the mapper file.
 * The maximum gene name length has been increased to 175 characters.
 * Fixed some problems with displaying selection list information when values of
   the selection list contained special characters.
 * Modified the variant submission form a little bit to help properly submitting
   homozygous variants.
 * Included the LOVD manual of April 12th, 2010.


/*******************
 * 2.0 Build 25
 * 2010-03-01
 *********/
 * When changing the database URL in the system settings, users are warned about
   how important it is for this URL to be correct.
 * The Entrez Gene ID will also be provided by the LOVD API.
 * Fixed bug; Internet Explorer couldn't hide the info boxes that explained  the
   current data display.
 * Fixed bug; The Mutalyzer module did not reload when editing the gene database
   under some circumstances, resulting in the use of an old or no GenBank file.
 * Fixed bug; The percentage of variants per nucleotide per exon / intron on the
   variant statistics overview only showed the number of variants for exons with
   a leading zero, such as 05.
 * Fixed bug; An error message from the Mutalyzer variant information  tool  was
   not recognized properly.
 * When creating a new gene database,  LOVD will first ask for the  HGNC ID,  to
   pre-fill the form fields. This step can be skipped.
 * Fixed field size of the MySQL data type on the "edit column default settings"
   form, to match the size used on the "create new custom column" form.
 * Clarified the error message used on the submission page when trying to submit
   an incomplete submission.
 * The submission page will now first present a couple of options for the users,
   to explain the possibilities for submitters to edit previously submitted data
   to prevent repeated submission of the same patient.
 * Fixed bug; When downloading search results,  search terms in the Submitter ID
   field were ignored.
   (thanks to Astrid Out, Leiden University MC, Netherlands, for reporting)
 * The UCSC can't handle retrieving BED files through SSL,  so BED files will be
   delivered without using SSL.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Changed the "Reset password" email a bit, to emphasize the new password.
 * Fixed bug; There were several authorization issues with the detailed patient/
   variant view. Curators could find a way to view non-public data from patients
   from other gene databases,  curators could see (non-functional) links to edit
   patient data from other gene databases, curators could see non-public entries
   of other gene databases, submitters could not always see all variant data of
   patients submitted by them.
 * LOVD will now shorten the long gene names in selection lists,  then sometimes
   became too wide for the page that contained them.
 * Included version 2.12 of official LOVD Reference Sequence Parser script.
   - Shortened gene names when the gene selection list became too wide.
 * Included version 1.5 of official LOVD GenBank File Uploader script.
   - Shortened gene names when the gene selection list became too wide.
   - Clarified the form a little bit.
 * Included the LOVD manual of December 11th, 2009.


/*******************
 * 2.0 Build 24
 * 2010-02-01
 *********/
 * The variant data entry form now links to the gene's reference sequence if  it
   is available, to help the submitter to check the variant.
 * Fixed bug; On some systems,  LOVD used an incorrect javascript "Content-type"
   header that caused the HTML code not to be rendered.
   (thanks to Abhishek Goel, UCLA Neurology, USA, for reporting)
 * Fixed bug; If, for whatever reason, the connection to Mutalyzer for reference
   sequence information and the mapping of the variants is not working, LOVD was
   spitting out error messages that are now handled correctly.
 * Fixed bug; Find & Replace didn't function when the replaced text had the same
   numerical value as the original text.
 * The variant statistics overview now also uses the variant type  generated  by
   Mutalyzer, if available, as the basis for the variant type graph.
 * The LOVD webservice API now provides the full genomic positions for the genes
   and allows searching genes on chromosome and chromosomal location.
 * Variants with other information in the variant field, like "GENE:c.1del" will
   now also be mapped correctly to the genome, instead of ignored.
 * To help the mapping of the variants to the genome, LOVD now checks the format
   of the gene's chromosome location information.
 * Fixed bug; It was allowed to configure a gene database with a  human-readable
   reference sequence without providing the address,  resulting in a broken link
   on the gene homepage.
 * LOVD puts less stress on the MySQL database by not calling the update checker
   on every page load.
 * Faster column hiding, by implementing selection lists to select which columns
   to hide or to show,  has also been implemented on the patient origin  variant
   overview and the submitter's variant view.
 * Fixed bug; lovd_getProjectFile() was not working properly when using the URL-
   schema from in the RESTful API.
 * Fixed bug; lovd_cleanDirName did not remove more than two slashes properly.
 * If the gene is on the antisense strand, the link to the UCSC browser will now
   also show the correct variant direction and sequence.
 * Searching variants and genes on genomic locations now also allows "non-exact"
   matching, i.e. including results only partially in the given range or results
   completely enclosed by the given range but with extra space.
 * Fixed bug; The Javascript called by the gene database form, that verifies the
   used transcript reference sequence,  malfunctioned when using SSL and Firefox
   because of a security setting. Accessing a file over normal http from a https
   location is not allowed using Javascript.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Included version 2.11 of official LOVD Reference Sequence Parser script.
   - The Reference Sequence Parser now handles "Permission denied" problems more
     gracefully.
   - Fixed bug; Reference sequences created were pointing to an LOVD website URL
     that did not exist anymore.
 * Included version 1.4 of official LOVD GenBank File Uploader script.
   - Added option to remove the previously used GenBank file, if present,  after
     uploading a new one.
   - The gene's transcript IDs will be read from the uploaded GenBank file. When
     there is more than one transcript ID in the uploaded GenBank file, the user
     will be asked to choose.
 * Included the LOVD manual of December 11th, 2009.


/*******************
 * 2.0 Build 23
 * 2009-11-02
 *********/
 * Updated the LOVD webservice API; it now provides a gene list and gene details
   as well as proper internal links from the list items to the individual entry.
 * When clicking on the variants tab, the search fields are enabled by default.
 * Fixed bug; Variants like "c.32-?_93+?del" were recognized as "Unknown" by the
   database statistics page, in stead of "Deletion".
 * Fixed bug; When using the links from the database statistics page to view the
   list of variants of a certain type,  continuing to an other page  showed  all
   variant types.
 * Columns which have been hidden from view are now also hidden from view in the
   detailed entry view. There is a link there to re-show all columns, which does
   not influence the configured setting which columns are normally hidden.
 * Added explanation to the Empty gene database form about what will be deleted.
 * For each gene, LOVD will now store the genomic and coding DNA NCBI accession
   numbers, to be able to map the variants to the genome.  Also, LOVD will store
   some information about the transcript to perform variant numbering conversion
   steps.
 * Variants in genes with properly configured refererence sequences, will once a
   day be mapped to the genome.
 * Fixed bug; In several places specific errors messages after a failed database
   query were not shown anymore because of a change to the inc-top.php file some
   versions ago.
 * The LOVD API now also supports searching on genomic locations of variants.
 * Searching on cDNA positions using the API has been improved greatly.
 * Increased the size of the gene name field.
 * Added a note on the Configuration Area notifying curators to check genes with
   incomplete GenBank reference sequence information.
 * For genes with a properly configured mRNA reference sequence,  links  to  the
   UCSC genome browser are added to the gene homepage, generating an overview of
   the variants in the database which have been mapped to the genome.
 * Added "About this overview" info tables on the variant listings which explain
   what you see and how you can proceed. The tables are minimized by default but
   can be shown by clicking the "Show" link.
 * Included version 0.7 of official LOVD module "mutalyzer".
   - Changed the way how GenBank files are handled into the system.
   - Changed Mutalyzer URL to www.mutalyzer.nl/1.0.4/ domain.
 * Included version 2.10 of official LOVD Reference Sequence Parser script.
   - Fixed bug; One-exon genes are now handled correctly.  Also, some errors  in
     the mRNA and CDS tags are now handled gracefully.
   - The GenBank files created by the script now contain a correct accession and
     version number.
   - By default, links to the original GenBank files will be added to the gene's
     cDNA reference sequence output.
 * Included version 1.1 of official LOVD Reading Frame Checker script.
   - Included the predicted HGVS variant name of the given deletion/duplication.
   - Filtered the given arguments to fend off XSS attacks.
   - Exon names may be changed by editing the refseq/GENE_table.txt file.
 * Included the LOVD manual of December 1st, 2009.


/*******************
 * 2.0 Build 22
 * 2009-10-05
 *********/
 * Improved descriptions of the different variant types on the variant overview,
   shown when coming from the variants statistics page.
 * Fixed bug; When editing a gene database's settings through the  Configuration
   area,  while at the same time switching to an other gene database in an other
   browser window, the newly selected gene's settings were overwritten.
   (thanks to Rosemary Ekong, University College London, UK, for reporting)
 * Fixed bug; The quick gene-switcher generated a hidden notice on pages without
   URL ($_GET) variables.
 * Fixed bug; Also the forms for emptying a database and deleting a variant were
   vulnerable to switching to a different gene in an other window while the form
   is open, leading to modification of the wrong gene.
 * Fixed bug; Internet Explorer did not submit the search form above the variant
   listings when pressing the enter key.
   Fixed bug #43; "Search problem using Internet Explorer 7".
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Improved how the Mutalyzer module is reloaded after editing a gene.  Browsers
   that support it will show a message notifying the user what he's waiting for.
 * Improved users and submitters overview by adding icons to indicate the status
   of the user, instead of small lights. The lights weren't always understood.
 * Fixed bug; When upgrading, variables which are arrays were not sent correctly
   to the next page.
 * Improved check for LOVD url; the signature is now also verified.
 * Added support for an Atom feed's entry's contents content type.
 * Added first version of LOVD RESTful webservice, which allows searching on DNA
   level mutation name and DBID value, and allows retrieving one variant by it's
   internal ID value.
 * Changed some wording on the gene homepage.
 * Included version 0.6 of official LOVD module "mutalyzer".
   - Fixed bug; When Mutalyzer takes too long, the PHP error is now suppressed.
 * Included version 2.9 of official LOVD Reference Sequence Parser script.
   - Fixed bug; Under some circumstances,  it was not possible to select a  gene
     from the gene dropdown list.
   - Fixed bug; The gene name was lost when you started in step 2 or 3.
 * Included version 1.3 of official LOVD GenBank File Uploader script.
   - It was possible to upload a GenBank file without selecting a gene database.
 * Included version 1.0 of official LOVD Reading Frame Checker script.
   - Included link to the Reading Frame Checker from the gene homepage, if these
     genes have run the Reference Sequence Parser using a GenBank file.
 * Included the LOVD manual of September 18th, 2009.


/*******************
 * 2.0 Build 21
 * 2009-09-07
 *********/
 * Fixed bug; The variant data download and data export were still sorted on the
   Variant/Exon field.
 * Fixed bug; The list of more variants in the same patient, displayed below the
   variant names in the variant overviews, were still sorted on the Variant/Exon
   field.
 * When using the green icon on the top of the page to quickly switch to another
   gene database, users could receive a logical but possibly disturbing "No such
   ID!" error message when viewing detailed variant data.
 * Fixed transparency issue with this icon when using Internet Explorer.
 * Fixed bug; The overview of variants with no known pathogenicity turned into a
   common unique variants overview when searching, sorting or setting the number
   of variants per page.
 * Fixed bug; The green icon on the top of the page to quickly switch to another
   gene database did not work with genes included with a ' in the name.
 * While importing variant and patient data, the seconds in the date fields are
   no longer mandatory.
 * Included a list of all PubMed references in the database, based on the PubMed
   custom link.
 * Fixed bug; If the Exon column was removed from a gene,  new entries would not
   sort correctly.
 * Fixed bug; The list of ignored columns by the import script, was misformatted
   because of a XSS protection added in 2.0-20.
 * Implemented a different, more flexible, approach for lovd_fetchDBID().
 * Fixed bug; The data import script allowed empty patient fields if a connected
   variant was not publicly available yet.
 * When importing data from LOVD import files taken from LOVD versions 2.0-20 or
   before, the sort codes will automatically be adapted to the new format.
 * Curators using the green "switch gene" icon on the top of the page, could get
   some nasty error messages when switching to a gene not assigned to them while
   in the Configuration area.
 * Fixed bug; Curators were able to make changes in genes not assigned to them.
 * Improved LOVD module system;  modules are now allowed to execute own SQL  and
   PHP code to upgrade themselves.
 * The variant statistics overview of the number of variants per exon/intron, is
   now compensated with the exon and intron lengths, if available.
 * The variant statistics overviews of DNA, RNA and protein  variant  types  now
   link to the variant listing showing these variants.
 * Added a "newsfeed" to LOVD, to which users can subscribe to be notified when-
   ever there has been an addition or update to the database.  This newsfeed can
   both be gene-specific or system-wide.
 * Custom column select options can now also contain dots.
 * The gene homepage will now link to the GenBank file configured, if available.
 * Included version 0.5 of official LOVD module "mutalyzer".
   - The mutalyzer module is now linked to Mutalyzer 1.0.4.
   - Changed "Check variant with Mutalyzer" button on the submission  form  such
     that it no longer has preference over the form submit button when  pressing
     the enter key.
 * Included version 1.2 of official LOVD GenBank File Uploader script.
   - The user can now choose to have the uploaded GenBank file renamed or not.
   - When overwriting an existing GenBank file that has been selected by a gene,
     the Mutalyzer module will be reloaded if it's active.
 * Included the LOVD manual of September 7th, 2009.


/*******************
 * 2.0 Build 20
 * 2009-07-17
 *********/
 * Fixed bug; When there was no gene, one of the menu items was not removed like
   it should.
 * Fixed bug; When creating a new gene, the length of the sort column was not as
   long as defined in 2.0-19.
 * The default order of variant columns in new genes can now be set.
 * The JavaScript code of lovd_openWindow() has been moved to a separate include
   file.
 * Fixed bug; The variant import did not include any XSS check.
 * Fixed possible XSS attack through names of additional column in import files.
 * Fixed bug; The new sorting method didn't work with common exon  field  values
   like "01i" or "01_27".
 * Fixed bug; The sorting algorithm didn't handle "c.0" correctly.
 * Removed link to irrelevant LOVD 1.1.0 manual page from the default legend and
   form descriptions of the Variant/DBID column.
 * Included version 2.8 of official LOVD Reference Sequence Parser script.
   - Added a link to the GenBank File Uploader from step 1.
 * Included version 1.1 of official LOVD GenBank File Uploader script.
   - Added a link to the Reference Sequence Parser after completing the upload.
 * Included the LOVD manual of July 14th, 2009.


/*******************
 * 2.0 Build 19
 * 2009-07-06
 *********/
 * Fixed bug; There was a possibility of SQL injection in the submitters account
   update form. This SQL injection bug could not lead to any unauthorized access
   to data or unauthorized data modification.
 * Fixed bug; There was a possibility of SQL injection in the import variant and
   patient data form by using specially crafted import files. This SQL injection
   bug could not lead to any unauthorized access to data or unauthorized data
   modification.
 * Added a check for the MIME-type of the imported data file.
 * Added a table with the number of variants per exon to the summary tables.
 * When authorized users submit new data, they are forwarded back to the patient
   in question.
 * DBID values ending in _00000 are now always allowed and are not verified.
 * To prevent common sorting problems,  the variant sort code has been  extended
   to also contain the padded exon value.
 * Added the name(s) of the curator(s) to the top of the page, to increase their
   visability.
 * LOVD will now throw a warning if an invalid gene database name has been given
   instead of ignoring it.
 * Fixed bug; When editing a variant belonging to more than one patient,  values
   from multiple-selection lists were not properly stored in the database if the
   "Edit variant only for this patient" option was selected.
 * Fixed bug; The update checker did not work in if the allow_url_fopen setting
   was disabled. The update checker can now use fsockopen() as a fallback.
   (thanks to Sandro Garoffolo, Università degli Studi, Torino, IT, for testing)
 * Updated the location of the GeneTests database to the new URL at the NCBI.
   (thanks to Donna Maglott, NCBI, USA, for reporting)
 * Fixed bug; Custom integer column's default values could never be negative.
 * Added two new custom column types: decimal input and date input fields.
 * Fixed a few wrong lovd_showSID() calls which could lead to session logouts.
 * Fixed bug; Even when cookies were disabled, they were mandatory to log in.
 * Fixed bug; The variant sort code did not always sort variants after the  stop
   codon correctly.
 * Fixed bug; The AJAX database URL check did not work from the install form.
 * Fixed bug; The custom column importer only read 4 kbytes of information  from
   each line, and could therefore not handle columns with large selection lists.
 * Fixed bug; Implemented better fix for multiple-selection lists on the patient
   origin based variant overview.
 * Implemented a quick way to switch gene databases, regardless of on which page
   you are;  just click the "switch gene database" icon next to the gene name on
   the top of the page.
 * Fixed bug; When changing a gene's GenBank file, LOVD did not correctly reload
   the Mutalyzer module.
 * Fixed bug; Sometimes LOVD warned falsely that an exact duplicate of a variant
   entry already existed in the database.
 * When a submitter edits a patient or variant entry, LOVD now checks whether or
   not any of the fields have been changed. If nothing has been changed, nothing
   is updated.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Added "Copy column" advanced edit feature,  to copy or move one column's data
   into another column.
 * Fixed bug; When using Find & Replace or Copy column on either the Variant/DNA
   or Variant/Exon columns, the variant sort code was not updated.
 * When searching through the variant listings,  links to the Find & Replace and
   Copy Column scripts are provided for authorized users.
 * Included version 2.7 of official LOVD Reference Sequence Parser script.
   - The gene for which you want to create a reference sequence file, can now be
     picked from a drop down list.
   - Fixed bug; In some cases a notice was generated and the  genomic  numbering
     was reset.
   - Fixed bug; The number of nucleotides was not displayed correctly when there
     was an exon/intron boundary in first line of the coding sequence.
   - Fixed bug; The numbers of the exons were missing zeros in the first line of
     the coding sequence.
   - Fixed bug; The alignment of the sequence numbering on the last line was not
     correct.
 * Included the LOVD manual as a PDF, too.
 * Included the LOVD manual of June 22nd, 2009.


/*******************
 * 2.0 Build 18
 * 2009-05-04
 *********/
 * Fixed bug; Importing existing variants into the database reported that no new
   variants have been imported.
 * If during import columns were ignored, they are mentioned after importing.
 * Values in the import script are now compared with the database without spaces
   around them, to prevent these from interfering.
 * When editing a column's default settings,  all changes can now  automatically
   overwrite the display settings (for selected columns only).
 * Adapted the XSS security check, such that input like "<0.01" is allowed.
 * Fixed bug; The search option on the patient origin based variant overview did
   not work properly for selection lists with multiple options selected.
 * The database URL will now always be stored ending in a slash (/).
 * Use the database URL, if configured, in stead of the auto-generated URL, when
   referring back to LOVD.
 * Fixed bug; Upgrade script sometimes didn't send values to next page correctly
   and it did not allow input with double quotes.
 * Fixed bug; Some form elements, such as search terms, did not allow for double
   quotes as input.
 * Added a set_time_limit(60) to the WikiProfessional data export, because large
   databases could time out after 30 seconds.
 * Fixed bug; When curators agreed to changes performed by a submitter, the data
   was not prepared correctly for the database, and in some cases an error could
   occur. This could also lead to an SQL injection problem.
   (thanks to Jorge Oliveira, Instituto Nacional de Saúde Portugal, for testing)
 * Fixed some typos.
 * Included version 0.4 of official LOVD module "showmaxdbid".
   - Implemented #39; "Button to enter 'First ID free'".
 * Included version 0.4 of official LOVD module "mutalyzer".
   - Updated communication with Mutalyzer to support GenBank files with multiple
     genes.
   - Use the database URL, if configured, in stead of the auto-generated URL.
 * Included version 2.6 of official LOVD Reference Sequence Parser script.
   - After generating a reference sequence file,  the file location is connected
     to the specified gene database, if it has no file configured yet.
   - In step 1, you can now select the GenBank file from a selection list.
   - Fixed bug; Bold and underline markup indicating alternative stop codons did
     not work in the first line after the ATG codon, and underlining didn't work
     properly when the codon was split over two lines.
   - You now need to be logged in to use the Reference Sequence Parser.
 * Included the LOVD manual of April 27th, 2009.


/*******************
 * 2.0 Build 17
 * 2009-04-06
 *********/
 * Fixed bug; Advanced searching did not allow to combine NOT and OR searches.
 * Fixed some typos.
 * Added system setting which stores the database URL with which the database is
   accessed from the outside.
 * Added new gene-specific setting that allows curators to configure their genes
   to have the public data in the database indexed by WikiProfessional.
 * Fixed bug; The central repository format export sometimes ignored the variant
   status filter.
 * Fixed bug; When using IP ranges to restrict account access, sometimes some IP
   addresses were allowed acccess when they actually did not match the range.
 * Fixed notice generated by lovd_sort() function when receiving an empty text.
 * The variant and patient data importer now also checks the PHP setting for the
   maximum uploaded file size.
 * Fixed bug; A note about the patient or variant status, meant for the curator,
   was also shown to the submission's submitter.
 * Emails from LOVD now include a link to the LOVD installation, if the database
   URL has been configured.
 * Included version 2.5 of official LOVD Reference Sequence Parser script.
   - Fixed some PHP notices.
   - Changed the name of the link to the exon lengths table.
   - Prefilled the text box values for transcript_id and protein_id in step two,
     if available.
   - Removed the g. numbering in the coding reference sequence when starting  in
     step 3.
   - Fixed link to coding sequence file, which was missing in some cases.
   - Providing links to intronic sequences is no longer the default action  when
     coming from step 2.
   - Fixed issue with the translation start beginning at an exon start.
 * Included version 1.0 of official LOVD GenBank File Uploader script.
 * Included the LOVD manual of April 6th, 2009.


/*******************
 * 2.0 Build 16
 * 2009-03-02
 *********/
 * Changed some wording on the create and edit gene forms.
 * Fixed incorrect version code for official LOVD module "mutalyzer".
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Changed copyright notice at the bottom of each page to 2009.
 * Fixed bug; "Division by zero" errors and failed query in the summary tables.
 * Fixed bug; Data type wizard did not handle integer only columns correctly.
 * Tweaked lovd_dbFout() and lovd_displayError() functions.
 * More errors are now written to the database error log.
 * Implemented several techniques to improve handling input with quotes.
 * Fixed bug; Running the data type wizard consecutively without completing  the
   colomn edit, malformed the regular expression pattern.
 * Variant and Patient columns with text or integer input fields can now have  a
   default value assigned.
 * When modules are updated, the new version number and the date of update  will
   now also be shown in the setup area.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Fixed bug; Updating a variant connected to more than one patient did not work
   if the option "Edit variant only for this patient" was selected.
 * Added option to manualy check for updates at any time.
 * Optimized some code throughout LOVD that handles column content alignment.
 * Added a button to the gene configuration area after creating a new gene.
 * Verified code header information in all LOVD files and fixed if necessary.
 * Fixed bug; Find & Replace did not protect against adding text into a  numeric
   field.
 * Fixed bug; Find & Replace falsely reported that otherwise correct submitterid
   values where too large to fit in the field.
 * Fixed bug; Find & Replace did not always match submitterid values correctly.
 * Due to a bug in PHP, mail sent from Windows servers sometimes did not arrive.
   LOVD now includes a workaround. For more information, see:
   http://bugs.php.net/bug.php?id=28038
   (thanks to José Luís Monteiro, CGMJM, Portugal, for reporting and testing)
 * Fixed bug; If the ID_allele_ field was left empty when importing variant data
   LOVD would complain.
 * Fixed bug; LOVD gave notices if the ID_allele_ field was absent in the import
   file.
 * Included version 2.4 of official LOVD Reference Sequence Parser script.
   - Fixed bug; The coding DNA reference sequence looked malformed in IE, due to
     an error in the HTML code.
   - Removed useless references to $_POST['file'] variable.
   - Added genomic numbering to the reference sequences (coding, introns and up-
     and downstream).
   - Exons 1 - 9 are now numbered 01 - 09.
 * Included the LOVD manual of February 5th, 2009.


/*******************
 * 2.0 Build 15 (update)
 * 2009-02-04
 *********/
 * Fixed bug; Not all files necessary for the new reCAPTCHA module were included
   in the LOVD 2.0-15 download package.


/*******************
 * 2.0 Build 15
 * 2009-02-03
 *********/
 * Added ability to delete a custom column which has been created by a user.
 * Added ability to edit a custom column's column ID,  if it has been created by
   a user.
 * Fixed bug; Messages that a variant entry has last been edited by a  submitter
   could have been false.
 * Added feature to configure active custom links directly from the  "Create new
   custom column" and "Edit custom column default settings" forms.
 * Fixed bad HTML page titles in the documentation section.
 * Changed wording to try to clearify the difference between the  custom  column
   display settings form and the custom column default settings form some more.
 * When editing a variant entry that is shared with other patients,  you can now
   select if changes will apply to all patients, or just to the current selected
   patient.
 * When importing variant and patient information, the ID_variantid_ field is no
   longer mandatory. The values will be filled in automatically.
   Also the ID_allele_ field can now be absent in the file.
 * When importing variant and patient information,  the LOVD version  header  is
   now mandatory.
 * Downloaded data files from LOVD now also include the data type in the header.
 * Fixed bug; Upon entering a invalid Perl regular expression syntax in the data
   type wizard, an incorrect error message was shown.
   (thanks to Lisa Forman Neall, NCBI, USA, for reporting)
 * Custom column information can now be downloaded and imported by managers from
   the Setup area.
 * Included version 0.1 of official LOVD module "recaptcha".
 * Included version 0.3 of official LOVD module "mutalyzer".
   - Changed wording of the "Check with Mutalyzer" button.
 * Included version 2.3 of official LOVD Reference Sequence Parser script.
   - When using a GenBank file to generate the reference sequences, you can fill
     in the transcript ID and the protein ID of the desired transcript / protein
     combination.
   - When creating a GenBank file you need to provide a transcript ID, a protein
     ID and a db_xref (GI:) number to include in the GenBank file.  These fields
     are required for the Mutalyzer service.
   - Fixed bug; For transcripts where translation starts in exon three or higher
     the GenBank file created at step 2 had a wrong CDS start position.
   - Fixed bug; Generated GenBank files for one-exon genes had a CDS ending with
     a comma.
 * Included the LOVD manual of February 3rd, 2009.


/*******************
 * 2.0 Build 14
 * 2008-11-27
 *********/
 * Fixed bug; Documentation contents page showed greyed out links in some cases.
   (thanks to Ammar Husami, Cincinnati Children's MC, USA, for reporting)
 * Added dropdown list with submitter country, city and name for the submitters'
   variant view.
   Implemented #34; "Viewing submitted variants".
 * Fixed bug; lovd_getProjectFile() malfunctioned when called from the  server's
   root directory;  the path contained a double slash which prevented #23 to  be
   fixed in those situations.
   Fixed bug #23; "Showmaxdbid displays wrong gene".
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * When importing variant and patient data,  the Variant/DBID field is no longer
   mandatory. The values will be filled in automatically.
 * Cleaned up setup_submitters.php a bit.
 * Added advanced searching on the custom column global settings listing.
 * During the submission,  the gene the user is submitting to will be  displayed
   in the page header instead of the currently active gene.
 * Fixed 7 incorrect lovd_showSID() function calls.
 * Fixed missing htmlencoding of ampersand in link to submitter pop up window.
 * Included normal HTML link to detailed entry view on all overviews and cleaned
   up some non standard links.
 * Added option for users to more quickly change their passwords by  introducing
   a form specifically to change the user's password.
 * Added option to force a user to change the password at the next log in.
 * Fixed bug; When creating a submitter using the setup area, the reference text
   (Country:City) was not created correctly.
 * Added password quality check on submitter passwords, too.
 * Added option to permanently delete a submitter registration in one step only.
 * Fixed bug; Authorized users could not see a deleted submitter's variants.
 * Widened LOVD system settings form, to increase ease of readability.
 * Added "Forgot my password" option (turned off by default).  Authorized  users
   and submitters can retrieve a new password in their email.
 * Fixed bug; When viewing a submitter's variants,  under some circumstances the
   listing showed the currently selected gene twice.
 * Fixed bug; Import script reported the wrong line number in case of errors.
 * Included version 2.2 of official LOVD Reference Sequence Parser script.
   - If a GenBank file is created by the script and the gene has no GenBank file
     associated yet, the Reference Sequence Parser script will fill it in.
 * Included the LOVD manual of November 27th, 2008.


/*******************
 * 2.0 Build 13
 * 2008-10-31
 *********/
 * Fixed transparency issues with some icons when using Internet Explorer.
 * Added "Unhide all columns" button on variant overviews if at least one column
   is hidden.
 * Curators can now already specify a submitter connected to the patient  during
   the submission process.
 * During the submission process, the submitter reference (if any) is also shown
   on the submission overview.
 * Fixed bug; Link to change associated submitter was shown to submitters owning
   the patient record.
 * Added the possibility to curate all uncurated variants in a gene database all
   at once.
 * Fixed bug; An SQL query error when submitting a variant which was already  in
   the database, could have resulted in loss of this variant.
 * Fixed bug; The allele column value "Both (homozygous)" could also be selected
   when editing a variant, but it was never intended to be used this way.
 * Fixed bug; Included a check on variant edit form to prevent fatal error about
   duplicate keys.
 * Fixed bug; Included a check on variant submission form to prevent fatal error
   about duplicate keys.
   Fixed #31; "Entering homozygous mutations".
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Fixed bug; Values of multiple-selection lists were not transformed in variant
   listings below the detailed variant view.
 * Fixed bug; The DBID check allowed invalid DBID values if that field contained
   more than just the ID.
 * Fixed bug; When entering two new variants in one submission process,  LOVD no
   longer suggests the same DBID values.
 * Entered DBID values are now also validated against any other variants in  the
   same submission process.
 * Allowed "hostname:port" and ":/path/to/socket" values for the hostname in the
   config.ini file.
   Implemented #37; "allow for more flexible socket configuration settings"
 * Curators can now agree to the submitter's changes to a variant entry  with  a
   single click. This already worked for patient entries edited by submitters.
 * Fixed infinite loop in lovd_cleanDirName() that sometimes occured during  the
   creation of the menu tree structure,  specifically when LOVD was installed in
   the root and when viewing the documentation section.
   Fixed #36; "LOVD documentation does not work when LOVD is installed at /".
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * The selected gene's symbol is now incorporated in the suggested location name
   of the reference sequence file mentioned on the edit gene form.
 * Added summary tables; a graphical summary of all sequence variants, sorted by
   type of variant.
 * Added advanced searching on the submitter listing.
 * Added a link from the configuration area to the scripts overview.
 * Included version 0.3 of official LOVD module "showmaxdbid".
   - In stead of showing the maximum ID in use, the module shows the first  free
     DBID.
   - The module now also takes into account which DBID values have been used  so
     far in the submission already.
 * Included version 2.1 of official LOVD Reference Sequence Parser script.
   - Fixed bug; If the coding sequence ended exactly on the 60th  position,  the
     downstream sequence was displayed wrong.
   - Fixed typo in a step one error message.
   - If there was no upstream or downstream sequence included,  the exon lengths
     table showed some errors and the links from the cDNA sequence were broken.
   - It will not automatically create a GenBank file,  if also the source of the
     sequence was a GenBank file.
   - If gene information other than the currently gene selected was given, that
     information was reset every step.
 * Included the LOVD manual of October 7th, 2008.


/*******************
 * 2.0 Build 12
 * 2008-09-26
 *********/
 * The session cookie is now really deleted when logging out of LOVD.
 * The "loss of session" fix of the 2.0-11 update did not do the trick properly.
   Different LOVD installations could still send competing session cookies after
   which a user was logged out directly after logging in. Implemented a fix that
   gives unique names to session cookies.
   **** Please NOTE that this fix causes all active users to be logged out! ****
 * Public submitter listing reported the total number of submitter accounts, not
   only the active accounts.
 * Added increased execution time to import script to help import bigger files.
 * In new installs, the Variant/Exon column can hold 5 chars, in stead of 3.
 * In new installs, the Patient/Origin/Ethnic column can hold 50 chars, in stead
   of 25.
 * Changed "Start data type wizard" button on two custom column forms so that it
   no longer has preference over the submit button when pressing enter.
 * Added LOVD custom column "Variant/DNA_published".
 * Which columns are hidden from view is now stored in a separate cookie so that
   it will be remembered across sessions.
 * Added 'hide column' feature to two other variant listings; variant listing on
   patient origin and submitter variant listing.
 * When assigning a GenBank file to a gene, LOVD will now check if it's there or
   not.
 * Reloading modules was not possible due to "cannot redeclare class" errors.
 * When a gene has been created and has an uploaded GenBank file, or when a gene
   has been edited and an uploaded GenBank file has been added or  changed,  the
   mutalyzer module is reloaded automatically.
 * Prevent some troubles with the menu when the URL contains double slashes.
 * Modified CURRDB->buildSearchList() to accept field type.
 * Added new feature that allows the public to find the amount of entries in the
   database (including hidden entries) matching one or more search terms.  It is
   turned off by default.
 * Added update of Reference Sequence parser script, which was also available in
   LOVD 1.1.0. Added the ability to work from a GenBank file.
 * Included the LOVD manual of September 26th, 2008.


/*******************
 * 2.0 Build 11 (update)
 * 2008-09-02
 *********/
 * Fix weird behaviour of session_regenerate_id() - sometimes it was not sending
   a new cookie, forcing a user's log out directly after logging in.


/*******************
 * 2.0 Build 11
 * 2008-08-29
 *********/
 * Slight code change in how the menu tabs get built.
 * Changed some log entry events to use better naming.
 * Added ROOT_PATH to the path references in the lovd_viewForm() function.
 * The Modules and CurrDB classes now only have one constructor function.
 * Added a "Pragma: public" HTTP header to fix an Internet Explorer problem when
   downloading a file over SSL.
   Fixed #33; "Internet Explorer can not download variant and patient data".
 * Added protection against Session Fixation. After successfully logging in, the
   session ID will be changed.
 * When "My Submissions" has been enabled, submitters can now also see their own
   unpublished variants in the "My Submissions" overview.
 * Included the LOVD manual of August 28th, 2008.


/*******************
 * 2.0 Build 10
 * 2008-08-08 (updated 2008-08-11)
 *********/
 * Fixed missing image in release (gfx/header_docs.png).
 * Fixed links in header that are broken in the documentation section.
 * Fixed typo in empty gene form.
 * Fixed security hole; implemented XSS protection on search forms. Search terms
   could be manipulated to include malicious javascript code into the page.
 * Fixed bug; Find & replace did not select current gene by default.
 * Fixed bug; Find & replace malfunctioned which resulted in data loss when  the
   find field contained a / (forward slash).
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Fixed bug; If find & replace malfunctions, it no longer results in data loss;
   instead it returns an error requesting the user to file a bug.
 * Fixed bug; Find & replace did not find matching records when "Field value is"
   match was performed using a find value that included _ or %.
 * Fixed bug; Find & replace now skips updates if the new value would not fit in
   the column and warns the user afterwards.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Fixed security hole; implemented XSS protection on  $_SERVER['PHP_SELF']  var
   by detecting the $_SERVER['PATH_INFO'] variable. Specially crafted URLs could
   include malicious javascript code into the page or change a page's links.
 * Added link to manual from variant import page.
 * Fixed minor display issue with submitter ID in submitter registration email.
 * Updated four database queries that did not contain quotes around  (numerical)
   values.
 * Added lovd_getGeneList() function in inc-lib-init, replacing often duplicated
   code. Implemented function throughout LOVD.
 * Added check on $_GET['gene'] and $_POST['gene'] on submission form to prevent
   fatal errors with SQL injection or XSS attacks through these variables.
 * Added XSS check on the $_GET['order'] var of all sortable overviews. This has
   never been a security problem, but it prevents some harmless errors.
 * Added check against entering newlines in user and submitter names, preventing
   the insertion of additional mail headers in registration and submit emails.
 * Fixed bug #18 for downloaded files as well (see changelog for 2.0-beta-10).
 * Fixed bug; email addresses containing an one-letter subdomain were rejected.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)


/*******************
 * 2.0 Build 09
 * 2008-07-25
 *********/
 * Fixed bug; If deleting a gene database, LOVD possibly showed the wrong number
   of variants that will be lost by deleting the gene.
 * Deleting a user makes the current user curator of the deleted user's genes if
   there is no curator left for them.
 * A user can no longer be deleted through the edit form.
 * Curators exporting variant data in central repository format will now only be
   able to select their own genes, preventing possible "Access denied" errors in
   the output format.
 * When deleting a variant, LOVD did not display the correct allele information.
 * Updated lovd_cleanDirName() function.
 * The log entry of a LOVD upgrade now also contains information about from what
   version LOVD was upgraded, and how many queries were executed.
 * Included the LOVD manual of July 25th, 2008.


/*******************
 * 2.0 Build 08
 * 2008-06-27
 *********/
 * Fixed bug; The update checker returned an error when there weren't any  genes
   configured yet.
 * Fixed bug; Curators could not use the Find & Replace functionality, due to an
   error in the list showing the genes they curate.
 * Removed an unused variable from the initiation script.
 * Fixed bug; An error in the DNA change field can now be fixed if it's just one
   variant entry without getting a DBID check error.
   Fixed #28; "Cannot update 'DNA change' field".
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Modified manager's genes overview to build the link to the gene homepage only
   when a URL is filled in.
 * Fixed bug; LOVD didn't show managers correctly whether or not a  gene  had  a
   GenBank record associated with it.
 * Fixed bug; LOVD may have checked the wrong gene for DBID verification in case
   a value was filled in by a curator during variant submission.
 * Fixed bug; LOVD did not predict matching DBID values correctly, if it was not
   in the format of GENESYMBOL_[five digit number].


/*******************
 * 2.0 Build 07
 * 2008-05-30
 *********/
 * Fixed bug; Top include file was missing when an error occured trying to  send
   the submitter register confirmation email.
 * Fixed bug; ShowMaxDBID module did not contain correct module version number.
 * Changed copyright notice at the bottom of each page to 2008.
 * Fixed bug; The DBID consistency check did not allow to use an unassigned DBID
   value if the DBID value was not the highest used value increased by one.
   Implemented #26; "Cannot use DBID out of sequence".
 * Fixed bug; If two separate DBID values were assigned to the same DNA variant,
   the user was forced to have the variant use the lowest DBID value, even if it
   was shared with a different variant.
   Fixed bug #27; "Incorrect DB-ID can often not be fixed".
 * Reduced seconds of waiting time in the installation script that took the load
   off the server a little bit by giving it a break now and then. Also, Internet
   Explorer users never see the progression of the installation so the long wait
   looking at an empty screen also gets less annoying.
 * Added central repository download format. This format includes the gene name,
   DNA change, DB ID, and possible OMIM and DbSNP IDs.
 * Fixed bug; Default pathogenicity code of imported variants was pathogenic  in
   stead of unknown pathogenicity.
 * Fixed bug; Links from the Configuration area to the selected gene's uncurated
   variants did not show the "Non public" variants because of a change in search
   term processing in LOVD 2.0-05.
 * Updated LOVD status page to split gene symbol and name to separate fields.
 * Added LOVD custom column "Variant/Remarks".
 * Editing patients by submitters doesn't mark all it's public variants anymore,
   and curators can now agree to the submitter's changes by a single click.


/*******************
 * 2.0 Build 06
 * 2008-04-25
 *********/
 * Fixed broken link from the configuration area top menu.
   Fixed bug #24; "'Find & Replace' function link does work from top botton".
   (thanks to Ammar Husami, Cincinnati Children's MC, USA, for reporting)
 * Simplified the URL to link to PubMed a bit.
   Implemented #25; "Simplified PubMed link".
 * Fixed bug; Import script did not recognize version header if it was quoted.
 * Included new pathogenicity codes from 2.0-04 in the variant legends also.
 * Updated variant counts on the gene homepage to use the Patient/Times_Reported
   column if it's available. Added patient count.
 * Updated LOVD status page to include Patient/Times_Reported counts as well and
   put results in tabular format.
 * Implemented check on Patient/Times_Reported also on statistics sent upstream.
 * Implemented new ability for submitters to update previous submissions if  "My
   Submissions" is enabled.
 * Fixed bug; Wordwrapping in notification emails didn't always work properly.
 * Added consistency check on Variant/DBID field. This will make sure that equal
   DBID values are assigned to equal variants. Also, the Variant/DBID field will
   be filled in automatically if left empty.
 * Allowed more space for column headers, they can now be 30 characters long.
 * Included version 0.2 of official LOVD module "showmaxdbid".
   - Fixed bug; If during submission a gene was selected other than the  current
     gene database, the wrong DBID was given on the form.
     Fixed bug #23; "Showmaxdbid displays wrong gene".
     (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)


/*******************
 * 2.0 Build 05
 * 2008-03-28
 *********/
 * Fixed bug; Creating a custom link could lead to some errors being shown.
 * Fixed bug; Editing a custom link could lead to some errors being shown if  no
   active columns were chosen.
 * Fixed bug; Custom link information from data entry forms falsely reported all
   custom links were active for the Gene/Reference column.
 * Added directory traversal attack check on GenBank file names.
 * Fixed bug; Search terms including _ or % returned more results than wanted.
 * Removed columns from the full download file that appear  to  confuse  people.
   Also rearranged the ID columns a bit.
 * Added Free Edit feature which was present in 1.1.0 also - ability to find and
   replace values in a specific column throughout one or more gene databases.
 * Translated Dutch code comments to English.
 * Updated the code that checks for empty form elements to prevent possible  PHP
   notices.
 * Added warning message on the edit variant form of variant entries  which  are
   shared with other patients, that changes apply to all patients.
 * Updated the variant overviews, if more than 10 other variants are  associated
   with the same patient, they are hidden to provide a cleaner overview.
 * Full submitter information is now directly accessible from the submitter link
   in the Patient/Reference column.  Email addresses have been removed from  the
   submitter public listing.
 * Fixed bug; LOVD installation title was mentioned to have a default value, but
   an empty field was not allowed. Leaving the field empty will now set the LOVD
   installation title to the mentioned default value.
 * Got rid of "undefined" value in Patient ID field showing in Internet Explorer
   browsers in the "Using an existing patient" popup on the submission form.
 * Shortened some long standard page refresh times.


/*******************
 * 2.0 Build 04
 * 2008-02-29
 *********/
 * Installation instructions are now in INSTALL.txt in stead of INSTALL  because
   the case insensitive filesystem on Windows hosts does not allow  the  INSTALL
   file to co-exist next to the install directory.
 * Fixed bug; Variant overview based on patient origin showed in some cases some
   form markup problems. Also shortened the listed gene names to make more space
   in the form.
 * Included the variant listing based on patient origin in the Variants menu.
 * Fixed bug; It was possible to assign a patient to a deleted submitter.
 * Improved the variant listings per submitter -  you can now select which genes
   you want to see the variants of.
 * Added a link in the Variants menu for switching to another gene database.
 * Fixed memory consumption problem of import script occuring in large databases
   when loading all variant and patient2variant data into the memory. This fixes
   the problem in most cases, but memory errors can still occur depending on the
   server settings.
   Added warning on the import page about this.
   Fixed bug #17; "Impossible to import anything anymore,  import script returns
   empty page".
 * When resetting a custom column to the system defaults, you are forwarded back
   to the column information directly.
 * Fixed bug; Custom column data type information was quoted twice, which mostly
   effected the regular expression patterns, resulting in rejected form input.
   NOTE: Regular expression patterns already effected by this bug are not fixed.
 * Fixed bug; When navigating from the setup's submitter overview to the variant
   listing, not all genes where searched in.
 * Added ability to permanently remove submitters which do not have any patients
   in the system.
 * When editing a configured custom column, the width of the column is displayed
   just below the column width field, to give an idea of the current situation.
 * Fixed bug; When visiting two LOVD installations after each other,  LOVD could
   report an error about a non-existing gene.
 * Fixed bug; Import script applied input pattern check on empty values, too.
 * Fixed bug; The custom link detailed view didn't mention if the link is active
   for the Gene/Reference column.
 * Added feature to temporarily remove columns from view in the variant listing.
 * Fixed bug; Did not remove all menu items when no gene was available yet.
 * Fixed bug; The LOVD updates information, retrieved from the LOVD website, was
   not quoted but put in the database directly in the case of an available  LOVD
   update. This resulted in a silent query error for the 2.0-03 update.
 * Fixed bug; Downloading variants may not download the homozygous mutations!!!
 * Enabled LOVD to run under the Secure Socket Layer HTTP (HTTPS) protocol.
 * Added ability to select if LOVD should run under SSL (HTTPS) only.
 * Improved efficiency by having a block of code skipped when just checking  for
   updates.
 * Fixed bug; Alternative link from submitter's variant listing to detailed view
   did not work.
 * Replaced 'polymorphism' with 'variant with no known pathogenicity', according
   to HGVS recommendations.
 * Updated pathogenicity list to be able to include more pathogenicity values in
   the future. All existing entries will be updated by the upgrade script.
 * Added options "Probably pathogenic" and "Probably no pathogenicity".
 * Added format version number in the variant download file. This allows LOVD to
   apply corrections when importing older file formats. When importing a variant
   download file from 2.0-04 into an older LOVD release, remove the first line.
 * Fixed bug; If a custom link was active for a column which was not added, lots
   of error messages appeared on the submission form.
 * Dropped upgrade support from the alpha releases.  If you are running an alpha
   release (from before April 27th,  2007) you need to upgrade to a beta release
   first, before you can upgrade to the latest stable release.
 * Included version 0.2 of official LOVD module "mutalyzer".
   - Added module to the variant edit form.
   - Fixed bug; intronic mutations containing a plus were not sent to  Mutalyzer
     correctly.
   - Enabled module to run under the Secure Socket Layer HTTP (HTTPS) protocol.


/*******************
 * 2.0 Build 03
 * 2008-01-25
 *********/
 * Fixed bug; when editing other users, a faulty "gene has no curator" error may
   show up in some cases.
   Fixed bug #22; "Unnecessary  'This gene has no curator'  errors when  editing
   user".
 * Added ability for curators to align the header and footer messages.
 * Added ability for submitters to have more than one email address.  This was a
   feature present in LOVD 1.1.0, and has now been reintroduced in 2.0,  using a
   different method.
 * Added warning message when editing a column data type, that data may be lost.
 * Added note not to add 'Patient/' or 'Variant/' to a new custom column ID.


/*******************
 * 2.0 Build 02
 * 2007-12-21
 *********/
 * Fixed bug; function to change the gene's last updated date was missing.
   Fixed bug #20; "Gene's 'Last update' field not updated".
 * Fixed bug; submitters didn't have the option to fill out the pathogenicity of
   the variant.
 * Added curate button in the configuration area, to guide new users.
 * Fixed bug; mutation suggestions listing in "Using an existing variant" option
   of the submission process did not work in Internet Explorer browsers.
 * Fixed bug; curators couldn't search on the submitterid field, although it has
   a search field.
   Fixed bug #21; "Cannot search on submitter ID".
 * Added lovd_magicQuoteAll() and lovd_magicUnquoteAll() functions and  modified
   existing lovd_magicQuote(&$var) and lovd_magicUnquote(&$var) functions to get
   rid of deprication errors in the error log when using PHP 5.X.
 * Modified lovd_magicQuote() function to use mysql_real_escape_string() instead
   of addslashes(). Carriage returns and linefeeds are not affected.
 * HGVS standard columns can now be edited (Managers and up).
 * Searching for a specific non-public variant by unauthorized users now results
   in a specific check is such a variant exists, and a proper message to contact
   the curator.
 * Non public variants can now be excluded from the unique variant listings (see
   "Security settings" section of the LOVD system settings).
 * Fixed some grammatical errors.
 * When you edit non-global column settings you are no longer required to  enter
   your password.
 * Fixed problems when editing the system settings because the disease list  can
   get rejected because of too strict pattern matching on this page.
 * Updated full legend somewhat.
 * Long select options are cut off on the forms some more, now at 75 characters.
 * Changed wording to try to distinguish the different custom column options.
 * Added option for selected columns to be reset to the system's default.
 * Fixed bug in not unquoting submission data written in the confirmation email.
 * Fixed bug in not unquoting submission data written on the submission overview
   page.
 * Fixed bug in not quoting data taken from the database when adding variants to
   an existing patient.
 * Fixed bug; during the submission of variant data,  values stored in  multiple
   select lists could not be be stored properly.


/*******************
 * 2.0 Build 01
 * 2007-10-19
 *********/
 * Added index on submitterid column in the patients table to speed up the list-
   ing of submitters in the setup area.
 * Applied fix for bug #18 to detailed variant view,  submitter's variant  view,
   and variant overview based on patient origin.


/*******************
 * 2.0 Beta 10
 * 2007-10-19
 *********/
 * Fixed some markup errors in emails sent by LOVD.
 * Changed default sorting column from Exon to Variant/DNA.
 * Fixed bug; when sorting on the DNA column, the variants were not sorted based
   on the sort algorithm; a simple text sort was used in stead.
   Fixed bug #18; "Variants do not sort correctly when selecting DNA  column  to
   sort on".
 * Implemented new lovd_wrapText() that handles long words (text without spaces)
   more intelligently.
 * Added ability to set whether a custom column is 'standard' or not; this is of
   use for Variant columns only as newly created genes will include all standard
   Variant columns.
 * Moved some duplicated JavaScript code for sorting custom columns into an  own
   include file.
 * Updated regular expression that checks selection list options and added  this
   check to the forms managing Variant and Patient columns.
 * Included version 0.1 of official LOVD module "showmaxdbid".
 * Updated descriptions of Variant/DBID column to explain the ID a bit more.
 * Increased size of module name column.
 * Added submitterid column for curators in complete variant overview.


/*******************
 * 2.0 Beta 09
 * 2007-09-28
 *********/
 * Rerunning installation script when LOVD is already installed will now not re-
   run the check for new modules when modules are already installed.
 * Before installation, LOVD checks for compatible versions of PHP and MySQL.
 * Increased efficiency by preventing an unneeded database query when  select_db
   is set.
 * Added the "Status" column to the short and full legends in case it's shown in
   the variant table (thanks to Ophélia Maertens, Ghent University, Belgium, for
   reporting).
 * Fixed memory consumption problem of import script occuring in large databases
   when loading all patient data into the memory.
   Fixed bug #17; "Impossible to import anything anymore,  import script returns
   empty page".
 * Fixed bug; feature which adds previously selected but now non-existent values
   to a selection list, failed to work for drop down lists where only one option
   can be selected.
 * LOVD now includes an HTML title based on the page being viewed.


/*******************
 * 2.0 Beta 08
 * 2007-09-07
 *********/
 * Changed variant listing query a bit that fetches other mutations in the shown
   patient, to fix somewhat buggy behaviour in the display of the variant names.
 * Applied a few changes to clearify the view for computers with a smaller sized
   screen (setup area, submit area).
 * Added option to add a variant to the submission process,  which is already in
   the database. The functionality used to support the user choosing the desired
   variant makes use of the AutoComplete library by Richard Heyes (phpguru.org).
 * Fixed bug; the setup area showed the wrong date the system was last updated.
   Fixed bug #15;  "Date updated shows date of installation,  not date  of  last
   update".
 * Added unique indexes on username columns of the user and submitter tables.
 * Added option to curate (publish) a variant by the push of a button.
 * Fixed bug; clearing submitter - patient link did not print correct log entry.
 * Fixed bug; variants starting with "c.(" were not sorted properly.
   Fixed bug #16;  "Error in creating sorting code with variants  starting  with
   'c.('".
 * Cleaned up the style sheet.


/*******************
 * 2.0 Beta 07
 * 2007-08-17
 *********/
 * Fixed bug; the submission forms showed errors when adding new data or editing
   existent data (in some cases). Bug introduced in build beta-06.
   Fixed bug #14; "Errors shown on patient data submission form".
 * Added 'cancel' buttons on variant data and patient data submission forms.
 * Added option to submit new variants to an existing patient.
 * View patient information without considering any variants is now possible.
 * Empty values (no value previously selected from the list) are no longer added
   to selection lists on edit forms.
 * After editing a patient's data, the user is now forwarded back to the patient
   information page in stead of the gene's general variant listing.
   Fixed bug #13; "Edit patient redirect leads to listing of all contents".
 * Fixed bug; when viewing a variant with unknown allele in detail, all variants
   from the same gene in the same patient where highlighted in the listing.
 * After removing a variant from a patient with other variants left, the user is
   now forwarded back to the patient information page.
 * Fixed bug; the link to the bug tracking system returned by the $_CURRDB class
   was broken.
 * Fixed bug; variants_search.php required a gene to be chosen, but this was not
   checked possibly resulting in a NoCurrDB error.
 * Added button on the patient overview to add a new variant to the patient.
 * Added ability to connect a submitter to a patient, or clear the connection.


/*******************
 * 2.0 Beta 06
 * 2007-08-03
 *********/
 * Added link to submitter's submissions from submitter overview in Setup area.
 * Removed a number of mandatory columns from the variant import  format.  These
   columns are no longer mandatory:
   'ID_pathogenic_', 'ID_status_', 'ID_submitterid_',  'ID_variant_created_by_',
   'ID_variant_edited_by_', 'ID_patient_created_by_', 'ID_patient_edited_by_'.
 * It is no longer needed to repeat variant or patient information in the import
   file; as long as the 'ID_allele_', 'ID_variantid_' and 'ID_patientid_' fields
   are present, all other fields can be left empty for previously known entries.
 * If a selection list is converted to a text field, a note is added that values
   should be separated by a semi-colon (;).
 * Fixed bug; if a selection list had previously been converted to a text field,
   but now selection options have been provided, the previously chosen value was
   lost if it was not part of the new list of options.
 * LOVD will now throw an error when there is no MySQL support installed instead
   of showing an empty page.
 * When selecting a different gene database, you do not need to click the button
   anymore.


/*******************
 * 2.0 Beta 05
 * 2007-07-06
 *********/
 * Updated LOVD module system; modules are now allowed to edit LOVD forms.
 * Included version 0.1 of official LOVD module "mutalyzer".
 * Fixed bug; while selection list fields where converted to text fields in  the
   absence of a valid set of selection list values,  the previously chosen value
   was not converted to a text value.
 * The name of files downloaded from LOVD has been changed to a different format
   because some Windows computers could not interpret the value.  The format has
   been changed to LOVD_GENESYMBOL_YYYY-MM-DD_HH.mm.ss.txt.
 * Fixed bug; multiple-select option lists do not send their data when no option
   has been selected. This caused an error message in LOVD.
 * Added search overview based on patient origin.  This overview can search  for
   variants in all genes in the LOVD installation that match your patient origin
   search terms.
 * Increased size of three standard columns, as they were too short by accident;
   Variant/DNA, Variant/RNA and Variant/Protein.  All existing databases will be
   updated by the upgrade script.
 * The small blue light icons that were used to show whether an option was on or
   off, have been replaced on some pages by marks (V or X) to improve clearity.
 * When defining the selection list values of a custom column, the question mark
   (?) is now accepted as a valid abbreviation value.
 * Sorted the values of the exon numbers selection list on the search form.
 * Added "My submissions";  a feature which allows submitters to get an overview
   of all submissions they've sent to the database. It also allows others to get
   the list of submissions for any submitter. This feature can be turned off, so
   that it is only accessible for authorized users (Curators and up).
 * Added "Update your registration" link to the manage user overview when a user
   is viewing his own account.
 * Changed wording on configuration area and setup area a bit to clearify custom
   column features.
 * At install time, LOVD will also check for modules.


/*******************
 * 2.0 Beta 04
 * 2007-06-15
 *********/
 * Included first version of LOVD module system.  LOVD modules can be installed,
   activated, deactivated and uninstalled.  LOVD does not ship with any  modules
   yet.
 * Fixed bug; when upgrading to 2.0-beta-03,  the custom link "Pubmed"  was  not
   activated for the gene reference field on the gene homepage.
 * Log events can now span 15 characters.
 * LOVD columns 'variant_edited_date_' and 'patient_edited_date_' are no  longer
   mandatory during import.
 * The standard LOVD column 'ID_sort_' is no longer mandatory to be included  in
   the import file, and it's value will be automatically generated when empty.
 * Fixed bug; a database error was shown under certain conditions when importing
   new entries whilst already having entries in other gene databases.
 * The import form now shows the available variant and patient IDs to facilitate
   easy import of new variants or patients.
 * The standard LOVD columns 'variant_created_date_' and 'patient_created_date_'
   are no longer mandatory to be included in the import file,  and  it's  values
   will be automatically generated when empty.
 * Removed redundant menu options for the configuration area if there is no gene
   database created yet.
 * Downloading entries from an empty gene database by curators now yields a file
   containing the column headers, instead of a "no variants" message.
 * When using cookies for user authentication, the cookie path is now set to the
   LOVD install path, if set to '/'.  This increases security by not sharing the
   PHP session ID with other websites on the same server and allows working with
   several LOVD instances on one server at the same time.
 * Fixed bug; lovd_calculateVersion() did not handle 2.0-XXX-00X type of version
   style.
 * Fixed bug; MySQL error message was not shown in the case of errors during the
   import of variants in InnoDB table types.


/*******************
 * 2.0 Beta 03
 * 2007-05-25
 *********/
 * Removed some development code from the release files.
 * Fixed bug; notices were thrown when a user was disallowed access based on the
   IP address check.
 * When a user is disallowed access based on the IP address check, the user will
   now be logged out directly.
 * Restructured the gene creation and gene edit forms.
 * Added gene database field to mention references to use for citations.
 * Fixed minor bug; <SPAN> tag was not closed after legend at variant listings.
 * Added ability to add a header and footer on gene specific pages. This feature
   was available in 1.1.0 by using text files, and is now included in the forms.
 * Changed "access denied" message to include a link to the log  in  form.  Also
   added a link to the registration page if it's shown at the submission page.
 * Added ability to include disclaimer on LOVD gene homepage.
 * Restructured LOVD gene homepage somewhat.


/*******************
 * 2.0 Beta 02
 * 2007-05-11
 *********/
 * Fixed small error in stylesheet which rendered a visited link from the footer
   in blue, which was hard to read.
 * Fixed some typos and changed wording on several forms.
 * Fixed faulty pictures of login and logout page headers.
 * Removed redundant user setting (refresh variant listings) since this  setting
   is not applicable to LOVD 2.0.
 * Added password quality check, to increase overall security.
 * Fixed typo in full legend description of the Variant/RNA column.
 * Dropped upgrade support from the development releases.  If you are running  a
   development release (from before November 30th, 2006) you need to upgrade  to
   an alpha release first, before you can upgrade to the latest beta release.


/*******************
 * 2.0 Beta 01
 * 2007-04-27
 *********/
 * Added default value to "Times reported" column on submission form.
 * Added ability for managers and curators to edit the selection list values  of
   custom columns.
 * Dropped error reporting feature. It will not be implemented in LOVD 2.0-01 so
   all related settings have been removed from the config.ini file.
 * Changed wording on the full variant listings to make  clear  that  non-public
   variants are hidden from view.
 * Added ability to link an online GenBank file to a gene. The file is currently
   not used by LOVD yet.
 * Added ability to specify whether a gene's reference sequence  is  genomic  or
   coding DNA.


/*******************
 * 2.0 Alpha 10
 * 2007-04-13
 *********/
 * Added ability to import previously downloaded tab-delimited text files.
 * Implemented #5; "Add upload functionality for files containing variants".
 * The use of $_FILES['..']['error'] makes LOVD somewhat depend on PHP >= 4.2.0.
 * Fixed bug; multiple custom links inserted in the same field caused  collision
   of the custom links.
 * Fixed bug; when editing a variant, the sorting code was not updated.
 * Added LOVD custom column "Patient/Times_reported", which is added by default.
 * Fixed bug; CURRDB->checkInputType() reported wrong value for the column name,
   and did an invalid check for the integer type, which always returned false.


/*******************
 * 2.0 Alpha 09
 * 2007-03-30
 *********/
 * Removed redundant table join from a variant listing query.  This should speed
   up the listing with high numbers of patients.
 * Optimized MySQL table indexes to greatly improve speed of variant listings.
 * Optimized MySQL query to greatly improve speed of gene listings.
 * Removed mention of Path column in the legend for the unique variant listings,
   where this column is actually absent.
 * Fixed bug; removing the Variant/Exon column from any gene resulted in a query
   error on the variant listings, due to the inability to find a sorting column.
 * Fixed bug; minor fix in how patient reference information gets printed.
 * Added icon for lovd_showInfoTable() and added ability to provide table link.
 * Added ability to download variant and patient data, including search results,
   in a tab-delimited text file.
 * The header of the variant table will be repeated every 25 variants.
 * Updated in_array(..., array_keys(...)) calls to array_key_exists(). This will
   make LOVD depend on PHP >= 4.1.0.
 * Made preparations for importing downloaded tab-delimited text files.


/*******************
 * 2.0 Alpha 08
 * 2007-03-16
 *********/
 * Added ability to report a variants' pathogenicity. The pathogenicity is split
   into 'Reported' and 'Concluded' pathogenicity.
 * Pathogenicity data is shown on variant listing and detailed variant view.
 * Added link to polymorphism table from the gene homepage.
 * Fixed bug; variant allele value was not properly mentioned in the  submission
   email.
 * Changed the standard system log sorting direction to newest to oldest.
 * The Patient/Phenotype/Disease column is no longer mandatory so that  patients
   without noticably affected phenotypes can be added to the system.
 * Fixed bug; due to a parsing error, LOVD kept checking for updates whenever an
   update was available.


/*******************
 * 2.0 Alpha 07
 * 2007-02-23
 *********/
 * Added CURRDB->hideColsByTable(), which hides Patient or Variant columns.
 * Added unique variants view,  which is the new default variant view and allows
   a better overview of stored variants.
 * Unique variants view includes search functionality, also.
 * Set stylesheet text alignment setting in data tables to 'left'.
 * Split setup_columns.php into setup_columns.php and setup_columns_global.php.
 * Fixed bug; when creating a new custom column,  the MySQL column type for text
   fields was determined using the wrong value as the maximum length.
 * Added ability to globally edit custom columns.
 * Increased the size of the LOVD update notification window.
 * Fixed bug; default sorting column of admin submitter overview was set to non-
   existent column.
 * Changed the NOT search character from - to !.  Searching for NOT 'C>T' is now
   written as "!C>T".
 * Changed allele column type and added more detailed options for this field.
 * Swapped patientid and variantid in ID-code which is passed from page to page.
   This implies direct URLs to patient/variant details need to be updated.
 * Small textual changes.


/*******************
 * 2.0 Alpha 06
 * 2007-02-09
 *********/
 * Fixed bug #12; "Selection list value lost on edit of sequence variant".
 * Fixed bug; lovd_showInfoTable() selected wrong default if  incorrect  message
   type was passed to the function.
 * Added stylesheet entry for <BUTTON> elements.
 * Added ability to create new custom columns.
 * Added  LOVD  custom  columns   "Patient/Detection/Tissue",   "Patient/Origin/
   Geographic", "Patient/Origin/Ethnic" and "Patient/Origin/Population".


/*******************
 * 2.0 Alpha 05
 * 2007-01-26
 *********/
 * Added listing of active custom patient columns to the Setup area.
 * Added detailed view of active custom patient columns to the Setup area.
 * Added ability to resort custom patient columns.
 * Added new function lovd_describeFormType() in inc-lib-columns replacing often
   duplicated code. Function also implemented in column detailed views.
 * Added ability to add pre-configured custom patient columns to LOVD.
 * Mandatory variant fields are not mandatory anymore when the variant status is
   lower than "Marked".
 * lovd_showInfoTable() now accepts third optional width argument.
 * Added ability to edit custom patient columns.
 * Added ability to remove non-HGVS compliant custom patient columns.
 * Fixed minor bug in the upgrade script that might cause data  malformation  in
   very rare cases.


/*******************
 * 2.0 Alpha 04
 * 2007-01-19
 *********/
 * Fixed bug; update icon did not work if an update was available.
 * Fixed bug; LOVD kept checking for updates under some circumstances.
 * Changed accepted output from upstream's package_update script.
 * Changed copyright notice at the bottom of each page to 2007.
 * Added ability to add pre-configured custom columns to a gene.
 * Added ability to edit custom columns within a gene.
 * When creating a new gene, the standard variant columns' Created By field will
   be set at 'LOVD' in stead of the active user's name.
 * Fixed bug; problems with viewing update information if cookies were disabled.
 * Added ability to resort a gene's custom columns.
 * Added LOVD custom columns "Variant/Type" and "Variant/Location".
 * Changed a couple of custom column's data types.
 * Selecting a new gene database now also shows the gene symbol.
 * Fixed bug; Links to other resources table on gene homepage will now only show
   if external resources are available.
 * Gene home page now shows links to the variant table and the search forms.
 * CurrDB class now accepts field name as parameter for buildFormTable() method.
 * Search forms created and linked to the existing search functionality.
 * Various small bugs and typos have been fixed.


/*******************
 * 2.0 Alpha 03
 * 2006-12-22
 *********/
 * Fixed missing files in package (gfx/mark_0.png, gfx/mark_1.png, COPYING).
 * Removed obsolete files in package (setup_cols_edit.php, setup_cols.php).
 * Disabled the edit custom column link in the Setup area for now.
 * Added listing of active custom columns to Configuration area.
 * Added detailed view of active custom columns to Configuration area.
 * Added ability to remove non-HGVS compliant custom columns from a gene.


/*******************
 * 2.0 Alpha 02
 * 2006-12-08
 *********/
 * Added INSTALL readme.
 * Implemented #2; "Add ability to empty variant table".
 * Changed upstream URL to www.LOVD.nl.
 * Fixed bug; forgot unsetting column when viewing account details as user.
 * Fixed bug; couldn't search on variant status due to a typo in the db query.
 * Changed part of the form description of the disease list on the settings form
   from "this gene" to "the available genes".
 * Added notice to the listing of available custom columns.
 * Implemented XSS vulnerability fix; implemented in all public forms  and  most
   manager forms, except for the ones containing fields really 'requiring'  HTML
   input. Fix simply refuses to receive HTML from any field. Will be implemented
   for the remaining forms in a more graceful way later on.
   Thanks to Robin Vickery for pointing out the vulnerability.
 * Changed header at LOVD Gene configuration area.


/*******************
 * 2.0 Alpha 01
 * 2006-11-30
 *********/
 * Initial release to general public.
