==================================================================
Release [2007-12-19] - DGS 1.0.13 - CVS-tag [DGS-stable-200712]

# History:
2007-10-06: first big update of DGS 1.0.13
2007-11-07: bug fix update
2007-12-19: bug fix update + release
2008-01-10: bug fix update (see above DGS 1.0.13.b)


2007-12-27 juga

   * translationdata.mysql, INSTALL:
   - removed translation-data from distribution
   - downloads from snapshot-page
   - info about GD & FreeType and refs to scripts-READMEs

2007-12-19 rodival

   * statratingspng.php:
   - fixing a new MySQL5 bug: renaming the temporary field "rank" to "p_rank"

   * statisticspng.php:
   - added missing mysql_free_result()

   * forum/forum_functions.php (draw_post):
   - forum-search: use new 3-line-header, postpone 3-<TR>-header

2007-12-19 juga

   * all files containing license preamble:
   - replaced preamble for license-change: GPLv2 -> Affero GPLv3

   * scripts/change_files.pl:
   - helping script to replace license-preamble

   * NEWS:
   - document changes since last bug-update at 26-Oct-2007

   * show_games.php:
   - extend color-filter for my running games: filter on my color / my move

2007-12-18 juga

   * COPYING, licence.php, docs.php, site_map.php, NEWS:
   - replaced GPLv2 with AGPL (Affero GPLv3 - 19-Nov-2007)
   - changed some licence[BE] -> license[AE] like in AGPL

   * edit_contact.php, list_contacts.php, include/contacts.php (load_globals),
     include/filter.php (FilterRelativeDate):
   - added TODOs for init of global vars

   * forum/forum_functions.php (draw_post):
   - forum-search: use former 2-line-header, postpone 3-line-header

2007-12-02 juga

   * waiting_room.php:
   - fix typo of 'Fischer'-time

   * forum/forum_functions.php (make_link_array, forum_start_table),
     forum/search.php, NEWS:
   - added max-rows for forum-search (don't use TableMaxRows from player)
   - only show max number of rows (instead of +1)

   * include/std_functions.php:
   - added max-rows for forum-search: MAXROWS_PER_PAGE_FORUM,
   - removed some globals

2007-11-25 juga

   * include/filter.php (FilterMysqlMatch.extract_match_terms):
   - fix for escaping of regex-delimiter '/'

   * include/filter.php (FilterRelativeDate.build_query):
   - implement suggested alternative to build query (WEEK=7*DAY)

2007-11-20 rodival

   * include/filter.php (FilterRelativeDate),
     include/contacts.php (load_globals),
     edit_contact.php, list_contacts.php:
   - delayed the load of the globals containing translations

   * include/filter.php (Filter.build_generic_selectbox_elem),
     include/form_functions.php (print_insert_select_box),
     game.php (draw_moves, draw_add_time):
   - fixed safe HTML inside <OPTION></OPTION>

   * include/filter.php (FilterSelection.parse_value, SearchFilter.add_filter):
   - fixed the sql query in case of empty clause (parse_value)
   - changed an eval() to a more conventional call (add_filter)

   * include/std_functions.php (start_html):
   - fixed safe HTML inside <TITLE></TITLE>

2007-11-18 rodival

   * forum/forum_functions.php (draw_post):
   - added an auto-reference link to posts (to allow its address copy&paste)

   * skins/dragon/screen.css,
     forum/read.php (revision_history),
     forum/forum_functions.php (draw_post):
   - adjusted some links problems
   - added some missing (ugly) globals... waiting better!

2007-11-17 juga

   * include/filter.php (FilterMysqlMatch.extract_match_terms),
     include/tokenizer.php (Token, StringTokenizer.parse_quote_quote):
   - Filter: special handling for "quoted-text" in mysql-match search-pattern
   - Tokenizer: mark quoted token-text using added Token.flags

2007-11-16 rodival

   * include/std_functions.php (delete_all_observers):
   - exclude guest from message notifications for observers

   * include/std_functions.php (parse_html_safe),
     include/filter_functions.php (sql_extract_terms):
   - set the $parse_mark_regex delimiter to a more natural '/'

   * include/std_functions.php (parse_tags_safe):
   - fixed a bad marking of the search-term of the </code> tag
   - ajusted some comments

   * include/message_functions.php (echo_folders),
     search_messages.php:
   - introduced the FOLDER_COLS_MODULO constant

   * include/message_functions.php (message_list_table):
   - changed the links of the Correspondent and Subject columns to make
     them more intuitive and like thoses of the search-message table

   * skins/dragon/screen.css, skins/dragon/print.css,
     forum/forum_functions.php (draw_post):
   - fixed the layout of the approved/hidden status cell
   - moved the "found in forum" part above the subject line in the search page

2007-11-16 juga

   * include/filter_functions.php (sql_extract_terms):
   - fixes: if handling of trailing (un-)escaped '%' and avoid dublette,
     add regex-delimiter to escape and escape '\' correctly

2007-11-16 rodival

   * include/filter_functions.php (sql_extract_terms):
   - don't remove a trailing "\%" from the sql_term

   * include/filter_parser.php (parse):
   - typo ($v1 => $v2)

2007-11-16 juga

   * forum/forum_functions.php (draw_post):
   - allow '0' as regex-term (replace empty-check)

2007-11-15 rodival

   * include/faq_functions.php (faq_item_html),
     include/message_functions.php (message_info_table, message_list_table),
     include/filter.php (get_terms -> get_rx_terms),
     include/filter_functions.php (sql_extract_terms),
     code_examples/filter_example2.php,
     forum/read.php (revision_history), forum/search.php,
     forum/forum_functions.php (make_link_array, draw_post),
     translate.php, search_messages.php, message.php, list_messages.php,
     list_contacts.php, admin_faq.php:
   - searching some missing urlencode() around the search terms like in
     the Mac Safari/Camino problem
   - to trace the previous inconsistancy and clearly separate what
     is "reg_exp" and "sql_like" terms, a bunch of vars renaming.
   - moved the $rx_term variable (old name: $markterms) used in
     revision_history() from the global array to the arguments list
     (like for the draw_post() function)
   - changed the URL-var name from "terms" to "xterm" (reg_exp)
     in message.php, list_messages.php, include/message_functions.php
   - changed the URL-var name from "markterms" to "xterm" (reg_exp)
     in forum/read.php, forum/forum_functions.php
   - changed the URL-var name from "term" to "qterm" (sql_like)
     in admin_faq.php
   - renamed the get_terms() function to get_rx_terms() to avoid ambiguities
     in include/filter.php, code_examples/filter_example2.php, forum/search.php,
     search_messages.php, list_contacts.php

2007-11-14 juga

   * forum/forum_functions.php:
   - optimize-fix: remove search-terms (not needed, are extracted from filter)

   * forum/search.php:
   - fix: prevent SQL-injection on ordering (map order values)
   - added ascending ordering for creation and modification date

2007-11-12 rodival

   * scripts/test.php:
   - a second test to debug the Mac Safari/Camino problem of url-decoding

2007-11-10 rodival

   * forum/search.php:
   - one protection from an incoming injection to a MySQL query...

   * scripts/test.php:
   - one test to debug the Mac Safari/Camino problem of url-decoding

2007-11-09 rodival

   * translate.php:
   - better handling of the rows of prev/next with the empty 3rd column.

   * skins/dragon/print.css:
   - typo

2007-11-08 rodival

   * translate.php:
   - re-added the fake empty 3rd column.
     It may be useful in case of a very long unbreakable word in some
     browsers, while not disturbing other browsers.

   * skins/dragon/screen.css,
     statistics.php, snapshot.php, news.php:
   - some W3C compliance fixes.

2007-11-07 rodival

   * translate.php:
   - adjusted the text of the quick-info box, mainly about the use of
     our pseudo-html tags.
   - removed the useless 3rd column.

2007-11-07 juga

   * robots.txt:
   - disallow all pages to web-crawlers for now

2007-11-04 juga

   * include/table_columns.php:
   - bugfix: use filter-prefix (not table-prefix) for filter-toggles

2007-10-31 rodival

   * statratingspng.php:
   - adjusted the relative scales of graphs.

2007-10-29 rodival

   * translate.php:
   - adjusted the boxes size to the max of original and translated strings.

2007-10-26 ejlo

   * docs.php, snapshot.php:
   - added snapshot-page

2007-10-26 juga

   * people.php:
   - switched role of FAQ-maintainer/editor of Ingmar <-> jug

   * INSTALL:
   - adjust CVS-hostname on SourceForge

2007-10-25 rodival

   * send_message.php:
   - don't reject the messages of an invitation discussion when the
     contact flags are "messages reject" and "invite accept"
   - also allow to continue an already started invitation

   * skins\dragon\print.css,
     opponents.php, send_message.php:
   - comments adds and garbages

   * init.mysql:
   - adjustments to release

2007-10-25 juga

   * scripts/player_consistency.php (cnt_diff):
   - correct echo for DEBUG-mode

2007-10-24 rodival

   * scripts/player_consistency.php,
     clock_tick.php:
   - minor fixes and comment adds

   * skins/dragon/screen.css,
     include/make_translationfiles.php,
     people.php:
   - fix a bad translation of languages (with uppercase letters) in the people
     page
   - adjusted CSS for the people page

2007-10-20 juga

   * scripts/player_consistency.php (cnt_diff):
   - minimize duration of read-locks on tables
   - added SQL_BUFFER_RESULT for selects (default),
     added arg 'buffer=no' to deactivate it
   - GROUP BY already sorts result, do additional sorting in PHP
   - added times needed
   - replaced SQL-operator '!=' on Games.Rated

2007-10-18 juga

    * userinfo.php, site_map.php, NEWS:
    - added bottom-link to show my opponents

2007-10-16 juga

   * clock_tick.php:
   - fix slow-query by returning to former query (for running games)
     using index-optimization

2007-10-16 rodival

   * skins/dragon/screen.css, skins/dragon/print.css:
   - updated the CSS printer part

   * include/message_functions.php:
   - CSSed the MessageBox rows

   * include/std_functions.php:
   - translation of the vault message

   * scripts/data_report.php:
   - disable the unbuffered feature

   * scripts/message_consistency.php,
     include/message_functions.php,
     message.php:
   - On 2007-10-15, we have found, in the DGS database,
     30 records of MessageCorrespondents with .mid == 0
     all between "2004-06-03 09:25:17" and "2006-08-10 20:40:31".
     While this should not have occured, those "lost" records can disturb
     some queries where, for instance, .mid is compared to .ReplyTo which
     may be 0 (meaning "no reply").
     We have strengthened those queries but also manually changed the faulty
     .mid from 0 to -9999 (directly in the database) to move them apart.

2007-10-15 juga

   * NEWS:
   - added bugfix (about SGF-download)

2007-10-13 juga

   * NEWS:
   - added <home_ page>... opening new window

   * skins/dragon/screen.css, translate.php:
   - JUG's dream of page-layout for translate-page
   - fix extracting of highlight-regex term (leading & trailing %, 0)

2007-10-13 rodival

   * skins/dragon/screen.css, translate.php:
   - fix the embossed tables display for the browsers not understanding
     the 'outset' and/or 'inset' border style of CSS.

   * include/board.php:
   - closing the board display problems.

2007-10-12 rodival

   * skins/dragon/screen.css,
     include/board.php:
   - An other try to analyze the board display problems.

2007-10-11 rodival

   * include/filter.php:
   - minor HTML args enhancement

   * translate.php:
   - just adjusted the profile-encoding for the translators' ADMINS only

   * include/std_functions.php:
   - enabling the <home_ ...> pseudo-tags
   - enhanced the $html_safe_preg by the way

   * skins/dragon/screen.css,
     include/board.php:
   - An other try to analyze the board display problems.

2007-10-10 rodival

   * sgf.php:
   - Changed the header Content-Disposition: inline; to attachment;

2007-10-09 rodival

   * skins/dragon/screen.css,
     translate.php:
   - A midway page re-format to simplify the translators work

   * skins/dragon/screen.css,
     include/board.php:
   - A try to analyze the [Go Ban Joe (Banjo)] PocketPC IE problem
     around the board display.

2007-10-09 juga

   * waiting_room.php:
   - preserve filter-values for links:
     Info-button, bottom-link to add new game

   * show_games.php:
   - bugfix: show values Rated & Last moved for observed games

2007-10-08 rodival

   * scripts/generate_translation_texts.php,
     status.php, opponents.php, waiting_room.php, message_functions.php:
   - Adjusting and adding strings to translation

2007-10-08 juga

   * NEWS:
   - adjusted text about <image>-tag (release 1.0.13)

   * quick_play.php:
   - fix: mismatch of an empty argument

2007-10-07 juga

   * include/filter.php (FilterRating.parse_value):
   - fix handling of range-search using '-' with upper limit

   * opponents.php:
   - show form-submits for opponents-info game-stats-view

2007-10-07 rodival

   * translate.php, skins/dragon/screen.css:
   - better display of found term vs raw code

   * include/std_functions.php, scripts/mailtest.php,
     admin.php, admin_admins.php, people.php:
   - Changed the ADMIN_ADMINS constant name to a more obvious one (ADMIN_SUPERADMIN)

   * include/std_functions.php:
   - re-enabled the <TT> pseudo tag

   * forum/index.php:
   - minor CSS fix

2007-10-06 rodival

   * skins/dragon/screen.css,
     game.php:
   - adjustment of the "Go back" button placement in the game page.

   * include/message_functions.php:
   - description for 'Proper handicap' completion

   * scripts/translation_consistency.php:
   - adjusting the detection of the "FAQ entries without 'FAQ' group"

   * scripts/game_consistency.php:
   - removed an extract($row)
   - adjusted the detections according to the args limitations
   - added some warning messages

   * scripts/roadmap_1_0_12_to_1_0_13.txt:
   - minor adjustments correlated to the previous commits

2007-10-05 juga

   * NEWS:
   - changed final release date

   * include/filter.php (FilterRating),
     include/filter_parser.php (TextParser.handle_reverse_range):
   - fix: FilterRating, correct range-search of percentaged rating
   - fix: remove non-ASCII7-char

   * include/message_functions.php:
   - short description for 'Proper handicap'

2007-09-11 juga

   * INSTALL:
   - removed board-link in images-dir

   * NEWS:
   - game-page title, bio textinput width, no pie-chart in rating, <image>-tag

2007-09-10 rodival

   * ratingpng.php:
   - hidden the win/lost pie

   * skins/dragon/screen.css,
     include/std_functions.php:
   - fixed the bad left-alignment of the "not logged" or "is down" pages
   - adjusted some comments of the fever vault

   * game.php:
   - added the game ID and move number to the page title

   * scripts/other_changes_1_0_12_to_1_0_13.txt,
     include/std_functions.php:
   - hard-coded the re-direction of <image board/*> to /17/*
-----------
Caution: maybe not needed, this is a rollback of a previous modification
remove the soft-link on server: go to the dragon root-directory (e.g. 'htdocs' for the devel server)
 cd images
 rm board
-----------

2007-09-09 juga

   * init.mysql, scripts/database_changes_1_0_12_to_1_0_13.mysql:
   - split combined indexes (Forum_ID and Pos) into separate indexes
     to speed up forum-search and forum-views/sort,
     particularly on PosIndex and Lastchanged
-----------
ALTER TABLE `Posts`
 DROP INDEX `Pos` ;
ALTER TABLE `Posts`
 ADD INDEX `Thread_ID` (`Thread_ID`) ;
ALTER TABLE `Posts`
 ADD INDEX `PosIndex` (`PosIndex`) ;
ALTER TABLE `Posts`
 DROP INDEX `Forum_ID` ;  -- on some servers this is named 'List'
ALTER TABLE `Posts`
 ADD INDEX `Forum_ID` (`Forum_ID`) ;
ALTER TABLE `Posts`
 ADD INDEX `Lastchanged` (`Lastchanged`) ;
-----------

   * include/filter.php (FilterRating):
   - bugfix FilterRating: fix rank-conversion for rating with percentage

   * include/filter.php (all Filters), code_examples/filter_example2.php,
     specs/filters.txt:
   - added syntax-help-id in syntax-hover-text-description (for FAQ-reference),
     added with #filterhelp-namespace to allow adjustment and translations
   - added FC_SYNTAX_HELP-config to overwrite syntax-help-id

2007-09-07 juga

   * scripts/database_changes_1_0_12_to_1_0_13.mysql:
   - consolidate changes on Contacts-table

2007-08-29 rodival

   * scripts/roadmap_1_0_12_to_1_0_13.txt:
   - "how to" for next update

2007-08-23 ejlo

   * scripts/database_changes_1_0_12_to_1_0_13.mysql,
     scripts/other_changes_1_0_12_to_1_0_13.txt:
   - initial commit of two files containing a collection of changes
     for updating from v1.0.12 to v1.0.13.

2007-08-23 juga

   * search_messages.php:
   - select folder form-element: use 8 columns to display folders

2007-08-21 rodival

   * include/std_functions.php,
     include/make_translationfiles.php (add_text_to_translate),
     admin_faq.php, admin_do_translators.php, list_contacts.php:
   - removed the "LOWER(...) LIKE strtolower($pattern)" tricks.
   - changed the TranslationTexts.Text field to latin1 as it should contain
     only english phrases
   - changed (reversed) the Contacts.Notes field to latin1
-----------
ALTER TABLE `TranslationTexts`
 CHANGE `Text` `Text` text NOT NULL ;
ALTER TABLE `Contacts`
 CHANGE `Notes` `Notes` varchar(255) NOT NULL DEFAULT '' ;
-----------
   - added related latin1 checks in admin_faq.php and make_translationfiles.php
   - removed the translated strings from admin_do_translators.php

2007-08-21 juga

    * INSTALL:
    - hint about needing /images/board link

2007-08-19 rodival

   * include/std_functions.php:
   - added the <image> pseudo tag
   - must be completed by a "Linux soft-link" (or an "Apache alias")
     from /images/board to /17
-----------
Caution: no more needed (see rollback above)
add soft-link on server: go to the dragon root-directory (e.g. 'htdocs' for the devel server)
 cd images
 ln -s ../17 board
-----------

2007-08-19 juga

   * NEWS:
   - added: bio-fix, new-window-links, language=N profile

   * show_games.php:
   - spare translators-work (reverted change): observed games are always mine

2007-08-18 rodival

   * skins/dragon/screen.css,
     include/form_functions.php, include/message_functions.php,
     forum/search.php, forum/forum_functions.php,
     waiting_room.php, game.php, forgot.php, index.php:
   - CSS and layout adjustments

   * include/make_translationfiles.php,
     include/translation_functions.php,
     edit_profile.php, change_profile.php:
   - fixed glued translation files when they must be emptied
   - highlighted the NativeText for the ?language=N option
   - allowed to set language=N in profile for translators

   * skins/dragon/screen.css,
     include/message_functions.php, include/form_functions.php (sptext)
     edit_profile.php, waiting_room.php:
   - CSSed the radio/check boxes of forms. Added sptext() to help. Temporary
     solution

   * userinfo.php, edit_bio.php, change_bio.php:
   - allowed to input a foreign category with the same spelling as one of
     the default english categories without seeing it translated
   - distinguished them in the database with a leading '=':
-----------
UPDATE Bio SET Category=CONCAT('=',Category)
 WHERE !(Category IN('Country','City','State','Club','Homepage','Email','ICQ-number',
   'Game preferences','Hobbies','Occupation','Native Language','Language Competence')
  OR LEFT(Category,1)='=') ;
-----------

   * skins/dragon/screen.css,
     include/form_functions.php,
     forum/forum_functions.php,
     admin_faq.php, edit_contact.php, edit_profile.php, message.php, waiting_room.php:
   - CSSed some other Form parts.

2007-08-17 juga

   * NEWS:
   - added: on-vacation showing hours too, bottom-links left-alignment,
     '&language=browsercode'
   - removed goodies
   - cleanup (FAQ-refs, double entries, better text)

   * docs.php, site_map.php:
   - "hide" unwanted translations for Goodies

2007-08-16 rodival

   * skins/dragon/screen.css,
     include/message_functions.php (echo_folders, echo_folder_box),
     include/filter.php (get_input_element),
     include/form_functions.php (create_form_string),
     search_messages.php:
   - fixed the left alignement of the CheckboxArray of folders
   - changed the signature:
      echo_folder_box($folders, $folder_nr, $bgcolor=null, $attbs='', $layout_fmt='')
     where $layout_fmt is a sprintf format string to replace the previous
     $prefix and $suffix arguments.

   * include/time_functions.php (echo_onvacation)
     status.php, userinfo.php:
   - introduced echo_onvacation() to have the vacations displayed on a hour basis

   * skins/dragon/screen.css,
     include/table_columns.php (make_tablehead, make_table_filter):
   - a try to fix the alignement of the headers and remove tools for JUG browser

2007-08-15 juga

   * NEWS:
   - added info about bugfix: move numbering hover option

   * docs.php, site_map.php:
   - don't show goodies (Greasemonkey-scripts) as they are no DGS-features
   - reverted minor translation changes

   * introduction.php:
   - added todo-note about wrong sentence

   * site_map.php:
   - completed items for other user info

2007-08-15 rodival

   * include/translation_functions.php:
   - fixed the "&language=de" shortcut

2007-08-14 rodival

   * userinfo.php:
   - fixed the "<color red>" display problem in Open and Rank infos

   * skins/dragon/screen.css:
   - centered the folders tabs table
   - left aligned and narrowed the table of the bottom links

   * include/message_functions.php (echo_folder_box),
     search_messages.php:
   - reduced the space betwwen the checkbox and the folder name

   * userinfo.php, waiting_room.php, edit_bio.php, opponents.php,
     list_contacts.php, edit_contact.php, faq.php, people.php,
     admin_admins.php,
     scripts/update_translation_pages.php, scripts/translation_consistency.php,
     scripts/start_frozen_clocks.php, scripts/recalculate_ratings2.php,
     scripts/player_consistency.php, scripts/message_consistency.php,
     scripts/game_consistency.php, scripts/convert_from_old_forum.php,
     scripts/browser_stats.php,
     forum/index.php, forum/search.php, forum/list.php, forum/read.php:
   - added some mysql_free_result()
     Note: with my new local server, omitting them induce some warning messages
     to be added after the end our HTML code. Because of thoses and our
     ob_start('ob_gzhandler'), this make the IE5 browser unable to even display
     the page, reporting a "page not found" error message (in the best case!)

   * docs.php:
   - removed the "goodies" link: this is NOT a DGS feature.

   * join_waitingroom_game.php, waiting_room.php:
   - adjusted the join and delete forms
   - cleaned some links
   - fixed glued games (not deleted when count reach 0)

2007-08-13 juga

   * list_contacts.php:
   - avoid to show 'filter' term to users

   * forum/search.php:
   - removed empty row between search elements and order element

   * include/form_functions.php:
   - removed old build_areas() algorithm

   * site_map.php:
   - cleanup, adding new and missing pages:
     contacts, opponents, add time, show observers, news, people, goodies
   - order roughly oriented at main-menu

   * docs.php:
   - more descriptions for items, more logical order
   - added Goodies, DGSWishlist on SL

   * show_games.php:
   - allow B/W to translate
   - hide score filter (saving col-space)
   - use absolute RelativeDate-Filter on end-date

2007-08-13 rodival

   * include/message_functions.php (message_list_query, message_list_table),
     include/std_functions.php (send_message),
     scripts/message_consistency.php,
     rss/status.php, wap/status.php,
     quick_status.php, join_waitingroom_game.php, confirm.php, message.php,
     halfhourly_cron.php, clock_tick.php:
   - adjusted the use of the new MessageCorrespondents enum type 'S'
   - added the recovery of 'S' type from old messages in message_consistency.php
   - added the recovery of old 'result' messages in message_consistency.php

   * list_messages.php:
   - fixed a move-message bug

   * scripts/update_translation_pages.php, scripts/translation_consistency.php,
     scripts/start_frozen_clocks.php, scripts/start_frozen_clocks.php,
     scripts/player_consistency.php, scripts/generate_translation_texts.php,
     scripts/convert_posindex.php:
   - better url args handling

   * skins/dragon/screen.css,
     include/std_functions.php (attb_build),
     include/form_functions.php (create_form_string),
     opponents.php, search.php, search_messages.php,
     code_examples/filter_example2.php:
   - attb_build: remove useless colspan
   - removed (partially) the Align property of the forms. Changed it to 'Attbs'
     to allow to add 'class=???' arguments... a step to a full CSS management.
   - changed FEA_ALIGN to FEA_ATTBS
   - aligned the descriptions of search_message

   * include/make_translationfiles.php,
     generate_translation_texts.php,
     forum/forum_functions.php, forum/post.php:
   - re-added previously badly suppressed $TranslateGroups[]
   - added small debug infos

2007-08-12 rodival

   * init.mysql,
     scripts/data_export.php:
   - adjusted init.mysql to the current state of the devel server database

2007-08-12 juga

   * include/filter.php, include/filter_parser.php, include/tokenizer.php,
     include/message_functions.php (message_list_table),
     list_contacts.php, opponents.php, search_messages.php, show_games.php,
     status.php, users.php, waiting_room.php:
   - use different table headers and filter texts to allow saving space with
     shorter translations and provide a clear context for text
   - provide shorter filter input-elements to save column width space

   * opponents.php:
   - no filter on Rank-Info and Open-for-matches (no efficient search)

   * include/filter.php (FilterRelativeDate.get_input_elements):
   - remove &nbsp; in RelativeDate-filter layout

   * forum/search.php, list_contacts.php, opponents.php,
     search_messages.php, show_games.php, users.php, waiting_room.php:
   - added accesskey 'x' for search, 'e' for reset search
   - removed second pair of filter-submits (if external-form)

   * include/filter.php (set_accesskeys, get_submit_elements):
   - added config for accesskeys for filter-submit elements search & reset
   - replaced technical 'filter' term by user-friendly 'search' term

   * include/table_columns.php (make_table, make_add_column_form):
   - searching wants focus on table-data, not add-column-form
   - replaced technical 'filter' term by user-friendly 'search' term
     on filter-submit elements

   * search_messages.php:
   - removed filter on Message-type
   - added checkbox to show pending invitations
   - added Server as direction (Sender = 'S')
-----------
ALTER TABLE `MessageCorrespondents`
 CHANGE `Sender` `Sender` enum('M','N','Y','S') NOT NULL DEFAULT 'Y' ;
ALTER TABLE `MessageCorrespondents`      -- +2 MB (for filter/sort)
 ADD INDEX `Sender` (`Sender`) ;
-----------

   * all files
     except the following
        init.mysql, translationdata.mysql, goodies/*.js, include/config.php,
        scripts/README.developers, scripts/README.translations,
        scripts/doxygenConfig:
   - changed copyright notice and added where missing (-2007)

   * NEWS, news.php, skins/dragon/screen.css:
   - make an emphasized release title with anchor
     for reference in SL's DGSWishlist

   * NEWS:
   - added new features and changes of last release [2006-08-07]

2007-08-11 juga

   * NEWS, news.php:
   - added new features and changes since last release [2006-08-07]
   - resolve DGS-tags in NEWS-page

2007-08-09 rodival

   * skins/dragon/screen.css,
     include/std_functions.php (section, centered_container),
     docs.php, admin.php, licence.php:
   - adjusted the problem of centered containers

2007-08-08 rodival

   * scripts/FAQtransl_consistency.php, scripts/translation_consistency.php:
   - renamed scripts/FAQtransl_consistency.php
     to scripts/translation_consistency.php

   * userinfo.php, opponents.php:
   - Rank and Open html_safe adds

   * skins/dragon/screen.css,
     include/std_functions.php (section),
     status.php:
   - CSS ajustments of PendingApproval section

2007-08-07 rodival

   * include/faq_functions.php,
     forum/admin.php,
     admin_faq.php, error.php:
   - reviewed and CSSed forum/admin.php
   - normalized forum/admin.php and admin_faq.php to have an easier comparison
   - moved the TD_button() function to faq_functions.php to share it between
     admin_faq.php and forum/admin.php
   - removed the unused 'admin_already_translated' message

   * include/filter_functions.php,
     include/table_columns.php (make_table_filter),
     include/form_functions.php (print_insert_filtererror),
     forum/forum_functions.php,
     game.php (draw_game_info, draw_board_info),
     admin.php, search.php, post.php, index.php, login.php:
   - CSS and W3C fixes
   - minor translation related fixes

   * userinfo.php:
   - removed the 'forced column' part of the links to show_games.php

2007-08-06 rodival

   * include/std_functions.php (section, start_html, end_page,
     add_link_page_link, parse_tags_safe):
   - introduced the section() function which allow to split the page
     in distinct sections
   - introduced the $ThePage['class'] to temporary solve some CSS problems
   - adjusted add_link_page_link() to fully handle the structure
   - fix potentially corrupted marks of TT tag in parse_tags_safe()... to be reviewed

   * skins/dragon/screen.css,
     docs.php, admin.php, links.php, people.php, site_map.php,
     introduction.php, todo.php, news.php, licence.php, install.php:
   - full CSS of the Docs pages

   * skins/dragon/screen.css,
     include/std_functions.php (section, parse_tags_safe),
     status.php, faq.php:
   - added sections in the status page
   - removed linefeeds causing insert of badly placed <br>
   - checked and fixed the W3C compliance of the CSS sheet

   * include/table_infos.php, include/table_columns.php,
     include/form_functions.php,
     links.php, edit_folders.php, list_contacts.php:
   - minor fixes around W3C compliance

2007-08-05 rodival

   * skins/dragon/screen.css,
     include/table_columns.php (make_table_filter):
   - adjusted some CSS of filters

   * include/std_functions.php:
   - removed the &nbsp; of the TD_EMPTY definition

   * userinfo.php, include/table_columns.php (add_or_del_column):
   - as a first try to enable the columns when a filter is requested...
     but it actually fail to active the filters when the column is added.

   * include/game_functions.php, include/time_functions.php (time_remaining),
     game.php:
   - adjusted the time check in case of byoyomi disabled

   * userinfo.php, edit_contact.php, list_contacts.php:
   - excluded guest from contacts features (edit and add... but not list)
   - jump to list_contacts.php after a Contact had been saved

   * include/contacts.php, include/message_functions.php,
     send_message.php, join_waitingroom_game.php, waiting_room.php:
   - denied the access to a waitingroom game protected by its owner
   - rejection of messages or invitations to protected users
   - renaming some column and row headers from 'Color' to 'Type' when they
     contain datas like 'Double game', 'Proper handicap' or 'Even game'.

   * skins/dragon/screen.css,
     code_examples/form_example2.php,
     opponents.php:
   - CSS and layout bug fixes

2007-08-04 juga

   * game.php,
     include/game_functions.php (allow_add_time_opponent, add_time_opponent):
   - add-time: no byoyomi-reset if there is no byoyomi,
     don't allow if maintime would exceed 365 days,
     allow up to 14 days to add,
     corrected some relating texts

   * include/message_functions.php:
   - added 'AS' in SQL

   * include/table_columns.php (make_filter_row):
   - removed useless arg 'thead'

   * admin_faq.php, include/faq_functions.php (faq_item_html):
   - highlight terms for edit-FAQ and returning (except preview)

   * include/filter_parser.php (TextParser.parse, TextParser.extract_terms),
     include/filter_functions.php (sql_extract_terms):
   - moved sql_extract_terms-func from filter_parser -> filter_functions

   * edit_contact.php:
   - fix: show errormsg for invalid contact-user
   - delete-cancel returns to contact-list
   - delete is only confirm (don't show edit-elements)

   * list_contacts.php:
   - use case-insensitive filter-search on now binary Notes-column
   - removed alt-attrib in some filter-form-elements: changed FC_MULTIPLE-format
   - default sort by name

   * include/filter.php (build_generic_input_text_elem, build_input_text_elem,
     build_generic_checkbox_elem, FilterCheckboxArray),
     code_examples/filter_example2.php, search_messages.php:
   - cleanup: removed alt-attrib in some filter-form-elements,
     changed FC_MULTIPLE-format

   * show_games.php, userinfo.php:
   - introduced named filter-columns for Rated/Won fields in show_games.php
   - make Rated (14) and Won (11) games-column static
     to provide valid links from userinfo

2007-08-04 rodival

   * include/contacts.php (update_contact, load_contact),
     list_contacts.php, edit_contact.php:
   - modified some $uid/$cid checks
   - changed the Notes field of the Contacts table (including its name)
-----------
ALTER TABLE `Contacts`
 CHANGE `Note` `Notes` varbinary(255) NOT NULL DEFAULT '' ;
-----------
   - CSSed the pages

   * opponents.php:
   - added buttons to have a more visible stat link column
   - CSSed the page
   - adjusted the appearence of some bottom-of-the-page links

   * include/form_functions.php (add_empty_row):
   - changed add_empty_row() to respect the colspan of the table
   - others modifications are just TAB re-formats

   * include/filter.php (build_generic_input_text_elem,
     build_generic_checkbox_elem, get_input_element):
   - removed the useless "alt=" of the "<input>" tags
     removed the "$alt" parameters from build_generic_checkbox_elem()
     and of the code calling it

   * include/std_classes.php (merge):
   - fixed an error() call

   * include/table_columns.php:
   - adjusted some id cases

   * include/std_functions.php (user_reference), error.php:
   - added some comments and adjusted the code

   * admin_faq.php:
   - removed useless empty_row

2007-08-04 juga

   * error.php, confirm.php, game.php, opponents.php,
     include/contacts.php (Contact, load_contact),
     include/filter.php, include/filter_parser.php,
     include/form_functions.php, include/std_classes.php,
     include/table_columns.php, include/tokenizer.php:
   - added error-codes: invalid_user, invalid_opponent, invalid_filter
   - fix error()-calls: adjusted errorcode and debug-message

   * edit_contact.php, include/contacts.php:
   - show user-error (not internal-error) for adding own user,
     so no check for equal user- and contact-id in loading-funcs but update

   * skins/dragon/screen.css:
   - changed some styles for JUG-devel-server

2007-08-03 rodival

   * include/form_functions.php (build_areas, create_form_string, get_merged_attbs),
     code_examples/form_example2.php:
   - proposition for a new build_areas() layout managment
   - removed some useless levels of tables nesting
   - added the $TRlevel argument to build_areas() (default to previous behaviour)
   - introduced the optional 'title' of the areas
   - added the get_merged_attbs() function
   - fixed some error messages

2007-08-02 rodival

   * include/make_translationfiles.php:
   - fix to search case-insensitive on mysql-binary translation-texts

   * translate.php:
   - highlighted the found terms.

   * include/std_functions.php (parse_html_safe, parse_tags_safe):
   - removed the first newline after div-like pseudo-tags
   - fixed a bug in parse_html when $html_code is empty

   * include/translation_functions.php (T_, include_translate_group):
   - introduced the &language=N argument to disable any translation of the page
   - allowed more shortcuts to this argument: &language={browser_code}

   * include/table_infos.php (make_tablerow):
   - changed the priority of the class option of the rows
   - removed row highlight for the info tables

   * list_messages.php, edit_bio.php, admin_admins.php:
   - CSS adjustments

   * list_contacts.php, edit_contact.php:
   - disabled for guest

   * forum/list.php, forum/forum_functions.php (draw_post):
   - fixed the wrong display of 'first new'

2007-08-01 juga

   * list_contacts.php:
   - bugfix: show only own contacts

   * admin_faq.php:
   - fix to search case-insensitive on mysql-binary translation-texts

2007-07-31 rodival

   * include/game_functions.php (add_time_opponent),
     confirm.php, game.php:
   - fixed the add_time error when nothing is changed in byoyomi settings

   * skins/dragon/screen.css,
     admin_faq.php:
   - CSS adjusted (for IE, Opera and Avant), info box adjusted

   * list_contact.php:
   - added or modified images for 16x16 buttons of list_contact.php
-----------
copy /images/send.gif
copy /images/read.gif
copy /images/invite.gif
copy /images/edit.gif
copy /images/trashcan.gif
-----------

2007-07-29 rodival

   * skins/dragon/screen.css,
     include/table_columns.php (make_table, make_tablerow, make_next_prev_links),
     include/form_functions.php (create_form_string),
     forum/forum_functions.php (echo_links),
     search_messages.php, game.php, opponents.php:
   - added the 'ROW' form command
   - various CSS adjustments

   * translate.php, admin_faq.php:
   - CSSed the pages (final?)

   * include/std_functions.php (start_page),
     list_contacts.php:
   - quick fix of some contacts stuff (remove center tags) (more to come!)

   * opponents.php, userinfo.php, game.php, confirm.php, show_games.php:
   - normalized the $my_id var.
   - comments fixed

   * userinfo.php:
   - CSS adjustment
   - ajusted the links on the games list (using filters)

   * include/std_functions.php, include/board.php (load_from_db, draw_board),
     include/game_functions.php, include/time_functions.php (time_remaining),
     game.php (draw_game_info, draw_board_info), confirm.php (do_add_time),
     sgf.php:
   - checked the add_time stuff
   - adjusted time_remaining() to handle the byoyomi settings reset
   - changed POSX_ADDTIME from -5 to -50 (somehow enabling a "settings" section
     far from the terminating moves)
   - added the add_time infos in game.php from board.php via the new function
     draw_board_info()
   - moved the database updates from do_add_time() to add_time_opponent()
   - removed the $gid argument from add_time_opponent()
   - normalized most of the error handlers of add_time_opponent() (few stay)

2007-07-29 juga

   * waiting_room.php:
   - implement Contacts system-flag "Deny game":
     don't show games from players that "deny games" to current user

   * edit_contact.php, list_contacts.php, include/contacts.php:
   - added categorized contact-list for other users,
     support for system categories: deny game, etc.
     support for user   categories: friend, student, etc.
     allow free-text notes about contact, save created and lastchanged-date,
     show some players-data (name, userid, country, rating, lastaccess)
   - added Contacts table
-----------
CREATE TABLE Contacts (
   uid int(11) NOT NULL default '0',
   cid int(11) NOT NULL default '0',
   SystemFlags smallint(5) unsigned NOT NULL default '0',
   UserFlags int(10) unsigned NOT NULL default '0',
   Created datetime NOT NULL default '0000-00-00 00:00:00',
   Lastchanged datetime NOT NULL default '0000-00-00 00:00:00',
   Note varchar(255) NOT NULL default '',
   PRIMARY KEY Contact (uid,cid)
) TYPE=MyISAM;

ALTER TABLE `Players`
 ADD `ContactColumns` int(10) unsigned NOT NULL default '225' AFTER `WaitingroomColumns`;
-----------

   * include/table_columns.php (make_tablerow):
   - added top-vertical-alignment on table-rows (for contacts),
     need some CSS-magic to fix that

   * include/std_functions.php (start_page):
   - main-menu: added Contacts-link
   - main-menu: moved Translate-link into bottom-bar (show only for translators)

   * userinfo.php:
   - added bottom-link to add or edit user as contact


   * include/filter.php (get_terms, FilterText, FilterCheckboxArray),
     code_examples/filter_example2.php,
     specs/filters.txt:
   - added filter-config FC_SUBSTRING for Text-filter for auto-substring-search
   - added filter-config FC_BITMASK for CheckboxArray-filter
     to build sql-query using bitmask
   - added extracting of regex-terms also for Text-Filter (when using wildcards)

   * include/filter_parser.php (TextParser):
   - added TEXTPARSER_IMPLICIT_WILD to support substring-search for filters
   - added extracting of regex-terms (when using wildcards)

2007-07-28 juga

   * confirm.php (do_add_time), game.php,
     include/std_functions.php (POSX_ADDTIME),
     include/game_functions.php (add_time_opponent),
   * sgf.php, include/board.php, scripts/game_consistency.php:
   - game: write add-time into database,
     can choose to reset byo-yomi on add-time (not for Fisher-time),
     jump to add-time form if adding time
   - added support to add-time for opponent,
     adding hours to maintime and/or reset byoyomi,
   - added add-time-entry into Moves-table:
     PosX=POSX_ADDTIME, Stone=time-adder, PosY=BYO-RESET, Hours=added-hours

   * message.php, search_messages.php, send_message.php,
     include/message_functions.php, scripts/ChangeLog:
   - removed add-time-support (moved to game-page)
   - reverted change to Message.Type enum: removed ADDTIME

2007-07-27 juga

   * game.php:
   - add-time: reduced to one bottom-link to game-page for validation
   - also show add-time for my games where it's the opponents to move next

   * include/game_functions.php:
   - removed some comments, added TODO for no-add-time option

2007-07-27 rodival

   * skins/dragon/screen.css, include/std_functions.php,
     game_comments.php:
   - CSSed the game_comment page.
   - fixed a bug leaving the <c> and <h> tags unchanged in the HTML.

2007-07-26 rodival

   * include/time_functions.php (time_convert_to_hours),
     include/message_functions.php (interpret_time_limit_forms),
     send_message.php, game_functions.php, clock_tick.php:
   - introduced the time_convert_to_hours() function

   * include/quick_common.php (setTZ)
     status.php, daily_cron.php, userinfo.php,
     users.php, change_profile.php:
   - moved (and fixed) the summertime changes check from daily_cron.php
     to status.php in a "by user" basis.
   - now setTZ() return the previous timezone (backup purpose)
   - added a way to check the clock of a user in userinfo.php
   - comments adjusted for the other files

   * scripts/message_consistency.php,
     include/message_functions.php,
     status.php, add_to_waitingroom.php, join_waitingroom_game.php,
     list_messages.php, search_messages.php:
   - checked and removed the useless init_standard_folders(). This function
     could be merged into get_folders() as they are always used together.

2007-07-25 juga

   * game.php:
   - experimental support for adding time for opponent
   - added 3 alternative links for add-time for discussion

   * include/std_functions.php (make_menu):
   - support for allowing Form-object included in bottom-links

2007-07-24 rodival

   * skins/dragon/screen.css, include/message_functions.php:
   - messages and folders CSS adjustments

   * include/faq_functions.php, faq.php:
   - remove translations from the admin_faq preview.

   * include/std_functions.php, include/faq_functions.php,
     faq.php, admin_faq.php, translate.php,
     skins/dragon/screen.css:
   - full (and final?) CSS refund of the FAQ pages
   - introduced the "note" pseudo-tag which is always removed from display.
     this allow, for example, the faq admins to send infos to the translators.

   * edit_folders.php:
   - fix a bug disabling the possibility of renaming the STANDARD_FOLDERS
   - now, one can use mysql slashed chars in the folders' names


2007-07-23 rodival

   * include/make_game.php,
     send_message.php, join_waitingroom_game.php, error.php:
   - problem of "bad Running count" fix: more checks to find if the
     game had already been accepted.

   * game.php:
   - minor W3C compliance fix.

   * include/std_functions.php:
   - added an easier way to configure the vault parameters

   * edit_profile.php:
   - added the 'x' access key to the submit button

   * skins/dragon/screen.css, game.php, include/board.php:
   - forum list and board page CSS adjustments
   - players rating info fixed to CurrentRating/EndRating
     added StartRating in a CSS hidden element

2007-07-22 rodival

   * include/faq_functions.php, faq.php, admin_faq.php:
   - enhanced the admin_faq preview.
     added the file faq_functions.php for the common functions of the
     faq scripts.
     removed the T_() from admin_faq.php

   * include/form_functions.php:
   - removed useless include, added a comment

2007-07-22 juga

   * include/message_functions.php (message_list_table):
   - set correspondent for server-message or if unknown

   * game.php, message.php, search_messages.php, send_message.php,
     include/game_functions.php (allow_add_time_opponent, add_time_opponent):
   - added support to add time for opponent

   * error.php:
   - fixed typos

2007-07-22 rodival

   * include/countries.php, include/filter.php:
   - removed the obsolet 'Serbia and Montenegro (Yugoslavia)'
     from countries list

   * search_messages.php, docs.php, translate.php:
   - minor comments adjustments

   * include/error_functions.php (echo_error_list),
     clock_tick.php, halfhourly_cron.php, daily_cron.php:
   - enhanced a little the error handling of cron jobs
     added an argument $prefix to echo_error_list()
     added completion flags in the cron scripts (using the Ticks
     field of their owned clock)

2007-07-22 juga

   * links.php:
   - removed invalid and corrected existing links and texts
   - added IGF as mediator to most international go associations
   - added OGS

2007-07-21 juga

   * forum/search.php, include/filter.php, include/form_functions.php,
     include/tokenizer.php, opponents.php, search_messages.php,
     show_games.php, site_map.php:
   - corrected translated texts (typo, upper/lower-case,
     use '#'-notation to avoid ambiguities and allow notes-like namespaces)

   * docs.php:
   - added NEWS as "Release notes"

   * translate.php:
   - more instructive text about '#'-notation

   * admin_faq.php:
   - mark "current" entry with green marker
   - moved marker in front of entries (inbetween hard to see)
   - added cookie-based move-distance for up-/down-move of entries
     resettable with 0 to default 1

   * include/message_functions.php (message_list_table),
     search_messages.php:
   - abstracted details of types-filter to: Private, Game messages
   - moved 'Myself' into direction-column as message with from & to
     changed texts of direction-filter: Recieved/Sent -> From/To
   - left-aligned text in colored folder-checkboxes
   - removed bottom-links (Browser/Edit folders),
     because redundant with main-menu-links

   * admin_faq.php:
   - added preview-option in new/edit-entry page
   - added search to find texts also in hidden entries
   - locate page roughly where recent working took place using anchors
   - overworked instructions, some more comments
   - minor layout-adjustments: submit-button, labels, alignment

   * include/form_functions.php:
   - allows to omit maxlength of INPUTBOX-element specifying as <0

2007-07-21 rodival

   * include/std_functions.php, admin_admins.php:
   - introduced 2 new admins classes: developers and skinners
-----------
UPDATE `Players`
   SET `Adminlevel`=-1 WHERE `ID`=2 LIMIT 1 ;
-----------

   * edit_profile.php:
   - reduced the access to the skins (temporary)

   * translate.php, update_translation.php,
     include/make_translationfiles.php:
   - gave an access to all languages to the ADMIN_TRANSLATORS

   * include/std_functions.php, admin_do_translators.php, admin.php,
     admin_faq.php, admin_password.php, admin_translators.php,
     change_password.php, people.php, send_new_password.php, status.php,
   * scripts/convert_from_old_forum.php, scripts/convert_posindex.php,
     scripts/data_export.php, scripts/data_report.php,
     scripts/FAQtransl_consistency.php, scripts/game_consistency.php,
     scripts/generate_translation_texts.php, scripts/mailtest.php,
     scripts/message_consistency.php, scripts/player_consistency.php,
     scripts/recalculate_ratings2.php, scripts/start_frozen_clocks.php,
     scripts/update_translation_pages.php,
   * forum/admin.php, forum/index.php, forum/list.php, forum/read.php,
     forum/search.php:
   - removed the global $admin_level (use $player_row['admin_level'] instead)
   - normalization of each places where $player_row['admin_level'] is used

2007-07-20 rodival

   * forum/forum_functions.php, skins/dragon/screen.css:
   - added a "go back to first new" link at bottom of lists
     CSSed the "new" links
   - adjusted the MarkTerm colors

   * admin_password.php, send_new_password.php, forgot.php:
   - added a way to overwrite the current new password process for admins.

   * include/make_translationfiles.php, admin_faq.php, faq.php,
     translate.php, update_translation.php:
   - add of a better 'translated' flags management between the translators
     and the FAQ admins.
     now, the different languages may set their translated flag independently.
-----------
ALTER TABLE `Translations`
 ADD `Translated` ENUM( 'Y', 'N') NOT NULL DEFAULT 'N' AFTER `Text` ;
UPDATE `Translations` SET `Translated` = 'Y';
-----------
   - changed the 'hidden' and 'translatable' buttons of admin_faq.php
     from a toggle process to a set/reset process. Basicaly, they acts
     the same way but a simple refresh of the page will not "toggle-back"
     the option now.
   - modified the "move" part of admin_faq.php to allow a move greater
     than 1: admin_faq.php?move=u&dir=3 now move the item 3 steps higher.
     alas, actualy, this is only usable my manualy modifying the URL.

   * scripts/FAQtransl_consistency.php:
   - added file (as a seed for more)

2007-07-19 rodival

   * admin_translators.php, admin_do_translators.php:
   - added a 'Known languages' listing

2007-07-18 juga

   * change_profile.php, edit_profile.php,
     include/std_functions.php (get_maxrows, build_maxrows_array),
     include/table_columns.php:
   - added TableMaxRows (can be locally changed using cookie),
     store table-max-rows in new column Players.TableMaxRows
   - Table: URL-var 'maxrows' overrules user-prefs for max-rows
   - changed default for RowsPerPage: 50 -> 20
   - added limits for profiled maxrows: MAXROWS_PER_PAGE_PROFILE
   - added maxrows-default for get_maxrows(): MAXROWS_PER_PAGE_DEFAULT
   - added default rows-limit for build_maxrows_array() to restrict
     max-rows in edit-profile to MAXROWS_PER_PAGE [50]
-----------
ALTER TABLE `Players`
 ADD `TableMaxRows` smallint(5) unsigned default 20 NOT NULL;
-----------

   * list_messages.php:
   - reverted bottom-link to verbal form: Search messages (according to site-map)

   * include/filter.php (add_or_del_filter):
   - removed todo to save filter (for now)


   * include/filter.php (is_static),
     code_examples/filter_example.php, code_examples/filter_example2.php:
   - added global const FILTER_CONF_FORCE_STATIC making all
     filter-elements static (no filter-hide, set at the moment),
     added filter-config FC_HIDE to overrule that const
   - use default size 8 for Rating-Filters

   * opponents.php, users.php, waiting_room.php:
   - added filter-config FC_HIDE on Country-filter
   - use (default) size 8 for Rating-Filters

   * search_messages.php:
   - SQL-optimization: replaced 'Game_ID<>0' with 'Game_ID>0'

2007-07-18 rodival

   * include/std_functions.php, include/quick_common.php:
   - moved the IS_RUNNING_GAME constant in quick_common.php to make it
     usable by the rss and wap stuff and the 'quick_*' suite.

   * include/config.php:
   - moved a line closer to its friends.

   * include/message_functions.php, include/countries.php, site_map.php:
   - minor fixes, comments and translated strings.

2007-07-18 juga

   * opponents.php, user_stats.php, site_map.php, userinfo.php, users.php,
     include/filter.php, code_examples/filter_example.php:
   - "renamed" user_stats.php (removed) to opponents.php (added),
     copied full CVS-log from user_stats.php on initial revision


   * show_games.php, user_stats.php:
   - optimized SQL replacing 'OR'-operator with UNION-based SQL-query,
     activated with global const ALLOW_SQL_UNION in "include/config.php",
     needed to adjust sort-fieldnames (UNION forces to use fields from SELECT)
   - used more detailed bottom link-texts for games-page to show
     where you are and where you can go (showing my/all/other-users games,
     without adding more links), for observer-game-view added additional
     links to show all games (preserving shared URL-vars)

   * include/config.php (ALLOW_SQL_UNION):
   - added ALLOW_SQL_UNION as on/off-switch to control UNION-support,
     default now is to support UNION-queries


   * search_messages.php:
   - avoid SQL-'OR'-operator by reducing Correspondent-filter on Players.Handle,
     may later be reverted by using UNION-based-query
   - extended filters syntax-description with hint to what can be searched (Userid)
   - changed bottom-link to 'Browse folders'

   * include/message_functions.php (message_list_table):
   - changed message-list for search-messages-page to show
     full user-name with handle and link to userinfo,
     added message-link on subject

   * include/filter.php (get_syntax_description, get_syntax_hint),
     specs/filters.txt, code_examples/filter_example2.php:
   - added filter-config FC_SYNTAX_HINT allowing to extend a filters
     hover-text-syntax-description
   - added example for filter-config FC_SYNTAX_HINT

2007-07-17 juga

   * include/std_functions.php (not_in_clause):
   - added constant SQL-clause-part IS_RUNNING_GAME to apply for Games.Status
     to optimize SQL getting rid of '!='-operator to use index
   - changed func: build_not_in_clausepart(..) -> not_in_clause( enum-array, var-args )
     to build optimized 'NOT IN'-surrogate with IN for any table-column
   - removed func: not_in_Games_Status(), use not_in_clause( $ENUM_GAMES_STATUS, ...)

   * clock_tick.php, confirm.php, daily_cron.php, edit_vacation.php,
     halfhourly_cron.php, quick_status.php, show_games.php, status.php,
     scripts/player_consistency.php, scripts/start_frozen_clocks.php,
     user_stats.php, rss/status.php, wap/status.php:
   - optimized SQL getting rid of '!='-operator to use index on Games.Status,
     replaced using SQL-clause-part IS_RUNNING_GAME

   * forum/search.php:
   - changed Author-filter:
     only filtering on Players.Handle, removed OR with Players.Name
     adjusted Text by adding '(Userid)'

2007-07-16 juga

   * include/std_functions.php (build_not_in_clausepart, not_in_Games_Status):
   - added funcs to provide optimized SQL-part IN-clause using index,
     but allowing to express it with negated values,
     e.g. Status not_in_Games_Status('INVITE') <=> Status != 'INVITE'
     <=> Status NOT IN ('INVITE')
     !! all '!=' and 'NOT IN' SQL-parts should be replaced if the
     databases index cardinality on that field is >2 or at least if >3

2007-07-16 rodival

   * include/std_functions.php (send_message, delete_all_observers):
   - ajusted the arguments of send_message() including the previous
     message modifications
     enabled the use of send_message()
     changed the escaped state of the Text argument of delete_all_observers()
     now it should NOT be escaped before the call.

   * send_message.php, join_waitingroom_game.php, clock_tick.php:
   - enabled the use of send_message()

   * confirm.php:
   - enabled the use of send_message() and notify()

   * include/std_functions.php, include/make_game.php (create_game),
     include/rating.php (get_rating_at, convert_to_rating, read_rating),
     include/filter.php (convert_rank):
   - introduced the OUT_OF_RATING constant (ominous limit for ratings).
     now read_rating() always return a numeric value.

   * skins/dragon/screen.css:
   - adjusted the size of the separations of the forum posts.
     added some comments

   * user_stats.php, show_games.php:
   - reversed the "NOT IN ('INVITED','FINISHED')" clauses

2007-07-16 juga

   * include/std_classes.php (get_select, get_select_normal),
     code_examples/query_sql.php:
   - QuerySQL: added basic UNION-support allowing non-template-WHERE-clause,
     specify with SQLP_UNION_WHERE; added example

2007-07-15 juga

   * include/filter_functions.php (createTokenizerConfig),
     include/filter_parser.php (TextParser.parse):
   - changed default filter-quote-type: use quoting using single-quotes "'"
   - fixed bug: wildcard '*' now has higher precedence over separator '-',
     can be controlled using TEXTPARSER_PRECEDENCE_SEP-flag

   * skins/dragon/screen.css:
   - removed no longer needed style for Filter <sup> after using
     Filter-hide-image

   * users.php:
   - widened input-box-size for Rating-filter

2007-07-15 rodival

   * include/filter.php (build_generic_selectbox_elem):
   - moved the "\n" before "</select>" to avoid a spacing effect after the
     select box.

   * include/table_columns.php (make_table_filter),
     skins/dragon/screen.css:
   - inserted the CSSed "hide" buttons for the filters, the same way those
     from the column headers.

2007-07-15 juga

   * include/filter.php (parse_value), code_examples/filter_example2.php:
   - FilterRelativeDate: allowed '<unit' as additional syntax

2007-07-14 juga

   * include/std_classes.php (merge_from_parts):
   - QuerySQL: assure mysql5.0-compatibility by replacing ','-join
     with INNER JOIN

   * search_messages.php:
   - layout-changes:
     - use smaller padding (6 -> 4px) for folder-boxes
     - compact form and page (reorder filters and less empty rows)

   * user_stats.php, waiting_room.php:
   - compact form and page (less empty rows)

   * users.php:
   - use proper upper/lower-case on title

   * forum/search.php:
   - removed anchor on table-search (filters can have errors)

   * include/table_columns.php, skins/dragon/screen.css:
   - compact table (less empty rows)
   - right-align paging next-link

2007-07-14 rodival

   * include/table_columns.php:
   - added the set_sort() function to force the table sort

   * status.php, users.php, user_stats.php:
   - managed the sort arguments the new way.

   * include/message_functions.php, include/filter.php, list_messages.php,
     search_messages.php, site_map.php, forum/search.php:
   - adjusted some comments and T_() strings

   * include/filter.php (get_submit_elements),
     include/table_columns.php (make_add_column_form),
     forum/search.php:
   - a proposition for the get_submit_elements() function: added a
     $filtertype argument to manage the buttons name.
     modified the other files accordingly.

2007-07-13 juga

   * include/filter.php (FilterMysqlMatch.get_terms, get_submit_elements):
   - bugfix get_terms() for Mysql-match:
     filter shouldn't return terms if inactive
   - renamed start-/reset-search -> apply/reset-filter
   - comment for minimum mysql-version for fulltext-search:
     mysql 4.0.1 (boolean-mode), 4.1.1 (query-expansion)

2007-07-12 rodival

   * include/std_functions.php (parse_tags_safe, parse_html_safe),
     include/message_functions.php (message_info_table,
     message_list_table),
   * forum/list.php, forum/forum_functions.php (draw_post,
     display_posts_pending_approval),
     skins/dragon/screen.css:
   - moved the mark_terms feature into the make_html_safe process.
     added the $mark_terms argument to parse_html_safe() and make_html_safe()
     removed the <term> pseudo-tag previously used to mark the terms
     removed the now obsolete mark_terms() function
   - introduced the SUBJECT_HTML constant to highlight to common "style"
     of the subjects.

   * forum/search.php, forum/forum_functions.php (make_link_array),
     include/filter.php:
   - changed the type of the search form to POST because a GET one plus
     a url #id part make the buttons inactive if no fields have changed.
     added a 'x' accesskey to the main button of the search page
     fixed some minor weakness.
     a try to include a "moderator" search but this need to define a new
     subclass in draw_post: added a comment and postponed it.

   * include/table_columns.php, faq.php, waiting_room.php,
     forum/read.php:
   - minor changes on comments.

2007-07-11 juga

   * include/filter.php (class FilterMysqlMatch, extract_match_terms):
   - FilterMysqlMatch: renamed boolean-mode -> expert-mode,
     simplified extracting of regex-terms

2007-07-11 rodival

   * include/table_columns.php (make_tablehead),
     include/table_infos.php (make_tablerow),
     skins/dragon/screen.css:
   - enhanced the row highlight display
   - renamed 'remcol.gif' to the more general 'remove.gif'

   * include/std_functions.php:
   - enable the javascript tools.

   * include/translation_functions.php:
   - new try for T_ #info: cut if the char before '#' is not a space

2007-07-10 rodival

   * edit_bio.php:
   - readonly+message instead of disabled

   * game.php:
   - onchange on gotomove select box

   * people.php:
   - "language name not found" now display the language code

   * include/translation_functions.php:
   - better T_ #info cut

2007-07-09 rodival

   * join_waitingroom_game.php, include/make_game.php (create_game(),
     make_standard_placement_of_handicap_stones()):
   - an other try to fix the bad Running count bug:
     a small enhancement of the handicap management.
     a rewrite of join_waitingroom_game.php to make easier the comparison
     with the similar part (create game) of send_message.php.

   * game.php:
   - add of a message to invite the player to validate his action.

2007-07-09 juga

   * game.php:
   - deactivated prev/next game-navigation with images

   * include/message_functions.php:
   - fix last fix for highlighting terms in message: using correct var

2007-07-09 rodival

   * include/std_functions.php, scripts/mailtest.php:
   - adjustments to test a mass email post.

   * forum/forum_functions.php:
   - reverted last fix

2007-07-08 rodival

   * forum/list.php, forum/forum_functions.php,
     include/message_functions.php:
   - emphasized the fact (and fixed some of buggy ones) that a Subject
     must not contain HTML tags. Some fixes around mark_term() are
     temporary and will be better handled soon.

   * forum/search.php:
   - default JOIN changed with INNER JOIN

   * edit_bio.php:
   - limitation of the cells size in an other way than cut_string(),
     not based on the text length but on the box size,
     using disabled or readonly textarea

   * halfhourly_cron.php, send_new_password.php,
     include/std_functions.php:
   - enabled the new send_mail() function everywhere... with a rollback
     possibility because I have no way to test the emails nor on my
     private server either on the devel server. >>> should be tested.

2007-07-08 juga

   * game.php:
   - added images (start/end, previous/next-moves) as links to navigate
     within game; used existing images start/backward/forward/end.gif
     [later removed]

   * users.php, code_examples/query_sql.php, forum/search.php,
     include/message_functions.php:
   - added 'AS' for SQL-table aliases

2007-07-07 rodival

   * show_games.php, users.php, include/message_functions.php,
     include/std_classes.php:
   - default JOIN changed with INNER JOIN

   * include/table_columns.php (make_tablehead),
     skins/dragon/screen.css:
   - added images in the header to show how the table columns are sorted.
     this implied to change the previous hidding red 'x' to an image too.
   - added a constant to disable the second level of sort.

   * images/sort1a.gif, images/sort1d.gif,
     images/sort2a.gif, images/sort2d.gif, images/remove.gif:
   - new images added used for table-sort-indicator

2007-07-07 rodival

   * include/std_functions.php (send_email, send_message, clean_url,
     is_logged_in):
   - added the send_email() and send_message() functions
   - adjusted clean_url() to chop all the trailing '?' and '&' chars
   - introduced the "fever vault" in is_logged_in(). May be adjusted
     or disabled whith the FEVER_CNT constant. May be tunned for the
     guest account which is a multiple account and so should have larger
     limits.
     The "fever vault" process had 3 main variables: if a user produces
     more that FEVER_CNT page calls during "one hour", he will be
     vaulted for one day (i.e. unable to log himself while receiving
     an info message).
-----------
ALTER TABLE `Players`
 CHANGE `Hits` `Hits` int(11) NOT NULL DEFAULT 0 ,
 ADD `VaultTime` datetime NOT NULL default '0000-00-00 00:00:00' AFTER `Hits` ,
 ADD `VaultCnt` smallint(5) unsigned default 0 NOT NULL AFTER `Hits` ;
-----------

2007-07-07 rodival

   * include/connect2mysql.php (connect2mysql):
   - changed the returned value by connect2mysql(true): in case of
     error, it returns the error message now instead of false.
   - added the mysql_single_col() function

   * error.php,
   * include/error_functions.php (set_mode, add_error, error):
   - now set_mode() return the previous mode (to save and restore it)
   - now add_error() and error() return false if the errors are not
     fatal. This allow $result = mysql_query(...) or error(...);
     to continue with $result === false
   - finally, if an error occurs during the initialization of
     error.php, it will no more recall error.php and thus not fall
     in a recursive trap.

2007-07-07 rodival

   * update_translation_pages.php, generate_translation_texts.php,
     message_consistency.php, player_consistency.php, recalculate_ratings2.php,
     start_frozen_clocks.php, convert_posindex.php, convert_from_old_forum.php,
     phpinfo.php:
   - disabled some one shot scripts, enhanced the others

2007-07-06 rodival

   * confirm.php, quick_play.php:
   - moved the place where the GameNotes are deleted
   - few minor debug messages adjustments (quick_play accordingly)

2007-07-06 rodival

   * admin_faq.php:
   - hidden the info box and added an anchor to show it.
   - adjusted some colspan= of the main table.
   - allowed to edit an item even if hidden.
   - inverted the icon of Hide and Show buttons.

2007-07-05 rodival

   * translate.php, update_translation.php,
   * include/make_translationfiles.php (translations_query):
   - modified the 'Untranslated' option (may be applied on every group).
     therefore, added a 'All groups' option.
   - hidden the now big info box and added an anchor to show it.

2007-07-03 rodival

   * translate.php, update_translation.php,
   * include/make_translationfiles.php (translations_query):
   - added a filter on the english part.
     added the $filter_en argument to translations_query()

   * INSTALL:
   - added a step to protect the scripts/ folder.

2007-07-02 juga

   * show_games.php:
   - added hover-text on colors-column for "my running games"

2007-07-01 juga

   * include/std_functions.php (make_url):
   - reverted changes to make_url-func to fix bug

2007-06-30 juga

   * waiting_room.php:
   - changed bottom-link to 'Show all suitable games' to indicate it's a reset

2007-06-30 juga

   * include/filter.php,
     include/filter_functions.php,
     include/filter_parser.php,
     include/std_classes.php,
     include/tokenizer.php,
   * code_examples/filter_example.php,
     code_examples/filter_example2.php,
     code_examples/query_sql.php,
     code_examples/tokenizer_example.php,
   * skins/dragon/screen.css,
   * specs/filters.txt:
   - added classes and functions comprising new Filter-framework
   - added examples for filter-stuff
   - added some CSS for filters
   - added main-doc in specs/filters.txt

   * include/table_columns.php (Table.constructor, set_externalform,
     set_rows_per_page, use_show_rows, current_filter_string,
     add_or_del_column, handle_show_rows, current_rows_string,
     get_displayed_tableheads, register_filter, get_query,
     add_external_parameters, current_extparams_string):
   - added searching capabilities on table-columns using Filter-framework
     see specs/filters.txt and code_examples/form_example2.php
   - fixed paging-link-bug preserving form-values with links
   - added maxrows-selection to restrict row-size of table-list

   * include/form_functions.php (set_config, get_config,
     set_attr_form_element, set_layout, set_area, add_empty_row,
     create_form_string, get_areaconf),
   * code_examples/form_example.php, code_examples/form_example2.php:
   - added Form-types 'FILTER' and 'FILTERERROR' for Filter-framework
   - added area-group layouting and some additional layout-config
     when used as External-Form with Table(-Filters)
   - added example for area-layouting, allow examples to be opened in browser

   * show_games.php, users.php, waiting_room.php, message.php, status.php,
   * forum/search.php:
   - added or extended searching capabilities using filter-framework
   - adjustments for using filters
   - added (recommended) new indexes to support new filters;
     needed space + reasons given as comment:
-----------
ALTER TABLE `Games`        -- +3 MB (for filter)
 ADD INDEX `Handicap` (`Handicap`) ;
ALTER TABLE `Games`        -- +2 MB (for filter/sort)
 ADD INDEX `Moves` (`Moves`) ;
ALTER TABLE `Games`        -- +3 MB (for filter/sort)
 ADD INDEX `Score` (`Score`) ;

ALTER TABLE `Posts`        -- +0.2 MB (for filter)
 ADD INDEX `Parent_ID` (`Parent_ID`) ;
ALTER TABLE `Posts`        -- +0.2 MB (for filter/sort)
 ADD INDEX `Time` (`Time`) ;

ALTER TABLE `Players`      -- +0.2 MB (for filter)
 ADD INDEX `Country` (`Country`) ;
ALTER TABLE `Players`      -- +0.4 MB (for filter/sort, often changed)
 ADD INDEX `Lastaccess` (`Lastaccess`) ;
-----------

   * search_messages.php, list_messages.php,
   * include/message_functions.php (init_standard_folders, echo_folder_box,
     message_list_query, message_list_table):
   - added new page for searching messages using filters
   - signature-change of funcs to change layout or highlight search-terms:
     message_list_query/_list_table/_info_table, echo_folder_box
   - signature-change of message_list_table-func adding args to control
     message-list output including fields for message-searching:
     folder, type, Direction, message partner
   - added (mandatory) fulltext-index for search on messages
   - slight modifications of SQL using table-alias and join on
     MessageCorrespondents
-----------
ALTER TABLE `Messages`      -- +4 MB (for joins/filter)
 ADD INDEX `ReplyTo` (`ReplyTo`) ;
ALTER TABLE `Messages`     -- ca. +80% of data-size (biggest change)
 ADD FULLTEXT INDEX `Subject` (`Subject`,`Text`) ;
-----------

   * users.php:
   - replaced URL-var 'showall' and page-bottom-link with 'Active'-Table-Filter

   * user_stats.php, userinfo.php, users.php:
   - added new page to show opponents and games-statistics for two players

   * waiting_room.php:
   - added Player-Country-column and Filter on it
   - bugfix: used wrong SQL-field for table-column #1 (sort by name)
   - replaced URL-var 'showall' and page-bottom-link with two Table-Filters
     Suitable-Handicap and Suitable-Rating-Range
   - change page-title reflecting current "suitable"-state
   - re-added page-bottom-links "Show all games" and "Show only suitable
     games" to reset to filter-defaults

   * forum/read.php, forum/search.php,
     forum/forum_functions.php (make_link_array, forum_start_table),
   * include/quick_common.php:
   - added order-selectbox in forum-search
   - added support to highlight search-terms in a post or message
   - fixed bug for paging to preserve form- and filter-values
   - fixed bug with relevance when using search-terms in boolean-mode
   - added const DAYS_NEW_END used for forum-reads

   * include/std_functions.php (DEBUG_SQL, map_to_string, mark_terms,
     get_maxrows, build_maxrows_array, make_url, clean_url, has_observers,
     blend_alpha_hex):
   - added some functions and consts to support Filter-framework:
     - support to handle maxrows of table-listing, added funcs
       get_maxrows, build_maxrows_array
     - added allowed HTML-text <term> to support term-highlighting
     - added mark_terms-func to highlight terms within potential XML-text
     - added defaults for Table-Filter-layout
     - adjusted body-width to 90% fixing some strange centric-related layout-
       effects with nested tables (may hopefully get fixed later using CSS)
   - fixed bug in make_url-func only append URI_AMP or '?' if not there,
     added clean_url-func to chop off trailing URI_AMP or '?'
   - changed default-handling of bgcolor for echo_folder_box-func
   - added has_observers-func

   * edit_bio.php:
   - reduce output of bio-texts to 200 chars when changing order

   * site_map.php:
   - added new and search pages

   * game.php:
   - added page-bottom-link to show observers (users.php?observe=<gid>)

   * NEWS, TODO:
   - cleanup some items done

   * INSTALL:
   - move also dot-files like .cvsignore after CVS-checkout

   * scripts/README.developers:
   - added categories and more hints about (surprising) PHP-behaviour
   - don't use filenames with upper-case

2007-06-30 rodival

   * include/std_functions.php, list.php:
   - removed the unused $MaxRowsPerPage global var.

   * include/make_translationfiles.php (translations_query),
   * translate.php, update_translation.php:
   - added a "prev/next" management of the translators' pages.
     added the $from_row argument to translations_query()

   * scripts/README.translations:
   - documenting the "do_it" URL argument of generate_translation_texts.php

2007-06-29 rodival

   * people.php, admin_faq.php:
   - added the info about FAQadmins' activity to "LastUpdate".
-----------
ALTER TABLE `FAQlog`
 ADD `Date` timestamp(14) NOT NULL AFTER `Answer` ;
UPDATE `FAQlog` SET `Date` = '0' ;
-----------

   * include/translation_functions.php (language_exists,
     T_, get_language_descriptions_translated),
   * translate.php:
   - case insensitive search of the language name in language_exists().
   - added an automatic cut of the #xxx part of the alternate english words
     in T_().
   - added a $keep_english parameter to get_language_descriptions_translated().
   - changed all $langcode names to the now more accurate $browsercode.

   * include/make_translationfiles.php (translations_query),
   * admin_translators.php, admin_do_translators.php,
     translate.php, update_translation.php,
   * scripts/generate_translation_texts.php:
   - added the add_text_to_translate function.
   - added the insertion of the new language names in the translation process.
   - added an optional alphabetical sort in translations_query().
   - added a better "T_(...)" template detection using eval() in
     generate_translation_texts.php. Also added a "do_it" URL argument.
   - changed all $langcode names to the now more accurate $browsercode.

   * scripts/update_translation_pages.php (find_php_files):
   - updated the $directories array in find_php_files().
   - added a "Fatal error" - waiting for a fix - in case of a $TranslateGroups
     not found in the database. The bug may come from a typo in the PHP code
     or from a missing row in the database. The default "do_it" action fix
     this last case.

2007-06-28 rodival

   * statistics.php, graph.php, ratingpng.php, statisticspng.php:
   - added the statratingspng.php file which display stats on ratings.
     Minor adjustments of other files to handle it.
     Added the function patterncolor() to graph.php.

2007-06-26 rodival

   * add_to_waitingroom.php, join_waitingroom_game.php, waiting_room.php:
   - fixed the "double game" handicap option from the waitingroom.
     In the waitingroom table, renamed the old "Handicap" column to
     "Colors" and added the new "Handicap" one containing the number
     of handicap stones.
-----------
ALTER TABLE `Waitingroom`
 ADD `Handicap` int(11) NOT NULL default '0' AFTER `Komi` ;
-----------

   * include/message_functions.php (game_info_table),
     include/make_game.php,
   * send_message.php:
   - adjusted to follow the "double game" handicap fix and its display.
   - and a try to fix the bad Running count bug:
     In the Players table, near 20 of the Running counts were 1 or 2
     points too high. I've not found why this occured. Maybe a script
     abort between two MySQL updates, I don't know.
     Other counts like Finished, Won or Lost were not corrupted.

2007-06-25 rodival

   * scripts/data_report.php:
   - implementation of a two steps validation:
     first, just the EXPLAIN, then the full result.
   - differenciation of the NULL values.

   * scripts/data_export.php:
   - including the translations tables export
     and hidding some minor variations.

2007-06-24 rodival

   * scripts/game_consistency.php, include/move.php (check_move):
   - enhanced consistency check.  Added some Time and Rating checks.
     Now, check_move() returns '' if no error or the error message
     (instead of returning false on error and true else).

   * people.php:
   - changed the info about translators' activity to "LastUpdate".

2007-06-03 rodival

   * game.php, confirm.php:
   - fixed the bug: can't deleted a game while PASS or SCORE step entered
     before the delete limit.
     added the GamesNotes deletion to the delete feature.

   * include/std_functions.php (user_reference):
   - because of old DGS users having a pure numeric Handle (not starting
     by a letter), the illegal_chars($player_ref) call had been replaced
     by a simple ereg() comparison here.

   * userinfo.php, users.php:
   - changed the Percent calculus to 100*(Won+Jigo/2)/RatedGames instead
     of the previous 100*Won/RatedGames.

2007-03-27 rodival

   * edit_vacation.php:
   - fixed the bug: adding 2.00 days to 0.25 days gave 2.00 days.
     In fact, when OnVacation was < 1, one can't add but just start vacations.

2007-03-17 rodival

   * confirm.php:
   - added a missing parenthesis.

   * admin_faq.php:
   - adjusting a 'NULL'.

2007-03-01 rodival

   * images/flags/ls.gif:
   - replaced by the new Lesotho flag (old one kept in ls_old.gif)
-----------

   * images/forward.gif, images/backward.gif,
     images/end.gif, images/start.gif,
     images/plus.gif, images/minus.gif, images/cross.gif:
   - added images
-----------

2007-02-04 rodival

   * init.mysql, include/std_functions.php (make_session_code):
   - new MySQL 4.1 behaviour: the PASSWORD() produce a 41-byte hash value
   - modifying Sessioncode in a same spirit
-----------
ALTER TABLE `Players`
 CHANGE `Password` `Password` VARCHAR( 41 ) NOT NULL default '' ,
 CHANGE `Newpassword` `Newpassword` VARCHAR( 41 ) NOT NULL default '' ,
 CHANGE `Sessioncode` `Sessioncode` VARCHAR( 41 ) NOT NULL default '' ;
-----------

   * init.mysql:
   - full periodic check, previous missing update
-----------
ALTER TABLE `TournamentRound`
 CHANGE `Handicaptype` `HandicapType` int(11) NOT NULL default '0' ;
ALTER TABLE `TranslationGroups`
 CHANGE `Groupname` `Groupname` varchar( 32 ) NOT NULL default '' ;
ALTER TABLE `Translations`
 CHANGE `Text` `Text` blob NOT NULL ;
ALTER TABLE `Adminlog`
 CHANGE `Handle` `Handle` varchar(16) NOT NULL default '' ,
 CHANGE `Message` `Message` text NOT NULL ;
-- ALTER TABLE `Adminlog`
--  ADD `IP` varchar(16) NOT NULL default '' AFTER `Date` ;
ALTER TABLE `FAQ`
 CHANGE `Level` `Level` int(11) NOT NULL default '0' ,
 CHANGE `Question` `Question` int(11) NOT NULL default '0' ,
 CHANGE `Answer` `Answer` int(11) NOT NULL default '0' ;
-----------

   * data_export.php:
   - Create_options management added and CSS adjusted.

2007-02-03 rodival

   * include/graph.php, ratingpng.php, ratinggraph.php:
   - rating graph displayed "by number of games"
     (new X-axis option added to the old "by date of games")
   - complete rebuild of graph.php. Graph class added.
     handling the "bynum" option

   * statisticspng.php, statistics.php:
   - using the new Graph class

   * include/rating.php, include/std_functions.php:
   - small modifications consequently

2007-01-25 rodival

   * include/table_columns.php:
   - enhancements mainly to fix the "button" column min-width
     until CSS min-width is working
   - introduced use of external form (var ExternalForm)
   - added funcs: set_default_sort(), get_arg()

   * include/std_functions.php (split_url, yesno, modf & more),
     include/message_functions.php:
   - added funcs
   - adaptations for enhanced Table_Info class, "button" columns and
     common to waitingroom and message

   * skins/dragon/screen.css,
   * edit_bio.php,
     list_messages.php,
     message.php,
     show_games.php,
     status.php,
     userinfo.php,
     waiting_room.php:
   - using new Table_Info class properties, for games infos and
     common to waitingroom and message

   * NEWS, news.php, skins/dragon/screen.css:
   - adding NEWS file [initally built by JUG] with user-visible changes

2007-01-21 rodival

   * scripts/README.developers, scripts/CHANGELOG.developers, CHANGELOG:
   - added info files

2007-01-12 rodival

   * include/connect2mysql.php (mysql_addslashes) + most of the other
     files (used nearly everywhere):
   - generalization of the right MySQL addslashes feature,
     introducing function to properly escape value in SQL-statements

   * do_registration.php:
   - rejection of some account usurpers

   * whole set of forum files/functions using table 'Posts.PosIndex':
   - changed 'Posts.PosIndex' to NOT NULL
-----------
ALTER TABLE `Posts`
 CHANGE `PosIndex` `PosIndex` varchar(80) binary NOT NULL default '' ;
-----------

   - removing NULL fields
     the Posts.crc32 int(11) default NULL, seems to be
     kept (while not yet used)
-----------
ALTER TABLE `Players`
 CHANGE `IP` `IP` varchar(16) NOT NULL default '' ;

ALTER TABLE `Posts`
 CHANGE `Time` `Time` datetime NOT NULL default '0000-00-00 00:00:00' ,
 CHANGE `Lastchanged` `Lastchanged` datetime NOT NULL default '0000-00-00 00:00:00' ,
 CHANGE `Lastedited` `Lastedited` datetime NOT NULL default '0000-00-00 00:00:00' ,
 CHANGE `LastPost` `LastPost` int(11) NOT NULL DEFAULT 0 ,
 CHANGE `Subject` `Subject` varchar(80) NOT NULL default '' ,
 CHANGE `Text` `Text` text NOT NULL ,
 CHANGE `User_ID` `User_ID` int(11) NOT NULL DEFAULT 0 ,
 CHANGE `Parent_ID` `Parent_ID` int(11) NOT NULL DEFAULT 0 ,
 CHANGE `PostsInThread` `PostsInThread` int(11) NOT NULL DEFAULT 0 ,
 CHANGE `old_ID` `old_ID` int(11) NOT NULL DEFAULT 0 ;
-----------

   * include/table_infos.php:
   - enhanced Table_Info class to handle waiting_room particularities and
     games info
   - changed syntax of row/column-description (properties)

   * waiting_room.php, userinfo.php, edit_bio.php, status.php:
   - using the new Table_infos class properties

   * skins/dragon/screen.css:
   - to follow the Table_infos modifications

2007-01-10 rodival

   * include/table_infos.php:
   - adding class Table_infos for more CSS friendship

   * userinfo.php, edit_bio.php, status.php:
   - using class Table_infos

2007-01-09 rodival

   * change_bio.php, edit_bio.php: [from code mailing of JUG]
   - adding the "bio infos order" feature
   - removing NULL fields
-----------
ALTER TABLE `Bio`
 ADD `SortOrder` INT( 11 ) DEFAULT 0 NOT NULL AFTER `Text` ;

ALTER TABLE `Bio`
 CHANGE `Category` `Category` VARCHAR( 40 ) NOT NULL DEFAULT '' ,
 CHANGE `Text` `Text` TEXT NOT NULL DEFAULT '' ;
-----------

2006-12-29 rodival

   * include/std_functions.php (verify_email) + all callers:
   - adjusted error signature and error behaviour

2006-12-28 rodival

   * init.mysql:
   - removing NULL fields in database
   - added 'RESULT' to enum Messages.Type for a futur message chain walking
     throught the game comments. The 'RESULT' messages are those send at
     the end of a game.
-----------
ALTER TABLE `Messages`
 CHANGE `Type` `Type` ENUM( 'NORMAL', 'INVITATION', 'ACCEPTED', 'DECLINED', 'DELETED', 'DISPUTED', 'RESULT' ) DEFAULT 'NORMAL' NOT NULL ,
 CHANGE `ReplyTo` `ReplyTo` INT( 11 ) DEFAULT 0 NOT NULL ,
 CHANGE `Game_ID` `Game_ID` INT( 11 ) DEFAULT 0 NOT NULL ,
 CHANGE `Time` `Time` DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL ,
 CHANGE `Subject` `Subject` VARCHAR( 80 ) DEFAULT '' NOT NULL ,
 CHANGE `Text` `Text` TEXT NOT NULL ;

ALTER TABLE `MessageCorrespondents`
 CHANGE `uid` `uid` INT( 11 ) DEFAULT 0 NOT NULL ,
 CHANGE `mid` `mid` INT( 11 ) DEFAULT 0 NOT NULL ;
-----------

   * include/time_functions.php (echo_time_remaining) + all callers:
   - fix bad display of JAP byoyomi when byoyomi reached
     ( "--- + 3 periods of 4h" instead of "4h + 3 periods of 1d" )

   * include/std_functions.php (mysql_single_fetch) + all callers:
   - force to use $debugmsg with mysql_single_fetch()

2006-12-27 rodival

   * images/flags/__.gif:
   - resizing
-----------

   * images/flags/eu.gif:
   - added, though not enabled in countries.php
-----------

2006-12-23 rodival

   * init.mysql:
   - added skinname
-----------
ALTER TABLE `Players`
 ADD `SkinName` VARCHAR( 32 ) DEFAULT '' NOT NULL AFTER `OnVacation` ;
-----------

   * skins/,
     skins/index.php,
     skins/known_skins.php,
     skins/dragon/index.php,
     skins/dragon/screen.css,
     skins/dragon/print.css:
   - added CSS files for skins

   * include/std_functions.php (start_page) + all callers:
   - use of skins

   * sgf.php:
   - score 0 for Jigo

-----------

==================================================================
Release [2006-08-07] - DGS 1.0.12 - CVS-tag [DGS-stable-200608]

