AggiungiTutto($vCond=array())
le condizioni contenute in $vCond vengono aggiunte all'insieme delle
condizioni correnti.
AggiungiChiavi()
Aggiunge all'elenco dei campi da selezionare i campi chiave della tabella.
AggiungiSolo($sQuali, $vCond=NULL)
$sQuali può essere un intero che indica l'indice del campo da includere
nella selezione, un vettore di interi con gli indici dei campi campi da
includere oppure una stringa composta da S, N o spazi: gli spazi vengono
ignorati, una S vuol dire che il campo verrà incluso nella selezione.
Se $sQuali è un intero allora $vCond è un singolo oggetto operr , se invece
è una stringa allora $vCond deve essere un vettore che associa all'indice del
campo l'oggetto operr da applicare.
Se l'intero passato è negativo, non verrà aggiunto nessun campo e nessun
errore verrà mostrato all'utente. Utile se si sta usando il metodo
vista::Aggiungi
privata
TrasformaStringaSNInVettore(&$stringa) &
Trasforma la $stringa composta da 'S', 'N', ' ', passata ad aggiungiSolo in
un vettore di indici di campo.
lancia un'eccezione se non sono stati specificati tutti i campi
AggiungiCond($nCampo, $cond)
Aggiunge all'insieme delle condizioni correnti la condizione indicata,
sul campo indicato. $nCampo è l'indice del campo nella tabella con base 0
Ad ogni campo può essere associato un solo filtro, quindi se sul campo
passato c'è già un filtro applicato, questo viene sovrascritto.
Validita($data)
Aggiunge all'insieme delle condizioni correnti una condizione sulla validità
delle righe selezionata.
Tale condizione assicura che la data passata sia compresa tra i campi
configurati nella variabile globale $__validita che deve essere definita
manualmente come un vettore associativo nomeTabella--(campoDataIn,campoDataFine)
La data può essere espressa come valore fisso in formato AAAA-MM-GG, come
indice di campo della tabella o come oggetto Campo (appartenente anche ad
altre tabelle presenti nella stessa vista) da cui pescare i valori da
confrontare.
PrendiFiltri() &
Ritorna un vettore associativo indiceCampo=>Filtro applicato
TogliCond()
toglie tutte le condizioni impostate sulla tabella, anche quelle automatiche.
Espressione($id, &$nome, $cond)
Aggiunge all'insieme dei campi corrente un'espressione SQL
$id rappresenta una delle costanti ESPR_SQL_* e indica l'operazione da
applicare.
Ad essa possono essere passati un numero variabile di argomenti che vanno
inseriti dopo il parametro $cond.
I parametri possono essere:
- delle costanti, passate come valori o variabili php
- dei riferimenti a campi o espressioni della tabella costruiti con la
funzione c(...);
- degli operatori per parametri booleani, si veda operr e questi vengono
applicati al riferimento di campo immediatamente precedente.
$nome rappresenta l'alias dell'espressione. È importante notare che il
metodo html/protoh::PrendiVisCampo torna un controllo il cui nome è quello
del campo (od alias dell'espressione) preceduto da un _ (underscore). Questo
per evitare sovrapposizioni non volute con i parametri interni di navigami.
Se, invece, si volesse effettuare questa sovrapposizione utilizzare le
costanti TAB_NOME_* per valorizzare il parametro $nome.
Se il nome non inizia con - dopo l'inserimento dell'espressione verrà creata
una costante chiamata $nome che vale l'indice dell'espressione nella tabella.
Se $nome inizia per _ l'espressione non sarà inclusa nella selezione, ma potrà
solo essere usata per costruire espressioni più complesse.
Se il parametro $cond è non nullo allora all'espressione indicata
verrà applicato il filtro opportuno.
ImpVisibile($nCampo, $bool=VERO)
CambiaTipo($nCampo, $tipo)
Converte i valori contenuti nel campo indicato nel tipo indicato.
$tipo deve essere una costante di quelle elncate in bd/campo.
ImpChiave(&$vChiavi)
Forza navigami a considerare come campi chiave della tabella, quelli indicati.
Il parametro è un vettore di indici base 0.
deprecata CalcolaSchema(&$formato, &$vParam, $nRighe=1, $bIntestazione=VERO)
deprecata PrendiSchema($nRighe=1) &
deprecata PubblicaInHtml(&$phSchema, $posizione=0, $azzera=VERO)
Seleziona($posizione=0, $azzera=VERO, $stampa=FALSO)
$posizione indica il numero di riga su cui posizionarsi, utile per las
paginazione
$azzera indica di riportare l'oggetto allo stesso stato in cui si trovava
subito dopo essere stato creato, in particolare verranno persi i
filtri, le espressioni e ogni altra impostazione
$stampa indica di stampare a video l'SQL generato, utile in fase di prova
torna un oggetto di tipo motore.vphp#dati;
locale
Conta(&$condizione)
conta le righe che soddisfano la condizione indicata.
la condizione deve essere specificata con lo stesso formato del metodo
Elimina
SelezionaValore($posizione=0, $azzera=VERO, $stampa=FALSO) &
Esegue un'interrogazione sulla tabella e ritorna il
valore del primo campo presente nella prima riga.
PrendiValore($vValChiavi, $indiceCampo) &
Esegue un'interrogazione sulla tabella e ritorna il
valore del campo indicato nella riga indicata dalla chiave primaria.
$vValChiavi è un vettore od un singolo valore della chiave primaria.
PrendiDescrizione($chiave, $tipologia, $lingua='it') &
Questo metodo suppone che la tabella su quale è invocato sia configurata
come internazionale dal codice "chest".
Quindi deve essere stata definita una colonna descrittiva, una colonna
tipologia, una chiave esterna ed una lingua.
Il metodo esegue un'interrogazione cercando nella tabella una descrizione
che appartenga ad una riga che abbia le colonne configurate come chiave
esterna e tipologia uguali a quelle passate come parametri. Per la lingua,
invece, cerca prima quelle indicate dal navigatore e se non la trovasse cerca
quella indicata dal parametro e se ancora non trova niente torna NULL.
NOTA: il metodo modifica lo stato dell'oggetto.
PrendiRiga($vValChiavi, $bStampa=FALSO) &
Esegue un'interrogazione sulla tabella e ritorna la
riga da essa restituita.
$vValChiavi è un vettore od un singolo valore della chiave primaria.
Se la riga non esiste la funzione torna NULL.
Max($iCampo, &$vCond, $bStampa=FALSO)
ritorna il valore massimo presente nella tabella per l'indice di colonna,
base 0, indicato.
Il parametro $vCond è un vettore di oggetti che rappresentano le condizioni
di selezione.
NON cambia lo stato interno dell'oggetto.
AggiornaTimbro($indice, $bStampa=FALSO)
/*----
Aggiorna all'istante attuale il campo timbro (timestamp) indicato dal
parametro $indice.
Questo campo deve essere o di tipo intero (e contenere il numero di secondi
trascorsi dal 1-1-1970) o di tipo timestamp.
-
GestisciEventi(&$valoriAggiuntivi, $bStampa=FALSO)
/*----
Gestisce gli eventi che si sono verificati.
Questo metodo verifica che in GET od in POST sia stata passata una variabile
denominata elimina, inserisci o modifica; In questo caso intraprende l'azione
opportuna fondendo il parametro $valoriAggiuntivi con le variabili generate
dall'utente. In caso contrario non fa nulla.
Ritorna FALSO se nessuna azione viene intrapresa o se questa fallisce, VERO
in caso di successo.
-
Aggiorna(&$valori, $bUsaNomiHtml=FALSO, $bStampa=FALSO)
/*----
Da un vettore nomecampo => valore aggiorna le righe indicate dalla cella
$valori[INDICE_CONDIZIONE] e dai filtri impostati sull'oggetto.
questa è una stringa contenente i valori di tutte le chiavi di tutte le
tabelle appartenenti alla tabella. Per separare i valori vengono usati i
seguenti caratteri speciali:
Inserisci(&$vValori, $bUsaNomiHtml=VERO, $bStampa=FALSO)
inserisce una riga con i valori indicati in $vValori. Questo deve essere
un vettore associativo nomeControlloHtmlNavigami=>valore oppure
nomeCampo=>valore. In quest'ultimo caso $bUsaNomeHtml deve essere impostato
a FALSO.
Se una cella non esiste od è vuota nel campo corrispondente verrà inserito il
valore per cui quel campo è stato filtrato nell'oggetto corrente, se non è
filtrato verrà inserito il valore di default stabilito nella basedati.
$vValori può anche essere un oggetto di tipo tabella, in questo caso
verranno inseriti i valori che sarebbero tornati dal metodo Seleziona,
ma eseguendo un singolo comando INSERT INTO tabella(campi_visibili) SELECT.
privata InserisciSelezione(&$tabellaSorgente, $bStampa)
InserisciPerIndice(&$vValori, $bStampa=FALSO)
inserisce una riga con i valori indicati in $vValori. Questo deve essere
un vettore indicizzato base 0 contenente i valori da inserire in tabella
elencati nello stesso ordine cui i campi compaiono.
Se una cella non esiste od è vuota nel campo corrispondente verrà inserito il
valore per cui quel campo è stato filtrato nell'oggetto corrente, se non è
filtrato verrà inserito il valore di default stabilito nella basedati.
Gestisce i valori autoincrementanti.
Il chiamante trova il valore autoincrementato nella cella del vettore.
Torna VERO se l'inserimento è riuscito, FALSO altrimenti.
privata CalcolaAutoincremento(&$vValori, $bStampa)
privata CalcolaAutoIncrementoMax(&$vValori, $campo, $bStampa)
privata CalcolaAutoIncrementoSerie(&$vValori, $campo, $bStampa)
privata CompletaValoriInserimento(&$vValori)
Elimina(&$condizione, $stampa=FALSO)
Elimina le righe indicate da $condizione appartenenti all'utente navigami
autenticato.
$condizione è una stringa contenente i valori di tutte le chiavi di tutte le
tabelle appartenenti alla tabella. Per separare i valori vengono usati i
seguenti caratteri speciali:
privata CalcolaCondizione(&$condizione) &
TrasformaCondizioneInSQL(&$condizione) &
StampaStruttura()
Stampa una tabella HTML indicante la struttura della tabella SQL
CalcolaIndiciSelezione() &
Torna un vettore che associa ad ogni indice del vettore risultato della
singola riga selezionata l'indice del vettore campi da cui deriva
serve per la classe html/espansione
NumCampi()
Lavora in tempo costante
NumCampiVisibili(&$formato)
Lavora in tempo lineare. $formato va passato pari a v()
Ordine($nCampo=NULL, $bDec=FALSO) &
Se $nCampo viene specificato esso viene aggiunto all'elenco dei campi
utilizzati per l'ordinamento; altrimenti viene ritornata la clausola da
mettere dopo la parola chiave ORDER BY in una interrogazione SQL.
FormatoCondizione($base=0) &
Ritorna il formato da passare a vsprintf per ottenere la condizione che
consente di identificare la riga.
È responsabilità del programmatore accertarsi che tutti i campi chiave
effettivamente utili siano stati inseriti nella lista di selezione.
Il parametro $base è per solo uso interno.
CampiNascSel(&$tab, $vParam) &
Campo($nCampo) &
Torna un oggetto di tipo campo che rappresenta il campo della tabella
associato alla costante passata
IndiceCampo($nCampo)
torna $nCampo. vedere vista::IndiceCampo
CampiChiave() &
Ritorna il vettore degli oggetti campo che rappresentano la chiave
Chiave($nCampo)
Ritorna VERO se il campo indicato è chiave, FALSO altrimenti.
Chiavi($base=0)
Torna un vettore composto da tanti elementi quanti sono i campi chiave,
ad ogni elemento è presente l'indice del relativo campo chiave nella tabella.
Il parametro $base è per solo uso interno.
NomiCampi($bCorto=VERO) &
Torna un vettore contente i nomi di tutti i campi della tabella. Se bCorto è
vero, viene ipotizzato che il nome del campo abbia un prefisso del tipo
xxx_ che viene tolto. Gli _ presenti vengono conertiti in spazi.
NomeTab() &
Ritorna un riferimento al nome della tabella.
Alias() &
Ritorna un riferimento all'alias specificato per la tabella.
Se non è stato speciicato alcun alias torna la stringa vuota.
Esporta() &
Ritorna un stringa che rappresenta lo stato interno dell'oggetto in modo che
possa essere persistito tra due differenti sessioni.
Questa stringa può essere passata come parametro al metodo Importa
statica
Importa(&$bd, &$stringone)
Ripristina lo stato dell'oggetto come descritto dal parametro.
Il parametro dovrebbe essere un valore tornato dal metodo Esporta.
statica, privata RipristinaNomi(&$bd, &$sezione)
privata RipristinaCampi(&$sezione)
privata RipristinaChiavi(&$sezione)
privata RipristinaOrdine(&$sezione)
privata RipristinaFiltri(&$sezioni)
locale Gruppo($bForza=FALSO) &
locale
DaRaggruppare()
Torna VERO se l'oggetto contiene un'espressione di gruppo.
locale CondizioneSelezione($bUsaNomiLocali=FALSO) &
locale CondizioneGruppo($bUsaNomiLocali=FALSO) &
locale CondizioneSQL($bUsaNomiLocali, $bGruppo) &
locale PrendiNomeCampo($nCampo, $bUsaNomiHtml) &
locale PrendiNomeCampoLocale($nCampo, $bUsaNomiHtml) &
privata InsOggettoCampo(&$risCampi, $i)
privata AggiungiCondUtente(&$colonnaUtente, $valoreUtente)
privata AggiungiCampiNascosti(&$vParam, &$formato, $valoriDaEspandere)
locale