DIR : /home/kozerus/public_html/go/dgs0/scripts/updates/ChangeLog_1_0_16
/home/kozerus/public_html/go/dgs0/scripts/updates
==================================================================
Release [2013-08-11] - DGS 1.0.16 - tag [release-1_0_16-20130811] on (later) branch [DGS-stable-20130811]
# History:
2013-08-11: release 1.0.16 (from DGS-MAIN master)
2013-12-12: various updates with bug-fixes and smaller improvements (by JUG) as DGS 1.0.16
==================================================================
### ----- release-1_0_16-20130811 -----
2013-12-12 jug
* scripts/updates/ChangeLog_1_0_16:
- created change-log for final release 1.0.16
* snapshot.php:
- added stable release 1.0.16
2013-12-11 jug
* include/gui_functions.php (echo_image_gameinfo, echo_image_shapeinfo),
include/std_functions.php ($cookie_pref_rows),
include/globals.php (JS_VERSION),
scripts/updates/database_changes_1_0_15_to_1_0_16.mysql,
specs/db/table-Players.txt, specs/db/dragon-ddl.sql,
images/tbnd-7.gif, images/tbne-7.gif, images/tbnd-11.gif, images/tbne-11.gif,
js/common.js (DGS.data.ARR_THUMBNAIL; showGameThumbnail),
edit_profile.php (parse_edit_form, handle_save_profile):
- added customization for stone-size for game-thumbnails
- added thumbnail stone-size 11 pixels, made 7 default
- cleanup: removed double images used for game-thumbnail
- REF: http://www.dragongoserver.net/features/vote_feature.php?fid=24
-----------
-- add customized size for game-thumbnails
ALTER TABLE Players
ADD ThumbnailSize tinyint unsigned NOT NULL default '7' ;
-----------
* include/std_functions.php (start_html),
include/globals.php (JS_VERSION):
- use JS_VERSION to auto-reload updated js-file on LIVE-server while reloading everytime
on local server
* include/gui_functions.php (echo_image_gameinfo),
js/common.js (DGS.data.ARR_THUMBNAIL; showGameThumbnail),
images/tbmb.gif, images/tbmw.gif,
specs/db/table-Games.txt,
status.php (load_games_to_move),
manage_sgf.php:
- added last-move marker on game-thumbnail if available
- last-move not available for shapes, pass-move, scoring-step, finished-games
2013-12-09 jug
* features/lib_votes.php (FeatureVote.build_query_featurevote_list):
- bugfix: show features-votes also if there are only other neutral votes
* include/board.php (Board.is_scoring_step),
game.php:
- bugfix: show scoring-info box also for scoring-step in move-history
* game.php (draw_game_info):
- layout-fix: for JS-game-editor show prisoners on 2nd-line instead of 1st-line
- cleanup of some var-usage, use clearer separation of data and layout
2013-12-08 jug
* js/game-editor.js (DGS.game.loadPage, ~.initPage, ~.markCurrentMove),
skins/dragon/screen.css,
game.php (build_comment_tools):
- mark current-move in game-move-message-box and scroll to current move
- added message-box-tool to scroll to current move message
- show backward-icon right to move-info in message-box to indicate current move
- bugfix CSS: used inline-block to avoid floating-clear-fix
* game.php (draw_game_info):
- added testing-link under board to switch JS-game-editor ON and OFF
* game.php (draw_game_tools, build_comment_tools, build_move_comments),
js/game-editor.js (DGS.game.initPage, ~.handle_action_toggle_comment),
include/globals.php (CSS_VERSION),
skins/dragon/screen.css,
images/comment_hide.png, images/comment_show.png:
- added tool with toggling icons & tooltip to hide/show game-move-comments in message-box
for JS-game-editor
* include/board.php (Board.load_from_db),
game.php (build_move_comments):
- added links on move-positions on all game-move-messages in message-box for all messages
including shape-setup
- do not draw select-box to view selected moves if all game-move-messages is present
with links to moves for JS-game-editor
- bugfix: handle go-to for shape-setup correctly in loading last-move-message and last-move-marker
- bugfix: always load all game move-messages with board-option BOARDOPT_LOAD_ALL_MSG
for JS-game-editor to have all messages even for jumping to earlier moves
* include/game_comments.php (class GameCommentHelper, ~.__construct, ~.get_mpg_user,
~.get_mpg_move_color, ~.filter_comment),
include/board.php (BOARDOPT_LOAD_ALL_MSG; Board.load_from_db, ~.draw_board, ~.draw_ascii_board,
~.make_js_game_tree),
include/sgf_builder.php (SgfBuilder.find_mpg_active_user, ~.build_sgf_moves),
include/game_functions.php (GamePlayer.find_mpg_user),
include/std_functions.php,
skins/dragon/screen.css,
game.php (draw_game_tools, build_move_comments),
game_comments.php, sgf.php:
- cleanup: refactored redundant code to determine visibility of game-move-messages
for game-/game-comments-page/SGF-download into GameCommentHelper-class
- on game-page load and display all game move messages for JS-game-editor filtered
according to visibility of player & move
- removed game-move-messages from JS-gametree, because all texts are already present
on game-page's message-box
- bugfix: on game-page show bottom-link 'download sgf with all comments' for ALL players
of multi-player-game
* include/std_functions.php (start_html),
js/jquery.scrollTo-1.4.3.1-min.js,
js/game-editor.js (DGS.game.initPage):
- added scrollTo-JS-plugin for scrolling to certain position within <div> on game-page
* halfhourly_cron.php:
- bugfix in email-notification: only remove hidden-comments in game-move-message
keeping text-block of public comments instead of removing it
2013-12-07 jug
* translation_stats.php (show_translation_stats, count_translation_texts, count_translations),
docs.php, site_map.php, translate.php, NEWS:
- added translation-statistics with count of translated texts for each language
2013-12-06 jug
* js/game-editor.js (DGS.game.initPage),
images/ui-icons_222222_256x240.png,
skins/dragon/screen.css,
game.php:
- prepared resizable game-message for JS-game-editor using jQuery UI Resizable
2013-12-03 jug
* include/std_functions.php (start_html),
js/game-editor.js (DGS.game_editor.initPage, DGS.game.initPage, DGS.GameEditor.current_tab,
~.action_handle_show_tab),
js/jquery-ui-1.10.3.custom.min.js,
js/jquery-1.9.1.min.js,
skins/dragon/screen.css:
- updated jquery 1.6.1 to 1.9.1 and jquery-ui 1.8.13 to 1.10.3, added jquery-resizable CSS
- migrated game-editor to work with changed jquery-ui tabs API
2013-12-01 jug
* js/game-editor.js, game.php, game_editor.php:
- optimization of JS-game-editor: replaced inner board-format matrix[y][x]
to use faster 1-dimensional matrix[y*size+x]
- replaced interal handling of starting-point of x/y-board-coord from 1 to 0
2013-12-01 jug
* include/board.php (Board.load_cache_game_move_message, ~.make_js_game_tree;
class JS_GameNode, ~.add_new_child)
include/std_functions.php (start_html)
js/game-editor.js (DGS.GameEditor.parseGameTree)
game.php (draw_game_tools):
- encode game-tree in JSON-like format for JS-game-editor
- started 'Analyze'-tab in game-tools
- commented in old draw_moves-code with "ugly" green moves-history-table
- bugfix: return false instead of full message-array if there is no move-message
in loaded & cached move-message-array
* include/gui_functions.php (format_translated_date, quote_dateformat),
include/game_functions.php (echo_accept_same_opponent),
include/std_functions.php (end_page),
scripts/tests/GuiFunctionsTest.php, scripts/tests/AllTests.php,
tournaments/view_tournament.php, rss/status.php,
ratingpng.php (interpolate), statisticspng.php, userinfo.php:
- format date with translated month & weekday names if date-format contains 'D' or 'M'
2013-11-30 jug
* js/gametree.js, js/lang-ext.js:
- initial commit of copied EidoGo-Code to suit the environment and needs of DGS
- Source: git://github.com/jkk/eidogo.git
- File: player/js/gametree.js 08-Sep-2008 16:33:12 29cd15cf3ddb8f540d466dead2191e2fdc0295c6
- File: player/js/lang.js 19-Mar-2008 23:09:15 817449a6f592403cb39c4d58429f12e0908c6eb6
- initial adjustments to DGS:
added DGS preamble, reformatted to DGS code-layout, renamed eidogo to DGS namespace
* include/board.php (Board.draw_board, ~.draw_move_message),
include/gui_functions.php (echo_image_shapeinfo),
include/globals (CSS_VERSION),
js/game-editor.js (DGS.game.initPage),
skins/dragon/screen.css,
game.php (draw_game_tools, draw_moves, draw_game_info, draw_notes):
- added game-tools area on game-page in preparation for game-editor browsing game
- added tabbed game-tools controlled with JavaScript
- change game-user-interface if config ENABLE_GAME_VIEWER is enabled
- if game-viewer enabled
- show game-information box and private game notes in game-tools to right of board
- reformat game-information box to allow smaller width by moving and highlighting
prisoner-info into 2nd-line, by splitting rule-line into two lines,
and by formatting time-limit in short-format
- game notes need no 'hide notes'-button if shown as game-tools
- use fixed size for private game notes ignoring user-prefs
- move message-box with last game-message below game-tools
- cleanup:
- removed normally hidden start-rating in game-info box
- avoid redundant code by using black/white-loop to draw user-specific game-info
- simplified and corrected CSS of game-info by replacing normally unique id-attr
by using class-attr instead
- put other-ruleset for dev into comments
2013-11-24 jug
* include/std_functions.php (end_page):
- added time-zone on page-time and quota-expire-time in bottom-bar
2013-11-20 jug
* images/flags/ve.gif:
- updated flag of Venezuela: replaced 7 with 8 stars
2013-11-17 jug
* images/flags/ve.gif:
- updated flag of Venezuela: changed colors and iconic top-left part
2013-11-13 jug
* include/board.php (class Board, ~/load_from_db),
game.php (draw_game_info):
- bugfix: on game-page show black/white-prisoners only up to selected move
2013-11-06 jug
* userinfo.php:
- show night-time of other user-info on user-info-page in my time-zone,
adding users local night-time in tooltip if different from my time-zone
2013-10-22 jug
* include/countries.php (getCountryFlagImage),
gameinfo.php:
- added players country on game-info-page
2013-10-13 jug
* tournaments/view_tournament.php:
- added tournament start- & end-time on view-tournament-page
* tournaments/show_tournament_log.php (format_tlog_message):
- added search-filter on tournament-log message
2013-10-10 jug
* tournaments/ladder/view.php:
- added bottom-links to running & finished tournament-games and tournament-participants
on ladder-view
* tournaments/ladder/retreat.php:
- bugfix: do not allow ladder-retreat on tournament-CLOSED-status
* include/globals.php, skins/dragon/screen.css,
rating_changes.php (fill_user_rating_changes):
- merged rating-min/max field-rows on rating-changes-page into one field
* include/gui_functions.php (echo_image_table),
opponents.php, userinfo.php:
- added table-image links on userinfo-page of other user to running & finished games with opponent
2013-10-06 jug
* tournaments/include/tournament_ladder_props.php (TournamentLadderProps.getUserJoinOrderText):
- clarified text for ladder-tournament rating-join-order
2013-10-05 jug
* include/cache_globals.php (CACHE_GRP_USER_HANDLE, $ARR_CACHE_GROUP_NAMES, $ARR_CACHE_GROUP_CLEANUP),
include/classlib_user.php (User.load_cache_user_by_handle, ~.delete_cache_user_handle),
include/game_functions.php (GameFinalizer.finish_game; GameNotify.get_user_handle),
include/config.php ($DGS_CACHE_GROUPS),
include/rating.php (update_rating2),
include/globals.php (CSS_VERSION),
scripts/updates/other_changes_1_0_15_to_1_0_16.txt,
skins/dragon/screen.css, specs/caching.txt,
rating_changes.php (load_data_rating_changes, fill_user_rating_changes,
calculate_rating_change_prediction, rdiff),
game_calc.php (print_rating_update),
admin_rating.php, edit_rating.php, gameinfo.php, site_map.php, userinfo.php, NEWS:
- added page to preview rating-changes between two players
- cached user-data with rating-info with new cache-group CACHE_GRP_USER_HANDLE
- invalidated user-handle cache on changing user-rating
- added bottom-links to 'show rating changes' on userinfo- and gameinfo-page
2013-09-26 jug
* tournaments/include/tournament.php (Tournament.build_data_link):
- bugfix: show link to tournament-data only if link allowed
2013-09-21 jug
* include/board.php (Board.load_from_db):
- bugfix: re-enable last-move-mark, which has vanished within last bugfix for shape-games
* include/board.php (Board.load_from_db):
- bugfix: fixed handling $move=0 defaulting to last-move for shape-game,
which was introduced by last two bug-fixes
2013-09-18 jug
* include/game_actions.php (GameActionHelper.set_game_move_message),
include/std_functions.php (replace_move_tag),
game.php, NEWS:
- added tag "<move num|S>" on game-page to be replaced with "<game GID,num|S>" as input-help
for game-move-links
* include/board.php (Board.load_from_db):
- bugfix: showing only shape-setup for shape-games was also showing 1st move
* scripts/tournament_consistency.php (fix_tournament_participant_game_count),
scripts/updates/database_changes_1_0_15_to_1_0_16.mysql,
specs/db/dragon-ddl.sql, specs/db/table-Tournaments.txt:
- bugfixes for tournament-consistency-script
- correct count of finished tournament-games in left-join
- only count undetached finished tournament-games fixing count TournamentParticipant.Finished
-----------
-- added keys on TournamentGames-table for tournament-consistency-check
ALTER TABLE TournamentGames
ADD KEY Challenger_rid (Challenger_rid),
ADD KEY Defender_rid (Defender_rid) ;
-----------
2013-09-17 jug
* tournaments/include/tournament_ladder_props.php (TournamentLadderProps.build_notes_props):
- used clearer descriptions for challenge-range of tournament-ladder-properties
2013-09-16 jug
* gameinfo.php:
- added last-access and last-move date for black- & white player on game-info-page
* scripts/tournament_consistency.php (tid_clause, fix_tournament_participant_game_count):
- bugfix: fix query to fix all tournament-participants with correct counts of finished/won/lost-games
* tournaments/include/tournament_ladder_props.php (TournamentLadderProps.fill_ladder_challenge_range),
tournaments/include/tournament_ladder.php (class TournamentLadder):
- show ladder-rank for theoretical rating-pos on ladder-view in tooltip on my-info in Actions-column
* tournaments/ladder/view.php (build_action_row_str):
- bugfix: show finished-games table-icon also in Actions-column if games-icon-column hidden
* include/timezones.php (get_timezone_array),
scripts/updates/database_changes_1_0_15_to_1_0_16.mysql:
- use alias 'Asia/Shanghai' for removed tzdata of 'China/Beijing' & 'China/Shanghai'-timezone
as live-system does not know it anymore
-----------
-- use alias for removed tzdata of 'China/Beijing' & 'China/Shanghai'-timezone
UPDATE Players
SET Timezone='Asia/Shanghai' WHERE Timezone IN ('China/Beijing', 'China/Shanghai') ;
-----------
* tournaments/ladder/challenge.php:
- add current tournament-ladder-rank of challenger & defender in challenge-notification
* tournaments/include/tournament_ladder.php (TournamentLadder.load_tournament_ladder_by_uids),
gameinfo.php:
- show current tournament-ladder-rank of players on game-info page for running tournament-game
* include/error_functions.php (DgsErrors.err_log, ~.skip_db_connect),
error.php:
- write log to allow monitoring of db-errors like 'too-many-connections'
- write entry in web-error-log on errors mysql_connect_failed & mysql_select_db_failed
- bugfix: fix check on correct error-code instead of log-message if db-Errorlog needs to be written
2013-09-15 jug
* tournaments/include/tournament_utils.php (TournamentUtils.build_num_range_sql_clause),
tournaments/include/tournament_ladder.php (TournamentLadder._process_game_end):
- bugfixes for ladder-tournament game-end-actions:
- fix TGEND_CHALLENGER_BELOW by not moving challenger if already directly below defender
- fix TGEND_DEFENDER_BELOW by moving all neighbours of defender
* scripts/tournament_consistency.php (check_tournament_ladder_unique_rank):
- added check in tournament-consistency-script for unique ladder-rank
* tournaments/include/tournament_games.php (TournamentGames.load_tournament_game_by_pair_uid,
~.load_tournament_game_by_challenger_uid),
tournaments/include/tournament_ladder_props.php (TournamentLadderProps.fill_ladder_running_games,
~.verify_challenge):
- bugfix: forbid re-challenge of same user in ladder-tournament even if challenger & defender role
are reversed
2013-09-12 jug
* tournaments/include/tournament_ladder_helper.php (TournamentLadderHelper.process_tournament_ladder_game_end),
tournaments/include/tournament_games.php (TournamentGames.end_rematch_waiting_finished_games),
tournaments/include/tournament_ladder.php (TournamentLadder.remove_user_from_ladder):
- bugfix: set DONE-status for finished yet rematch-waiting tournament-ladder-game on
ladder-user-removal, because no need to wait for removed user
- always load tournament-ladder-rank on processing-game-end for tournament-log
- cleanup: re-wrote SQL-queries without sprintf to make constant-placement clearer
2013-09-11 jug
* include/game_functions.php (GameSetupChecker.get_class_error_field;
append_form_add_waiting_room_game),
include/message_functions.php (game_settings_form):
- enabled dependent checkboxes & radio-buttons for two-phase choices in new-game and invite-forms
using JavaScript
- enabled checkbox on clicking selectboxes with required rating-range
- selected radio-button with manual-handicap-type
on clicking my-color selectbox & handicap or komi input-box
- selected radio-button with fair-komi-handicap-type in invite-game-settings-form
on clicking fair-komi-type selectbox
- selected radio-button with japanese/canadian/Fischer time in game-settings-form
on clicking time-type specific input-box or unit-selectbox
2013-09-10 jug
* include/std_functions.php (safe_setcookie, set_login_cookie):
- security-fix: use HttpOnly on setting cookie with session-code to prevent malicious
XSS JavaScript reading it
2013-09-09 jug
* tournaments/include/tournament.php (Tournament.build_data_link),
tournaments/list_tournaments.php, tournaments/view_tournament.php, gameinfo.php:
- added link to specific tournament-data-page (view-ladder or view-pools) on tournament-list page
2013-09-08 jug
* include/sgf_builder.php (class SgfBuilder, ~.load_game_info, ~.build_sgf_start),
specs/quick_suite.txt:
- extend game-info properties for tournament-game
- added EV-property with scope, type, id and title of tournament
- added RO-property with current round and total number of rounds
- added tournament-title-info with number of registered participants in game-comment
* tournaments/include/tournament_ladder.php (TournamentLadder.load_cache_tournament_ladder),
tournaments/ladder/view.php, tournaments/view_tournament.php:
- on ladder-view show table-icon linked to finished tournament-games for each user
if there are finished games
* tournaments/ladder/view.php:
- free db-connection as early as possible when before sending HTML for the full ladder
in hope to reduce observed too-many-connections errors on live-server
* include/error_codes.php (ErrorCode.echo_error_text, ~.get_error_text),
do_registration_blocked.php,
error.php (handle_error):
- security-fix: avoid XSS on error-page passing in malicious JavaScript via URL-arguments
error-code or error-log-id
* scripts/player_consistency.php (cnt_diff):
- bugfix: count MPGs for player-consistency script calculating Players.Running/Finished
2013-09-03 jug
* include/std_functions.php (send_email):
- error_log() error on sending mail
2013-08-29 jug
* include/game_functions.php (class GameSetupChecker, ~.check_game_rated, ~.check_komi,
~.check_adjust_komi, ~.check_min_rated_games),
tournaments/edit_rules.php (parse_edit_form):
- bugfix: no user-rating-check for editing tournament-rules as tournament-director/owner/admin
could have no rating
* tournaments/include/tournament_participant.php (TournamentParticipant.check_rated_tournament_participants):
- bugfix: add no-participant-check in safety-check for editing tournament-rules
2013-08-26 jug
* admin_rating.php (notify_fix_running_games):
- bugfix: adjusted parametrized text missing %s-argument to notify players about user-rating-change
2013-08-25 jug
* tournaments/include/types/private_ladder.php (PrivateLadderTournament.__construct,
~.createTournament),
tournaments/include/types/public_ladder.php (PublicLadderTournament.__construct,
~.createTournament):
- reduced max-defenses/challenges & defaults for public and private ladder-tournaments
- reduced max-defenses/challenges from 8 to 5
- reduced default max-challenges for new ladder from 5 to 3
* tournaments/include/tournament_ladder.php (TournamentLadder.build_linked_incoming_games),
include/globals.php (CSS_VERSION),
skins/dragon/screen.css, tournaments/ladder/view.php:
- mark own challenges on ladder-view for ladder-tournament
2013-08-24 jug
* include/register_functions.php (UserRegistration.check_email),
include/error_functions.php (DgsErrors.need_db_errorlog),
include/error_codes.php (ErrorCode.init):
- bugfix: check for missing email on user-registration
2013-08-20 jug
* goodies/DgsSgfDownloadWithoutDate.user.js:
- added GreaseMonkey-script from admiralnlson to download sgf without date in filename
* goodies/index.php:
- bugfix: link to scripts included double goodies/-path
2013-08-19 axd
* forum/forum_functions.php (DisplayForum.draw_post):
- merged in changes from axd about forum-bugfix:
- see https://sourceforge.net/p/dragongoserver/dgs-main/merge-requests/5/
- bugfix: enable navigation-panel even when replying on forum-topic
2013-08-19 juga
* gameinfo.php:
- bugfix: adjust ladder-tournament game-role for observer and adding color for my-game
* include/sgf_builder.php (class SgfBuilder, ~.set_file_format, ~.build_filename_sgf),
specs/quick_suite.txt, sgf.php, NEWS:
- added URL-arg 'filefmt' to specify different download-filenames
* tournaments/include/tournament_ladder_props.php (TournamentLadderProps.calc_ticks_due_rematch_wait,
~.calc_rematch_wait_remaining_hours),
include/globals.php (CLOCK_TOURNEY_GAME_WAIT),
scripts/updates/database_changes_1_0_14_to_1_0_15.mysql, specs/db/table-Tournaments.txt:
- bugfix: corrected wrong clock-usage to track ladder-tournament rematch-waiting on tournament-games
-----------
-- fix rematch-wait due-time for ladder-tournament-games using 5min-ticks TIMELEFT-clock
-- reduced by 5min-ticks already passed since game ended
-- IMPORTANT NOTE: only run this once!
UPDATE TournamentGames AS TG
INNER JOIN TournamentLadderProps AS TLP ON TLP.tid=TG.tid
INNER JOIN Clock
SET TG.TicksDue=Clock.Ticks + TLP.ChallengeRematchWait*12 - FLOOR((UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(TG.EndTime))/300)
WHERE TG.Status='WAIT' AND TLP.ChallengeRematchWait > 0 AND TG.TicksDue>0 AND Clock.ID=204 ;
-- fix potential tournament-games with negative due-time
UPDATE TournamentGames
SET TicksDue=0 WHERE TicksDue < 0 ;
-----------
* tournaments/include/tournament_ladder_props.php (TournamentLadderProps.fill_ladder_running_games):
- bugfix: set & show rematch-wait for ladder-view only for players that challenged the defender-user
* tournaments/include/tournament_ladder.php (class TournamentLadder, ~.add_incoming_game,
~.get_incoming_games, ~.build_linked_incoming_games),
tournaments/include/tournament_ladder_props.php (TournamentLadderProps.fill_ladder_running_games),
tournaments/ladder/view.php:
- cleanup: renamed TournamentLadder.RunningTourneyGames -> .IncomingTourneyGames
including all related functions
2013-08-18 juga
* include/game_functions.php (GameNotify._build_text_players, ~.get_text_game_deleted),
include/std_functions.php (send_reference, user_reference):
- bugfix: undo rename of send_user_reference() back to send_reference() as it's required in regex
in $html_safe_reg (which would be difficult to adjust to new name)
2013-08-17 juga
* tournaments/ladder/view.php (build_action_row_str):
- do not show ladder-rematch-wait action for only observing users like non-admins/tournament-directors
* tournaments/include/tournament_template_ladder.php (TournamentTemplateLadder._createTournament),
tournaments/include/tournament_utils.php,
tournaments/ladder/view.php (build_rank_change),
tournaments/cron_tournaments.php:
- bugfix: showing actual rank-change before first rank-archiving
- setup rank-archiving-period with next-month instead of current month to use StartRank
to compare with CurrentRank as long as rank is not archived, i.e. PeriodRank or HistoryRank == 0
- run rank-archiving (daily-job) before game-end-processing to preserve rank-changes
from former day
* tournaments/include/tournament_template_ladder.php (TournamentTemplateLadder.joinTournament),
tournaments/include/tournament_template.php (TournamentTemplate.joinTournament),
tournaments/ladder/admin.php, tournaments/edit_participant.php, tournaments/register.php:
- bugfix: need TLOG_TYPE_.. passed on adding user to ladder for tournament-log
* tournaments/include/tournament_ladder_props.php (TournamentLadderProps.calc_game_end_action):
- bugfix: need public function-modifier to process ladders game-end-handling
* tournaments/show_tournament_log.php:
- bugfix: forward tid-URL-argument on paging tournament-log
2013-08-16 juga
* include/shape_control.php (ShapeControl.getFlagsText):
- bugfix: wrong initialization for defining flags-array after cleanup
* tournaments/include/tournament_ladder_props.php (TournamentLadderProps.fill_ladder_running_games),
tournaments/ladder/view.php:
- added ladder-summary on ladder-view with count of running games and games on TG-SCORE-status
waiting to be processed
* tournaments/list_participants.php:
- bugfix: fix sorting of tournament-rating dependent on tournament-properties RatingUseMode
* include/register_functions.php (UserRegistration.check_userid, ~.check_userid_spam),
include/error_functions.php (DgsErrors.need_db_errorlog),
include/error_codes.php (ErrorCode.init):
- prevent spam-accounts on user-registration with user-id of consecutive letters like 'defgh384'
* tournaments/include/tournament_pool_classes.php (PoolViewer.init_pool_table,
~.make_single_pool_table),
tournaments/include/tournament_ladder.php (TournamentLadder.load_cache_tournament_ladder)
tournaments/include/tournament_pool.php (TournamentPool.load_tournament_pools)
tournaments/ladder/view.php:
- add user-online-column with user-is-online & user-on-vacation info
for view-ladder & view-pools tournaments pages
* include/game_functions.php (NextGameOrder.build_status_games_query),
include/gui_functions.php (echo_user_online_vacation),
include/contacts.php (Contact.build_querysql_contact),
status.php (load_games_to_move),
list_contacts.php, opponents.php, users.php, NEWS:
- extended user-online-columns with user-on-vacation for status, users, opponents & contacts pages
2013-08-15 juga
* tournaments/show_tournament_log.php:
- added bottom-links on tournament-log-page back to specific tournament-info/-manage pages
* include/game_functions.php (GamePlayer.delete_joined_player):
- bugfix: used unknown var skipping updating Players.MPGCount on deleting joined player
2013-08-13 juga
* include/sgf_builder.php (SgfBuilder.build_sgf_result):
- bugfix after PHP-cleanup: use public modifier to access private GameScore->scoring_info
2013-08-11 juga
* include/globals.php (CSS_VERSION),
skins/dragon/screen.css:
- bugfix: no wrap for dgs-name & version in bottom-bar
* include/game_actions.php (GameActionHelper.update_game),
include/std_functions.php (is_logged_in):
- fix bug: update Players.Lastaccess for both web-site AND quick-suite access
with greatest datetime of both
-----------
-- fix last-access of all existing players
UPDATE Players
SET Lastaccess=GREATEST(Lastaccess, LastQuickAccess, LastMove) ;
-----------
* scripts/updates/roadmap_1_0_15_to_1_0_16.txt, NEWS:
- prepared live-release 1.0.16
2013-08-09 juga
* userinfo.php:
- re-arranged some user-info-fields on user-info-page
- moved register-date to left side to other dates
- moved reject-time-out to right side to other game-related stuff
2013-08-06 juga
* admin_bulletin.php:
- fix "double"-case translation: Publish Time -> Publish time
-----------
-- fix translations
UPDATE TranslationTexts SET Text='Publish time' WHERE Text='Publish time' ;
-----------
2013-08-05 juga
* include/register_functions.php (UserRegistration.build_email_verification),
edit_email.php (handle_save_mail):
- send mail-verification also for unverified unchanged email
* include/register_functions.php (UserRegistration.register_user),
include/config.php (SEND_ACTIVATION_MAIL),
scripts/updates/other_changes_1_0_15_to_1_0_16.txt,
register.php, INSTALL, NEWS:
- added server-config SEND_ACTIVATION_MAIL to allow user-registration without mail-verification
- jump directly to introduction-page after user-registration with disabled SEND_ACTIVATION_MAIL
- needed to allow user-registration on SourceForge-server without mail-support
* include/register_functions.php (UserRegistration.register_user, ~.process_verification,
~.build_email_verification, ~.remove_verification, ~.build_common_verify_texts),
include/db/verification.php (class Verification, ~.__construct, ~.setVType, ~.delete,
~.fillEntityData, ~.new_from_row, ~.get_type_text),
scripts/updates/database_changes_1_0_15_to_1_0_16.mysql,
specs/db/table-Verification.txt, specs/db/dragon-ddl.sql,
edit_email.php (parse_edit_form, handle_save_mail, handle_delete_verification, handle_resend_mail),
register.php, verify_email.php, NEWS:
- extended edit-mail-page with:
- email now mandatory, and changing email requires a mail-verification
- changing email creates Verification-entry and sends mail with validation-code
- added Verification.VType to enable fixing of Players.UserFlags
- show if email is missing, invalid, unverified or verified
- show open verifications
- added removal of open verifications for account-activation and email-change
with fixing of Players.UserFlags according to remaining verifications
- added re-sending of open verifications
- added email-change-notes with similar information like registration-page
-----------
-- added verification-type
ALTER TABLE Verification
ADD VType tinyint unsigned NOT NULL AFTER Created ;
UPDATE Verification
SET VType=1 WHERE VType=0 ;
-----------
* include/register_functions.php (UserRegistration.register_user):
- enabled JavaScript per default for new user on registration
* include/register_functions.php (UserRegistration.process_verification),
include/std_functions.php (USERFLAG_EMAIL_VERIFIED),
specs/db/table-Players.txt, admin_users.php:
- mark email as verified after email-verification and account-activation
* edit_email.php (parse_edit_form, handle_save_mail),
edit_profile.php (parse_edit_form, handle_save_mail),
edit_password.php, site_map.php, userinfo.php:
- moved changing email & nofications to separate 'edit_email.php'-page
in preparation for email-verification
* include/game_functions.php (DefaultMaxHandicap.build_default_max_handicap_javascript_map;
build_game_settings_javascript),
include/message_functions.php (game_settings_form),
js/common.js (updateDefaultMaxHandicap):
- changed info about default-max-handicap in game-settings-form on changing board-size using JavaScript
- update default-max-handicap info for invitations AND standard new-game
- minor cleanup also using span()-function to set id-attribute
2013-08-04 juga
* tournaments/include/tournament_ladder_helper.php (TournamentLadderHelper.load_ladder_absent_users),
include/game_actions.php (GameActionHelper.update_game)
include/std_functions.php (is_logged_in)
specs/db/table-Players.txt, NEWS:
- update Players.Lastaccess for both web-site AND quick-suite access
* include/wroom_control.php (WaitingroomControl.build_waiting_room_query,
~.extend_query_waitingroom_suitable, ~.get_waitingroom_restrictions),
include/message_functions.php (game_info_table, build_game_restriction_notes,
echo_game_restrictions),
include/quick/quick_wroom.php (QuickHandlerWaitingroom.prepare),
waiting_room.php:
- bugfix: waiting-room-list with game-offers was not restricted on unrated games for unrated users
- improved restrictions-text for showing info of single waiting-room-offer: adding reasons
- added more detail notes & comments about waiting-room restrictions
- cleanup: refactored extending waitingroom-query for suitable games into function to avoid redundancy
- cleanup: minor improvements on expressions
* waiting_room.php:
- always show Settings-column in waiting-room
* include/game_functions.php (GameSetupChecker.add_default_values_info, ~.check_game_rated,
~.check_opponent_rating, ~.check_fields; is_htype_calculated),
include/message_functions.php (game_info_table),
tournaments/edit_rules.php, message.php, new_game.php, waiting_room.php:
- show errors if game-settings of invitation/dispute combines calculated handicap-type or
rated-game with user without a rating
- show preview and dispute-difference only if user-without-rating raised no conflict prohibiting
calculating diffs
- detailed warning: No initial rating -> User has no rating
- cleanup: call GameSetupChecker->add_default_values_info() adding error-note internally
* include/message_functions.php (game_settings_form):
- hide checkbox for rated-game for shape-games as that state can never be changed
2013-08-03 juga
* include/message_functions.php (game_settings_form),
waiting_room.php, NEWS:
- show disabled form-inputs for calculated handicap-type and rated-game for users without rating
in new-game and invitation dialogs for players without initial rating with text describing reason:
shape-game or user-rating-needed.
- removed 'impossible'-text for invitation-disputes
* include/std_functions.php (make_html_safe),
scripts/convert_from_old_forum.php, scripts/data_export.php,
ratingpng.php, sgf.php, statisticspng.php, statratingspng.php:
- cleanup: replaced deprecated eregi/eregi_replace-functions with preg_match/preg_replace-funcs
* goodies/index.php, docs.php, error.php, faq.php, install.php, introduction.php,
licence.php, links.php, news.php, people.php, policy.php, rank_converter.php,
snapshot.php, statistics.php, statisticspng.php, statratingspng.php:
- skip account-activation-check on login for pages, that are accessible without login
* include/db/verification.php (class Verification, ~.__construct, ~.to_string, ~.persist,
~.insert, ~.update, ~.fillEntityData, ~.increase_verification_counter, ~.build_query_sql,
~.new_from_row, ~.load_verification, ~.load_verifications, ~.build_code),
include/std_functions.php (USERFLAG_VERIFY_EMAIL, USERFLAG_ACTIVATE_REGISTRATION;
LOGIN_SKIP_VFY_CHK, is_logged_in),
include/register_functions.php (UserRegistration.check_userid, ~.register_user,
~.process_verification),
include/error_functions.php (DgsErrors.need_db_errorlog),
include/error_codes.php (ErrorCode.init),
scripts/updates/database_changes_1_0_15_to_1_0_16.mysql,
scripts/data_export.php, skins/dragon/screen.css,
specs/db/dragon-ddl.sql, specs/db/table-Verification.txt, specs/quick_suite.txt,
verify_email.php (load_user_info),
register.php, site_map.php, INSTALL, NEWS:
- added account-activation with mandatory verification of email-address on user-registration
- send activation-mail with verification-code to provided email-address on user-registration
- added Verification-table to verify email-address for user-registration and later email-change
- added check of user-flags on login showing error if account not activated yet
- added check on user-registration for max-length of user-id
-----------
-- added table for email-verification
CREATE TABLE Verification (
ID int NOT NULL auto_increment,
uid int NOT NULL,
Verified datetime NOT NULL default '0000-00-00 00:00:00',
Created datetime NOT NULL default '0000-00-00 00:00:00',
Email varchar(80) NOT NULL,
Code varbinary(40) NOT NULL,
Counter tinyint unsigned NOT NULL default '0',
IP varchar(16) NOT NULL default '',
PRIMARY KEY (ID),
KEY uid_Verified (uid,Verified)
) ENGINE=MyISAM ;
-----------
* include/register_functions.php (UserRegistration.check_existing_user):
- cleanup: replaced deprecated PHP-function eregi_replace() with preg_replace()
* include/std_functions.php (verify_invalid_email, get_request_user):
- bugfix: parsing user-handle from URL checking on non-empty string as handle
can be '000' for which check would be incorrect evaluating to false
* include/error_codes.php (ErrorCode.is_shown_error_log_id, ~.init),
include/error_functions.php (DgsErrors.need_db_errorlog):
- overhauled special-handling settings for error-codes
- bugfix: do not show Errorlog-id for regular error-codes if not explicitly specified
2013-07-31 juga
* game_players.php (build_game_settings, load_game):
- show move-number and last-move-date on game-players-page for MP-game in playing-mode
2013-07-29 juga
* game_players.php:
- bugfix: correct link to existing waiting-room-offer for game-master,
show also independent from free-slots taken
2013-07-26 juga
* status.php:
- added game-master in list with multi-player-games in setup-mode on status-page
2013-07-25 juga
* tournaments/edit_participant.php:
- fix bug: don't show 'unknown user'-error if no user has been entered yet
2013-07-24 juga
* include/message_functions.php (MessageListBuilder.message_list_query):
- optimized query for standard message-query which was reported 3000 times in the
last 6 months in the mysql-slow-log,
instructing mysql-optimizer to use MessageCorrespondents.uid index on corresponding
join as uid is a constant in most of the cases
* include/register_functions.php (class UserRegistration, ~.__construct, ~.parse_args,
~.build_key_suffix, ~.build_key, ~.check_registration_normal,
~.check_registration_blocked),
do_registration_blocked.php, register.php:
- added registration-bot prevention by using dynamic form-keys
* include/register_functions.php (UserRegistration.register_user):
- write IP & Browser info on player-registration
2013-07-22 juga
* tournaments/edit_director.php:
- fix bug: adding new tournament-director without enabling flags was not saving director
2013-07-21 juga
* features/lib_votes.php (VOTE_MIN_FINISHED_GAMES; Feature.allow_vote_check),
NEWS:
- allow voting on features also if user finished unrated games
* include/message_functions.php (game_settings_form):
- cleanup: replaced multi-typed $gid-function-argument $gid with $arr_url_or_gid
seperating $gid from parsing URL-array
* include/deprecated_functions.php:
- cleanup: removed unused obsolete functions after re-design of game-invitation:
DeprecatedGameSetup.parse_jigo_mode_from_game_setup, ~.get_invite_handicaptype)
* include/game_functions.php (GameHelper.delete_running_game, ~.delete_invitation_game;
FairKomiNegotiation.save_komi;
GameFinalizer.finish_game;
class GameSetup, ~.set_defaults, ~.encode_game_setup, ~.encode_profile_template,
~.build_game_invitation, ~.to_string, ~.get_user_view_handicaptype, ~.new_from_game_setup,
~.new_from_waitingroom_game_row, ~.build_game_setup_from_game_invitations,
~.new_from_game_invitation, ~.build_invitation_diffs;
GameSetupBuilder.build_url_adjustments;
class GameSettingsCalculator, ~.__construct, ~.calculate_settings;
class GameSettings, ~.__construct, ~.to_string, ~.suggest_proper, ~.suggest_conventional,
~.get_game_settings_from_gamesetup, ~.get_game_settings_from_gamerow;
ProfileTemplate.encode_template, ~.build_profile;
NextGameOrder.build_status_games_query;
is_htype_calculated),
include/deprecated_functions.php (INVITE_HANDI_CONV, GS_SEP_INVITATION;
class DeprecatedGameSetup, ~.build_invitation_game_setup, ~.parse_invitation_game_setup,
~.read_game_setup_from_gamerow, ~.parse_jigo_mode_from_game_setup, ~.determine_handicaptype,
~.get_invite_handicaptype, ~.get_handicaptype_for_invite),
include/db/game_invitation.php (class GameInvitation, ~.__construct, ~.setRuleset, ~.to_string,
~.persist, ~.insert, ~.update, ~.fillEntityData, ~.build_query_sql, ~.new_from_row,
~.load_game_invitation, ~.load_game_invitations, ~.insert_game_invitations,
~.delete_game_invitations),
include/make_game.php (make_invite_game, build_invitation_game_update,
make_invite_game_setup_from_url, make_invite_template_game_setup,
accept_invite_game, create_game),
include/message_functions.php (game_settings_form, game_info_table;
DgsMessage.get_recipients;
MessageControl.handle_send_message),
include/wroom_control.php (WaitingroomControl.join_waitingroom_game, ~.calculate_offer_settings),
include/quick/quick_message.php (QuickHandlerMessage.fill_message_info),
tournaments/include/tournament_rules.php (TournamentRules.convertTournamentRules_to_GameSetup),
scripts/tests/DeprecatedGameSetupTest.php, scripts/tests/GameSetupTest.php,
scripts/tests/AllTests.php,
scripts/updates/fix_default_max_handi-1_0_16.php (fix_game_invite_dispute,
fix_game_finished_running, fix_profile),
scripts/updates/fix_game_invitations-1_0_16.php (migrate_game_invitations, fix_game_invitation),
scripts/updates/database_changes_1_0_15_to_1_0_16.mysql,
scripts/updates/fix_new_game_expert_view-1_0_16.php, scripts/data_export.php,
scripts/game_consistency.php, scripts/index.php,
specs/db/dragon-ddl.sql, specs/db/table-Games.txt,
specs/db/table-Waitingroom.txt,
specs/quick_suite.txt,
tournaments/ladder/challenge.php (show_game_info),
game_players.php (build_form_change_group_with_handicap),
message.php (handle_save_template),
new_game.php (handle_add_game),
waiting_room.php (add_old_game_form),
daily_cron.php:
- re-designed game-invitations
- re-design with clearer structures was necessary to support bug-fixes for game-invitations
messing up state of invitation: who sent it?, who views it?, what's the handicap-type
for black/white-fix-color and fair-komi-divide&choose for current user?
Determination of this variables sucked big with string-encoded game-setup and storing
of users for game on INVITED-status.
- added GameInvitation-table to store changeable game-settings for invitations
replacing old GameSetup-invitation-handling parsing a one-string text-field for both users
- replaced Games.ToMove_ID holding handicap-type-encoding with players-id
that last sent game-invitation- or game-dispute-message
- stored initially inviting user in Games.Black_ID and invited user in Games.White_ID
- GameInvitation-entries are kept till game is finished, then they are deleted
- moved deprecated functions and constants into separate file 'include/deprecated_functions.php'
to be used for migration-scripts and potential later disposal
- added migration-script 'scripts/updates/fix_game_invitations-1_0_16.php'
to migrate old 1.0.15-style game-invitations
- fixed bug: showing correct state of invitation and dispute-difference for all combinations
of inviting- & invited-user, disputed or original invitation with reversed handicap-type
dependent on current-user
- added cleanup of GameInvitation-table for deleted or cleaned up invitations
- additional refactoring for re-designed game-invitations:
- adjusted and simplified GameSetup-encoding for invitations to only store game-settings
of last sent invitation/dispute from one user in preparation for accepting and starting
invitation-game
- moved deprecated functions and constants into 'include/deprecated_functions.php'
to be used for migration-scripts and potential later disposal:
GameSetup.build_invitation_game_setup, ~.parse_invitation_game_setup,
~.parse_jigo_mode_from_game_setup, ~.determine_handicaptype, get_invite_handicaptype,
get_handicaptype_for_invite
- refactored and simplified GameSettingsCalculator to use GameSetup instead of
game-row to calculate probable game-settings for pivot-user
- renamed GameSetup- and GameSettings-fields: AdjustHandicap/Komi -> AdjHandicap/Komi
- avoid clashes with other encode()-functions:
- renamed GameSetup.encode() -> GameSetup.encode_game_setup()
- renamed ProfileTemplate.encode() -> ProfileTemplate.encode_template()
- renamed GameSetup.new_from_game_row() -> GameSetup.new_from_waitingroom_game_row()
- cleanup: added safety-checks on vars (status) for some use-cases
- added my-rating in game-info-table on viewing own or opponents game-settings
- added docu about Moves-table in 'specs/db/table-Games.txt'
-----------
-- added table to store changeable game-settings for invitations
-- replacing old GameSetup-invitation-handling parsing a text-field
CREATE TABLE GameInvitation (
gid int NOT NULL,
uid int NOT NULL,
Lastchanged datetime NOT NULL default '0000-00-00 00:00:00',
Ruleset enum('JAPANESE','CHINESE') NOT NULL default 'JAPANESE',
Size tinyint unsigned NOT NULL default '19',
Komi decimal(4,1) NOT NULL default '6.5',
Handicap tinyint unsigned NOT NULL default '0',
Handicaptype enum('conv','proper','nigiri','double','black','white','auko_sec','auko_opn','div_ykic','div_ikyc') NOT NULL default 'conv',
AdjKomi decimal(4,1) NOT NULL default '0.0',
JigoMode enum('KEEP_KOMI','ALLOW_JIGO','NO_JIGO') NOT NULL default 'KEEP_KOMI',
AdjHandicap tinyint NOT NULL default '0',
MinHandicap tinyint unsigned NOT NULL default '0',
MaxHandicap tinyint NOT NULL default '-1',
Maintime smallint NOT NULL default '0',
Byotype enum('JAP','CAN','FIS') NOT NULL default 'JAP',
Byotime smallint NOT NULL default '0',
Byoperiods tinyint NOT NULL default '0',
Rated enum('N','Y') NOT NULL default 'N',
StdHandicap enum('N','Y') NOT NULL default 'N',
WeekendClock enum('N','Y') NOT NULL default 'Y',
PRIMARY KEY (gid,uid)
) ENGINE=MyISAM;
-- execute migration-script (with do_it=1) to merge all old-style game-invitations:
-- 'scripts/updates/fix_game_invitations-1_0_16.php?limit=1000'
-- repeat it till all game-invitations are fixed by migrating them.
-----------
* game.php:
- bugfix: don't show link to Eidogo-game-player for games in fair-komi-negotiation,
that have no board yet
* include/db/waitingroom.php (class Waitingroom, ~.fillEntityData, ~.load_waitingroom_entries):
- bugfix: wrong declaraction of float-typed db-table-fields Komi/AdjKomi for Waitingroom-entity
- bugfix: wrong handling of writing boolean-fields into database expecting Y|N values
- cleanup: minor var-rename
2013-07-13 juga
* scripts/README.developers, .gitignore, README:
- reviewed and adjusted axd's changes from branch dgs-work/axd-sfdev/review,
see pull-request http://www.dragongoserver.net/forum/read.php?forum=10&thread=36610#36610
- cleaned up .gitignore (remove double entries, less and clearer groups)
2013-07-13 axd
* .gitignore:
- grouped and cleaned up ignore-files
* scripts/updates/dgs-cvs2git-migration.txt, scripts/README.developers, scripts/ChangeLog,
INSTALL, README, docs.php, snapshot.php:
- adjusted text-usage of 'git' -> Git
- added minor clarifications and fixed typos
2013-07-12 juga
* include/game_functions.php (MultiPlayerGame.load_game_players),
include/utilities.php (build_text_block),
include/rating.php (change_user_rating),
admin_rating.php (find_running_normal_games, find_running_multi_player_games,
find_running_tournaments, find_open_invitations, build_user_activities,
build_user_activities_list, notify_fix_running_games),
game_players.php (load_game_players_with_info),
userinfo.php:
- added better handling for players rating-change by admin
- find and show running normal games to fix start-rating for respective color of player
with changed rating, and make game unrated to prevent too big rating-change at game-end
- find and show running multi-player-games to fix start-rating of group of player with changed rating
- find and show opponents from open invitations
- find and show active tournaments where player with changed rating is participating
- create admin-bulletins for all opponents of player with changed rating
- create a bulletin for respective tournament-directors which have to handle the rating-change
accordingly where player with changed rating participates
- perform fixes of start-rating and creation of bulletins only on rank-changes,
not on reset of confidence interval
- refactored load_game_players()-function into load_game_players_with_info() and
MultiPlayerGame::load_game_players() to be used by admin-rating-script as well
- allow rating-change on user-info-page only for players with an existing rating
- minor bugfixes
* include/game_functions.php (MultiPlayerGame.determine_groups_player_count, ~.count_player_groups;
class GameSettingsCalculator, ~.__construct;
GameSettings.get_game_settings_from_gamesetup, ~.get_game_settings_from_gamerow),
include/wroom_control.php (WaitingroomControl.join_waitingroom_game, ~.calculate_offer_settings),
include/quick/quick_message.php (QuickHandlerMessage.fill_message_info),
include/make_game.php (accept_invite_game, create_game),
include/message_functions.php (game_info_table),
game_players.php (build_table_game_players, check_game_setup, build_form_change_group_with_handicap):
- bugfix: restrict selectbox to maximal number of players of respective group
to change order of players for multi-player-game
- bugfix: calculating game-setting from adjust/min/max-handicap & adjust-komi/jigomode
need additional data-source of GameSetup
- bugfix: removed too much code on previous adjust-handicap/komi change setting handicap/komi-vars
for creating-game
2013-07-09 juga
* include/message_functions.php (message_info_table, change_folders_for_marked_messages),
list_messages.php:
- fix bug: no selection of folder to move message in does not lead to error, but redirects
to message-list with message marked
2013-07-08 juga
* game.php:
- show that score is preliminary below game-board as long as game is in scoring-mode
* include/game_functions.php (GameSetup.build_invitation_diffs;
class GameSettingsCalculator, ~.calculate_settings;
GameSettings.to_string, ~.suggest_proper, ~.suggest_conventional, ~.get_handicap_limits,
~.adjust_handicap, ~.adjust_komi, ~.build_adjust_handicap, ~.build_adjust_komi),
include/wroom_control.php (WaitingroomOffer.calculate_offer_settings),
include/message_functions.php (game_settings_form, game_info_table),
include/make_game.php (create_game),
scripts/tests/AllTests.php, scripts/tests/GameSettingsTest.php,
game_players.php (update_handicap_komi, use_handicap_suggestion),
waiting_room.php:
- apply handicap/komi-adjustment only for conventional/proper handicap-type
- refactored handicap & komi adjustments into GameSettings-class for methods:
adjust_handicap, adjust_komi, build_adjust_handicap, build_adjust_komi
- removed showing adjustment-info with old and adjusted handicap/komi as calculation
not longer possible
- moved handicap-standard-placement in game-settings-form above adjustments
for clearer grouping of adjustments on handicap & komi with note about scope
- always show probable/calculated game-settings-info for invitations and waitingroom-info
- renamed unit-tests for game-settings: Game_SettingsHelperTest -> GameSettingsTest
- added tests for GameSettings::suggest_proper & suggest_conventional
2013-07-01 juga
* include/game_functions.php (class GameSettingsCalculator, ~.calculate_settings;
class GameSettings, ~.suggest_proper, ~.suggest_conventional, ~.get_game_settings),
include/wroom_control.php (WaitingroomControl.join_waitingroom_game, ~.calculate_offer_settings),
include/message_functions.php (game_settings_form),
include/make_game.php (accept_invite_game),
include/rating.php,
tournaments/include/tournament_rules.php (TournamentRules.prepare_create_game_row),
game_players.php (build_form_change_group_with_handicap):
- refactored calculation of conventional and proper handicap game settings into class GameSettings
in preparation to apply handicap/komi-adjustment only for conventional/proper handicap-type
2013-06-30 juga
* include/message_functions.php (game_settings_form):
- bugfix: for disputes use initial default-komi for non-manual handicap-type
2013-06-29 juga
* game.php:
- bugfix: show game-score-info-box only if game-score calculated for different stages of game
- bugfix: on test-server show game-score-info also for other ruleset if allowed
* include/game_functions.php (GameSetup.set_defaults, ~.build_invitation_diffs;
GameSettingsCalculator.calculate_settings;
GameScore.calculate_score;
build_image_double_game),
include/rulesets.php (class Ruleset, ~.getRulesetText, ~.build_ruleset_filter_array,
~.getRulesetScoring, ~.getRulesetHandicapCompensation, ~.get_default_ruleset),
include/wroom_control.php (WaitingroomControl.join_waitingroom_game, ~.calculate_offer_settings),
include/rating.php (suggest_proper, suggest_conventional),
include/make_game.php (accept_invite_game, create_game),
include/message_functions.php (game_settings_form),
include/utilities.php (add_js_var),
tournaments/include/tournament_rules.php (TournamentRules.prepare_create_game_row),
js/common.js (updateRulesetDefaulKomi),
tournaments/edit_rules.php, tournaments/list_tournaments.php, tournaments/view_tournament.php,
game_players.php (build_form_change_group_with_handicap),
new_game.php (handle_add_game),
game.php, gameinfo.php, message.php show_games.php, status.php, waiting_room.php:
- used default komi 7.5 for chinese-ruleset on conventional and proper handicap-type
- changed used komi in game-settings-form on changing ruleset using JavaScript
- refactored ruleset-related functions into Ruleset-class
2013-06-28 juga
* include/game_functions.php (class GameScore, ~.__construct, ~.calculate_score, ~.recalculate_score,
~.to_string, ~.check_ruleset, ~.draw_score_box;
getRulesetHandicapCompensation),
include/game_actions.php (GameActionHelper.prepare_game_action_score, ~.calculate_game_score),
include/quick/quick_game.php (QuickHandlerGame.process_cmd_status_score),
include/sgf_builder.php (SgfBuilder.build_sgf_result),
include/move.php (GameCheckScore.check_remove),
game.php:
- changed game score-calculation
- changed handicap-compensation for area-scoring from H-1 to full handicap compensation
- refactored handicap-compensation for scoring-mode to depend on ruleset
- determine area or territory scoring-mode from ruleset
- add used ruleset in scoring-info-box on game-page
* include/game_actions.php (GameActionHelper.calculate_game_score),
game.php:
- bugfix: re-add showing of calculated game-score after code-cleanup removed too much code
* scripts/README.developers, INSTALL, README, docs.php:
- merged in and modified changes from axd about installing DGS, working with Git
- see https://sourceforge.net/p/dragongoserver/dgs-main/merge-requests/1/
* include/std_functions.php (make_dragon_main_menu_logged_out, make_dragon_main_menu,
make_menu_horizontal, make_menu_vertical):
- added tooltips for main-menu entries for clarification of the used short-terms
2013-06-24 juga
* include/classlib_userconfig.php (ConfigBoard.load_config_board_or_default),
include/error_codes.php (ErrorCode.init),
include/quick/quick_folder.php,
tournaments/include/tournament_gui_helper.php, tournaments/include/tournament_pool_classes.php,
tournaments/include/tournament_round_helper.php,
scripts/README.developers,
features/list_features.php,
forum/post.php, forum/index.php, forum/list.php, forum/read.php,
tournaments/ladder/challenge.php, tournaments/ladder/view.php,
tournaments/roundrobin/edit_rounds.php,
tournaments/game_admin.php, tournaments/list_participants.php,
tournaments/list_tournaments.php, tournaments/manage_tournament.php,
edit_folders.php, edit_profile.php, edit_shape.php, game.php, game_comments.php,
game_editor.php, goban_editor.php, list_bulletins.php, list_contacts.php, message.php,
message_thread.php, old_goban_editor.php, opponents.php, show_games.php, status.php,
users.php, view_shape.php, waiting_room.php:
- added error-check preventing access on an uninitialized object regarding user-related tables
- added new error-code 'user_init_error' on all pages preventing access on an uninitialized object
of ConfigPages/ConfigTableColumns, which expects consistent user-data in the database
Players-entry <-> ConfigPages-entry
- used default ConfigBoard on pages, if user-data in db is inconsistent:
normal is Players-entry <-> ConfigBoard-entry.
But only use default if particular page does not allow to change the state of ConfigBoard.
- added check for uninitialized objects like loading forum, user, game, tournament, tournament-round
- cleanup: used (int)-cast instead of '+0' for URL-arg safety-checks
- cleanup: minor layout changes
2013-06-17 juga
* tournaments/include/tournament_participant.php (TournamentParticipant.count_tournament_participants,
~.count_all_tournament_participants, ~.delete_cache_tournament_participant_counts),
tournaments/include/tournament_cache.php (TournamentCache.count_cache_tournament_participants,
~.count_cache_all_tournament_participants),
tournaments/include/tournament_properties.php (class TournamentProperties),
tournaments/include/tournament_template_round_robin.php,
tournaments/include/tournament_round_helper.php,
tournaments/include/tournament_status.php,
include/cache_globals.php (CACHE_GRP_TP_COUNT_ALL),
include/config.php,
tournaments/roundrobin/create_pools.php, tournaments/roundrobin/define_pools.php,
tournaments/roundrobin/edit_ranks.php, tournaments/ladder/admin.php,
tournaments/view_tournament.php:
- added caching for counting tournament-participants at required places
- added caching for counting selected and all tournament-participants
- renamed TournamentParticipant::count_[all_]TPs() to TP::count_[all_]tournament_participants()
- renamed TournamentParticipant::delete_cache_tournament_participant_count()
to TP::delete_cache_tournament_participant_counts()
- changed expire-time for tournament-participant counts from 1h to 1d
* forum/forum_functions.php (DisplayForum.draw_post),
forum/read.php (show_revision_history):
- bugfix: don't show "No. X" on forum-posts revision-history
* tournaments/include/tournament_ladder_helper.php (class TournamentLadderHelper),
tournaments/include/tournament_round_helper.php (class TournamentRoundHelper),
tournaments/include/tournament_helper.php (class TournamentHelper),
tournaments/include/tournament_pool.php (class TournamentPool),
tournaments/roundrobin/define_pools.php,
tournaments/roundrobin/edit_pairing.php,
tournaments/roundrobin/edit_pools.php,
tournaments/roundrobin/edit_ranks.php,
tournaments/roundrobin/edit_rounds.php,
tournaments/roundrobin/view_pools.php,
tournaments/ladder/admin.php,
tournaments/cron_tournaments.php:
- refactored ladder and round-robin helper-functions from TournamentHelper into
separate helper-classes TournamentLadderHelper & TournamentRoundHelper
* tournaments/include/tournament_helper.php (class TournamentHelper,
~.process_tournament_game_end, ~.process_tournament_ladder_game_end,
~.process_tournament_round_robin_game_end, ~.process_ladder_rank_period),
tournaments/cron_tournaments.php (run_once_daily, run_hourly),
tournaments/roundrobin/edit_pairing.php:
- refactored TournamentHelper in a solely static helper-class
2013-06-16 juga
* include/std_functions.php (echo_dragon_top_bar, end_page),
skins/dragon/screen.css:
- replace tooltip with DGS-version in top-bar with version-text in bottom-bar
* tournaments/include/tournament_globals.php (TRESULTTYPE_RR_WINNERS),
specs/db/table-Tournaments.txt:
- added tournament-result-type for round-robin in preparation to fill tournament-winners
* tournaments/include/tournament_helper.php,
tournaments/roundrobin/edit_ranks.php,
tournaments/roundrobin/edit_rounds.php,
tournaments/manage_tournament.php (make_links_ttype_specific),
skins/dragon/screen.css:
- started to finalizing tournament-round to prepare for next round or setting tournament winners
- formatting form on tournament-edit-round-page
* tournaments/view_tournament.php:
- moved refresh-link to page-bottom
- copied registration-link to top important links as convenience
* show_games.php:
- don't restrict games-list with default last-moved-date for tournament-games-list
2013-06-13 juga
* tournaments/include/tournament_template_round_robin.php (TournamentTemplateRoundRobin.checkPoolWinners,
~.check_unset_pool_ranks, ~.check_auto_poolwinners, ~.check_minimum_poolwinners),
tournaments/include/tournament_round_status.php (class TournamentRoundStatus; ~.has_warning,
~.get_warnings, ~.check_conditions_round_status_DONE),
tournaments/include/tournament_template_ladder.php (TournamentTemplateLadder.checkPoolWinners),
tournaments/include/tournament_template.php (TournamentTemplateRoundRobin.checkPoolWinners),
include/std_functions.php (buildErrorListString, buildWarnListString),
tournaments/roundrobin/edit_round_status.php:
- added error-checks and additional warning-check for tournament-round status-change PLAY->DONE
- check that all games are processed
- check that there's no unset pool rank
- check that all automatic pool-winner-ranks are set
- warn if there are pool-winners above the automatic pool-winner-ranks
- check that there's at least one pool-winner for each pool
2013-06-05 juga
* include/quick/quick_bulletin.php (class QuickHandlerBulletin, ~.parseURL, ~.prepare,
~.process, ~.process_cmd_list, ~.fill_bulletin_info),
include/db/bulletin.php (Bulletin.load_bulletin),
specs/quick_suite.txt:
- implemented quick-do-handler info-command for bulletin-object.
2013-06-01 juga
* scripts/README.developers, specs/tournaments.txt, skins/dragon/screen.css,
docs.php, index.php, snapshot.php, INSTALL, .gitignore:
- adjustments to reflect changes caused by CVS-to-Git migration
- adjusted comments on snapshot-page to export Dragon-snapshots from Git
- added code-browsing link for Git, adjusted text for old CVS code-browsing
- replaced texts about CVS with the more general term of SCM (source control management)
- replaced CVS-HEAD with (Git-)master terminology
* images/, images/flags/, 5/, 7/, 9/, 11/, 13/, 17/, 21/, 25/, 29/, 35/, 42/, 50/:
- put all images under version-control
* all files:
- migrated CVS-repository to GIT-repository:
- see http://sourceforge.net/p/dragongoserver/dgs-main
- git clone ssh://USERNAME@git.code.sf.net/p/dragongoserver/dgs-main LOCAL-DIR
- replaced .cvsignore files with single .gitignore file
2013-05-26 juga
* all files,
scripts/README.developers:
- adjusted code-style:
- for 'require/require_once/include/include_once': use without braces and '..' if const-string
- for 'return/if/elseif/for/foreach/while/do/switch': with space after keyword
* game_comments.php:
- bugfix: show hidden game-comments in multi-player-games only for comment-author
2013-05-21 juga
* tournaments/include/tournament_round_status.php (TournamentRoundStatus.check_round_status_change,
~.check_conditions_round_status_POOL, ~.check_conditions_round_status_PAIR,
~.check_conditions_round_status_PLAY, ~.check_conditions_round_status_DONE,
~.check_expected_round_round_status, ~.check_action_round_status, ~.check_edit_round_status),
tournaments/include/tournament_status.php (TournamentStatus.check_status_change,
~.check_conditions_status_REG, ~.check_conditions_status_PAIR, ~.check_conditions_status_PLAY,
~.check_conditions_status_CLOSED, ~.check_expected_status, ~.check_action_status),
tournaments/include/tournament_participant.php (TournamentParticipant.count_TPs, ~.count_all_TPs,
~.load_tournament_participants_registered, ~.load_registered_users_in_seedorder),
tournaments/include/tournament_pool.php (TournamentPool.load_tournament_participants_with_pools,
~.seed_pools, ~.add_missing_registered_users),
tournaments/include/tournament_helper.php (TournamentHelper.start_tournament_round_games,
~.remove_tournament_round, ~.set_tournament_round),
tournaments/include/tournament_template_round_robin.php (TournamentTemplateRoundRobin.checkProperties,
~.calcTournamentMinParticipants),
tournaments/include/tournament_properties.php (TournamentProperties.getMaxParticipants,
~.checkUserRegistration),
tournaments/include/tournament_round.php (class TournamentRound, ~.check_properties,
~.authorise_set_tround),
tournaments/include/tournament_ladder.php (TournamentLadder.seed_ladder),
tournaments/include/tournament.php (class Tournament, ~.formatRound),
tournaments/include/tournament_template_ladder.php, tournaments/include/tournament_template.php,
tournaments/include/tournament_globals.php, tournaments/include/tournament_cache.php,
include/gui_functions.php (echo_image_tourney_pool_winner),
include/utilities.php (build_text_list),
scripts/updates/database_changes_1_0_15_to_1_0_16.mysql,
specs/db/table-Tournaments.txt, specs/db/dragon-ddl.sql,
specs/tournaments.txt, skins/dragon/screen.css,
tournaments/roundrobin/create_pools.php, tournaments/roundrobin/define_pools.php,
tournaments/roundrobin/edit_pairing.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/view_tournament.php (make_table_tournament_participant_counts),
tournaments/edit_participant.php, tournaments/register.php,
tournaments/ladder/admin.php:
- round-robin-tournament:
- added handling of tournament-participants start-round,
differ between handling of StartRound from registration and NextRound from pool-win
- check on change of tournament-status:
generalized check for all tournament-types done in TournamentStatus-class,
specialized check for done in specific tournament-type TournamentTemplate-implementation
- added checks on max-participants for higher start-rounds
- added checks to allow change of current tournament-round
- allow editing of round-stuff only for specific tournament-status
- started handling of pool-winners to advance to next round or mark for final result
- added consistency-checks and fixed displaying-bug on pairing to start tournament-games
- added checks of current tournament-status on changes of tournament-round-status
- view-tournament-page: show count of tournament-participant for all rounds and all TP-stati
- various bug-fixes & code cleanup:
- refactored building of text-list calling function on list-items
- renamed some function into more meaningful names
- removed unused code, refactored redundant code
- added comments
-----------
-- added index for checking tournament-participant-registrations
ALTER TABLE TournamentParticipant
ADD INDEX tidStartRound (tid,StartRound) ;
-----------
* INSTALL:
- clarified how to get help and how to create admin-user
2013-05-09 juga
* include/game_actions.php (GameActionHelper.prepare_game_action_score):
- bugfix for quick-game-handler: added check for agree=1 on 1st players scoring
2013-05-04 juga
* tournaments/include/tournament_round.php (class TournamentRound, ~.fillEntityData,
~.check_properties, ~.build_notes_props, ~.new_from_row),
tournaments/include/tournament_pool.php (TournamentPool.update_tournament_pool_set_pool_winners),
tournaments/include/tournament_helper.php (TournamentHelper.fill_pool_winners_tournament_pool),
tournaments/include/types/dgs_round_robin.php (DgsRoundRobinTournament.createTournament),
tournaments/include/tournament_globals.php (RKACT_SET_POOL_WIN, RKACT_CLEAR_POOL_WIN),
tournaments/include/tournament_pool_classes.php (RankSummary.build_notes),
include/gui_functions.php (echo_image_tourney_pool_winner),
scripts/updates/database_changes_1_0_15_to_1_0_16.mysql,
specs/db/dragon-ddl.sql, specs/db/table-Tournaments.txt,
tournaments/manage_tournament.php (make_links_ttype_specific),
tournaments/roundrobin/edit_ranks.php (parse_edit_form),
tournaments/roundrobin/edit_round_props.php (parse_edit_form),
tournaments/roundrobin/edit_rounds.php, tournaments/roundrobin/view_pools.php:
- added tournament-round-property PoolWinnerRanks to configure number of top ranks
making pool-winners to either advance to next round or win the tournament
- added action in edit-ranks-page to set-pool-winners for finished pools
- clarified "next-round" term replacing it with "pool-winner",
which can mean advancing to next-round as well as marking for final result
-----------
-- added number of top ranks for pool winners
ALTER TABLE TournamentRound
ADD PoolWinnerRanks tinyint unsigned NOT NULL DEFAULT '0' AFTER MaxPoolCount ;
-----------
2013-04-29 juga
* include/page_functions.php (PAGEFLAG_IMPLICIT_FLUSH, PAGEFLAG_NO_BUFFERING;
class HTMLPage; class Page),
tournaments/include/tournament_helper.php (TournamentHelper.start_tournament_round_games),
include/error_functions.php (DgsErrors.dump_exit),
include/std_functions.php (start_html, end_html),
scripts/experiments/flush_test.php, scripts/experiments/activity_players.php,
scripts/updates/fix_default_max_handi-1_0_16.php,
scripts/updates/fix_game_comments-1_0_15.php,
scripts/updates/fix_message_thread-1_0_15.php,
scripts/updates/fix_new_game_expert_view-1_0_16.php,
scripts/check_players_email.php, scripts/fix_game_snapshot.php,
scripts/fix_games_timeleft.php, scripts/player_consistency.php,
tournaments/roundrobin/edit_pairing.php,
goodies/index.php, docs.php, faq.php, index.php, introduction.php, news.php,
policy.php, rank_converter.php:
- fix flushing of output using implicit-flush without output-buffering
2013-04-28 juga
* tournaments/include/tournament_factory.php (TournamentFactory.getTournamentTypes),
include/config.php (ALLOW_TOURNAMENTS):
- changed server-config ALLOW_TOURNAMENTS from boolean to regex listing allowed tournament-types
* tournaments/view_tournament.php:
- bugfix: don't show user-result-state for user in unassigned-pool
* tournaments/include/tournament_pool.php (TournamentPool.formatRank):
- bugfix: allow to show other value for empty pool-rank
* tournaments/include/tournament_template.php (class TournamentTemplate,
~.build_tournament_template_title),
tournaments/include/tournament_template_round_robin.php (class TournamentTemplateRoundRobin),
tournaments/include/tournament_template_ladder.php (class TournamentTemplateLadder),
tournaments/include/types/dgs_round_robin.php (class DgsRoundRobinTournament),
tournaments/include/types/private_ladder.php (class PrivateLadderTournament),
tournaments/include/types/public_ladder.php (class PublicLadderTournament),
tournaments/include/types/dgs_ladder.php (class DgsLadderTournament):
- cleanup: refactored building of template-title into base-class
- reduced max ladder-challenges/defenses from 10 -> 8 for private/public ladders
* scripts/tournament_consistency.php (tid_clause, fix_tournament_RegisteredTP):
- overworked and extended consistency-checks
- allow to check specific or all tournaments
- added checks for TournamentParticipant.Finished/Won/Lost
- added checks for TournamentLadder.ChallengesIn/Out for ladder-tourneys
2013-04-26 juga
* scripts/player_consistency.php (echo_query, explain_query, cnt_diff),
scripts/updates/other_changes_1_0_15_to_1_0_16.txt:
- added consistency-checks/fixes on Players-table for multi-player-games
2013-04-23 juga
* include/game_actions.php (class GameActionHelper),
game.php:
- bugfix for previous refactoring: missed $score_mode argument on calculating game-score
2013-04-22 juga
* include/game_actions.php (class GameActionHelper, ~.init_query, ~.set_game_move_message,
~.prepare_game_action_set_handicap, ~.prepare_game_action_do_move,
~.prepare_game_action_pass, ~.prepare_game_action_resign, ~.prepare_game_action_score,
~.prepare_game_action_generic, ~.update_game):
- cleanup: refactored using UpdateQuery-class for building SQL-updates/inserts
2013-04-19 juga
* include/game_actions.php (class GameActionHelper, ~.set_game_action, ~.load_game,
~.init_globals, ~.load_game_board, ~.init_query, ~.increase_moves, ~.get_moves,
~.calculate_game_score),
include/quick/quick_game.php (class QuickHandlerGame, ~.prepare, ~.process_cmd_play),
confirm.php, game.php, quick_play.php:
- cleanup: refactored redundant code from confirm-page/quick_play-page/quick-do-game-handler
- step #7: refactored handling for loading-game, loading-board, setting to-move/next-to-move,
handling GameFlags
- step #8: removed globals in functions replacing by access to class-attributes/funcs
- step #9: refactored handling of score-calculation for game-page
- bugfix for quick-game-handler: corrected to_move on resign-if-not-your-turn,
it was possible to win by own resignation
2013-04-18 juga
* include/game_actions.php (class GameActionHelper, ~.set_game_finished, ~.init_query,
~.init_mp_query, ~.set_game_move_message),
include/quick/quick_game.php (QuickHandlerGame.process_cmd_play),
confirm.php, quick_play.php:
- cleanup: refactored redundant code from confirm-page/quick_play-page/quick-do-game-handler
- step #6: refactored handling for MPG, time, message, game-finish, score
2013-04-17 juga
* include/game_actions.php (class GameActionHelper, ~.init_query,
~.prepare_game_action_set_handicap, ~.prepare_game_action_do_move,
~.prepare_game_action_pass, ~.prepare_game_action_resign,
~.prepare_game_action_generic, ~.prepare_game_action_score, ~.update_game)
include/quick/quick_game.php (QuickHandlerGame.prepare, ~.process_cmd_play,
~.convert_game_cmd_to_action),
include/board.php (Board.draw_board),
include/globals.php (GAMEACT_...),
confirm.php, game.php, quick_play.php:
- cleanup: refactored redundant code from game-page/confirm-page/quick_play-page/quick-do-game-handler
for moving and other game-actions into new class GameActionHelper
- step #1: refactored update-game query-code
- step #2: refactored "pass"-move-code + generically handled MPG/time/message-query-part
- step #3: refactored "set_handicap"-move-code
- step #4: refactored "domove"-move-code
- step #5: refactored "done"-scoring-code
- bugfix: check for empty move-id for quick-game-handler
* include/game_functions.php (class DefaultMaxHandicap, ~.calc_def_max_handicap,
~.limit_max_handicap, ~.limit_min_max_with_def_handicap, ~.build_text_handicap_limits;
adjust_handicap),
tournaments/include/tournament_rules.php (TournamentRules.convertTournamentRules_to_GameRow,
~.convertTournamentRules_to_EditForm, ~.convertEditForm_to_TournamentRules),
include/message_functions.php (game_settings_form, build_adjust_handicap),
include/make_game.php (make_invite_game_setup),
scripts/tests/DefaultMaxHandicapTest.php, scripts/tests/Game_SettingsHelperTest.php,
scripts/tests/AllTests.php, scripts/updates/fix_default_max_handi-1_0_16.php,
tournaments/view_tournament.php, new_game.php:
- cleanup: refactored redundant code to handle default-max-handicap
into new class DefaultMaxHandicap
2013-04-16 juga
* ALL php-files,
include/db/*.php, include/quick/*.php, include/*.php,
code_examples/*.php, features/*.php, forum/*.php, scripts/*.php,
tournaments/include/types/*.php, tournaments/include/*.php,
tournaments/ladder/*.php, tournaments/roundrobin/*.php, tournaments/*.php,
rss/status.php, wap/status.php, *.php:
- cleanup:
- fix wrong PHP-statements
- replace PHP4-constructors with PHP5-__constructor()-function
- added public/protected/private + static modifiers for class-functions,
tried to identify private attributes as such, used public only if attribute is already public
- replaced class-own-static reference to self::func
- moved default-value for class-attributes from constructor into attribute-declaration
- used abstract-modifier for classes and functions instead of throwing error()
- moved some global vars related to class as static declaration to class or function
- avoid public class-attributes if used sparsely
- moved some global funcs into classes
- adjusted some error-labels
- removed unused or double code
- clarified some function/var-names
- clarified some comments/docs
- layouting
- fixed some smaller bugfixes during cleanup (SQL, misspelling, minor bad code-smells)
2013-04-14 juga
* forum/forum_functions.php, include/classlib_user.php, include/classlib_userconfig.php,
include/filter.php, include/game_functions.php, include/goban_handler_dgsgame.php,
include/std_classes.php, include/std_functions.php, include/table_columns.php,
include/db/bulletin.php, include/db/ratingchangeadmin.php, include/db/ratinglog.php,
include/db/shape.php, include/db/survey.php, include/db/waitingroom.php,
scripts/tests/EntityTest.php, tournaments/include/tournament_director.php,
tournaments/include/tournament_ladder.php, tournaments/include/tournament_news.php,
tournaments/include/tournament_participant.php, tournaments/include/tournament_pool.php,
tournaments/include/tournament_properties.php, tournaments/include/tournament_round_status.php,
tournaments/include/tournament_status.php, tournaments/include/tournament_template_ladder.php,
tournaments/include/tournament_template_round_robin.php:
- cleanup: replaced is_a() -> instanceof
2013-04-13 juga
* include/game_functions.php (GameSetup.set_defaults;
GameSetupBuilder.build_url_game_basics;
GameScore.calculate_score;
getRulesetText, get_default_ruleset),
tournaments/include/tournament_rules.php (TournamentRules.setRuleset,
~.convertEditForm_to_TournamentRules),
include/make_game.php (make_invite_game_setup, create_game),
include/message_functions.php (game_settings_form),
include/config.php (WROOM_MAX_ENTRIES, ALLOWED_RULESETS),
include/db/waitingroom.php (Waitingroom.setRuleset),
include/db/games.php (Games.setRuleset),
game.php, new_game.php:
- enabled DGS-Chinese ruleset using area-scoring:
- allow to configure available rulesets in server-config
- extracting default ruleset from server-config
- game-page: detailed text about area-scoring on passing
- moved max. number of waiting-room-entries to server-config-file
* site_map.php, waiting_room.php:
- re-added new-game-link in waiting-room
* tournaments/include/tournament_log_helper.php (TournamentLogHelper.log_create_tournament_director,
~.log_tp_registration_by_director, ~.log_tp_registration_by_user, ~.log_delete_tournament_ladder,
~.log_seed_tournament_ladder, ~.log_delete_user_from_tournament_ladder,
~.log_crown_king_tournament_ladder, ~.log_change_rank_tournament_ladder,
~.log_add_user_tournament_ladder),
tournaments/include/tournament_ladder.php (TournamentLadder.remove_user_from_ladder,
~.change_user_rank, ~.add_user_to_ladder, ~._process_game_end, ~.process_user_absence),
tournaments/include/tournament_helper.php (TournamentHelper.process_tournament_ladder_crown_king),
tournaments/include/tournament_log.php (TLOG_ACT_ADD, TLOG_ACT_SEED, TLOG_ACT_SET),
tournaments/ladder/admin.php, tournaments/ladder/retreat.php, tournaments/ladder/view.php,
tournaments/cron_tournaments.php (run_hourly),
tournaments/edit_participant.php, tournaments/register.php:
- added tournament-log for
- adding existing tournament-participant to ladder on joining or after incomplete removal
- removing user from ladder by retreat / director-removal / user-absence-handling
- seeding or deleting ladder on tournament PAIR-status
- changing ladder user-rank
- crowning-king for ladder-tournament by director or CRON
- removed double tournament-log for retreating from ladder, already covered by user-removal
* tournaments/include/tournament_gui_helper.php (TournamentGuiHelper.build_tournament_ladder_standings):
- bugfix: check for presence of optional table-column for tournament-rating
2013-04-12 juga
* tournaments/include/tournament_helper.php (TournamentHelper.process_tournament_ladder_game_end),
tournaments/include/tournament_log_helper.php (TournamentLogHelper.log_tournament_ladder_game_end),
tournaments/include/tournament_log.php (class Tournamentlog, ~.new_from_row),
tournaments/cron_tournaments.php,
tournaments/show_tournament_log.php:
- added tournament-log for processing game-end for ladder-tournament
- added filter on Tournamentlog.Type showing tournament-log
* tournaments/include/tournament_log_helper.php (TournamentLogHelper.log_change_tournament_ladder_props),
tournaments/ladder/edit_props.php:
- added tournament-log for editing tournament-ladder-properties
* tournaments/include/tournament_log_helper.php (TournamentLogHelper.log_tournament_ladder_challenge_user),
tournaments/include/tournament_ladder.php (TournamentLadder.build_log_string),
tournaments/include/tournament_log.php (TLOG_ACT_START),
tournaments/ladder/challenge.php:
- added tournament-log for tournament-ladder user-challenge
* tournaments/include/tournament_log_helper.php (TournamentLogHelper.log_retreat_from_tournament_ladder),
tournaments/include/tournament_ladder.php (TournamentLadder.build_log_string),
tournaments/ladder/retreat.php,
tournaments/show_tournament_log.php:
- added tournament-log for user retreating from ladder
* game.php (draw_add_time):
- show arrow-image on player to move
2013-04-11 juga
* include/game_functions.php (GameSetupChecker. add_default_values_info, ~.check_time,
~.check_adjust_komi):
- bugfix: check for invalid japanese-byo-yomi extra-periods and canadian-byo-yomi stones
- bugfix: check adjust-komi value also for invitation
* include/message_functions.php (interpret_time_limit_forms):
- bugfix: use defaults for invalid japanese-byo-yomi extra-periods and canadian-byo-yomi stones
* tournaments/include/tournament_log_helper.php (TournamentLogHelper.log_change_tournament_rules),
tournaments/edit_rules.php:
- added tournament-log for changing tournament-rules
- bugfix: check for invalid japanese-byo-yomi extra-periods and canadian-byo-yomi stones
* tournaments/include/tournament_rules.php (TournamentRules.convertTournamentRules_to_EditForm,
~.convertEditForm_to_TournamentRules):
- bugfix: always init time-values for all byo-yomi-types to parse all fields
in parsing-section of 'edit_rules.php'
- bugfix: remove shape-snapshot if shape-id is 0
2013-04-10 juga
* tournaments/include/tournament_log_helper.php (TournamentLogHelper.log_change_tournament,
~.log_change_tournament_news, ~.log_change_tournament_props),
tournaments/edit_properties.php:
- added tournament-log for changing tournament-registration-properties
- bugfix: for tournament-log check for an unset date
* tournaments/include/tournament_log_helper.php (TournamentLogHelper.log_change_tournament_news),
tournaments/edit_news.php:
- added tournament-log for creating and changing tournament-news
* tournaments/include/tournament_log_helper.php (class TournamentLogHelper,
~.log_change_tournament_director, ~.build_diff_tournament_participant,
~.log_change_tournament),
tournaments/edit_tournament.php:
- added tournament-log for editing tournament
* include/table_columns.php (Table.make_sort_images):
- bugfix: need check for unset arr-element
* tournaments/include/tournament_ladder.php (TournamentLadder.remove_user_from_ladder):
- bugfix: missed locking of nested read-access to db-tables TournamentParticipant & Players
* tournaments/include/tournament_log_helper.php (TournamentLogHelper.build_diff_tournament_participant,
~.log_change_tp_registration_by_director, ~.log_tp_registration_by_user,
~.log_change_tp_registration_by_user),
tournaments/edit_participant.php,
tournaments/register.php:
- added tournament-registration actions in tournament-log by user to register / apply /
ack-invite / reject-invite / remove registration
- changed tournament-log diff-format for change of tournament-participant by director
* include/quick/quick_game_notes.php (QuickHandlerGameNotes.prepare),
include/game_functions.php (GameHelper.update_game_notes):
- bugfix: use default non-hidden for Hidden-state on saving game-notes
2013-04-08 juga
* tournaments/include/tournament_participant.php (TournamentParticipant.assert_tournament_participant,
~.build_log_string, ~.delete_tournament_participant),
tournaments/include/tournament_log_helper.php (TournamentLogHelper.log_tp_registration_by_director),
tournaments/edit_participant.php:
- added tournament-log for actions by T-director to register / invite / edit-registration /
delete of user
- bugfix: don't assert user-id on removal of registration of tourney-user
2013-04-05 juga
* include/quick/quick_message.php (QuickHandlerMessage.process_cmd_info):
- bugfix for previous refactoring: missed local var that have been refactored away
2013-04-02 juga
* tournaments/include/tournament_ladder_props.php (class TournamentLadderProps,
~.setDetermineChallenger, ~.fillEntityData, ~.build_notes_props, ~.calc_game_end_action,
~.new_from_row),
tournaments/include/tournament_helper.php (TournamentHelper.process_tournament_ladder_game_end),
tournaments/include/tournament_ladder.php (TournamentLadder.process_game_end),
tournaments/include/tournament_games.php (TournamentGames.getFlagsText),
tournaments/include/tournament_globals.php,
scripts/updates/database_changes_1_0_15_to_1_0_16.mysql,
specs/db/dragon-ddl.sql, specs/db/table-Tournaments.txt,
tournaments/ladder/edit_props.php (parse_edit_form):
- ladder-tournament: added ladder-property to determine challenger-role at game-start or game-end
-----------
-- determine challenger-role at game-start or game-end
ALTER TABLE TournamentLadderProps
ADD DetermineChallenger enum('GAME_START','GAME_END') NOT NULL default 'GAME_END' AFTER MaxChallenges ;
-----------
* tournaments/ladder/challenge.php:
- bugfix: missed changed func-signature of echo_off_time() to fix: weekend-clock-icon
was always shown on weekend independent from game-WeekendClock-setting
2013-04-01 juga
* include/message_functions.php (MessageControl.handle_send_message),
include/globals.php (MOVEMSG_REPLY_TO_MAIN_FOLDER),
include/std_functions.php (send_message):
- bugfix: move normal message on replying from Reply to Main-folder,
if no manual target folder selected
2013-03-31 juga
* include/quick/quick_message_list.php (class QuickHandlerMessageList, ~.canHandle,
~.parseURL, ~.prepare, ~.prepare_filter_answers, ~.prepare_filter_folders,
~.check_allow_limit_all, ~.collect_msg_users, ~.process),
include/message_functions.php (build_folders_all_received; DgsMessage.load_message,
~.build_message_base_query),
include/quick/quick_message.php (class QuickMessage, ~.process_cmd_info, ~.fill_message_info),
include/quick/quick_suite.php (QuickSuite.getQuickHandler),
specs/quick_suite.txt, list_messages.php:
- quick-handler message-object: added 'list'-command with own quick-handler
- cleanup: added function-modifiers
2013-03-26 juga
* include/quick/quick_message.php (QuickHandlerMessage.process_cmd_info),
include/quick/quick_wroom.php (QuickHandlerWaitingroom.fill_wroom_object),
specs/quick_suite.txt:
- quick-message info-handler: added handicap- and komi-adjustments
- quick-waiting-room info-handler: re-arranged handicap- and komi-adjustments
to match with invitation-info
* include/board.php (Board.mark_territory):
- bugfix: wrong count of visited points for seki-mark-check to find non-toggable-points
2013-03-25 juga
* include/game_functions.php (FairKomiNegotiation.echo_fairkomi_table;
GameSetup.set_defaults, ~.encode, ~.to_string, ~.format_handicap_type,
~.new_from_game_setup, ~.parse_invitation_game_setup, ~.build_invitation_diffs;
GameSetupChecker.check_komi, ~.check_time, ~.check_adjust_komi, ~.check_min_rated_games,
~.check_wroom_count;
GameSetupBuilder.fill_invite_from_game_setup, ~.fill_new_game_from_game,
~.fill_new_game_from_game_setup, ~.build_url_adjustments;
class GameSettingsCalculator, ~.calculate_settings;
adjust_handicap, calc_def_max_handicap, get_gamesettings_viewmode,
append_form_add_waiting_room_game, build_arr_handicap_stones),
include/message_functions.php (game_settings_form, game_info_table, build_adjust_komi,
build_adjust_handicap),
include/wroom_control.php (WaitingroomOffer.calculate_offer_settings),
include/make_game.php (make_invite_game_setup, create_game),
include/game_texts.php (GameTexts.get_jigo_modes),
include/std_functions.php (DEFAULT_MAX_HANDICAP),
include/globals.php (GSETVIEW_STANDARD),
tournaments/include/tournament_rules.php (TournamentRules.convertTournamentRules_to_GameRow,
~.convertTournamentRules_to_EditForm, ~.convertEditForm_to_TournamentRules),
tournaments/edit_rules.php (parse_edit_form),
tournaments/view_tournament.php (echo_tournament_rules),
scripts/updates/fix_default_max_handi-1_0_16.php (_echo, load_games_gamesetup,
load_profiles_gamesetup, handle_games_gamesetup, fix_game_invite_dispute,
fix_game_finished_running, handle_profiles_gamesetup, fix_profile,
handle_waiting_room_gamesetup, handle_tournament_rules_gamesetup),
scripts/updates/fix_new_game_expert_view-1_0_16.php (_echo,
load_profile_templates_new_game_expert_view),
scripts/updates/database_changes_1_0_15_to_1_0_16.mysql,
scripts/tests/Game_SettingsHelperTest.php,
specs/db/dragon-ddl.sql,
specs/db/table-Games.txt, specs/db/table-Tournaments.txt, specs/db/table-Waitingroom.txt,
specs/quick_suite.txt, scripts/index.php,
game_players.php (build_form_change_group, build_tableinfo_handicap_suggestion,
use_handicap_suggestion),
new_game.php (handle_add_game),
gameinfo.php, message.php, site_map.php, waiting_room.php:
- replaced default for max-handicap from former 21 to board-size-dependent max-handicap
- selecting "default" for max-handicap will limit the handicap-stones used to start-games
to a calculated max-default
- formula used to calculate default max-handicap discussed in DGS-forums:
round( 7.5 * ( handicapfactor($size) + 0.2 ) )
- added handicap- and komi-adjustments to invitation and tournament-rules as well
- merged jigo-check setting for fair-komi with and into jigo-mode setting of adjust-komi section
- adjust GameSetup-encoding to store handicap- and komi-adjustments
for all new-game views, invitations including their profiles
- added migration-script to fix MaxHandicap from old max-handicap-value to default-max-handicap
for running & finished games, invitation and new-game profiles, waiting-room and
tournament-rules entries
- merged simple and expert new-game view into one standard-view shown as default-view
- previous release 1.0.15 introduced splitted views because of MPG/fair-komi views
- reverting simple/expert-view split from previous release for easier support of handicap-
and komi-adjustments, and also to encourage users to use new expert-settings
- added migration-script to fix merge new-game expert-view with former simple-view
into merged standard-view for new-game profiles
- cleanup (minor changes, finer checks)
- bugfix for game-info-table: show shape-game info for tournament-ladders
- bugfix: open fair-komi invitation-template in fair-komi-new-game view
-----------
-- added default max-handicap
ALTER TABLE Waitingroom
MODIFY MaxHandicap tinyint signed NOT NULL default -1 ;
ALTER TABLE TournamentRules
MODIFY MaxHandicap tinyint signed NOT NULL default -1 ;
-- execute fix-script (with do_it=1) to merge new-game expert-view with standard-view:
-- IMPORTANT NOTE: run only ONCE!
-- 'scripts/updates/fix_default_max_handi-1_0_16.php'
-- execute fix-script (with do_it=1) to merge new-game expert-view with standard-view:
-- IMPORTANT NOTE: execute script 'fix_default_max_handi-1_0_16.php' before this one!!
-- 'scripts/updates/fix_new_game_expert_view-1_0_16.php'
-----------
2013-03-15 juga
* include/make_translationfiles.php (translation_query),
translate.php:
- added selectbox to allow to search for translated-texts only,
changed 'untranslated'-checkbox to select-box including Untranslated/Translated/All-texts
* translate.php:
- added full page-navigation with jump to first/last-page and info with current/max-page
* include/std_functions.php (echo_dragon_top_bar):
- added server-version as tooltip in top-bar on DGS-link
* include/game_functions.php (GameNotify.get_text_game_deleted),
game_players.php (build_form_delete_game, delete_game_setup),
specs/multi-player-game.txt:
- added deletion of MP-game on SETUP-status, but only by game-master,
notify other players about deletion
* include/time_functions.php (is_weekend_clock_stopped),
include/gui_functions.php (echo_off_time),
game.php, gameinfo.php:
- bugfix: weekend-clock-icon was always shown on weekend independent from
game-WeekendClock-setting
* new_game.php:
- bugfix: jump to my-waiting-room-games after creation of new game-offer
* include/classlib_profile.php (class SearchProfile, ~.get_arg, ~.handle_action, ~.to_string),
include/globals.php (SP_ARG_NO_DEF, SPURL_NO_DEF),
include/std_functions.php (make_dragon_main_menu),
features/edit_feature.php, features/list_features.php,
features/list_votes.php, features/vote_feature.php,
waiting_room.php (load_waitingroom_info),
list_shapes.php, site_map.php:
- bugfixes:
- fixed profile-handling to not use default-profile on showing "Info" or
normal "Search" preserving current filter-values
- fixed showing multi-player-game wroom-entry for correct my|all-view
- reverted change to add arg-overwriting with additional URL-arg SPURI_ARGS
- added option for profile-handling to forbid loading default-profile
2013-03-08 juga
* ratingpng.php (get_rating_data):
- rating-graph: use 1st rated game as start-time instead of register-date (fallback)
* translate.php:
- translating: sort languages for selectbox
* scripts/sql_game_export.php (export_game):
- bugfix: handle empty GamePlayers-list
* tournaments/roundrobin/view_pools.php (build_pool_notes):
- typo translation-text
2013-01-30 juga
* include/game_functions.php ($MAP_ACTBY_SUBJECT;
GameFinalizer.finish_game, ~.get_text_game_deleted, ~.get_text_game_result;
NextGameOrder.build_status_games_query),
specs/quick_suite.txt,
admin_game.php:
- add user-id and name of author of message in game-deletion and game-finalization message
- bugfix for quick-status: convert integer next-game-order into enum for loading
and sorting by manual given order
* include/game_functions.php (NextGameOrder.build_status_games_query):
- bugfix for quick-status: convert integer next-game-order into enum
for loading and sorting by manual given order
* robots.txt:
- added Crawl-delay 5s
2013-01-13 juga
* game.php, manage_sgf.php:
- added notes with warning about SGF-download
- fix download-URL
2013-01-12 juga
* manage_sgf.php:
- added bottom-link to download SGF WITHOUT any comments
* waiting_room.php:
- bugfix: wrong call-args to WaitingroomControl::build_waiting_room_query()
* include/quick/quick_wroom.php (QuickHandlerWaitingroom.prepare),
specs/quick_suite.txt:
- bugfix: added correct default order for waiting-room
- sync'ed suitable-filter with waiting-room behavior by adding my-waiting-games
with filter_suitable=2, and by filtering out own waiting-games for all and suitable filter
2013-01-11 juga
* manage_sgf.php:
- added "normal" SGF-download bottom-links to ease reviewing
* include/game_sgf_control.php (GameSgfControl.prepare_verify_game_sgf):
- bugfix: verify of SGFs with handicap-setup failed, so treat handicap-stones like shape-setup
* include/game_sgf_control.php (GameSgfControl. delete_game_sgf, ~.save_game_sgf,
~.verify_game_sgf, ~.count_cache_game_sgfs, ~.delete_cache_game_sgfs_count),
include/cache_globals.php (CACHE_GRP_GAMESGF_COUNT, $ARR_CACHE_GROUP_NAMES,
$ARR_CACHE_GROUP_CLEANUP),
include/config.php ($DGS_CACHE_GROUPS),
specs/caching.txt, game.php:
- use caching to count attached-SGFs on game-page
- invalidate cache on changing 'AttachedSgf'-game-flags indicator,
that is on saving or deleting SGF
* include/game_sgf_control.php (GameSgfControl.delete_game_sgf, ~.save_game_sgf),
include/db/games.php (Games.parseFlags, ~.buildFlags, ~.update_game_flags),
include/quick/quick_game_info.php (QuickHandlerGameInfo.convertGameFlags),
include/gui_functions.php (echo_image_game_sgf),
include/globals.php (GAMEFLAGS_ATTACHED_SGF),
scripts/updates/database_changes_1_0_15_to_1_0_16.mysql,
specs/db/dragon-ddl.sql, specs/db/table-Games.txt, specs/quick_suite.txt,
game.php, show_games.php, site_map.php:
- added new column and search-filter for all game-lists for games with attached-SGFs
- maintain Games.Flags 'AttachedSgf' as indicator if game has attached SGF
- optimize game-page checking for attached-SGFs only if according game-flag set
- added special link in site-map to search for all finished games
with attached SGFs without game-list end-date-restriction
- refactored printing SGF-icon into echo_image_game_sgf()-function
-----------
-- added 'AttachedSgf'-flag as indicator for the presence of SGFs for game
ALTER TABLE Games
MODIFY Flags set('Ko','HiddenMsg','AdmResult','TGDetached','AttachedSgf') NOT NULL default '' ;
-----------
2013-01-10 juga
* include/game_sgf_control.php,
game.php, manage_sgf.php:
- allow attaching SGFs also to running game
* include/game_functions.php (GameHelper._delete_base_game_tables):
- delete GameSgf-table-entries on game-deletion
* include/sgf_parser.php (sgf_parser, sgf_parse_node, sgf_parse_args, get_handicap_pattern;
class SgfParser, ~.might_be_sgf),
include/game_sgf_control.php (GameSgfControl, ~.save_game_sgf, ~.verify_game_sgf,
~.prepare_verify_game_sgf),
include/board.php (class Board, ~.init_board, ~.load_from_db),
manage_sgf.php:
- parses, checks SGF and verifies that game from parsed SGF matches game in database
- parses and check for correct SGF-format
- verify for same board-size, handicap, komi, shape-setup and first 25 moves
- added translatable texts for parsing SGF
* include/quick/quick_game_notes.php (class QuickHandlerGameNotes, ~.canHandle,
~.parseURL, ~.prepare, ~.process),
include/quick/quick_game_info.php (class QuickHandlerGameInfo, ~.prepare,
~.process, ~.fill_game_info),
include/quick/quick_suite.php (QuickSuite.getQuickHandler),
specs/quick_suite.txt:
- added quick-commands for game-object: save_notes, hide_notes, show_notes
- refactored game-notes 'get_notes'-commands into separate class QuickHandlerGameNotes
- quick-game-info: return full game-notes instead of length-stripped notes
* include/game_sgf_control.php (GameSgfControl.delete_game_sgf, ~.save_game_sgf),
include/globals.php (CSS_VERSION),
skins/dragon/screen.css,
manage_sgf.php:
- ask for confirmation on removing own SGF
- added 'Refresh'-bottom-link to refresh page
- bugfix: check if file-read was successful for saving SGF
* include/db/game_sgf.php (class GameSgf, ~.to_string, ~.persist, ~.insert, ~.update, ~.delete,
~.fillEntityData, ~.build_query_sql, ~.new_from_row, ~.load_game_sgf, ~.load_game_sgfs,
~.count_game_sgfs),
include/game_sgf_control.php (class GameSgfControl, ~.delete_game_sgf, ~.save_game_sgf,
~.download_game_sgf),
scripts/updates/database_changes_1_0_15_to_1_0_16.mysql,
scripts/updates/other_changes_1_0_15_to_1_0_16.txt,
specs/db/table-Games.txt, specs/db/dragon-ddl.sql,
game.php, manage_sgf.php, people.php, site_map.php:
- allow to upload SGFs for finished games
- added manage-sgf page to add, update, delete and download SGFs
- allow one SGF per game and user
- max. upload file-size 100KB
- game-page shows new sgf-icon if there are attached SGFs to download
- show 'Attach SGF' bottom-link on game-page for finished games
-----------
-- added table to store attached SGFs for games
CREATE TABLE GameSgf (
gid int NOT NULL,
uid int NOT NULL,
Lastchanged datetime NOT NULL default '0000-00-00 00:00:00',
SgfData blob NOT NULL,
PRIMARY KEY (gid,uid)
) ENGINE=MyISAM ;
-----------
* include/game_functions.php (MultiPlayerGame.update_players_end_mpgame;
GameHelper.delete_running_game, ~.update_players_end_game):
- bugfix: deleting a multi-player-game changed wrongly Players.Running/Finished-fields
2013-01-07 juga
* include/message_functions.php (game_info_table),
include/utilities.php (append_unique),
scripts/updates/database_changes_1_0_15_to_1_0_16.mysql,
site_map.php, waiting_room.php:
- changed waiting-room view:
- added view 'My waiting games' only showing own waiting games
- replaced boolean-filter for suitable with selectbox with All/Suitable/Mine
- All and Suitable waiting games do not show own games
- removed 'New Game' bottom-link
- adjusted tooltip-text 'Out of range' to the more general 'Restricted'
- changed existing bottom-link translation-texts without losing translations
-----------
-- change existing translation-text for waiting-room without losing translations
UPDATE TranslationTexts
SET Text='All waiting games', Translatable='Y', Updated=NOW()
WHERE Text='Show all waiting games' LIMIT 1 ;
UPDATE TranslationTexts
SET Text='Suitable waiting games', Translatable='Y', Updated=NOW()
WHERE Text='Show suitable games only' LIMIT 1 ;
-----------
* include/classlib_profile.php (class SearchProfile):
- bugfix: initializing overwrite-args ignoring leading and trailing separators
2013-01-05 juga
* include/std_functions.php (check_for_observers):
- bugfix: add 'show observers'-link if game is observed by myself
* snapshot.php:
- added notes how to create tarballs of code-snapshot, translation-data, images
* admin_faq.php:
- bugfixes:
- keep expand-all-view on editing entry and coming back to list,
and on all other list-actions
- expand all categories on moving entry into new category up or down
* include/quick_common.php (DATE_FMT_TZ),
rss/status.php (rss_open),
wap/status.php:
- RSS-status: added RSS-channel-tag 'lastBuildDate'
- RSS-status: added human-readable built-date in channel-text
- WAP-status: added human-readable built-date in card-item
* include/message_functions.php (message_info_table),
game.php, game_comments.php, message.php,
message_thread.php (echo_message_row):
- show game-board for <igoban>-tag for
- private messages on send message, preview message, view message,
view message-thread
- game-move messages on preview move-message for submitting move,
view game, view game-comments
* include/std_functions.php (LOGIN_NO_QUOTA_HIT, is_logged_in),
admin_faq.php, translate.php:
- don't decrease quota on FAQ-editing & translating
* list_bulletins.php:
- bugfix bulletin-list: view-bulletin may only be allowed to specific user
* people.php:
- comment out older developers
- cleanup: avoid translations for unimportant texts describing origin of icons
* translate.php:
- bugfix for previous removed const TRANSL_ALLOW_FILTER:
interpreted if-expression with TRANSL_ALLOW_FILTER in wrong way
* include/sgf_builder.php (SgfBuilder.formatPlayerName):
- changed node-text for multi-player-game: added current rating of moving
player as well besides user-id to know who has moved
2012-12-18 juga
* scripts/translation_consistency.php (check_consistency_faq_refs, fix_faq_reference,
replace_faq_ref_text_callback):
- added check to correct references to FAQ correcting category of moved entries
to new categories
2012-12-17 juga
* include/table_columns.php (Table.set_default_sort):
- bugfix: sort-order reverse was not possible any more
* scripts/translation_consistency.php:
- bugfix: correct check on missing TranslationFoundInGroup reporting wrong-text-id
2012-12-16 juga
* users.php:
- bugfix: enforce NO_HIDE for table-column Rating for show user-rating-pos
* game_players.php (build_form_start_game),
game.php:
- corrected wrong msg-icon for 'Send message' for MPG-message
* include/table_columns.php (Table.set_default_sort, ~.set_sort, ~.make_sort_images,
~.current_order_string):
- bugfix: ensure, that used db-fields/aliases for sorting are only used for visible table-column
//
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