DIR : /home/kozerus/public_html/dgs/scripts/ChangeLog
/home/kozerus/public_html/dgs/scripts
------------------------------------------------------------------
General infos
------------------------------------------------------------------
changelog reference at:
http://www.gnu.org/prep/standards/html_node/Change-Logs.html
previous server upgrade:
Release [2016-08-20] - DGS 1.19.12 - tag [release-1_19_12-20160920] on branch [DGS-stable-20160820]
------------------------------------------------------------------
ChangeLog
------------------------------------------------------------------
### ----- release-1_20_5-20200603 -----
2020-06-03 jug
* include/std_functions.php (echo_dragon_top_bar),
bookmark.php:
- add 'my-running-games' to top bar bookmarks
* include/globals.php (DGS_VERSION),
eidogo.php:
- change default edit-mode for EidoGo player to 'play'
### ----- release-1_20_4-20200522 -----
2020-05-22 jug
* eidogo/*, eidogo.php, game.php:
- replace link to remote EidoGo server with dedicated EidoGo player directly on DGS
* game_players.php (show_errors):
- fix bug with null type-hinting for accepting MPG-invitation
* INSTALL:
- add recommendations for .htaccess file
### ----- release-1_20_3-20190610 -----
2019-06-10 jug
* include/quick/quick_message.php (QuickHandlerMessage.process_cmd_move_msg, ~.process_cmd_delete_msg),
include/message_functions.php (change_folders),
message.php (handle_change_folder):
- Fix type-hinting bug on quick-suite deleting message
- change signature for change_folders() allowing NULL-folders argument
* include/std_functions.php (start_page):
- fix type-hinting bug: accept $player_row == null
* scripts/updates/1.20/database_changes.mysql,
scripts/updates/1.20/fix_gamesetup_15h_days.php,
clock_tick.php:
- fix bug with weekend-time for removing sleeping time
- adjust migration formulas to include adjustment of byotime
### ----- release-1_20_2-20190421 -----
2019-04-20 jug
* include/time_functions.php (is_weekend_clock_stopped, get_game_clock, timeleft_days_to_ticks,
get_time_remaining_warning_class, time_convert_to_hours, time_convert_to_longer_unit;
TimeFormat.echo_time, ~.echo_onvacation, ~.parse_time_days_hours),
include/game_functions.php (MultiPlayerGame.load_game_players;
GameHelper.update_clock, ~.load_game_row; GameSetupBuilder.__construct;
NextGameOrder.make_timeout_date),
include/wroom_control.php (WaitingroomControl.join_waitingroom_game),
include/globals.php (QUICK_VERSION, GAME_CLOCK, GAME_WEEKEND_CLOCK),
include/message_functions.php (DgsMessage.load_message_receivers),
include/cache_globals.php (HOURS_PER_DAY),
include/gui_functions.php (echo_off_time),
include/std_functions.php (is_logged_in),
include/make_game.php (create_game),
tournaments/include/tournament_*.php,
scripts/updates/1.20/fix_gamesetup_15h_days.php,
scripts/updates/1.20/database_changes.mysql,
deploy/local/mariadb/init-db/002_dragon-tables.sql,
deploy/local/mariadb/init-db/003_dragon-data.sql,
specs/db/dragon-data.sql, specs/db/dragon-ddl.sql,
specs/db/table-Games.txt, specs/db/table-Players.txt,
specs/quick_suite.txt,
scripts/data_export.php, scripts/player_consistency.php, scripts/game_consistency.php,
scripts/index.php,
scripts/tests/TimeFormatTest.php, scripts/tests/GameSetupTest.php,
tournaments/ladder/view.php, tournaments/cron_tournaments.php,
clock_tick.php (handle_game_timeouts),
daily_cron.php, halfhourly_cron.php, edit_profile.php, game_players.php,
gameinfo.php, edit_vacation.php, userinfo.php, game.php, NEWS:
- Remove sleeping time: a DGS day has 24 hours now (not 15h/day any more)
- add game-clock id=30, weekend-game-clock id=40 to replace former 48 game-clocks
- remove db-fields Players.Nightstart/ClockUsed/ClockChanged
- remove unused funcs
-----------
-- add two main game-clocks (standard & weekend)
INSERT INTO Clock (ID, Ticks, Lastchanged)
SELECT 30, MAX(Ticks), NOW() FROM Clock WHERE ID BETWEEN 0 and 23 ;
INSERT INTO Clock (ID, Ticks, Lastchanged)
SELECT 40, MAX(Ticks), NOW() FROM Clock WHERE ID BETWEEN 100 and 123 ;
-- replace old vacation-clock -101 with just -1
UPDATE Games SET ClockUsed=-1 WHERE ClockUsed < -1 ;
-- replace 24 all-week game-clocks with standard game-clock (id=30)
UPDATE Games G
INNER JOIN Clock C ON C.ID=G.ClockUsed
INNER JOIN Clock GClock ON GClock.ID=30
SET G.ClockUsed=30, G.LastTicks=G.LastTicks - C.Ticks + GClock.Ticks
WHERE G.ClockUsed BETWEEN 0 AND 23 ;
-- replace 24 weekend game-clocks with one weekend game-clock (id=40)
UPDATE Games G
INNER JOIN Clock C ON C.ID=G.ClockUsed
INNER JOIN Clock GClock ON GClock.ID=40
SET G.ClockUsed=40, G.LastTicks=G.LastTicks - C.Ticks + GClock.Ticks
WHERE G.ClockUsed BETWEEN 100 AND 123 ;
-- replace 15hour-day-based times for main-/extra-time with 24h-day time
UPDATE Games
SET
Maintime=FLOOR(Maintime/15)*24 + Maintime % 15,
Byotime=FLOOR(Byotime/15)*24 + Byotime % 15,
Black_Maintime=FLOOR(Black_Maintime/15)*24 + Black_Maintime % 15,
Black_Byotime=FLOOR(Black_Byotime/15)*24 + Black_Byotime % 15,
White_Maintime=FLOOR(White_Maintime/15)*24 + White_Maintime % 15,
White_Byotime=FLOOR(White_Byotime/15)*24 + White_Byotime % 15 ;
UPDATE GameInvitation
SET
Maintime=FLOOR(Maintime/15)*24 + Maintime % 15,
Byotime=FLOOR(Byotime/15)*24 + Byotime % 15 ;
UPDATE Waitingroom
SET
Maintime=FLOOR(Maintime/15)*24 + Maintime % 15,
Byotime=FLOOR(Byotime/15)*24 + Byotime % 15 ;
UPDATE TournamentRules
SET
Maintime=FLOOR(Maintime/15)*24 + Maintime % 15,
Byotime=FLOOR(Byotime/15)*24 + Byotime % 15 ;
-- replace 15hour-day-based times for main-/extra-time in game-based profile-templates
UPDATE Profiles SET Text=CONCAT('MIGR_15h_DAYS ',Text) WHERE Type IN (28, 29) ;
-- execute 'scripts/updates/1.20/fix_gamesetup_15h_days.php'
-- recalculate Games.TimeOutDate for 24h-days
-- execute 'scripts/fix_games_timeleft.php'
-- clear cache
-- execute 'scripts/apc_clear_cache.php'
-- remove 9h sleep time & replace with full 24h-day
ALTER TABLE Players
DROP COLUMN Nightstart,
DROP COLUMN ClockUsed,
DROP COLUMN ClockChanged ;
-----------
2019-04-19 jug
* include/std_functions.php ($html_safe_preg):
- ensure minimum domainpart size of tag auto-link detection
- space following 'http://' does not qualify as auto-link
2019-01-03 jug
* include/time_functions.php (TIMEFMT_HOUR2; TimeFormat.echo_hour):
- add two-character enforced time-formatting for hours to support right-alignment
* confirm.php (load_next_game, jump_to_next_game), NEWS:
- add turn-over on skip or submit to next game if end of game-list is reached
* include/std_functions.php (STARTFLAG_MESSAGES, start_html),
include/globals.php (CSS_VERSION),
js/messages.js,
skins/dragon/screen.css,
message.php:
- add "Quote"-button on replyable messages to <quote> parent message text
- works only with enabled JavaScript
* include/quick/quick_message.php (QFLAGS_SAFE_INPUT; QuickHandlerMessage.fill_message_info),
specs/quick_suite.txt:
- add safe_input flag to quick-message info to return textarea-safe subject & text
* include/quick/quick_handler.php (QOPT_FLAGS, QUICK_STD_OPTIONS;
class QuickHandler, ~._parse_options, ~.is_flags_option):
- add flags option to provide quick-handler specific flags
2019-01-02 jug
* tournaments/include/tournament_pool.php (TournamentPool.count_tournament_pool_users_by_id,
~.update_tournament_pool_ranks),
tournaments/roundrobin/edit_ranks.php:
- fix rank check on updating tournament pool rank for multiple pools and actual pool-size per pool
2019-01-01 jug
* forum/forum_functions.php (FPOST_FLAG_KEEP_EMAIL),
include/globals.php (CSS_VERSION),
specs/db/table-Posts.txt, skins/dragon/screen.css,
scripts/replace_emails_posts.php (find_posts_with_emails, show_posts_with_emails, toggle_keep_email,
replace_email , print_page)
scripts/index.php:
- [SECURITY][GDPR] Add admin script to moderate emails in forum posts
- add Posts-flag FPOST_FLAG_KEEP_EMAIL to keep email in post
2019-01-01 jug
* forum/forum_functions.php (DisplayForum.draw_post),
scripts/README.developers, NEWS:
- disable change functionalities for forum tags & likes if JavaScript is disabled
* */../*.php, scripts/README.developers:
- [PHP Cleanup]
- add PHP5 type-hinting for classes & arrays in functions
- cleanup type-hinting redundant instanceof- and argument checks
- changed function-signatures if type-hinted argument needs default-value
- add interfaces: StoneReader
- cleanup: rename some arguments to clarify meaning or type
- cleanup: remove some ambiguity of function arguments
- fix IDE-warnings (bugs):
- correct wrong-typed arguments on typed-hint function calls: new Table(..ConfigTableColumns..)
- remove unnecessary arguments & variables
- fix declaration of static functions
- fix using wrong variables / var-typos
- fix clash between function arguments and global variables
- fix function visibility modifiers
- document type-hinting in developers README
2018-12-29 jug
* skins/dragon/print.css, skins/dragon/screen.css, skins/dragon2/screen.css:
- Cleanup and remove CSS for very old browser versions
* include/table_columns.php (Table.make_table),
skins/dragon/screen.css,
message_thread.php, NEWS:
- add message-thread tree-overview at top with links to full messages below with texts
- add reset of row-number for Table-class
* message_thread.php:
- show messages on message-thread page always with full texts
* scripts/data_export.php:
- [SECURITY] remove free SQL query for super-admins
* scripts/data_report.php [removed],
scripts/index.php:
- [SECURITY][cleanup] remove database arbitrary query tool
* forum/search.php, NEWS:
- added order by likes on forum-search
* forum/forum_functions.php (DisplayForum.draw_overview),
skins/dragon/screen.css, js/tags.js:
- add read-only likes-counter on threadpost-overview
* forum/forum_functions.php (TAG_LIKE; class DisplayForum, ~.compareForumTags, ~.draw_post;
class ForumPost, ~.__construct, ~.has_user_tag, ~.to_string, ~.build_query_sql, ~.update_post_likes;
Tag.renderTagList;
Tagged.load_tagged_by_user, ~.exists_tagged),
include/quick/quick_tag.php (TAGCMD_TOGGLE_LIKE, TAG_COMMANDS;
QuickHandlerTag.prepare, ~.process, ~.process_cmd_toggle_like),
include/quick/quick_message.php (QuickHandlerMessage.process_cmd_send_msg),
include/quick/quick_handler.php (QuickHandler.addErrorText),
include/globals.php (CSS_VERSION, JS_VERSION, QUICK_VERSION),
deploy/local/mariadb/init-db/002_dragon-tables.sql,
scripts/updates/1.20/database_changes.mysql, scripts/updates/1.20/other_changes.txt,
specs/db/dragon-ddl.sql, specs/db/table-Posts.txt, specs/db/table-Tags.txt,
specs/quick_suite.txt, specs/forums.txt,
skins/dragon/screen.css, images/likes.gif, js/tags.js, NEWS:
- add like-icon with counter on forum posts
- enabled with ENABLE_FORUM_TAGS
- click on like-icon toggles state for logged-in user and forum post
- not-liked posts are shown with transparent like-icon
- show like-icon also if user has no private tags
- store likes-counter in Posts-table
- store user-liked state in Tagged-table with tag-id < 0
- extend quick-tag-handler with command to toggle like-state of forum post
- ignore tags < 0 on rendering private tags
-----------
-- added Likes-counter to forum posts
ALTER TABLE Posts
ADD CountLikes smallint unsigned NOT NULL default '0' ;
-----------
2018-12-28 jug
* js/common.js (DGS.QuickRemoteApi, ~.handle_quick_do_success, ~.handle_quick_do_error,
~.show_error_box, ~.update_quota, ~.call_quick_do, ~.get_quick_do, ~.post_quick_do)
js/game-editor.js (DGS.GamePageEditor.handle_action_save_notes; DGS.QuickRemoteApi.save_game_notes)
js/tags.js:
- add quick-do error-handling on toggling tags
- refactor common quick-do-handling of JS-game-editor
* include/std_functions.php (start_html),
include/utilities.php (add_js_assign),
js/tags.js, forum/read.php, forum/search.php:
- use global DGS.constants to set ENABLE_FORUM_TAGS for JavaScript
* include/std_functions.php (STARTFLAG_GAME_EDITOR, STARTFLAG_TAGS; start_html),
js/jquery-1.11.3.min.js [removed],
js/jquery-ui-1.11.4.custom.min.js [removed],
js/jquery.scrollTo-1.4.3.1-min.js [removed],
js/jquery-ui-1.12.1.custom.min.js, js/jquery.scrollTo-2.1.2-min.js,
js/common.js, js/tags.js,
forum/read.php, forum/search.php:
- cleanup loading of JavaScript libs
- fix order to load JavaScript libs & include code to satisfy dependencies
- update jQuery to 3.3.1 for forum-tags & game-editor
- update jQuery-UI to 1.12.1, jQuery-scrollTo to 2.1.2
- always load new CSS for local development
2018-12-27 jug
* scripts/updates/1.20/other_changes.txt, images/search.gif,
forum/search.php, forum/tags.php, NEWS:
- add search on tags-list linked to forum-search finding forum posts tagged with specific tag
* include/filter.php (class FilterCheckboxArray, ~.__construct, ~.build_query, ~.get_input_element,
~.to_string, ~.build_fname),
code_examples/filter_example2.php:
- Add filter-name template for CheckboxArray-filter to support searching forum-tags
2018-12-26 jug
* include/cache_globals.php (CACHE_GRP_TAGS, $ARR_CACHE_GROUP_NAMES, $ARR_CACHE_GROUP_CLEANUP),
scripts/updates/1.20/other_changes.txt, specs/caching.txt,
forum/forum_functions.php (Tag.load_cache_tags, ~.delete_cache_tags),
forum/edit_tag.php, forum/read.php, forum/search.php, forum/tags.php:
- Add caching for private tags
- invalidate cache on creating, updating and deleting tag-entry for user
* include/filter.php (class FilterCheckboxArray, ~.build_query),
forum/search.php, skins/dragon/screen.css, NEWS:
- add search for forum posts with private tags
- add support FC_SQL_TEMPLATE for CheckboxArray-filter
* forum/forum_functions.php (MASK_DRAWPOST_NO_TAGS;
class DisplayForum, ~.setForumTags, ~.compareForumTags, ~.sortForumUserTags, ~.prepare_forum_tags,
~.make_link_array, ~.draw_post;
class ForumThread, ~.set_user_tags, ~.load_posts;
class ForumPost, ~.add_user_tags, ~.build_query_sql, ~.load_post; $ENTITY_TAGS;
class Tag, ~.__construct, ~.delete_tag, ~.render_tag, ~.persist, ~.insert, ~.update, ~.delete,
~.fillEntityData, ~.new_tag, ~.build_query_sql, ~.new_from_row, ~.load_tag, ~.load_tags,
~.renderTag, ~.renderTagList;
class Tagged, ~.load_tagged_by_user, ~.insert, ~.delete),
include/quick/quick_tag.php (class QuickHandlerTag, ~.canHandle, ~.parseURL, ~.prepare, ~.process,
~.process_cmd_update_tag),
include/quick/quick_suite.php (QuickSuite.getQuickHandler),
include/quick/quick_handler.php (QOBJ_TAG),
include/std_functions.php (STARTFLAG_JQUERY; start_html, start_page),
include/std_classes.php (ListIterator.addItem),
include/globals.php (CSS_VERSION, JS_VERSION),
include/error_codes.php (ErrorCode.init),
include/config.php (ENABLE_FORUM_TAGS),
js/common.js (document.ready),
js/jquery-3.3.1.min.js,
scripts/updates/1.20/database_changes.mysql, scripts/updates/1.20/other_changes.txt,
deploy/local/mariadb/init-db/002_dragon-tables.sql,
specs/db/dragon-ddl.sql, specs/db/table-Tags.txt, specs/quick_suite.txt,
skins/dragon/screen.css,
forum/edit_tag.php (parse_edit_form),
forum/read.php (show_revision_history),
forum/search.php, forum/tags.php,
site_map.php, NEWS:
- add private customizable tags on forum posts
- add feature-toggle to enable forum posts: ENABLE_FORUM_TAGS
- store tags with Name & colors in new Tags table
- store tags activated for forum posts in new Tagged table
- link to tag list in forum bar header & footer
- toggle tags on post-view with edit-icon toggling tags-edit-mode
- add quick-do handler for adding & deleting forum post tags
- utilize jQuery 3.3.1 for tags
-----------
-- added table for private tags for forum posts
CREATE TABLE Tags (
ID int NOT NULL auto_increment,
User_ID int NOT NULL,
Name varchar(64) NOT NULL,
ColorBG char(6) NOT NULL,
ColorFG char(6) NOT NULL,
PRIMARY KEY (ID),
KEY (User_ID)
) ENGINE=MyISAM ;
-- added table for storing tags on forum posts
CREATE TABLE Tagged (
User_ID int NOT NULL,
Post_ID int NOT NULL,
Tag_ID int NOT NULL,
PRIMARY KEY (User_ID,Post_ID,Tag_ID),
KEY User_Post (User_ID,Post_ID)
) ENGINE=MyISAM ;
-----------
* include/connect2mysql.php (mysql_addslashes):
- fix PHP warning: replace deprecated function
- remove deprecated function mysql_escape_string()
- use replacement for mysql_real_escape_string()-function if no db-connection exists
2018-11-18 jug
* forum/old_links_redirect.php, scripts/convert_from_old_forum.php [removed],
phorum/index.php, phorum/list.php phorum/post.php phorum/read.php [removed],
forum/forum_functions.php (class ForumPost),
specs/db/DB-Tables.sql, specs/db/dragon-ddl.sql, specs/db/table-Posts.txt,
deploy/local/mariadb/init-db/002_dragon-tables.sql,
scripts/updates/1.20/database_changes.mysql,
specs/forums.txt, specs/caching.txt, error.php, robots.txt:
- cleanup: remove old forum '/phorum'-stuff
- remove old /phorum code, scripts & php files
- drop table-column Posts.old_ID
-----------
-- cleanup: remove Posts.old_ID
ALTER TABLE Posts
DROP COLUMN old_ID ;
-----------
* include/register_functions.php (UserRegistration.build_email_verification, ~.build_common_verify_texts),
include/error_codes.php (ErrorCode.echo_error_text, ~.fill_email_support, ~.init),
forgot.php, translate.php:
- replace forum support-request with supporter-mail-contact for forgotten & wrong password
- move common texts into ErrorCode: contact:mail_support, contact:context
* deploy/local/README.md, deploy/local/docker-compose.yml,
deploy/local/web/Dockerfile, deploy/local/web/php.ini,
scripts/mailtest.php:
- Add mailhog to local dockerized DGS to catch mails for debugging
* forum/forum_functions.php (DisplayForum.forum_message_box):
- replace note for guest-user on forum-post with not posting private-data,
but instead writing supporter-mail
* include/register_functions.php (UserRegistration.register_user, ~.register_blocked_user,
~.build_email_verification, ~.build_common_verify_texts),
include/config.php (EMAIL_SUPPORT; DEL FORUM_ID_SUPPORT),
scripts/updates/1.20/other_changes.txt,
do_registration_blocked.php, edit_email.php, register.php, verify_email.php:
- replace support-request via forum-post exposing private data with supporter-mail-contact
- change global config: add EMAIL_SUPPORT, remove FORUM_ID_SUPPORT
- replace guest-user forum support-request with supporter-mail
- replace note to use forum for support-help with supporter-mail
on account activation & changed mail verification
- replace automated forum-post for registering IP-blocked user with supporter-mail
2018-11-11 jug
* include/message_functions.php (class DgsMessage, ~.add_warning, ~.add_warnings, ~.get_warnings,
~.load_message_receivers;
MessageControl.read_message_receivers),
include/std_functions.php (buildWarnListString),
message.php, NEWS:
- show warning on sending message to user rejecting messages from
2018-11-10 jug
* include/std_functions.php ($html_safe_preg):
- fix link-markup for href with single quotes
- previous char can not be ' (single-quote) for auto-link detection
2018-11-04 jug
* include/sgf_parser.php (class GameSgfParser, ~.parse_sgf_game),
goban_editor.php (create_igoban_from_parsed_sgf):
- parse markup from SGF for Goban-Editor: CR=circle, MA=cross, SQ=square, TR=triangle
* include/sgf_parser.php (class GameSgfParser, ~.parse_sgf_game),
goban_editor.php (create_igoban_from_parsed_sgf):
- parse letter & stone-number labels from SGF for Goban-Editor
* include/sgf_parser.php (GameSgfParser.add_points, ~.parse_sgf_game, ~.parse_points),
scripts/tests/GameSgfParserTest.php (test_verify_game_shape_setup, test_parse_points),
scripts/tests/SgfParserTest.php (test_sgf_parser):
- parse compressed list of points on uploaded SGF for AB/AW-SGF-props
* tournaments/edit_properties.php, tournaments/ladder/edit_props.php, NEWS:
- allow edit for tournament-directors with Admin-Edit right for:
- edit of tournament-ladder-properties on tournament status NEW/REG/PLAY
- edit of tournament-properties on tournament-status NEW/REG
2018-11-03 jug
* include/countries.php (getCountryText),
images/flags/an.gif [removed],
images/flags/bq.gif, images/flags/cw.gif, images/flags/ss.gif,
images/flags/sx.gif, images/flags/tf.gif:
- synchronize countries with ISO-3166-1 updates till 2013-07-11
- add countries & flags:
BQ (Bonaire, Sint Eustatius and Saba),
CW (Curacao),
TF (French Southern Territories),
SX (Sint Maarten (Dutch part)),
SS (South Sudan),
- remove country-codes & flags:
AN (Netherlands Antilles)
- rename countries:
BO (Bolivia -> Bolivia (Plurinational State of)),
MD (Moldova -> Moldova (Republic of)),
PS (Palestinian Territory -> Palestine, State of),
VE (Venezuela -> Venezuela (Bolivarian Republic of))
* *.php:
- align text in translation texts and comments: byoyomi -> byo-yomi
* include/globals.php (SGF_MAXSIZE_UPLOAD):
- increased max size of SGF upload for goban-editor & conditional-moves: 30 -> 200KB
* faq.php:
- do not decrease quota on browsing FAQ
* deploy/local/fix-docker-terminal-size.sh, deploy/local/README.md:
- add script to fix docker terminal-size issue
* include/classlib_user.php (User.calculate_hero_ratio):
- fix bug: show hero% also if user has rating status INIT,
i.e. user has a rating, but has not started a rated game yet
* tournaments/view_tournament.php:
- add creation datetime of tournament
* scripts/tests/DgsUnitTest.php (DUT_LOG_OK; class DgsUnitTest, ~.__construct, ~.runTests, ~.setUp,
~.assertEquals, ~.assertSame, ~.assertTrue, ~.assertFalse, ~.assertNull, ~.assertNotNull,
~.handle_assertion, ~.equals),
scripts/tests/DgsUnitTestRunner.php (class DgsUnitTestRunner; ~.runSuite, ~.init_php,
~.find_test_class),
scripts/tests/*Test.php (class *Test),
scripts/tests/AllTests.php [removed], scripts/tests/run_tests.php [removed],
scripts/tests/Makefile, scripts/tests/README.test,
deploy/local/web/php.ini, .gitignore:
- replace phpunit framework with own simple unit test framework
- phpunit is no longer supported for PHP 5.4
- refactor and cleanup unit tests formerly based on phpunit
2018-11-02 jug
* include/std_functions.php (REF_LINK_MOVEONLY; $html_safe_preg; replace_move_tag, game_reference):
- extend game markup with move-text only notation:
render "<game gid#move|S>" with text "#NN" | "#Shape-Setup"
- replace "<move NN>" markup tag with showing move-only game-tag "<game gid#NN>"
* include/std_functions.php ($html_safe_preg):
- fix garbled markup "<link |text>"
- fix auto-link detection
- previous char can not be: < > = _ ; | "
- eat multiple same ending chars
- link end can be EOL
* scripts/updates/1.20/ChangeLog, specs/FAQ-jug, specs/TODO-jug:
- release 1.20.1 deployed
### ----- release-1_20_1-20181101 -----
2018-10-14 jug
* deploy/local/README.md, INSTALL,
deploy/local/mariadb/*, deploy/local/web/*:
- add docker-based installation for local DGS
* INSTALL, scripts/apc.php, .gitignore:
- adjust & cleanup INSTALL docu for new LIVE server from May-2018 with:
mariadb 5.5.60, apache 2.4.6, php 5.4.16
- adjust INSTALL adding more references to sub-chapters
- adjust APC to APCu 4.0.11 on LIVE server
- ignore 'scripts/apc-live.php'
* specs/Utf8-changing-charset.txt:
- add basic links about UTF8 & encoding
2018-06-24 jug
* include/game_functions.php (NextGameOrder.build_status_games_query),
include/gamelist_control.php (GameListControl.build_games_query),
include/db_classes.php (EntityData.build_sql_update):
- fix mysql upgrade incompatibility: hex codes like 0x10 are now treated more strictly
as string and need casting to number
2017-02-18 jug
* include/game_functions.php (FairKomiNegotiation.save_komi, ~.start_fairkomi_game),
confirm.php (jump_to_next_game, do_komi_save):
- jump to next game after change to fair-komi negotiation
- keep game if fair-komi game started and player is first to move, otherwise jump to next game
- show komi-bid-save info on according "next" page with previous game-id
2017-01-18 jug
* include/sgf_parser.php (SGFP_OPT_MERGE_PROPS; SgfParser.parse_sgf, ~.parse_sgf_game_tree,
~.sgf_parse_node, ~.parse_sgf_game),
scripts/tests/GameSgfParserTest.php, scripts/tests/SgfParserTest.php,
goban_editor.php (create_igoban_from_sgf_text):
- add option for lenient SGF-parsing by merging certain SGF-node-properties
- merge SGF-node-properties on lenient SGF-parsing: C AB AW LB
- add better location & error-context on SGF-parse-errors
- adjust SGF-parsing to assume Go-Game default, if "GM[1]"-property is missing
2017-01-17 jug
* goban_editor.php (load_igoban_from_sgf, create_igoban_from_sgf_text):
- create <igoban> from SGF-text-format in goban-editor
- add textarea-input to paste raw SGF-format to create goban from
- restrict max-size of SGF-input to 30KB
- show goban-preview only if no error
2017-01-16 jug
* include/sgf_builder.php (PLAYER_INFO_STD, PLAYER_INFO_MPG; class SgfBuilder, ~.set_mode_player_info),
specs/quick_suite.txt, sgf.php:
- add option on SGF-download to include & exclude player-info on move-nodes
replace option 'mpg' with new option 'pinfo' to control including player-info on each move-node
- default is to include player-info for MPG, and no player-info for std-game
- option can enable or disable player-info for std-game and MPG
- enabling for std-game only includes player-info on nodes with text-comment
2017-01-15 jug
* include/game_functions.php (GameHelper.load_game_row),
game.php (draw_game_info):
- show online-icon on game-page for other player if "online"
2017-01-08 jug
* include/std_functions.php ($html_safe_preg):
- extend markup "<home #jump>" with jump to anchor within local page
* include/std_functions.php ($html_safe_preg):
- stop parsing of auto-link on more punctuation and word-boundary chars if followed by white-space
- stop auto-link at space-followed chars: . , : ; ! ? ( ) [ ] { } ' ` " & |
* include/std_functions.php ($html_safe_preg, $html_safe_preg_tag_clash; make_html_safe),
include/globals.php (CSS_VERSION),
skins/dragon/screen.css:
- fix fit-to-shrink issue of <code> & <pre> tag by replacing with div-surrounded pre inlined-block
- extend inner right horiz-space for pre-based tags
2016-12-24 jug
* include/std_functions.php ($html_safe_preg):
- avoid including '.' in http-autolink if ended with '. '
2016-11-27 jug
* rating_changes.php:
- show full precision if diff-value < 0.01
2016-11-26 jug
* include/rating.php (update_rating2),
scripts/experiments/simulate-games-ratingchanges.php:
- add script to simulate game-playing for rating-changes
2016-11-17 jug
* include/std_functions.php (LOGIN_SKIP_EXP_CHK, LOGIN_DEFAULT_OPTS_ADM_OPS,
LOGIN_DEFAULT_OPTS_TDIR_OPS; is_logged_in),
features/edit_feature.php, forum/admin.php, forum/admin_show_forumlog.php,
scripts/experiments/flush_test.php, scripts/updates/1.0.15/fix_game_comments.php,
scripts/updates/1.0.15/fix_message_thread.php, scripts/updates/1.0.16/fix_default_max_handi.php,
scripts/updates/1.0.16/fix_game_invitations.php, scripts/updates/1.0.16/fix_new_game_expert_view.php,
scripts/updates/1.0.18/fix_hero_ratio.php, scripts/updates/1.19/seed_game_stats.php,
scripts/check_block_ip.php, scripts/check_players_email.php, scripts/clear_datastore.php,
scripts/convert_from_old_forum.php, scripts/convert_posindex.php, scripts/data_export.php,
scripts/data_report.php, scripts/dgs_cache_admin.php, scripts/fix_game_snapshot.php,
scripts/fix_games_timeleft.php, scripts/fix_ladder_seq_wins.php, scripts/forum_consistency.php,
scripts/game_consistency.php, scripts/game_stats_consistency.php, scripts/generate_translation_texts.php,
scripts/index.php, scripts/mailtest.php, scripts/make_handicap_pattern.php,
scripts/message_consistency.php, scripts/player_consistency.php, scripts/recalculate_ratings2.php,
scripts/server-info.php, scripts/start_frozen_clocks.php, scripts/tournament_consistency.php,
scripts/translation_consistency.php, scripts/update_translation_pages.php, scripts/voting_consistency.php,
admin.php, admin_admins.php, admin_bulletin.php, admin_contrib.php, admin_do_translators.php,
admin_faq.php, admin_game.php, admin_password.php, admin_rating.php, admin_show_adminlog.php,
admin_show_errorlog.php, admin_show_faqlog.php, admin_show_users.php, admin_survey.php,
admin_translators.php, admin_users.php, translate.php,
tournaments/ladder/admin.php, tournaments/ladder/edit_props.php,
tournaments/league/manage_linked.php,
tournaments/roundrobin/create_pools.php, tournaments/roundrobin/define_pools.php,
tournaments/roundrobin/edit_pairing.php, tournaments/roundrobin/edit_points.php,
tournaments/roundrobin/edit_pools.php, tournaments/roundrobin/edit_ranks.php,
tournaments/roundrobin/edit_round_props.php, tournaments/roundrobin/edit_round_status.php,
tournaments/roundrobin/edit_rounds.php,
tournaments/edit_director.php, tournaments/edit_lock.php, tournaments/edit_news.php,
tournaments/edit_participant.php, tournaments/edit_properties.php, tournaments/edit_results.php,
tournaments/edit_rules.php, tournaments/edit_status.php, tournaments/edit_tournament.php,
tournaments/game_admin.php, tournaments/manage_tournament.php, tournaments/show_tournament_log.php:
- avoid expire-login-check and quota-decrement for admin and tournament-director operations
- add login-option to skip session-expire-check
2016-11-16 jug
* include/message_functions.php (change_folders_for_marked_messages),
list_messages.php:
- add button on message-list to move marked messages into Trashcan-folder with one-click
- changed button-order for empty-trashcan on message-list
* include/message_functions.php (MessageListBuilder.message_list_query, ~.load_cache_message_list),
include/table_columns.php (Table.handle_show_rows, ~.make_show_rows),
include/config.php (ENABLE_MESSAGE_NAVIGATION),
scripts/updates/1.20/other_changes.txt,
list_messages.php, search_messages.php, status.php:
- add navigation & entries-count & show-rows-selection for message-list & message-search
- add global-config 'ENABLE_MESSAGE_NAVIGATION' to control navigation/entries-count
for message-list & message-search, and control show-rows for message-list
- Table-class: allow manual adding of show-rows form-elements
* tournaments/include/tournament.php (class Tournament, ~.__construct, ~.copyCleanup,
~.hasLinkedTournaments, ~.fillEntityData, ~.new_from_row, ~.update_tournament_links),
tournaments/include/tournament_template_round_robin.php (TournamentTemplateRoundRobin._createTournament,
~._persistTournamentData, ~.copyTournament)
tournaments/include/tournament_log_helper.php (TournamentLogHelper.log_copy_tournament,
~.log_spawn_next_cycle, ~.log_link_tournament),
tournaments/include/tournament_gui_helper.php (TournamentGuiHelper.build_tournament_links,
~.build_form_confirm),
tournaments/include/tournament_league_helper.php (TournamentLeagueHelper.spawn_next_cycle,
~.link_tournaments),
tournaments/include/tournament_template_ladder.php (TournamentTemplateLadder.copyTournament),
tournaments/include/tournament_template_league.php (TournamentTemplateLeague.copyTournament),
tournaments/include/tournament_director.php (TournamentDirector.copy_tournament_directors),
tournaments/include/tournament_properties.php (TournamentProperties.copyCleanup),
tournaments/include/tournament_template.php (TournamentTemplate.copyTournament),
tournaments/include/tournament_points.php (TournamentPoints.copyCleanup),
tournaments/include/tournament_round.php (TournamentRound.copyCleanup),
tournaments/include/tournament_rules.php (TournamentRules.copyCleanup),
tournaments/include/tournament_log.php (TLOG_ACT_COPY, TLOG_ACT_LINK),
include/db_classes.php (Entity.get_sql_copy_fields),
include/globals.php (CSS_VERSION),
scripts/updates/1.20/database_changes.mysql, scripts/update_translation_pages.php,
skins/dragon/screen.css, specs/db/dragon-ddl.sql, specs/db/table-Tournaments.txt,
tournaments/roundrobin/view_pools.php, tournaments/manage_tournament.php,
tournaments/show_tournament_log.php, tournaments/view_tournament.php,
tournaments/league/manage_linked.php:
- add spawning of new league-cycle tournament and link source with newly created tournament
- add new managed_linked-page to spawn new tournament as copy and link them
- add Tournament.Prev_tid/Next_tid to store links to previous/next cycle-tournament
- add links to previous/next cycle-tournament on view-tournament-, view-pools-, managed-linked-,
manage-tournament-page
- add copying of tournament used for spawning next league-cycle,
prepare for later copy-tournament-feature
-----------
-- add previous/next cycle tournament for league-tournament
ALTER TABLE Tournament
ADD Prev_tid int NOT NULL default '0',
ADD Next_tid int NOT NULL default '0' ;
-----------
* tournaments/include/tournament_league_helper.php (class TournamentLeagueHelper,
~.fill_relegations_tournament_pool),
tournaments/include/tournament_round_helper.php (class TournamentRoundHelper),
tournaments/roundrobin/edit_ranks.php:
- refactor TournamentRoundHelper.fill_relegations_tournament_pool() into new TournamentLeagueHelper
2016-11-12 jug
* specs/README.todo, specs/TODO-jug, specs/FAQ-jug:
- published JUG's local TODO-file with README
* include/std_functions.php (is_logged_in),
edit_email.php, edit_profile.php:
- prevent session-expire on POST-requests to avoid losing user-input-data
- prevent losing input-data on session-expire by replacing GET-form with POST-form
2016-11-09 jug
* tournaments/include/tournament_template_league.php (TournamentTemplateLeague.check_pools_finish_tournament_type_specific,
~.check_pools_relegations):
- extend rank-summary checks for correct relegations of pool-users for league-tournaments
- check for double-ranks that may need tie-breaking
- check for users with rank-based relegations that doesn't match the league-configuration
- check for too many relegations with promoted, demoted or staying pool-users
- reporting incorrect relegations as warnings to allow T-director to overwrite
2016-11-08 jug
* tournaments/include/tournament_template_league.php (TournamentTemplateLeague.check_pools_finish_tournament_type_specific,
~.check_pools_invalid_ranks_flags),
tournaments/include/tournament_pool.php (TPOOL_LOADOPT_USER_HANDLE;
TournamentPool.load_tournament_pools, ~.new_tournament_pool_from_cache_row):
- optimize pools-finish consistency-checks for league-tournament by using only one db-query for 3 checks
* include/message_functions.php (message_info_table),
message.php (handle_send_message_selector):
- add button to delete single message moving it to trashcan with one-click
* include/message_functions.php (empty_trashcan_folder_messages),
include/classlib_profile.php (SearchProfile.save_profile),
include/quick_common.php (set_sysmessage),
list_messages.php:
- add button on trashcan-folder message-list-page to empty-trashcan completely
- refactor SearchProfile.set_sysmessage() into global function-scope
2016-11-07 jug
* tournaments/include/tournament_template_league.php (TournamentTemplateLeague.check_pools_finish_tournament_type_specific,
~.check_pools_invalid_ranks_flags),
tournaments/include/tournament_template_round_robin.php (TournamentTemplateRoundRobin.checkPoolsFinish,
~.check_pools_finish_tournament_type_specific):
- add consistency-checks for invalid rank/flags-combination of pool-users for league-tournaments
- extend rank-summary-check with consistency-check to prevent invalid TournamentPool.Rank/Flags combinations,
which shouldn't happen, but would mess up pool-finishing if occuring (which would be a bug)
- ensure filled Rank is >0 and <= allowed pool-size
- ensure withdrawal Rank is not mixed with set relegation flags
- ensure only one relegation-flag is set from amongst promote or demote
- refactored tournament-type-specific pools-finish checks for round-robin-tournaments into method
to overload for league-tournament
* include/register_functions.php (UserRegistration.register_user):
- write last-access with time of registration for admin-info in case of problems
* tournaments/roundrobin/edit_ranks.php:
- restrict target-ranks to only valid TournamentPool.Rank for single user edit on edit-ranks-page
2016-11-06 jug
* tournaments/roundrobin/edit_ranks.php:
- fix bug: do not show rank-summary after writing-operations as it overwrites action-results
- show number of pools for league-tournament
* tournaments/include/tournament_pool.php (TournamentPool.count_tournament_pool_users_by_id,
~.update_tournament_pool_ranks),
tournaments/include/tournament_round_helper.php (TournamentRoundHelper.fill_ranks_tournament_pool),
tournaments/roundrobin/edit_ranks.php:
- prevent setting invalid TournamentPool.Rank
- verify target-rank with round-poolsize and actual number of pool-users in target-pool
* tournaments/include/tournament_gui_helper.php (TournamentGuiHelper.build_tournament_pool_notes),
tournaments/roundrobin/view_pools.php, tournaments/view_tournament.php:
- adjust tournament-pool-notes on view-pools-page to reflect round-robin- or league-tournament
specific rank-images
* tournaments/include/tournament_pool.php (TournamentPool.update_tournament_pool_set_relegations,
~.execute_rank_action),
tournaments/include/tournament_round.php (class TournamentRound, ~.build_notes_props,
~.build_relegation_ranks_note),
tournaments/include/tournament_round_helper.php (TournamentRoundHelper.fill_relegations_tournament_pool),
tournaments/include/tournament_log_helper.php (TournamentLogHelper.log_fill_tournament_relegations),
tournaments/include/tournament_globals.php (TPOOL_FLAG_TD_MANUAL),
specs/db/table-Tournaments.txt,
tournaments/roundrobin/edit_ranks.php, tournaments/roundrobin/edit_round_props.php,
tournaments/roundrobin/view_pools.php, tournaments/view_tournament.php:
- add auto-fill to set relegations on edit-ranks-page for league-tournaments
- add button to auto-fill relegations on edit-ranks-page
- control relegations by const-properties: PromoteRanks, DemoteStartRank
- promote pool-users with rank 1 - PromoteRanks, demote pool-users with rank >= DemoteStartRank,
pool-users with rank inbetween stays in same league in next cycle
- auto-filled relegations do not overwrite relegations set by T-director
- always show rank-summary after write operation
- add relegation notes in property-notes for view-tournament-, view-pools- & edit-ranks-page
* tournaments/include/tournament_pool.php (class TournamentPool, ~.__construct, ~.build_result_info,
~.formatRank, ~.echoRankImage, ~.fillEntityData, ~.new_from_row,
~.count_tournament_pool_relegations, ~.execute_rank_action, ~.build_qpart_rank),
tournaments/include/tournament_pool_classes.php (PoolViewer.make_single_pool_table;
PoolParser.is_valid_tier_pool_key, ~.build_valid_tier_pools_selection;
class RankSummary, ~.__construct, ~.build_notes_rank_summary, ~.make_table_rank_summary),
tournaments/include/tournament_round_helper.php (TournamentRoundHelper.add_new_tournament_round,
~.remove_tournament_round, ~.set_tournament_round, ~.start_next_tournament_round;
~.fill_ranks_tournament_pool),
tournaments/include/tournament_template_round_robin.php (TournamentTemplateRoundRobin.checkPoolWinners,
~.check_unset_pool_ranks, ~.check_unfinished_rounds),
tournaments/include/tournament_globals.php (TPOOL_FLAG_PROMOTE|DEMOTE|RELEGATIONS,
RKACT_PROMOTE|DEMOTE|CLEAR_RELEGATION),
tournaments/include/tournament_log_helper.php (TournamentLogHelper.log_execute_tournament_pool_rank_action),
include/gui_functions.php (empty_if0, echo_image_tourney_relegation),
include/globals.php (CSS_VERSION),
images/demote.gif, images/promote.gif,
scripts/updates/1.20/database_changes.mysql, scripts/updates/1.20/other_changes.txt,
specs/db/table-Tournaments.txt, skins/dragon/screen.css,
tournaments/roundrobin/edit_ranks.php (main; build_rank_actions_selection),
tournaments/roundrobin/edit_rounds.php,
tournaments/manage_tournament.php, tournaments/view_tournament.php:
- add relegations of pool-user for league-tournaments
- pool-user can be promoted or demoted or stay in same league in the next cycle
- add TournamentPool.Flags to store league-tournament relegation of pool-user
- adjust filling-ranks to set Rank>0 for league-tournament
- protect round-robin-tournament specific methods from being executed for league-tournament
- adjust formatting of rank-image with new icons for relegations
- adjust consistency-checks on round-status-changes
- adjust edit-ranks-page
- show rank-summary with relegations & appropriate notes
- add execution of new rank-actions to promote / demote / clear relegations
- hide pool-winners for league-tournaments
- minor changes (texts, docs to differ from round-robin-tournaments)
-----------
-- add flags to track tier-relegation for league-tournament
ALTER TABLE TournamentPool
ADD Flags tinyint unsigned NOT NULL default '0' ;
-----------
2016-11-03 jug
* scripts/updates/1.20/database_changes.mysql,
specs/db/dragon-ddl.sql, specs/db/table-Tournaments.txt:
- optimize handling of tournament-pool-rank by combining index of TournamentPool.Rank with tid
-----------
-- index-optimization on handling tournament-pool-rank
ALTER TABLE TournamentPool
DROP KEY Rank ;
ALTER TABLE TournamentPool
ADD KEY tidRank (tid,Rank) ;
-----------
* tournaments/roundrobin/create_pools.php, tournaments/roundrobin/define_pools.php,
tournaments/roundrobin/edit_pairing.php, tournaments/roundrobin/edit_pools.php,
tournaments/roundrobin/edit_round_props.php:
- hide const tournament-round in top info-section & pool-winner-ranks for league-tournaments
2016-11-02 jug
* tournaments/include/tournament_pool.php (TournamentPool.check_pools):
- fix bug with pool-checking on round-status-change:
show error if invalid tier/pool found for league-tournament
* tournaments/include/tournament_pool_classes.php (class TierSlicer, ~.init, ~.next_tier_pool),
scripts/tests/TierSlicerTest.php:
- fix TierSlicer for seeding tiered pools of league-tournament with TierFactor > 2
- next tier has only twice as much pools as previous tier, not by factor TierFactor times
* tournaments/include/tournament_pool_classes.php (class PoolTables, ~.__construct,
~.get_tier_pool_keys, ~.get_pools, ~.get_pool_users, ~.count_unassigned_pool_users,
~.get_user_col_map, ~.fill_pools, ~.reorder_pool_users_by_tp_id, ~.fill_games,
~.count_pools_max_user, ~.calc_pool_summary, ~.calc_pool_games_count;
class PoolSummary, ~.__construct, ~.make_table_pool_summary, ~.get_counts;
class PoolSummaryEntry, ~.__construct;
class PoolViewer.__construct, ~.make_pool_table, ~.make_single_pool_table,
~.format_pool_label, ~.format_tier_pool;
class PoolNameFormatter, ~.format, ~.format_with_default;
class PoolParser, ~.__construct, ~.build_valid_tier_pools, ~.get_valid_tier_pools,
~.parse_tier_pool, ~.is_valid_tier_pool, ~.add_error),
tournaments/include/tournament_pool.php (TournamentPool.build_result_info, ~.build_query_sql,
~.count_tournament_tiered_pools, ~.count_tournament_tiered_pool_users, ~.load_tournament_pool_user,
~.load_tournament_pools, ~.assign_pool, ~.check_pools, ~.check_pools_game_integrity),
tournaments/include/tournament_round_helper.php (TournamentRoundHelper.start_tournament_round_games,
~.start_games_for_specific_pools, ~.create_pairing_games, ~.fill_ranks_tournament_pool,
~.fill_pool_winners_tournament_pool),
tournaments/include/tournament_games.php (class TournamentGames, ~.__construct, ~.fillEntityData,
~.new_from_row, ~.load_tournament_games, ~.count_tournament_games),
tournaments/include/tournament_utils.php (TournamentUtils.encode_tier_pool_key,
~.decode_tier_pool_key, ~.add_qpart_with_tier_pools),
tournaments/include/tournament_template_round_robin.php (TournamentTemplateRoundRobin.checkPooling,
~.checkClosingTournament),
tournaments/include/tournament_result_control.php (TournamentResultControl.create_tournament_result_pool_winners),
tournaments/include/tournament_cache.php (TournamentCache.load_cache_tournament_games),
tournaments/include/tournament_globals.php (TROUND_MAX_TIERCOUNT),
scripts/tests/AllTests.php, scripts/tests/TierSlicerTest.php,
scripts/tests/PoolNameFormatterTest.php, scripts/tests/PoolParserTest.php,
scripts/updates/1.20/database_changes.mysql,
specs/db/dragon-ddl.sql, specs/db/table-Tournaments.txt,
tournaments/ladder/view.php,
tournaments/roundrobin/edit_pools.php (main; get_assigned_user_pools, load_and_fill_pool_unassigned,
pools_edit_col_actions, pools_unassigned_extend_table_form, echo_pool_summary),
tournaments/roundrobin/create_pools.php, tournaments/roundrobin/edit_pairing.php,
tournaments/roundrobin/edit_ranks.php, tournaments/roundrobin/edit_round_props.php,
tournaments/roundrobin/view_pools.php, tournaments/edit_results.php (load_tournament_info),
tournaments/game_admin.php, tournaments/view_tournament.php, gameinfo.php:
- add handling of tiered pools for league-tournament
- adjust view-pools- & edit-pools-page for league-tournament with tiered pools
- adjust checking pools & seeding pools & starting tournament-games & filling ranks for tiered pools
- assign too-few players for bottom-tier into unassigned-pool for manual resolution by T-director
- add db-field TournamentGames.Tier
- replace simple round-robin pool handling with tier-pool-key handling to support
round-robin & league-tournaments
- add PoolParser to parse & validate various pool-formats
- adjust pool-label to support tiered pools
- add special handling for pool-name formatting & parsing for pool0 with unassigned pool-users
- add pool-count in pool-summary-table on edit-pools-page
- cleanup / minor changes (rename vars):
- change tier/pool-argument order of PoolNameFormatter->format()
- refactor pool-summary sub-array-items into PoolSummaryEntry-class
- refactor fill_pools()-method into PoolTables-constructor
-----------
-- add tier for league-tournament games
ALTER TABLE TournamentGames
ADD Tier tinyint unsigned NOT NULL default '1' AFTER Round_ID ;
-----------
* tournaments/include/tournament_pool_classes.php (PoolTables.init_pool_table),
include/globals.php (CSS_VERSION),
skins/dragon/screen.css:
- align cell-width on view-pools-page for round-robin-tournament for pool-matrix
with more than 9 players
2016-10-29 jug
* tournaments/include/tournament_pool_classes.php (class TierSlicer, ~.__construct, ~.init,
~.reset_pool_slicer, ~.next_tier_pool, ~.visit_tier_pool, ~.get_slicer_counts;
PoolSlicer.__construct, ~.init, ~.next_pool),
tournaments/include/tournament_round.php (class TournamentRound, ~.build_notes_props),
tournaments/include/tournament_log_helper.php (TournamentLogHelper.log_seed_pools),
tournaments/include/tournament_pool.php (TournamentPool.seed_pools),
scripts/tests/AllTests.php, scripts/tests/PoolSlicerTest.php, scripts/tests/TierSlicerTest.php,
tournaments/roundrobin/create_pools.php:
- add seeding-pools for league-tournament with handling of tiers
- add TierSlicer on top of PoolSlicer to handle round-robin & league tournaments alike
- add constant league-specific fields in TournamentRound-class: TierFactor
- assign too-few remaining players in bottom-tier into unassigned-pool
2016-10-28 jug
* tournaments/include/tournament_pool.php (class TournamentPool, ~.__construct, ~.build_result_info,
~.fillEntityData, ~.build_query_sql, ~.new_from_row, ~.exists_tournament_tier_pool,
~.count_tournament_tiered_pool, ~.count_tournament_tiered_pool_users,
~.count_tournament_tiered_pool_games, ~.load_tournament_pool_user, ~.load_tournament_pools,
~.load_tournament_participants_with_pools, ~.seed_pools, ~.add_missing_registered_users,
~.assign_pool, ~.check_pools, ~.check_pools_game_integrity, ~.execute_rank_action),
tournaments/include/tournament_round_helper.php (TournamentRoundHelper.start_tournament_round_games,
~.remove_tournament_round, ~.fill_ranks_tournament_pool),
tournaments/include/tournament_log_helper.php (TournamentLogHelper.log_assign_tournament_pool,
~.log_execute_tournament_pool_rank_action),
tournaments/include/tournament_template_round_robin.php (TournamentTemplateRoundRobin.checkGamesStarted,
~.checkClosingTournament),
tournaments/include/tournament_result_control.php (TournamentResultControl.create_tournament_result_pool_winners),
tournaments/include/tournament_cache.php (TournamentCache.load_cache_tournament_pools),
specs/db/dragon-ddl.sql, specs/db/table-Tournaments.txt,
scripts/updates/1.20/database_changes.mysql,
tournaments/roundrobin/create_pools.php, tournaments/roundrobin/define_pools.php,
tournaments/roundrobin/edit_pools.php, tournaments/roundrobin/edit_ranks.php:
- add db-field TournamentPool.Tier to support league-tournament
-----------
-- add tier for league-tournament
ALTER TABLE TournamentPool
ADD Tier tinyint unsigned NOT NULL default '1' AFTER Round ;
-----------
2016-10-09 jug
* tournaments/roundrobin/define_pools.php (parse_edit_form),
tournaments/manage_tournament.php (make_links_ttype_specific):
- adjust round-robin define-pools-page for league-tournament
- allow no pool-winner-ranks
- disabled input & changes of league-tournament-defaults for round-properties
- disabled pool-suggestions
* tournaments/include/tournament_round.php (TournamentRound.build_notes_props),
tournaments/roundrobin/edit_round_props.php:
- add reduced tournament-round-info on edit-round-props-page for league-tournaments
* tournaments/include/tournament_template_round_robin.php (TournamentTemplateRoundRobin.checkProperties),
tournaments/include/tournament_round.php (TournamentRound.check_round_properties),
tournaments/roundrobin/edit_round_props.php (parse_edit_form),
tournaments/roundrobin/define_pools.php,
tournaments/manage_tournament.php (make_links_ttype_specific):
- adjust round-robin edit-rounds-props-page for league-tournament
- allow no pool-winner-ranks for league-tournament
- extend pool-name-format for league-formats
- use fix rounds for league-tournament to represent one cycle
- disabled input & changes of league-tournament-defaults for round-properties
- removed link to edit-rounds for league-tournament
* tournaments/include/tournament_globals.php (TOURNEY_TYPE_LEAGUE, CHECK_TOURNEY_TYPE,
TOURNEY_WIZTYPE_DGS_LEAGUE, MAX_TOURNEY_WIZARD_TYPE, TWIZT_LEAGUE),
tournaments/include/tournament_rules.php (TournamentRules.convertEditForm_to_TournamentRules,
~.prepare_create_game_row, ~.getHandicaptypeText),
tournaments/include/tournament_pool_classes.php (PoolNameFormatter.__construct, ~.format,
~.is_valid_format, ~.format_with_default),
tournaments/include/tournament_template_league.php (class TournamentTemplateLeague,
~.__construct, ~.getDefaultPoolNamesFormat),
tournaments/include/tournament_helper.php (TournamentHelper.process_tournament_game_end,
~.check_tournament_result),
tournaments/include/tournament.php (Tournament.formatRound, ~.build_data_link, ~.getTypeText,
~.getWizardTypeText),
tournaments/include/tournament_factory.php (TournamentFactory.getTournament, ~.getTournamentTypes),
tournaments/include/tournament_pool.php (TournamentPool.update_tournament_pool_set_pool_winners),
tournaments/include/tournament_utils.php (TournamentUtils.getWizardTournamentType),
tournaments/include/tournament_round.php (TournamentRound.build_notes_props),
tournaments/include/types/dgs_league.php (class DgsLeagueTournament, ~.__construct,
~.createTournament),
include/config.php (ALLOW_TOURNAMENTS),
scripts/updates/1.20/database_changes.mysql, scripts/updates/1.20/other_changes.txt,
scripts/tests/PoolNameFormatterTest.php, scripts/tests/AllTests.php,
specs/db/table-Tournaments.txt, specs/db/dragon-ddl.sql,
tournaments/roundrobin/view_pools.php,
tournaments/manage_tournament.php (make_links_ttype_specific),
tournaments/cron_tournaments.php, tournaments/edit_properties.php,
tournaments/edit_results.php, tournaments/view_tournament.php:
- start new league-tournament-type
- add dragon-scope league-tournament
- adjust links on tournament-manager-page to some new league-specific pages
- restrict tournament-properties to match one cycle = one round
- extend & re-use basic features from round-robin-tournaments
- disable pool-winners for league-tournaments for now
- edit-properties: forbid editing of custom-round for admins
- extended default pool-names-format to include tier/league with %L, %t(num), %t(uc)
-----------
-- add League-tournament
ALTER TABLE Tournament
MODIFY Type enum('LADDER','ROUNDROBIN','LEAGUE') NOT NULL ;
-----------
2016-10-08 jug
* gameinfo.php:
- added link for round-robin-tournaments on game-info-page in tournament-info-section
to round & pool of tournament-game
* tournaments/roundrobin/edit_pools.php:
- show default pool-names-format on edit-pools-page to assist tournament-director
in selecting correct pool
* tournaments/include/tournament_round.php (TournamentRound.build_notes_props),
include/gui_functions.php (echo_notes),
tournaments/roundrobin/view_pools.php:
- show pool-winner-ranks & max. simul-games per user on view-pools-page too
* tournaments/include/tournament_pool_classes.php (class PoolSlicer, ~.__construct, ~.init,
~.next_pool, ~.visit_pool, ~.count_visited_pools),
tournaments/include/tournament_pool.php (TournamentPool.seed_pools, ~.get_slice_modes),
tournaments/include/tournament_globals.php (TROUND_SLICE_SNAKE),
scripts/tests/PoolSlicerTest.php, scripts/tests/AllTests.php:
- added snake-seeding slice-mode for seeding pools of round-robin-tournaments
- refactored slicing-modes into PoolSlicer-class
2016-10-06 jug
* tournaments/include/tournament_pool_classes.php (class PoolViewer, ~.__construct, ~.make_single_pool_table;
class PoolNameFormatter, ~.__construct, ~.format, ~.is_valid_format, ~.format_with_default),
tournaments/include/tournament_template_round_robin.php (TournamentTemplateRoundRobin._createTournament,
~.getDefaultPoolNamesFormat),
tournaments/include/tournament_round_helper.php (TournamentRoundHelper.add_new_tournament_round,
~.start_next_tournament_round),
tournaments/include/tournament_round.php (class TournamentRound, ~.__construct, ~.fillEntityData,
~.new_from_row),
tournaments/include/tournament_template_ladder.php (TournamentTemplateLadder.getDefaultPoolNamesFormat),
tournaments/include/tournament_template.php (TournamentTemplate.getDefaultPoolNamesFormat),
tournaments/roundrobin/edit_round_props.php (parse_edit_form),
scripts/updates/1.20/database_changes.mysql,
specs/db/table-Tournaments.txt, specs/db/dragon-ddl.sql,
tournaments/game_admin.php, tournaments/roundrobin/edit_pools.php,
tournaments/roundrobin/edit_rounds.php, tournaments/roundrobin/view_pools.php,
tournaments/view_tournament.php:
- add formatting for pool-names of round-robin-tournaments
-----------
-- add formatting for round-robin pool-names
ALTER TABLE TournamentRound
ADD PoolNamesFormat varchar(64) NOT NULL default '' AFTER PoolSize ;
-----------
2016-09-10 jug
* ratinggraph.php, ratingpng.php:
- removed LSQ regression-line from rating-graph
* include/message_functions.php (message_info_table; MessageListBuilder.message_list_body),
message_thread.php:
- jumping to "current" message on opening message-thread-view
- expand all messages on message-thread-view
2016-09-06 jug
* tournaments/include/types/private_round_robin.php (class PrivateRoundRobinTournament._construct),
tournaments/include/types/public_round_robin.php (PublicRoundRobinTournament.__construct):
- sync changes & fix from stable-branch DGS-stable-20141029:
- bugfix: restricting max-rounds for private & public round-robin-tournaments was missing min-value
- increased max-rounds for private & public round-robin-tournaments from 3 to 16
2016-08-23 jug
* include/config.php (FORUM_POST_FORBIDDEN_TERMS),
forum/post.php (post_message, check_forum_post_violations),
forum/read.php:
- added server-configuration to prevent forum-post with offensive terms
- added global config 'FORUM_POST_FORBIDDEN_TERMS' with regex preventing forum-post
with offensive terms
- check for offensive terms on forum-post & preview of it
2016-08-21 jug
* specs/FAQ-jug:
- copied over release-info from local TODO for release & sub-releases of 1.0.16, 1.0.17, 1.0.18, 1.19.x
- needs cleanup for FAQ-processing
2016-08-20 jug
* snapshot.php:
- on snapshot-page updated links, added link to clone latest stable version, sorted archive-files
//
koh5_pano
Drag mouse to navigate.
Navigation
- Left/Right Mouse drag: Changes camera heading.
- Up/Sown Mouse drag: Changes camera pitch.
- Scroll wheel: Changes camera field of view.
- I-Key: Displays Info panel with canvas size, image size and FPS.
17.Aug.2010, Martin Wengenmayer