5 - add page_id to both index.php pages (WIP)
6 DONE - add page_id to user class
7 - pass page_id to transport (WIP)
9 - manage page to stop transport retry
14 - manage client answer (ping) on closing ws
15 - manage 'close' prefs when change visibilty
18 - /cont and /rules just during 'bidding' phase
19 DONE - Not sequence of 3 same chars
20 DONE . check server side with test
21 DONE - Global vars checker
23 - usermgmt: add user delete
24 DONE - 10002 message when already clicked
25 DONE - trim spaces in apprentice form
26 DONE - Remove books from chat
27 DONE - usermgmt: add email
33 DONE - show current rules
34 DONE - select tournment dropdown menu (send a 'cont' like message for each change)
35 WIP - new rules for 'together for fun' turnment
36 DONE . strange 4 abandoned rule for auction
37 DONE . check of max points
38 DONE . check of suit at the end of bet
40 DONE - increase constraint for rules change
41 DONE - select rules dropdown 'selected' to the current rule or the current
43 POSTPONED - no points multiplication for abandon
44 POSTPONED - cache data structure for tournments
45 POSTPONED . reload on SIGHUP
49 * Users Network construction
52 DONE - add apprentices tables
53 DONE - remove entry when set unknown
54 DONE - enhance info interface
55 DONE . SQL to show current evaluation
56 DONE . disable parts of interface
57 WIP . add title to items
60 - minisplash at end of the match
61 - differentiate table authorization
62 * add new kind of isolation for apprentice
64 * Double click on chat to open preferences
68 DONE - match counters (part 2)
69 DONE . migration script for old users
70 - guarantee for apprentice
77 DONE - match counters (part 2)
78 DONE . migration script for old users
82 DONE - correggere minuta giornaliera
83 DONE - aggiungere mask per autogar
84 DONE - correggere email per apprentice
85 DONE - verificare la variabile per tout IP ban apprentice
86 DONE - chat ban for apprentice
88 DONE - ip check and time limit
90 DONE . temporary table limitation
92 DONE - usermgmt extension
93 DONE - add close button
94 DONE - add apprentice icon
95 DONE - match counters (part 1)
96 DONE . sql for match counters
97 DONE - new info system
98 DONE - click management
99 DONE - show user info (RO)
100 DONE - require command/info
101 DONE - fix fiverank table
102 DONE - fix bug with bitwise
103 DONE - fix layout of tables
104 DONE - aggiungere books.png
115 . study how to move login delta injection
118 DONE . Guarantes for certified-only (buttons choice managed)
119 DONE . Tables for certified-only
121 . Placing for certified-only
124 DONE . BAN and BLACK lists added
125 DONE . update method to SIGHUP manager
126 DONE . create constructor refactored
128 - PLACEMENT-NORMALIZATION
129 DONE . Normalize previous points
130 DONE . Denormalize "Info" view
131 DONE . Denormalize explained matches
132 DONE . Check placement
133 DONE . Distinguish between inherited mult and local mult
136 DONE . Terms Of Service acceptance
137 DONE . print date of hard switch
139 DONE . user TOS acceptance (db field)
140 DONE . show TOS ([show me later, yes, no]/[yes, no])
141 DONE . switch-off date
144 DONE . show current TOS
145 DONE . disable user reason integer field and remove SUSPEND state (db, php)
146 DONE . fix tos layout
147 DONE . opt - download TOS
148 . opt - checkbox for anonimous users with message when not checked
149 . opt - button enabled when arrived to the bottom of the TOS only
150 . opt - check TOS version between config file and TOS file
151 DONE . show guarantee (/guar <login> command)
152 DONE . multi-language
153 DONE . command documentation
154 DONE . manage disagreeding users investigation
155 DONE . self guaranteed
156 . DONE New Users Guarantee Procedure
157 . DONE Change guarantee workflow
161 -------------------------------------------------------------------------
169 -------------------------------------------------------------------------
182 -------------------------------------------------------------------------
191 -------------------------------------------------------------------------
194 -------------------------------------------------------------------------
196 DONE . More user info in the list
197 DONE . Manage date to display when a user was required
198 . Email-address expiration check
202 DONE - CONTINUE FEATURE
203 DONE . replace explicit strings with multilanguage array
204 DONE . add a php downloader with filtering on allowed requests
205 DONE . save points every game
206 DONE . modify points calculation to include order and mazzo
207 DONE . exclude not standard types from statistics
208 DONE . daily reports (1 for each active tournament)
209 DONE . monthly stats (for normal match only)
210 DONE . show current match ID when created
211 DONE . add info about continue to the info page
212 DONE . add command to continue
213 DONE . check consistency of the request
214 DONE . rearrange users and game status to continue the selected match
215 DONE . investigate user reordering ??
217 - WEBSOCKET TRANSPORT
218 . refactoring $enc attribute management
219 DONE . reintroduced $enc = 'plain' for websocket
220 DONE . fallback for not correct WS version
221 DONE . fini of ws stream
222 DONE . reactivate compression
223 DONE . fix xynt_test01
224 DONE M2: brisk working
225 DONE . manage multiport apache config
226 DONE . manage headers correctly in sac-a-push
227 DONE . manage transport.close method where required
228 DONE . xynt_stream: manage fallback to multiple ports
229 DONE . manage fini for ws
230 POST . server: manage input data from clients
231 POST . manage ping/pong (seems not required)
233 DONE . client (xynt_streaming.js)
234 DONE . server (transport.phh)
236 DONE M1: xynt_test01.php working
240 . db update (add components, maybe single string)
241 . filter in index.php
242 . filter in index_wr.php
245 . prefs_assign(content): assign json content as output var
246 . prefs_apply(prefs_new): apply new content to g_prefs and system
247 . prefs_load(content): load json content and apply to g_prefs and system
249 . prefs_update: update preferences temporarly
250 . prefs_save: save to the server the new prefs
252 - preferences (listen into preferences)
253 // js var, volatile server, (db server || cookie)
254 temporary: js var, volatile server
255 permanent: js var, volatile server, (db server || cookie)
257 . data from db OR, if missing, from cookies
261 . MANAGE NOT AUTH USERS
263 - preferences (with "modifiable S")
264 . Mod. S: new flag into database
265 . graph infrastructure
266 . new box to edit color
270 - BUG: some connection to the named socket fails
271 - Not simultaneous more then one stream
276 WIP - try to be more antivirus-friendly
277 - multiple rows between games
278 - packetize and automatize php-ancillary and apache module
279 - DISABLED_TO_FIX: DNS access (perform blocking dns requests, must be fixed)
284 DONE - temporarly server hung not reflected on user timeouts
285 DONE - timeouted users are still be able to sit down (only the first at the table is banned)
286 DONE - page still opened after the server restart
287 DONE - log_legal address fix
288 DONE - manage too fast reload in xynt-streaming
289 DONE - add xhr as transport layer and manage different streams better
290 TEST - BUG: pari + 72 non fa 4x ma attualmente fa 3x, da correggere
291 TEST - BUG: lurker are logged out (and remain a pending socket opened (look the spush log)
292 DONE - save/restore database
293 DONE - into the room local step remains -1
294 DONE - centralize all '<script ...' incapsulation to allow multiple transport system.
295 DONE - BUG: access with password from 2 diff browsers the second go in strange "page not found"
296 in the first tentative, the second works
297 DONE - BUG: access with password from 2 diff browsers place the first in a strict loop (the
298 problem was a call to a static parent method instead of the overrided child method,
299 substitute self:: with the dynamically get class::)
300 DONE - garbage management
302 DONE/FROZEN - problem with getpeer (HOSTADDR)
304 DONE - slow cards distribution
305 DONE - substr to mb_substr
306 DONE - parametrizations:
307 . parametrization of $DOCUMENT_ROOT var in brisk-spush.phh file
308 . parametrization of SITE_PREFIX(_LEN) define
309 . move the name of the named socket into the configuration file
310 DONE - manage and test cross forwarder between table and room
311 DONE - setcookie (for tables only and persist prefs)
312 DONE - images flickering on slow windows: try to poll stream every 300 ms (seems to be download problem)
313 DONE - database connection fails after a while, check close and try PGSQL_CONNECT_FORCE_NEW.
314 DONE - unneeded garbage_time.expired access
315 DONE - BUG: fast loop on stream index_rd_ifra page (js watchdog start without timeout corrupt counts)
316 DONE - BUG: logout failed (fixed with a garbage_collector wrapper at sac-a-push level
317 DONE - 404 wrong page management (remove directories redirections (es. brisk/))
318 DONE - configuration file management
319 DONE - app level keep-alive
320 DONE - index_wr other issues
321 DONE - from room to table
322 DONE - from table to room
324 DONE - bug: read from a not resource handle (already closed because a new socket substitute it)
325 DONE - partial write for normal page management
326 DONE - index_rd_ifra: last_clean issue
327 DONE - fwrite failed error management (select, buffer where store unsent data, and fwrite check and retry)
328 DONE - bug: after restart index_rd.php receive from prev clients a lot of req
329 DONE - index_wr.php::chat
330 DONE - index_wr.php::exit
331 DONE - index_rd.php porting
332 DONE - generic var management from internet
333 DONE - index.php auth part
334 ABRT - index_wr.php::reload - reload is js-only function
335 ABRT - keepalive management - not interesting for our purposes
340 - STEP MANAGEMENT VERIFY
342 DONE - move the garbage timeout on file
343 DONE - in index_rd load all data only when required
345 DONE . extern del garb_timeout
346 DONE . user_load parameters verify
347 DONE . Bin5::load_data and Bin5::save_data refactoring with
349 . move many function into "Bin5 class"
350 - garbaging of .step files
353 DONE - configurabilitĂ file o db
354 DONE - aggiornare le funz di gestione db in modo che prevedano anche il flag DISABLE
355 DONE - travasatore file to pg
356 DONE - travaso punteggi
357 DONE - memorizzazione nuovi i punteggi nel db
358 DONE - gestione classifiche in SQL
363 DONE - points archiver
366 DONE - partial usability if database go down.
369 - sistema di inserimento nuovi utenti (riversatore da form di inserimento)
373 - ripristino password
376 - comunicazioni di aggiornamento (stato salvato sul server)
378 DONE - var $G_base aggiunta per gestire include in include da path differenti
384 DONE (WOW!) - js object with infos
385 DONE - main logic at login (cookie check in index_rd.php; show_message and createCookie via snippets with block
386 to prevent fast reload)
387 DONE - cookie per non assillare e visualizz.
388 DONE - graphical donameter
389 WIP content (in conf.)
391 DONE - numero di tavoli auth-only nel .brisk-install
393 TEST - ricalcolo delle persone in piedi quando si cambia modalitĂ
394 DONE - se si e' in isolation non si può cambiare nick perdendo l' auth
395 DONE - non leggere le chat di quelli non autenticati (in isolation)
396 DONE - regole per passare alla modalita' (in piedi o ai tavoli autenticati)
397 DONE - treni non auth da nascondere
398 DONE - verso gli altri ??: uguale a prima
400 finire multilingua (briskin5/index_wr.php e altri se ce ne sono)
403 placing limits to config file
407 - come vengono aggiornate le classifiche: ogni giorno alle 23:58
409 - cosa cambia tra le tre coppie di classifiche:
410 ci sono le classifiche dell' ultima settimana, quelle dell' ultimo mese, e quelle dell' ultimo trimestre,
411 per ognuno di questi lassi di tempo poi c'è la classifica di chi ha giocato più di TOT partite o meno di TOT partite, con TOT che cambia a seconda del lasso di tempo.
413 - come vengono calcolate le classifiche: per ogni utente vengono presi tutti i punti fatti ai tavoli con lucchetto nel lasso di tempo preso in considerazione (ultima settimana, ultimo mese o ultimo trimestre), sommati e divisi per il numero di partite fatte in quello stesso lasso di tempo per normalizzare i valori; poi siccome la gente quando vede 0.18734 sbarella ho deciso di moltiplicare il tutto per 100.
415 Un esempio per chiarire:
417 l'utente 'pippo' che è nuovo gioca 4 partite nell'ultima settimana con i seguenti punteggi:
419 lo score viene { [ (-2) + (1) + (2) + (1) ] / 4 } * 100 = 50.0
421 a paritĂ di score tra utenti va piĂą in alto chi ha giocato piĂą partite.
423 Se dopo quelle 4 partite 'pippo' non ne giocherĂ piĂą, passata una settimana dall'ultima giocata
424 sparirĂ dalla classifica settimanale e rimarrĂ in quelle mensili e trimestrali.
435 DONE - paste da demauroparavia
436 DONE - recupero partita per re-login con password
437 DONE - problema "|" nei nomi (manca enhance degli script lato server)
438 - problema col treno se mouse sopra mentre stringe (verif)
448 DONE - skin della textarea
450 DONE - init client (read from cookie) - ALWAYS BY SERVER
452 DONE - after cookie check auth-only when no-auth case
453 DONE - aggiungi info accanto a "Chat"
455 DONE - img dei comandi
457 DONE - form per garantire utenti (accoda in un file nel formato corretto)
458 DONE - process request
462 DONE - process form js side
464 DONE - documentazione in help
468 DONE - aggiornare help
469 DONE - overflow management
474 - notify for long pages
477 - silenziastolti vari (fino al buddy import)
478 - restrict challenge per IP
479 - restricted charset for login
488 - studiare un anti-dos
503 DONE - questione "a monte" che:
504 DONE - lascia fuori il bottone
505 DONE - scrive à e compagnia
506 DONE - refresh act_table when unauthorized
507 DONE - problema ghost autenticato (ne prendi il posto ovunque sia)
511 DONE - refactoring of the owner name (auth attr for owner name)
513 DONE - at chat input line
514 DONE - in the chat output line
515 DONE - deauth management
517 DONE - at chat input line
518 DONE - in the chat output line
519 DONE - for user area of other users
520 DONE - deauth management
521 DONE - alart to one user
526 DONE - strong ban: "expire time|IP|session|(nick if authenticated)"
527 DONE - login: se auth - verifica solo gli expire per quel nick
528 DONE - se non auth - verifica gli expire per IP e sessione
529 DONE - riscrivere messaggi
533 DONE - richiede per l' utente un token (tutta la parte backend va un minimo studiata)
534 DONE - lo legge, ci hasha la password
535 DONE - invia la pass al server hashata
537 DONE - check del login e return corretto
538 DONE - oggetto in shm single table con ( "ip", "login", timestamp ) e suo management
539 DONE - rename ghost if logged
540 DONE - onunload_cb e onbeforeunload_cb !!!
541 DONE - da change attrs a change class (input field)
542 DONE - colore del bg per arrivare ad essere omogeneo
543 DONE - cambiare path e file di config
544 DONE - login with or without pass
545 DONE - registered nick notice (METTERE IL MSG NELLA PAG DI LOGIN)
546 DONE - segnalare tavoli solo per auth
547 DONE - rename restriction at auth table
548 DONE - change nick (strcasecmp)
549 DONE - refact js tables to handle flags
550 DONE - room javascript refactoring
552 DONE - work background
553 DONE - reserved tables
560 URGENT - tables spawn
561 DONE - link with photos
562 DONE - top banner in Etc file
563 DONE - spawn of a table
564 DONE - data to cookies (removed table_idx from xhr calls also)
565 DONE - set subst to shutdowner/shutdowned
566 DONE - return to index.php
568 DONE - recover of corrupted table data
569 DONE - closure of a table
570 DONE - flush of the table
571 DONE - security checks for right scope access
572 DONE - garbage collector management
573 DONE - recursive garbage - howto ?
574 DONE - stat & subst in browser
575 DONE - laccwr setting and exit if all players are unactive for some time
576 DONE - the list of test case
578 DONE - remove unused parts
581 DONE - cambiare titolo al tavolo
582 DONE - shutdowning lock tables
584 DONE - public announcements
585 DONE - 10 sec to exit from table
589 TRAIN - DONE - add again in reload
590 DONE - wag_set refact
591 DONE - filtra char speciali per title
592 DONE - chatt_send refact
593 DONE - elenco dei giocatori
594 DONE - documentazione online
595 DONE - timeout management
596 LATER - border color a muzzo
599 NORM - public announcements
600 NORM - 10 sec to exit from table
601 NORM - moving label for tables click
603 ----------------- join -----------------
606 NORM - restart preload img
607 NORM - tools dir with a main and some pages where check briscola tools.
610 NORM - chat vecchie in reload (forse)
615 - user assistant (with button to enable disable)
621 NORM - internationalization
622 NORM - img -> div + css
627 - link to stable/unstable
629 -------------------------------------------------------------------
633 ABORTED - asta: highlight buttons (css hover) - change pointer when over
635 DONE - special chars in js
636 DONE - ban temporaneo dai tavoli
637 DONE - flash player to play sound
638 DONEBUG - (aum. il timeout) - carte giocate che restano girate
639 Sembra non migliorare di molto la cosa, gestita la cache
640 correttamente, sono apposto.
642 DONE - one player reject a game, to less points (<= 2)
644 DONE - test di download per la cache
645 DONE - se passano tutti tranne l'ultimo l'asta va al penultimo.
646 Corretto il codice, occorre verificare se questo
647 ingenera qualche problema.
648 DONE - raddoppiato il numero di righe nella chat
649 DONE - corretto bug del /nick
650 DONE - carosello pubblicitĂ altout
652 DONE - unload of the stream
653 DONE - standup centrati
654 DONE - current player - in info
655 DONE - HELP butt con ABOUT, REGOLE, VERSIONE
656 DONE - welcome lines in the chats (room and table)
657 DONE - welcome lines in the chats (room and table)
658 DONE - nomi in primo piano se vai sul quadrato
659 DONE - to pass explicit config file to INSTALL.sh
660 DONE - flag to create a config file
661 ABRT - bottoni => immagini
662 DONE - aggiungere bottone al login
663 DONE - nomi in primo piano se vai sul quadrato
664 DONE - installer to set cookie path
666 DONE - automatic and manual logout
667 DONE - cache problems solved via .htaccess
668 DONE - all players out of the auction
669 DONE - time to send cards
670 DONE - hide cards before sends at a new game
671 DONE - well recognization of the browser and O.S.
672 DONE - login consistency !!!!
673 DONE - functionalization of garbage
674 DONE - call garbage function into login
676 DONE - manage the reload from scratch of the table page
678 DONE - sendcard => card_send(idx, ....)
679 DONE - show table for game
680 DONE - points calculation
681 DONE - make-up of the chooser
682 DONE - where place the briscola on the table
684 DONE - show current auction position
685 DONE - table with internal management of the transition between pages.
686 DONE - server side page abort management
687 DONE - cookie problem with Ajax
688 DONE - spostare il tasto "esco"
689 DONE - to pass explicit config file to INSTALL.sh
691 DONE - safety out management
692 DONE - info enhancement and related button (how win the last game and
693 with how much points ?)
704 Page abort (reload on http streaming case)
710 .htaccess AllowOverwrite mode for Cache-Control directive