Documentazione
Moderator: marco
Documentazione
Esiste una documentazione del codice, nel senso documentazione che spieghi come usare le funzioni e a che cosa servano? Ho visto il codice che non mi sembra difficile, a livello di classi, ma molto lungo e articolato......
L'unica documentazione sono i commenti nel codice e la descrizione delle tabelle del database che ti riporto qui sotto, che però si riferisce ad una versione vecchia (sicuramente prima della 0.5).
Marco
Fammi sapere se hai bisogno di chiarimenti su parti specifiche del codice.le tabelle con $anno vengono create per ogni anno creato:
anni : contiene gli anni creati e il loro tipo di periodi (giornalieri o
settimanali: "g" o "s")
appartamenti: idappartamenti contiene il nome dell'appartamento (tipo
text) ed è la primary key, questo nome è usato per identificare gli
appartamenti anche nelle tabelle prenota$anno , regole$anno, ... , però
non vi è nessun constraint. Gli altri campi sono quelli che si cambiano
da modifica_app.php ; app_vicini è inutilizzato (si doveva usare per
prenotazioni di clienti che vogliono stare vicini, troppo complicato da
realizzare per ora).
clienti : tabella con tutti i clienti di tutti gli anni. I nomi dei campi
sono abbastanza chiari, idclienti è primary key.
ntariffe$anno : la riga 1 (idntariffe=1) serve per i nomi delle tariffe,
nel campo nomecostoagg vi è il numero attuale di tariffe., nel campo
regole vi è il numero del prossimo costo aggiuntivo da aggiungere. Le
righe 2 e 3 servono rispettivamente per la percentuale e l'arrotondamento
delle caparre nei campi delle rispettive tariffe.
Tutte le righe seguenti sono per i dati dei costi aggiuntivi: il nome sta
sotto nomecostoagg; il tipo (costo settimanale, finale o percentuale) si
determina in base al campo dove è inserito il prezzo; costop_arrotond è a
quanto deve essere arrotondato il costo percentuale; nel campo regole
ogni lettera rappresenta una regola: la prima se mostrare il costo nella
pagina di inserzione: "s" per non mostrarlo o "r" per mostrarlo; se
bisogna chiedere per quanto deve essere moltiplicato("s" o "n"); se deve
essere considerato come letto aggiuntivo("s" o "n"); per i costi
settimanali vi è una lettera in più (la seconda) per il numero di
settimane ("t" tutte, "m" tutte meno una o "c" chiedere). Se vi è un 1
nel campo sotto una tariffa il costo viene applicato automaticamente a
quella tariffa.
periodi$anno : contiene tutti i periodi e i valori delle tariffe per
ogni periodo. Quando viene inserita una data per le prenotazioni viene
trasformata in idperiodi con questa tabella e il valore di idperiodi
inserito in iddatainizio o iddatafine di prenota$anno (o regole$anno,
ecc.).
personalizza : dati che vengono immessi da personalizza.php
prenota$anno : contiene tutte le prenotazioni che si inseriscono durante
l'anno. I primi campi sono già spiegati nelle tabelle precedenti. Nel
campo assegnazioneapp vi può essere: "k" per prenotazioni con
appartamento fisso; "c" per assegnazione condizionata
solo in alcuni appartamenti, quindi sarà presente anche il campo
app_assegnabili con la lista di appartamenti separati da virgole; v per
assegnazione variabile in tutti gli appartamenti. Il campo
idprenota_compagna è inutilizzato per la stessa ragione di app_vicini in
appartamenti. In tariffa vi sono sia il nome che il valore della tariffa
(senza costi agg. e sconto) separati dai caratteri "#@&". Ugualmente in
costiaggiuntivi si usa "#@&" per separare costi diversi e "#?&" per
separare i dati di ogni costo: il primo dato è cf per costo finale, cs
per costo settimanale o cp per costo percentuale; gli altri dati
dipendono dal tipo di costo (nome, prezzo...). Il campo tariffa_tot si
può ricavare dai campi precedenti ma c'è per comodità. Gli altri campi
sono abbastanza chiari, data_modifica è inutilizzato per ora.
regole$anno : contiene sia le regole1 che 2 (a seconda se nella riga è
presente app_agenzia o tariffa_per_app). La lista di appartamenti per la
regola2 sta sotto motivazione.
costi$anno: sono i dati che si inseriscono da costi.php , sia le spese
che le entrate (a seconda di tipo_costo: "s" o "e"). provenienza_costo
serve per sapere se l'entrata deve essere sottratta dai pagamenti delle
prenotazioni o no nelle tabella con tutte le prenotazioni. Alla riga 0
c'è la somma totale che va sottratta dal totale delle prenotazioni.
soldi$anno : serve solo per storia_soldi.php e viene aggiornata ogni
volta che cambiano i soldi pagati di una prenotazione da
modifica_prenota.php . saldo_cassa serve per se si vorrà fare la storia
delle entrate-uscite in cassa. In motivazione ci sono i dati della
prenotazione: idclienti;iddatainizio;iddatafine . La riga 0 serve per
riportare nella tabella con tutte le prenotazioni. i soldi versati da
prenotazioni poi cancellate.
versioni : contiene la versione del programma e nella riga 2 un numero
che viene sempre aumentato per avere un nome unico per tabelle ausiliarie
o altro.
Quando si deve fare il locking di più tabelle si segue sempre questo
ordine:
-anni
-$tableprenota
-versioni
-$tablenometariffe
-$tableperiodi
-appartamenti
-clienti
-$tablecosti
-$tableregole
-$tablesoldi
-personalizza
Marco