-/*
- TODO
-
- to pass explicit config file to INSTALL.sh
- wellcome lines in the chats (room and table)
- nomi in primo piano se vai sul quadrato
- bottoni => immagini
- URGENT - 8 tavoli
- URGENT - nuovi bottoni gestione del "out"
- URGENT - ban temporaneo dai tavoli
- URGENT - test di download per la cache
- URGENT - flash player to play sound
-
- URGENT - smammamorti
- URGENT - restart preload img
- URGENT - watchdog
- URGENT - cambiare titolo al tavolo
- URGENT - current player
-
- TEST (aum. il timeout) - carte giocate che restano girate
-
- NORM - one player reject a game (to less points (<2)
- NORM - tools dir with a main and some pages where check briscola tools.
- NORM - help page
- NORM - img -> div + css
- NORM - (master concept) card selection
- NORM - internationalization
+========
+ TODO
+========
+
+
+ BRISK3 (trusty)
+ ======
+ - donameter
+ DONE - G_donors
+ DONE (WOW!) - js object with infos
+ DONE - main logic at login (cookie check in index_rd.php; show_message and createCookie via snippets with block
+ to prevent fast reload)
+ DONE - cookie per non assillare e visualizz.
+ graphical donameter
+ WIP content (in conf.)
+
+ DONE - numero di tavoli auth-only nel .brisk-install
+ - isolation
+ TEST - ricalcolo delle persone in piedi quando si cambia modalità
+ DONE - se si e' in isolation non si può cambiare nick perdendo l' auth
+ DONE - non leggere le chat di quelli non autenticati (in isolation)
+ DONE - regole per passare alla modalita' (in piedi o ai tavoli autenticati)
+ DONE - treni non auth da nascondere
+ DONE - verso gli altri ??: uguale a prima
+
+ finire multilingua (briskin5/index_wr.php e altri se ce ne sono)
+ coniglio
+ only auth strictly
+ placing limits to config file
+
+Dunque,
+
+- come vengono aggiornate le classifiche: ogni giorno alle 23:58
+
+- cosa cambia tra le tre coppie di classifiche:
+ ci sono le classifiche dell' ultima settimana, quelle dell' ultimo mese, e quelle dell' ultimo trimestre,
+ 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.
+
+- 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.
+
+Un esempio per chiarire:
+
+ l'utente 'pippo' che è nuovo gioca 4 partite nell'ultima settimana con i seguenti punteggi:
+ -2, 1, 2, 1
+ lo score viene { [ (-2) + (1) + (2) + (1) ] / 4 } * 100 = 50.0
+
+ a parità di score tra utenti va più in alto chi ha giocato più partite.
+
+Se dopo quelle 4 partite 'pippo' non ne giocherà più, passata una settimana dall'ultima giocata
+sparirà dalla classifica settimanale e rimarrà in quelle mensili e trimestrali.
+
+
+
+
+
+
+
+ BUG
+ ---
+
+ DONE - paste da demauroparavia
+ DONE - recupero partita per re-login con password
+ DONE - problema "|" nei nomi (manca enhance degli script lato server)
+ - problema col treno se mouse sopra mentre stringe (verif)
+
+ MINOR
+ -----
+
+ NORMAL
+ ------
+
+ - win test
+ WIP - /listen
+ DONE - skin della textarea
+ DONE - set cookie
+ DONE - init client (read from cookie) - ALWAYS BY SERVER
+ DONE - init server
+ DONE - after cookie check auth-only when no-auth case
+ DONE - aggiungi info accanto a "Chat"
+ DONE - /mesgtoadm
+ DONE - img dei comandi
+
+ DONE - form per garantire utenti (accoda in un file nel formato corretto)
+ DONE - process request
+ DONE - show form
+ DONE - close butt
+ DONE - submit form
+ DONE - process form js side
+ DONE - process form
+ DONE - documentazione in help
+
+ DONE - user status
+
+ DONE - aggiornare help
+ DONE - overflow management
+ DONE - for status
+ - for password
+
+ DONE - reload home
+ - notify for long pages
+
+ - buddy list
+ - silenziastolti vari (fino al buddy import)
+ - restrict challenge per IP
+ - restricted charset for login
+ - watchdog
+
+ - db (minimal)
+ - db admin page
+ - user db admin
+ - use db
+ - admin db
+
+ - studiare un anti-dos
+ - login modify
+ DONE - db (fake)
+ DONE - display auth
+ - manage preferences
+
+ minor
+ -----
+ - auth after login
+
+----- done ------
+
+ BUG
+ ---
+ DONE righe troncate
+ DONE - questione "a monte" che:
+ DONE - lascia fuori il bottone
+ DONE - scrive à e compagnia
+ DONE - refresh act_table when unauthorized
+ DONE - problema ghost autenticato (ne prendi il posto ovunque sia)
+
+ MINOR
+ -----
+ DONE - refactoring of the owner name (auth attr for owner name)
+ DONE - room
+ DONE - at chat input line
+ DONE - in the chat output line
+ DONE - deauth management
+ DONE - table
+ DONE - at chat input line
+ DONE - in the chat output line
+ DONE - for user area of other users
+ DONE - deauth management
+ DONE - alart to one user
+
+
+ NORMAL
+ ------
+ DONE - strong ban: "expire time|IP|session|(nick if authenticated)"
+ DONE - login: se auth - verifica solo gli expire per quel nick
+ DONE - se non auth - verifica gli expire per IP e sessione
+ DONE - riscrivere messaggi
+
+ DONE - login
+ DONE - se pass:
+ DONE - richiede per l' utente un token (tutta la parte backend va un minimo studiata)
+ DONE - lo legge, ci hasha la password
+ DONE - invia la pass al server hashata
+ DONE - se non pass:
+ DONE - check del login e return corretto
+ DONE - oggetto in shm single table con ( "ip", "login", timestamp ) e suo management
+ DONE - rename ghost if logged
+ DONE - onunload_cb e onbeforeunload_cb !!!
+ DONE - da change attrs a change class (input field)
+ DONE - colore del bg per arrivare ad essere omogeneo
+ DONE - cambiare path e file di config
+ DONE - login with or without pass
+ DONE - registered nick notice (METTERE IL MSG NELLA PAG DI LOGIN)
+ DONE - segnalare tavoli solo per auth
+ DONE - rename restriction at auth table
+ DONE - change nick (strcasecmp)
+ DONE - refact js tables to handle flags
+ DONE - room javascript refactoring
+
+ DONE - work background
+ DONE - reserved tables
+
+
+ BRISK2 (spawn)
+ ======
+
- WEB
- - compatibility update
- - link to stable/unstable
- DONE - homepage
- DONE - screenshots
+ URGENT - tables spawn
+ DONE - link with photos
+ DONE - top banner in Etc file
+ DONE - spawn of a table
+ DONE - data to cookies (removed table_idx from xhr calls also)
+ DONE - set subst to shutdowner/shutdowned
+ DONE - return to index.php
+ DONE - game's token
+ DONE - recover of corrupted table data
+ DONE - closure of a table
+ DONE - flush of the table
+ DONE - security checks for right scope access
+ DONE - garbage collector management
+ DONE - recursive garbage - howto ?
+ DONE - stat & subst in browser
+ DONE - laccwr setting and exit if all players are unactive for some time
+ DONE - the list of test case
+ DONE - shm dimension
+ DONE - remove unused parts
+ DONE - move images
+ DONE - optimizations
+ DONE - cambiare titolo al tavolo
+ DONE - shutdowning lock tables
+ DONE - topbanner
+ DONE - public announcements
+ DONE - 10 sec to exit from table
+
+ FAR - inheritances
+
+ TRAIN - DONE - add again in reload
+ DONE - wag_set refact
+ DONE - filtra char speciali per title
+ DONE - chatt_send refact
+ DONE - elenco dei giocatori
+ DONE - documentazione online
+ DONE - timeout management
+ LATER - border color a muzzo
+
+ NORM - testament
+ NORM - public announcements
+ NORM - 10 sec to exit from table
+ NORM - moving label for tables click
+
+----------------- join -----------------
+ NORM - map
+
+ NORM - restart preload img
+ NORM - tools dir with a main and some pages where check briscola tools.
+ NORM - watchdog
+
+ NORM - chat vecchie in reload (forse)
MIDDLE TODO
- WIP - info enhancement and related button (how win the last game and with how much points ?)
- WIP - preload images: (finish the list)
- - unload of the stream
- - split server-side data
+ ===========
+
- user assistant (with button to enable disable)
- - who is playing now
- - graphics enhancement
- - asta: highlight buttons (css hover)
- documentation
- TO REVIEW - special chars in js
+ FAR TODO
+ ========
+ NORM - internationalization
+ NORM - img -> div + css
+
+ WEB
+ ===
+
+ - link to stable/unstable
+
+-------------------------------------------------------------------
+ DONE
+ ====
+
+ ABORTED - asta: highlight buttons (css hover) - change pointer when over
+ DONE - step proxy
+ DONE - special chars in js
+ DONE - ban temporaneo dai tavoli
+ DONE - flash player to play sound
+ DONEBUG - (aum. il timeout) - carte giocate che restano girate
+ Sembra non migliorare di molto la cosa, gestita la cache
+ correttamente, sono apposto.
+
+ DONE - one player reject a game, to less points (<= 2)
+ DONE - help page
+ DONE - test di download per la cache
+ DONE - se passano tutti tranne l'ultimo l'asta va al penultimo.
+ Corretto il codice, occorre verificare se questo
+ ingenera qualche problema.
+ DONE - raddoppiato il numero di righe nella chat
+ DONE - corretto bug del /nick
+ DONE - carosello pubblicità altout
+ DONE - smammamorti
+ DONE - unload of the stream
+ DONE - standup centrati
+ DONE - current player - in info
+ DONE - HELP butt con ABOUT, REGOLE, VERSIONE
+ DONE - wellcome lines in the chats (room and table)
+ DONE - wellcome lines in the chats (room and table)
+ DONE - nomi in primo piano se vai sul quadrato
+ DONE - to pass explicit config file to INSTALL.sh
+ DONE - flag to create a config file
+ ABRT - bottoni => immagini
+ DONE - aggiungere bottone al login
+ DONE - nomi in primo piano se vai sul quadrato
DONE - installer to set cookie path
DONE - change name
DONE - automatic and manual logout
DONE - server side page abort management
DONE - cookie problem with Ajax
DONE - spostare il tasto "esco"
+ DONE - to pass explicit config file to INSTALL.sh
+ DONE - 8 tables
+ DONE - safety out management
+ DONE - info enhancement and related button (how win the last game and
+ with how much points ?)
+
+ WEB
+ DONE - homepage
+ DONE - screenshots
DOC
CHAPTERS
Page abort (reload on http streaming case)
Chat
Cookies management
+ CSS tricks
CHECK ON NEW SERVERS
.htaccess AllowOverwrite mode for Cache-Control directive