Funzioni di Generazione HTML.

aggScriptControlli(&$vett); &
aggScriptMenu(&$vett); &
aggScriptMenuMot(&$vett); &
aggScriptMenuUte(&$vett); &
aggScriptNavig(&$vett); &
aggScriptProva();
aggScriptRicerca(&$vett, &$vCampi); &
aggScriptTendina(&$vett, &$vCampi); &
prendiScriptControlli(); &
prendiScriptMenu(); &
prendiScriptNavig(); &
prendiScriptRicerca($vCampi); &

classe Html
{
SPAZIO;

costruttore($nlivelli=0, $sPrimoTag=NULL, $vAttr=NULL, $bDaChiudere=VERO);
ACapo();
Ancora($pagina, $var=array(), $dest=NULL, $x=NULL, $y=NULL, $attrr=array(), $InsInfoSessione=VERO);
ApriChiudiTag($sTag, $vAttr=NULL, $cont=NULL, $bDaChiudere=FALSO);
ApriDiv(&$id, $x, $y, $bVis);
ApriModulo($azione, $bTrasfArchivi=FALSO);
ApriTag($sTag, $vAttr=NULL);
Bianca($sScript=NULL);
CalcolaVettoreLingue($campoLingua, &$linguaPred); &
CambiaConsumatore(&$cons);
CampiNascosti($vet);
ChiudiTag($sNome='');
ChiudiTutto($bHtml=VERO);
Corpo($sScript=NULL, $evento='onload');
ControlloRicerca();
CreaUri($pagina, &$var, $InsInfoSessione=VERO); &
CSS($CSS);
DeIndenta($n);
Div(&$id, $x, $y, $bVis);
ElencoLingue($campoLingua, &$linguaPred); &
GeneraID($prefisso); &
Immagine($nomeImm, $bLoc=FALSO, $largh=NULL, $altezza=NULL, $titolo=NULL, $classe=NULL);
ImpostaLivelli($nliv);
ImpostaSegnalibro(&$nome);
ImpostaTabulazione($tab);
ImpostaUtente($utente);
ImpTrasformazione(&$cambioIndici);
Indenta($n=1);
Inizializza();
InsConsumabile(&$consumabile);
InsSpeciale($sNome, $vStr=NULL, $cMod='!');
InsTag($sTag, $vAttr=NULL);
InsTesto(&$sTesto, $indiceConBarre=NULL);
Intestazione($Titolo, $vCSS=null);
Mappa($nomeImm, $lungh, $alt, $centrata, &$ris, &$tabStringhe, &$tipo, &$lingua);
MappaServer($nomeImm, $uriDest, $var);
Meta();
OmettiTagNulli($ometti);
PieDiPagina($nomeprod="", $anni="", $vScript=NULL, $img='trasp.gif');
PrendiNumAperti();
PrendiVettConsumabili();
Pulsante($nome, $etich, $classe=NULL, $script=NULL, $forzaSubmit=FALSO);
Racchiudi($tag, $classe=NULL, $vattr=NULL);
RecuperaSegnalibro(&$nome); &
RipristinaTagPrimaDelCiclo($indice);
SaltaTagPrimaDelCiclo();
Script(&$ScrEsterno, &$ScrInterno, $bDefer=FALSO);
Sincronia();
Stampa($bDevoAzzerare=VERO);
Tendina(&$nome, &$valori, &$chiaveValorePred, $soloperProtoh=NULL, $soloperProtoh=NULL, $soloperProtoh='');
Unisci(&$html);
Vuoto();
}


costruttore($nlivelli=0, $sPrimoTag=NULL, $vAttr=NULL, $bDaChiudere=VERO)

Vuoto()
Torna VERO se l'oggetto è ancora vuoto, ovvero se non è stato inserito alcun consumabile all'interno, FALSO altrimenti.

Indenta($n=1)

DeIndenta($n)

ImpostaTabulazione($tab)

ImpostaLivelli($nliv)

PrendiLivelli()

PrendiNumAperti()

ImpostaUtente(&$utente)

Ancora(&$pagina, $var=array(), $dest=NULL, $x=NULL, $y=NULL, $attrr=null, $InsInfoSessione=VERO) &
Ingloba l'html contenuto nell'oggetto corrente in un'ancora la cui destinazione è specificata dall'uri $pagina. se questa è NULL viene intesa la pagina corrente.
Il parametr $var, contiene eventuali valori da passare in GET alla pagina destinazione.
Il parametro $dest indica il nome della finestra o della cornice in cui mostrare l'uri.
Se vengono specificati anche i parametri $x e $y viene inserito del codice javascript che apre l'uri in una finestra posizionata alle coordinate indicate.
Utilizzare il parametro $attrr come vettore associativo per specificare ulteriori attributi.

Racchiudi($tag, $classe=NULL, $vattr=NULL)
| Aggiunge un tag aperto prima dell'html corrente e un tag chiuso dopo. | $classe deve essere un oggetto AttributoClasse | $vAttr deve essere un vettore di oggetti attributo

CampiNascosti(&$vet, &$espansioni=array()) &
Inserisci nell'oggetto corrente un insieme di campi nascosti (tag INPUT, tipo hidden).
Il parametro passato è un vettore associativo nomeCampo => valoreCampo.

ControlloRicerca()

ApriModulo($azione, $bTrasfArchivi=FALSO)
Inserisce un modulo diretto ad $azione.
Se $azione è NULL $azione è la pagina stessa (attributo non specificato)

Pulsante($nome, $etich, $classe=NULL, $script=NULL, $forzaSubmit=FALSO)
Inserisce un pulsante di nome $nome con l'etichetta $etich e di classe $classe. Se $script è nullo o $forzaSubmit è vero viene inserite un pulsante di conferma per moduli (submit), altrimenti un pulsante normale che esegue lo script specificato. torna l'oggetto tag creato e inserito.

ApriDiv(&$id, $x, $y, $bVis)
Apre un DIV posizionato alle coordinate indicate da $x e $y. Il parametro $bVis indica se il div deve essere inizialmente visibile o meno. $id può essere una stringa costante o un'Espansione

Div(&$id, $x, $y, $bVis)
Ingloba l'html contenuto nell'oggetto corrente in un DIV posizionato alle coordinate indicate da $x e $y. Il parametro $bVis indica se il div deve essere inizialmente visibile o meno. $id può essere una stringa costante o un'Espansione

privata AttributiDiv(&$id, $x, $y, $bVis) &

Bianca($sScript=NULL)

Intestazione($Titolo, $vCSS=null)

Meta()

privata CompletaMeta(&$vattr)

CSS(&$vCSS)

Script(&$ScrEsterno, $bDefer=FALSO)

Corpo($sScript=NULL, $evento='onload')

ACapo()
Inserisce un tag BR.

Immagine($nomeImm, $bLoc=FALSO, $largh=NULL, $altezza=NULL, $titolo=NULL, $classe=NULL)

Mappa($nomeImm, $lungh, $alt, $centrata, &$ris, &$tabStringhe, &$tipo, &$lingua) &
Inserisce nell'oggetto corrente i tag necessari a creare una mappa HTML lato client.
Il parametro $nomeImm indica un nome di file immagine che si deve trovare nella sottocartella immagini dell'applicazione, oppure essere una url completa del tipo http://ip/cartella/immagine.
I parametri $lungh e $alt, indicano la lunghezza e l'altezza a cui sarà ridimensionata l'immagine. Possono essere valori percentuali. Nel caso in cui non si vuole avere la mappa centrata è possibile impostare a zero questi parametri e la mappa assumerà le dimensioni originali dell'immagine. Nel caso di valori percentuali $lungh contiene la percentuale di schermo che si vuole usare e $alt il rapporto lunghezza/altezza che si vuole mantenere.
Il parametro booleano $centrata indica se la mappa deve essere inserita normalmente o centrata sia verticalmente che orizzontalmente. In quest'ultimo caso si assume che esistano entrambe le variabili globali $__dimsch_dimy_nav e $__dimsch_dimx_nav generate dal modulo dimschermo.php.
Il parametro $ris è di tipo bd_ris (bd/motore.vphp) ed indica le zone in cui verrà suddivisa la mappa e le pagine di destinazione. Deve essere formato da quattro colonne: le prime due indicano le coordinate (X e Y) di ogni punto, la terza indica la chiave dell'area in modo da recuperarne la descrizione, infine la quarta indica la pagina di destinazione della zona. La selezione deve essere ordinata per pagina di destinazione.
Il parametro $tabStringhe è un oggetto di tipo bd/tabella su cui viene invocato il metodo bd/tabella::PrendiDescrizione passandogli come parametri la terza collonna della descrizione ed i parametri $tipo e $lingua.
Ritorna un vettore che contiene nell'indice 0 la lunghezza e nell'indice 1 la larghezza a cui è stata ridimensionata l'immagine.

Tendina(&$nome, &$valori, $chiaveValorePred, $soloperProtoh1=NULL, $soloperProtoh2=NULL, $soloperProtoh3='')
Crea un menu (tag SELECT) del nome indicato con le voci indicate
Il parametro $nome indica il nome della variabile lato server che verrà valorizzata con la scelta dell'utente.
Il parametro $valori è un vettore associativo valore->etichetta, il valore è ciò che viene tornato al server, l'etichetta viene mostrata all'utente.
Il parametro $chiaveValorePred contiene la chiave indicata nel parametro $valori la cui etichetta viene subito mostrata all'utente.

privata CalcolaAttributiImmMappa($idLoc, &$nomeImm, &$lungh, &$alt, $centrata) &

privata InserisciAree(&$ris, $lungh, $alt, &$tabStringhe, &$tipo, &$lingua)

privata CalcolaCoord($x, $y, $lungh, $alt) &

MappaServer(&$nomeImm, &$uriDest, &$var) /*---- Inserisce nell'oggetto corrente i tag necessari a creare una mappa HTML lato server.
Il parametro $nomeImm indica un nome di file immagine che si deve trovare nella sottocartella immagini dell'applicazione, oppure essere una url completa del tipo http://ip/cartella/immagine.
Il parametro $uriDest indica l'uri della pagina che processerà l'evento di clic sulla mappa.
$var è un vettore associativo che indica le variabili da passare in GET alla pagina $uriDest. -

privata Conta(&$script)

PieDiPagina($nomeprod="", $anni="", $vScript=NULL, $img='trasp.gif')
Inserisce nell'oggetto corrente un pie' di pagina standard, che riporta il nome del prodotto, l'intervallo di anni in cui è stato sviluppato e le notizie sui diritti d'autore. Questi ultimi vengono risportati sotto forma di collegamento al sito aziendale. $img è un'immagine che viene affiancata al nome dell'azienda.

ChiudiTutto($bHtml=VERO)
Chiude tutti i tag aperti in questo oggetto Html. Se il parametro è vero forza anche la chiusura del tag Html finale

CambiaConsumatore(&$cons)

InsTag($sTag, $vAttr=NULL)

ApriTag($sTag, $vAttr=NULL)

ApriChiudiTag($sTag, $vAttr=NULL, $cont=NULL, $bDaChiudere=FALSO)
Il parametro $bDaChiudere indica se il tag necessita di un corrispettivo tag di chiusura: esempio BR non necessita di /BR, se $cont è non nullo la presenza del tag di chiusura viene forzata. torna l'oggetto tag creato e inserito.

OmettiTagNulli($ometti)

ChiudiTag($sNome='')

InsTesto(&$sTesto, $indiceConBarre=NULL)

InsSpeciale($sNome, $vStr=NULL, $cMod='!')
Inserisce un tag speciale nell'oggetto corrente.
Un tag speciale è un tag del tipo:

Dove:
'DOCTYPE' o 'XML' è $sNome.
str1, str2, ..., strn sono contenute in $vStr.
'!' o '?' è contenuto in $cMod.

InsConsumabile(&$consumabile)
Questo metodo accetta un qualsiasi oggetto che implementa l'interfaccia consumabile (consumi.vphp) od un vettore di oggetti che la implementano e li aggiunge alla lista dell'html da generare

Unisci(&$html)

ImpostaSegnalibro(&$nome)
Imposta un segnalibro col nome specificato in modo che un riferimento all'ultimo consumabile inserito possa essere recuperato tramite il metodo RecuperaSegnalibro

RecuperaSegnalibro($nome) &
Recupera il consumabile salvato col metodo ImpostaSegnalibro

statica CreaUri($pagina, &$var, $chiedoInfoSessione=VERO) &
Restituisce una stringa che rappresenta un'uri, le cui componenti vengono specificate nei parametri. Se è stato impostato l'utente in richiesta ed il parametro $InsInfoSessione è impostato a VERO propaga anche le informazioni di autenticazione.
$pagina è l'indirizzo della pagina per cui vuole costruire l'uri; può essere un'indirizzo assoluto o relativo.
$var è un vettore associativo che indica le variabili da passare in GET alla pagina specificata.

statica ElencoLingue($campoLingua) &
Ritorna una stringa contenente le lingue accettate dal navigatore in ordine di preferenza separate da una virgola.
Se il parametro $campoLingua non è nullo il primo elemento sarà %campoLingua.
Se il parametro $linguaPred non è nullo sarà inserito come ultimo elemento.

statica CalcolaVettoreLingue($campoLingua, &$linguaPred) &
Ritorna una stringa contenente le lingue accettate dal navigatore in ordine di preferenza separate da una virgola.
Se il parametro $campoLingua non è nullo il primo elemento sarà %campoLingua.
Se il parametro $linguaPred non è nullo sarà inserito come ultimo elemento.

statica GeneraID($prefisso) &
Restituisce un identificativo univoco progressivo per il prefisso passato.

ImpTrasformazione(&$cambioIndici)
prende un vettore associativo vecchioIndice => nuovoIndice come trasformazione da applicare in fase di stampa per le espansioni configurate.

Sincronia($bDevoAzzerare=VERO)

Stampa($bDevoAzzerare=VERO)

Inizializza()

privata Azzera($finoA)

PrendiVettConsumabili() &
Ritorna il vettore dei consumabili interno costruito finora dall'oggetto.

obsoleta InsHtml(&$html, $bOggHtml=VERO)

obsoleta NuovoTag($tag, &$cont, $classe=NULL, $vattr=NULL, $bTagInLinea=FALSO)

obsoleta AggHtml($html)

protetta AllocaTagAperto($nome, &$vattr) &

protetta SaltaTagPrimaDelCiclo()
Nasconde tutti i tag che, eventualmente precedeno un ciclo e cioè quelli il cui comportamento è CONTINUA. Questi tag possono essere ripristinati passando a RipristinaTagPrimaDelCiclo il valore di ritorno di questo metodo.

protetta RipristinaTagPrimaDelCiclo($indice)
Ripristina i tag nascosti da SaltaTagPrimaDelCiclo

privata ImpostaEstremi($da, $a)

privata privata privata privata MaxLunghVettStr($vStr)
Esegue fattivamente la stampa e torna l'indice dell'elemento che ha bloccato l'esecuzione

aggScriptProva()

prendiScriptControlli() &

aggScriptControlli()

prendiScriptNavig() &

aggScriptNavig()

prendiScriptMenu() &

aggScriptMenu()

aggScriptMenuMot($mot)
Come aggScriptMenu, ma usa il motore $mot per autenticare l'utente

aggScriptMenuUte($ute)

aggScriptTendina()

ElaboraCoordinateMappaServer(&$coord_x, &$coord_y)