classe ute_utente
{
costruttore(&$motore, $nomeUtente=NULL, $pChiave='');
Autenticato();
AutenticatoHtml($pagina='indice.php', $dest='_self');
AutenticatoHtmlInfo(&$info, $pagina='indice.php', $dest='_self');
AziendaModificabile();
CambiaAzienda($nuovaAzienda);
CambiaDatiSessione($nuoviDati);
CambiaPChiave($nuovaPChiave);
CaricaInfoUtente($codice); statica
CaricaUtentePubblico(&$dominio);
Crea($casella, $descrizione);
CreaSessione($sessioneRealm);
Filtro(&$vCampiRich); &
InfoSito($utente=NULL); &
Istanziati($sessioneRealm=FALSO); &, statica
MotivoAut();
PrendiAzienda();
PrendiCasella(); &
PrendiCodGruppo();
PrendiCodUtente();
PrendiDesc(); &
PrendiGruppi(); &
PrendiGruppo(); &
PrendiMenu($idGruppo); &
PrendiNome(); &
PrendiSessione(); &
PropagaCred(&$uri); &
RiscriviSingolaUri($uri); &, statica
RiscriviUri(&$uri); &
Scollega();
UtentePubblico();
VerificaPChiave($sNomeUtente, $sPChiave, $sessioneRealm=FALSO);
VerificaSessione($sessione);
}

classe ute_gruppo
{
PrendiApplicazione();&
PrendiApplicazioni();&
PrendiCodice();
PrendiDescr();&
PrendiDominio();&
PrendiDurataSessione();
PrendiIcona();&
PrendiNome();&
VerificaIP();
}

classe ute_applicazione
{
PrendiUri();
PrendiCartella();
PrendiDescrizione();
PrendiParametri();
}

define('NOME_SESSIONE', 'idNavigami');
define('DATI_SESSIONE', 'altriDatiNvg');
define('URI_SPIACENTE', CARTELLA_COM.'utenti/spiacente.html');
define('SESSIONE_REALM', 'realm');

costruttore(&$motore, $nomeUtente=NULL, $pChiave='', $sessioneRealm=FALSO)
Istanzia un nuovo oggetto utente ed esegue la procedura d autenticazione per l'utente se:
1) viene specificato il parametro $nomeUtente;
2) esiste la variabile $nomeute dentro la richiesta (creata dalla pagina di accesso).
3) è stata eseguita un autenticazione con Realm

VerificaPChiave($sNomeUtente, $sPChiave, $sessioneRealm=FALSO)

VerificaSessione()

Autenticato()
Ritorna VERO se è già stata eseguita, con successo, la procedura di autenticazione

MotivoAut()
Ritorna il motivo dell'eventuale non autenticazione, una delle seguenti costanti:
CRED_NON_INS, CRED_SBAGLIATE, CRED_GIUSTE, SESSIONE_SCADUTA o NON_PERMESSO

AutenticatoHtml($pagina=NULL, $dest='_self')
Si comporta come Autenticato; in più stampa la pagina di accesso se non sono disponibili info sull'utente, stampa spiacente.html se le info disponibili non autenticano l'utente.

AutenticatoHtmlInfo(&$info, $pagina='indice.php', $dest='_self')
Come AutenticatoHtml, ma in più consente di specificare dell'html da includere nella pagina di accesso.

Scollega()
Invalida la sessione dell'utente corrente

PrendiGruppo() &

PrendiGruppi() &

PrendiCodGruppo()

PrendiCodUtente()

PrendiNome() &

PrendiDesc() &

PrendiCasella() &

PrendiSessione() &
Torna un vettore associativo NOME_SESSIONE => id_sessione, DATI_SESSIONE => dati.

PrendiAzienda()

AziendaModificabile()

PrendiMenu($idGruppo=NULL) &

RiscriviUri(&$uri) &
Se l'utente è autenticato aggiunge l'eventuale sessione all'uri indicata, eccezione in caso contrario.

PropagaCred(&$uri) &
Se l'utente ha provato ad autenticarsi aggiunge l'eventuale sessione all'uri indicata, altrimenti non fa niente.

Filtro(&$vCampiRich) &
Ritorna il filtro associato al gruppo dell'utente.
Ad ogni gruppo di utenti possono essere associati un numero variabile di valori in modo che l'applicazione possa usarli per aggiungere i filtri opportuni nelle tabelle.
Il metodo torna un vettore con il sottoinsieme di valori specificato dal parametro.
Il parametro $vCampiRich è un vettore associativo (indiceDestinazione => indiceSorgente) indiceSorgente indica quali valori devono essere ritornati, mentre indiceDestinazione indica la posizione che il valore deve assumere nel vettore ritornato
Esempio:
se l'utente corrente ha associati i valori ('A', 'B', 'C') e viene invocato il metodo con un parametro ['chiave1'=>0, 'chiave2'=>2] viene ritornato il seguente vettore: ['chiave1' => 'A', 'chiave2' => 'C'].
Nota 1
se il parametro è nullo viene tornato uno scalare contente il primo valore.
Nota 2
Se l'indice richiesto non è presente la cella corrispondente viene impostata a NULL.

deprecata CreaPaginaMetachiavi(&$css)

statica InfoSito($utente=NULL) &
Torna un vettore con le informazioni su una particolare applicazione sviluppata con il modulo utenti di navigami.
La posizione 0 contiene la descrizione del sito.
La posizione 1 torna l'elenco delle metachiavi per l'indicizzazione da parte dei motori di ricerca.
Il parametro $utente è opzionale. Nel caso in cui venga specificato saranno ritornate anche le metachiavi associate allo specifico utente. Se non viene specificato e non esiste nessuna informazione di autenticazione verranno ritornate solo le metachiavi generiche dell'applicazione.
Importante, specificare il codice dell'utente e non il suo nome.

statica, privata DescSito(&$bd) &
Torna la descrizione dell'applicazione web configurata nel modulo utenti di navigami che l'utente sta attualmente visualizzando.

statica RiscriviSingolaUri($uri) &
Come RiscriviUri, ma statica. Dato che crea ogni volta un nuovo oggetto motore, ed una nuova connessione è preferibile chiamarla solo se non si devono usare altri metodi di questa classe e se viene invocata una sola volta.

statica Crea($casella, $descrizione, $azienda=NULL) &
Crea un nuovo utente partendo dai parametri predefiniti di navigami e completando le sue informazioni con i parametri.
Sostituisce l'oggetto presente nella richiesta.

statica, privata AssociaGruppo($basedati, &$dati, $codute, $azienda)

statica Istanziati($sessioneRealm=FALSO) &
Carica un oggetto utente dentro $richiesta usando la base di dati predefinita.
Cerca di eseguire la procedura di autenticazione se è stato usato il modulo di accesso di navigami.
È comunque necessaria l'inclusione di //html/richiesta.iphp o che sia presente la variabile globale $richiesta;
il booleano passato come parametro indica se l'autenticazione avvenuta tramite realm deve generare degli idNavigami validi

CaricaUtentePubblico(&$dominio)
Metodo alternativo all'autenticazione.
Il metodo verifica se il sito corrente consente la visualizzazione di pagine senza autenticazione e, in caso positivo, configura l'oggetto con i dati dell'utente associato pubblico.
Torna VERO se la procedura ha trovato e caricato con successo un utente pubblico per il dominio indicato, FALSO altrimenti.

CaricaInfoUtente($codice)
Il metodo carica le informazioni pubbliche dell'utente indicato
Torna l'utente se la procedura ha trovato e caricato con successo un utente che in ogni caso non sarà autenticato e non avrà una sessione o un gruppo associato

UtentePubblico()
Torna VERO se l'utente è un utente pubblico che non ha eseguito l'autenticazione per il dominio indicato, FALSO altrimenti.

deprecata AggiungiSessioneUri(&$uri) &
Deprecata. Usare PropagaCred

privata ValorizzaCampi(&$riga, $base, $valGruppi=VERO)

privata ValorizzaGruppi()

CreaSessione($sessioneRealm)
va invocata esplicitamente solo in caso di siti con autenticazione basata su realm per ottenere sessioni valide per altri sottosistemi

privata AumentaSessione(&$sessione)

CambiaAzienda($nuovaAzienda)

privata CambiaAziendaPriv($nuovaAzienda)

CambiaDatiSessione($nuoviDati)

CambiaPChiave($nuovaPChiave)

privata EseguiInterrogazioneSessione(&$sessione)


privata costruttore(&$basedati, $codGrp, $azienda=null)

privata ValorizzaCampi($tab, $codGrp)

privata VerificaUri()

privata VerificaSingolaUri($daVerificare, $parametriRichiesti)

privata VerificaParam($param)

VerificaIP()

PrendiNome() &

PrendiDescr() &

PrendiIcona() &

PrendiDominio() &

PrendiDurataSessione()

PrendiApplicazioni() &
Ritorna tutte le applicazioni (percorsi) abilitati al gruppo

PrendiApplicazione() &
Ritorna l'applicazione (percorso) attualmente attivo sulla base dell'url richiesta

PrendiCodice()


privata costruttore($cartella, $uri, $parametri, $descrizione)

PrendiUri()

PrendiCartella()

PrendiParametri()

PrendiDescrizione()