- dafa
? dafa?
! no!
* fatto
# in corso

[immagine docker]
- istruzioni per usarla
- cron e cron job per il crawler
- /usr/local/bin/binit dovrebbe lanciare mysql con file di log ecc. più umani
- niente virtualhost, spostare mastostart nella docroot di default di apache, così che per vederlo basti andare su 172.17.0.2, senza dover toccare /etc/hosts

- vedere un po' se è possibile determinare quanta ram sugge il crawler, in modo da poter dare indicazioni più precise in INSTALL
- nei template per le mail dichiarare che un requisito è moderazione attiva contro contenuti fascisti-razzisti-sessisti
- crawler.php: possibilità di passargli le opzioni da riga di comando
* viewinst.php
- pagina gestione accounts
- pagina gestione proprio account
- pagina gestione blacklist
- pagina reset password
- una pagina che rilevi eventuali inconsistenze nel db, tra le quali: mail account guest diversa da mail di contatto istanza (mail contatto d'istanza può cambiare nel tempo)
* implementare la faccenda dell'invio di mail preformattate agli admin con invito a editare i propri dati (quindi implementare "livelli di admin" e relative restrizioni: admin invitat* può vedere solo la pagina relativa alla propria istanza, solo aggiungere valori (non in tutti i casi), editare ed eliminare solo valori che ha aggiunto e solo se non sono già stati linkati da altr*)
* dispinst.php, invite.php: possibilità di "sollecitare" admin già invitat*
? edinstres.php deve mostrare messaggio di successo
* edinst.php: un'icona per deselezionare Locality
* nei vari helper, sarebbe meglio morisse in json, alla bisogna
* aggiungere notifica quando "guest" edita istanza
? index.php: lunghezza automatica di username
- serve un "notifs.php" (è già linkato dalla lista notifiche accessibile dalla campanella) per la gestione accurata delle notifiche (possibilità di marcarle tutte o "precedenti a" come lette, possibilità di cancellarle tutte o "precedenti a")
* rinominare tutto da "Mastodon Startpage Admin" a "Mustard"
* crawler.php: ricorsivizzarlo? - fatto, in questo modo: peerscrawl.php crea una lista di "tutte le istanze note" a partire da una certa instanza, crawler.php usa questa lista per importare nel db i dati delle istanze che rispondono
* crawler.php: le notifiche, invece di edinst.php, devono linkare un viewinst.php che mostri l'istanza
* crawler.php: sarebbe tanto bello fare a meno di tutta la faccenda "tronconi" ecc.
! crawler.php: deve controllare se nella tabella Instances GuestID è definito; se è definito e la mail del corrispettivo account "guest" è cambiata, deve aggiornare l'account "guest" corrispettivo in Admins con la mail e il nome utente attuali e creare nuova password; se i dati dell'istanza sono già stati editati, mandare mail di "aggiornamento"; se non lo sono, mandare invito --- alla fine lasciam perdere, si organizzano gli admin se vogliono.
- include/dispinst.php: deve essere disponibile anche in inglese, per i guest
* instances.php: possibilità di filtraggio per GuestID, LastGuestEdit, OurLangsLock
- instances.php: possibilità di *scegliere* la lingua da usare tra quelle supportate per il filtraggio su Localities e Languages
? instances.php: bottoni per pagina precedente-successiva
- instances.php: alerta su cambio pagina quando è stato modificato filtro/ordinamento
- instances.php: possibilità di vedere solo le istanze che non rispondono da tot giorni (o forse farla a parte?)
- tutto: scomparsa-comparsa div di debug
- tutto: se opzione "debug" in ini è false, niente output debug
- instances.php: ckf: controllare che non venga eseguito ordinamento su una stessa colonna più volte (non rompe query ma è ridondante)
- anche nel sito usare il menu.php nuovo

* edinst.php: su languages se account "Level" è "guest", "lock this list" dev'essere checkato per default *se "guest" non ha ancora mai modificato i dati dell'istanza*
* sanificazione input: edinsth.php: su edit e add controllare sempre che il valore "nuovo" non ci sia già
* aggiungere colonna "OSMID" a Localities, in modo che se aggiungiamo altre lingue in seguito sia più facile recuperarle per aggiornare la tabella
* aggiungere colonna NameCA a Languages e Localities, e relativi pimpumpam nel codice (greppare "NameES" e "\'es\'" dappertutto)
* troncare tabella languages e far rigirare tools/popudb.php per ricrearla: my_ucfirst metteva in minuscolo tutta la stringa, a parte il primo carattere maiuscolo
* aggiungere colonna "timestamp" "LastGuestEdit" a Instances: null quando non è stata mai editata da "guest", altrimenti time() php
* tutto: visualizzazione notifiche (campanellina e div a s/comparsa)
* edinsth.php: finire Localities
* l'icona per l'uscita senza div o quel che è, come in instances.php
* edinsth.php: su edit e add, nel js, selezionare solo il valore editato/aggiunto, perché nella finestrella elenco valori mostra il primo selezionato
* edinstres.php deve mostrare scheda istanza completa
* guestinsts.php, edinst.php e edinstres.php devono avere menu particolare per "guest" con la possibilità di andare alla vista delle istanze
* edinsth.php: per "guest" deve tenere conto dei limiti impostati con MaxLocalities ecc.
* instances.php: invece di rifare la querona con LIMIT, usare il $res che c'è ritornando solo le istanze giuste per la pagina
* instances.php: icona della lente in qualche modo diversa se è attivo un filtro/ordinamento
* instances.php: i criteri di ricerca e ordinamento "volanti" vanno salvati sempre in un preset "di battaglia" (uno per ogni admin) in modo da poter slegare il cambio pagina dal submittare i filtri/ordinamenti e in modo che, per esempio, al ritorno da edinst*.php si possa vedere ciò che si vedeva prima (forse la cosa più agevole è fare due tabelle ad-hoc uguali a PresFiltConds e PresOrdConds dove invece di PresID si ha AdminID)
* instances.php, edinst*.php: implementare la faccenda della lingua del browser: se è tra quelle supportate (o una variante delle stesse) impostare la ricerca e la visualizzazione dei campi multilingua nella lingua supportata; altrimenti in inglese
* instances.php: rendere funzione il codice che crea una tabella-istanza; usare la funzione in guestinsts.php
* edinst.php: aggiungere colonna flag bool in Instances che viene settata a 1 quando qualcuno edita la lista delle lingue "nostre", così che il crawler al giro successivo non la sovrascriva con quelle autorilevate
* edinsth.php: caso particolare di edaddrem() per "Languages": usare locale_get_display_name() per determinare le lingue supportate e controllare che la lingua esista (se la lingua non esiste ritorna valore uguale al codice lingua passato, per tutte le lingue)
* instances.php: eliminare il riferimento a "stato", aggiungere "OurDescEN"
* instances.php: quando ordinamento è su una "1 a molti", eseguirlo su "GROUP_CONCAT" di questi molti ordinati per "Pos" della joinosa tabella
* ripristinare le colonne descrittive in Languages: una per la locale impostata (it), una per en, una per fr, una per es...
* instancesh.php: ritornare di tutte solo quelle che effettivamente sono usate, magari con un count tra ()
* instances.php: definito/non definito non vengono riprodotte bene dalla plancia dopo post
* instances.php: quando si seleziona definito/non definito, oltre a disabilitare il campo valsel/valinp, farlo sparire proprio? assegnargli un css che da disabilitato lo fa diventare tuttonero? tipo
