- dafa ? dafa? ! no! * fatto # in corso [immagine docker] * istruzioni per usarla * configurare per benino phpmyadmin * settare php per email (o dare istruzioni su come farlo...) - cron e cron job per il crawler (o uno script con sleep...) * /usr/local/bin/binit.sh 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 dell'host * aggiornare update.sh così che rifletta il cambiamento al punto precedente - transazioni, dove appropriato - dispinst.php: setlocale: il nome della locale è sempre quello su tutti i sistemi? ! invite.php: una modalità di test che non manda le mail ma crea gli account "guest" - "stabilizzare" $cjrand in glob.php a una versione ? tutto: ristrutturare il layout directory? * vedere un po' se è possibile determinare quanta ram sugge il crawler, in modo da poter dare indicazioni più precise in INSTALL --- usare memory_get_peak_usage(true) --- fatto per ora con altro metodo * in attesa dei template di Ca_Gi, nei template per le mail dichiarare comunque già che un requisito è moderazione attiva contro contenuti fascisti-razzisti-sessisti * crawler.php: possibilità di passargli le opzioni da riga di comando - peerscrawl.php: rendere opzionale il check su google.com, spiegare però bene a cosa serve * viewinst.php - pagina gestione accounts - pagina gestione proprio account - pagina gestione blacklist - pagina reset password ? help online - 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, errrr, "incalzare" admin già invitat* * dispinst.php: "versione in inglese" per le admin invitate ? 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") ! 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 *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 * 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, insieme a quella delle istanze già note pescata dal db, 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. * instances.php: possibilità di filtraggio per GuestID, LastGuestEdit, OurLangsLock * 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