pnUserGetLang
pnUserGetLang — si ottiene
la lingua corrente
Sintassi
string
pnUserGetLang()();
DATABASE_ERROR
Descrizione
pnUserGetLang()siottiene
la lingua corrente mostrata per l’output
Valori restituiti
Questa funzione restituisce il
nome della lingua usata. Questa funzione restituisce void se viene
incontrata un'eccezione.
Eccezioni
La funzione non produce eccezioni
ma rimanda eccezioni da altre funzioni.
Note
L'utente non deve essere
realmente entrato affinchè questa funzione funzioni
correttamente. Se l'utente non è entrato questa funzione
restituirà preferibilmente la lingua di default del sistema.
Esempi
|
//
per avere la lingua dell’utente
$lang
= pnUserGetLang();
|
pnUserGetTheme
pnUserGetTheme — si ottiene
il tema corrente
Sintassi
string
pnUserGetTheme();
DATABASE_ERROR
UNKNOWN
Descrizione
pnUserGetTheme()
si ottiene il nome del tema corrtente per questa sessione usato per
mostrare l'output.
Valori restituiti
questa funzione restituisce il
nome del tema che sta funzionando. Questa funzione restituisce void
se viene incontrata un'eccezione.
Eccezioni
La funzione restituisce UNKNOWN
se non riesce a trovare il tema. La funzione rimanda alle eccezioni
di altre funzioni.
Note
Questa funzione considera la
per-category ed il tema di per-story . L'utente realmente non deve
essere entrato affinchè questa funzione funzioni
correttamente. Se l'utente non è entrato questa funzione
restituirà preferibilmente il tema di default del sistema .
Esempi
|
//
Per avere il tema corrente dell’utente
$theme
= pnUserGetTheme();
|
pnUserGetVar
pnUserGetVar — si ottiene
una variabile utente
Sintassi
mixed
pnUserGetVar(name,
uid(opt));
string
name,
string uid(opt)
;
BAD_PARAM
DATABASE_ERROR
ID_NOT_EXIST
MODULE_FILE_NOT_EXIST
MODULE_FUNCTION_NOT_EXIST
MODULE_NOT_EXIST
NO_PERMISSION
NOT_LOGGED_IN
UNKNOWN
VARIABLE_NOT_REGISTERED
Descrizione
pnUserGetVar()
si ottiene una variabile specifica dell'utente dal sistema
Envolution. Per default si avrà la variabile dell'utente
corrente; se viene fornita la variabile opzionale uid si otterrà
preferibilmente la variabile per quell'utente.
Parametri
name
Il nome della variabile utente da
ottenere
uid
L'uid dell'utente da cui
prenderemo la variabile
Valori restituiti
Questa variabile dà la
variabile richiesta sia se l'utente è loggato nel sistema sia
se un'ID dell'utente attuale è passata alla funzione e la
variabile esiste. Se la variabile non esiste questa funzione
restituirà void. Questa funzione restituisce void anche quando
viene incontrata un'eccezione
Eccezioni
La funzione ritorna BAD_PARAM se
si passa un parametro non valido. La funzione ritorna DATABASE_ERROR
se c’è un errore nell’interrogare i dati. La
funzione restituisce MODULE_NOT_EXIST se il modulo è
inesistente. Restituisce MODULE_FILE_NOT_EXIST se il file del modulo
non esiste. Restituisce MODULE_FUNCTION_NOT_EXIST una funzione di
autenticazione modulo non esiste. Restituisce MODULE_NOT_EXIST se
non esiste il modulo di autenticazione. Restituisce NOT_LOGGED_IN se
l’utente non è loggato. Restituisce NO_PERMISSION se non
si ha il permesso per chiedere il valore della variabile. Restituisce
UNKNOWN per problemi interni. Restituisce VARIABLE_NOT_REGISTERED se
i dati della variabile richiesta non sono registrati.
Note
Le variabili specifiche
dell'utente disponibili con questa versione dell'API sono:
email
L'Email dell'utente
name
il vero nome dell'utente
theme
il nome del tema dell'utente
timezone_offset
Il fuso orario dell'utente, nel
formato GMT-12 in ore
uid
Il numero di identificazione
dell'utente, normalmente usato solo per scopi interni
uname
l'username dell'utente
url
L'URL dell'utente
user_avatar
l'avatar dell'utente
Altre variabili saranno rese
disponibili nelle future release dell'API. Si può registrare
una nuova variabile utente con la funzione di modulo
register_user_var dell'API inclusa nel modulo Modules. Guarda la
sezione User Variable nell'Envolution Module Development Guide per
ottenere una spiegazione delle variabili utente.
Esempi
|
//
mostra le informazioni dell’utente loggato
if
(pnUserLoggedIn()) {
$name = pnUserGetVar('name');
if (isset($name)) {
echo "benvenuto nel sito, $name";
}
}
//
Mostra le informazioni di un utente specifico
$useremail
= pnUserGetVar('email', 5);
$username
= pnUserGetVar('name', 5);
if
(!empty($useremail) && !empty($username)) {
echo "$username ha la seguente mail $useremail";
}
|
Vedere anche
pnUserSetVar()
pnUserGetVars
pnUserGetVars — per
ottenere tutte le variabili utente
Sintassi
array
pnUserGetVars(uid);
string
uid
;
Descrizione
pnUserGetVars()si
ottengono tutte le variabili utente per uno specifico uid
dell'utente. il pnUserGetVars() è disapprovato perché
non può essere integrato con la nuova architettura dinamica di
dati dell'utente. Vedere la sezione User Variable nella Envolution
Module Development Guide per ottenere una descrizione della nuova
architettura.
Parametri
uid
identificativo utente
Valori restituiti
Questa funzione restituisce
un'array associativo delle variabili utente dove la chiave
rappresenta il nome della variabile e il contenuto il rappresenta il
valore.
Note
Esempi
|
//
id utente
$uid
= pnSessionGetVar('uid');
//
variabili utente
$vars
= pnUserGetVars($uid);
$user_description
= $vars['name'] . ', ' . $vars['email'];
|
Vedere anche
pnUserGetVar()
pnUserSetVar()
pnUserLoggedIn
pnUserLoggedIn — Controlla
se l'utente ha effettuato il login
Sintassi
bool
pnUserLoggedIn();
Descrizione
pnUserLoggedIn()accerta
se l'utente corrente è entrato o no al sistema Envolution
Valori restituiti
Questa funzione restituisce true
se l'utente è loggato nel sistema Envolution , e false se
viceversa non è loggato.
Esempi
Guardare gli esempi presenti in
pnUserGetVar() per esempi sull'utilizzo .
Vedere anche
pnUserLogIn(),
pnUserLogOut()
pnUserLogIn
pnUserLogIn — effettua il
login
Sintassi
bool
pnUserLogIn(uname,
pass,
rememberme);
string
uname,
, string pass,
, string rememberme
;
BAD_PARAM
DATABASE_ERROR
MODULE_FILE_NOT_EXIST
MODULE_FUNCTION_NOT_EXIST
MODULE_NOT_EXIST
Descrizione
pnUserLogIn()tenta
di fare il login dell'utente nel sistema Envolution con
i parametri forniti.
Parametri
uname
l'username dell'utente per
provare a fare il login
pass
la password dell'utente per
provare a fare il login
rememberme
Se true, Envolution tenterà
di ricordarsi delle credenziali di questo utente più a lungo
possibile, quanto stabilito all'interno della politica di sicurezza
che stabilita dall’amministratore del sito
Valori restituiti
Questa funzione restituisce true
se l'utente ha effettuato il login con successo, altrimenti
restituisce false. Questa funzione restituisce void se viene
incontrata un'eccezione.
Eccezioni
La funzione ritorna BAD_PARAM se
si passa un parametro non valido. La funzione ritorna DATABASE_ERROR
se c’è un errore nell’interrogare i dati. La
funzione rimanda alle eccezioni delle altre funzioni.
Esempi
|
//
Tentativo di login utente
if
(!pnUserLogIn(pnVarCleanFromInput('username'),
pnVarCleanFromInput('password'),
pnVarCleanFromInput('rememberme')) {
die('Bad username/password');
}
else {
// Utente loggato con successo
}
|
Vedere anche
pnUserLoggedIn(),
pnUserLogOut()
pnUserLogOut
pnUserLogOut — logout
utente
Sintassi
bool
pnUserLogOut();
DATABASE_ERROR
Descrizione
pnUserLogOut()tenta
di fare il logout dell'utente dal sistema Envolution.
Valori restituiti
Questa funzione restituisce true
se il tentativo di logout ha successo o se l'utente aveva già
fatto il logout. Questa fuzione restituisce void se viene incontrata
un'eccezione.
Eccezioni
La funzione restituisce
DATABASE_ERROR se c’è un errore nell’interrogare i
dati.
Esempi
|
//
Log out utente
pnUserLogOut();
|
Vedere anche
pnUserLoggedIn(),
pnUserLogIn()
pnUserSetVar
pnUserSetVar — imposta le
variabili utente
Sintassi
bool
pnUserSetVar()(name,
value);
string
name,
, string value
;
BAD_PARAM
DATABASE_ERROR
ID_NOT_EXIST
MODULE_FILE_NOT_EXIST
MODULE_FUNCTION_NOT_EXIST
MODULE_NOT_EXIST
NOT_LOGGED_IN
NO_PERMISSION
UNKNOWN
VARIABLE_NOT_REGISTERED
Descrizione
pnUserSetVar()
imposta le variabili utente specifiche nel sistema Envolution
Parametri
name
il nome della variabile utente da
impostare
value
Il valore della variabile utente
da impostare
Valori restituiti
Questa funzione restituisce true
se l'aggiornamento ha successo, false se la validazione fallisc.
Questa funzione restituisce voi se viene incontrata un'eccezione.
Eccezioni
La funzione ritorna BAD_PARAM se
si passa un parametro non valido. La funzione ritorna DATABASE_ERROR
se c’è un errore nell’interrogare i dati. La
funzione restituisce MODULE_NOT_EXIST se il modulo è
inesistente. Restituisce MODULE_FILE_NOT_EXIST se il file del modulo
non esiste. Restituisce MODULE_FUNCTION_NOT_EXIST una funzione di
autenticazione modulo non esiste. Restituisce MODULE_NOT_EXIST se
non esiste il modulo di autenticazione. Restituisce NOT_LOGGED_IN se
l’utente non è loggato. Restituisce NO_PERMISSION se non
si ha il permesso per chiedere il valore della variabile. Restituisce
UNKNOWN per problemi interni. Restituisce VARIABLE_NOT_REGISTERED se
i dati della variabile richiesta non sono registrati.
Note
Le variabili specifiche
dell'utente disponibili per questa release dell'API sono elencate
nella documentazione su pnUserGetVar() Guarda la sezione User
Variable nell'Envolution Module Development Guide per avere una
maggiore spiegazione sulle variabili dell'utente.
Esempi
|
//
Aggiorna l'indirizzo Email dell'utente
if
(!pnUserSetVar('email', 'foo@bar.net')) {
die('Problem setting user variable');
}
|
Vedere anche
pnUserGetVar()
pnUserValidateVar
pnUserValidateVar —
convalida di una variabile utente
Sintassi
bool
pnUserValidateVar()(name,
value);
string
name,
, string value
;
BAD_PARAM
DATABASE_ERROR
UNKNOWN
VARIABLE_NOT_REGISTERED
Descrizione
pnUserValidateVar()
convalida una variabile utente nel sistema Envolution
Parametri
name
il nome della variabile utente da
validare
value
il valore che sarà
validato contro le variabili utente nominate
Valori restituiti
Questa funzione restituisce true
se la validazione ha succsso, false se fallisce. Questa funzione
restituisce void se viene incontrata un'eccezione.
Eccezioni
La funzione ritorna BAD_PARAM se
si passa un parametro non valido. La funzione ritorna DATABASE_ERROR
se c’è un errore nell’interrogare i dati.
Restituisce UNKNOWN per problemi interni. Restituisce
VARIABLE_NOT_REGISTERED se i dati della variabile richiesta non sono
registrati.
Note
Guarda la sezione User Variable
section nell'Envolution Module Development Guide per avere una
maggiore spiegazione sulle variabili dell'utente.
Esempi
|
//
convalida l'indirizzo Email dell'utente
if
(!pnUserValidateVar('email', $email)) {
module_user_askdata(array('errmsg' => 'Invalid email'));
}
//
convalida il fuso orario dell’utente
if
(!pnUserValidateVar('timezone_offset', $timezone_offset)) {
module_user_askdata(array('errmsg' => 'Invalid timezone
offset'));
}
pnUserSetVar('email',
$email);
pnUserSetVar('timezone_offset',
$timezone_offset);
|
Vedere anche
pnUserGetVar()
pnVarCensor
pnVarCensor — rimuove le
parole censurate da una variabile
Sintassi
mixed
pnVarCensor(var,
...);
string
var,
, string ...
;
BAD_PARAM
DATABASE_ERROR
Descrizione
Descrizione pnVarCensor() prende
un numero variabile di valori della variabile ed esamina eventuali
parole ritenute offensive o da non visualizzare. Queste parole sono
sostituite con i contrassegni dell’asterisco per indicare che
sono state rimosse.
pnVarCensor() prova ad essere
intelligente nel relativo tentativo di rimuovere le parole censurate
censurando anche le parole incluse in altre parole.
Valori restituiti
Se viene passato solo il
pnVarCensor() con una singola valore di variabile allora restituisce
la corrispondente variabile censurata. Se viene passato il
pnVarCensor() con argomenti multipli allora restituisce un array
delle corrispondenti variabili censurate. Questa funzione restituisce
void se viene incontrata una eccezione.
Eccezioni
La funzione non produce eccezioni
ma rimanda a eccezioni di altre funzioni.
Note
pnVarCensor()usa
le informazioni fornite nella configurazione per 'CensorList ' come
base delle parole da censurare. Inoltre cerca tutte le derivazioni
delle parole. Il sistema è inoltre case-insensitive.
È possibile censurare le
informazioni sia prima che siano immagazzinate nel database che prima
che siano visualizzato sullo schermo. La scelta spetta allo
sviluppatore, ma le implicazioni dei due metodi differenti dovrebbe
essere considerata. Nella censura prima della registrazione, le
parole sono inserite nel database con i contrassegni ed è
possibile che parte del significato potrebbe essere persa a causa di
una scelta difettosa delle parole nella lista del censore. Nella
censura prima della visualizzazione, l'abilità consiste
nell’aggiungere questi termini alla lista di censura e farli
entrare in vigore nel modo più retroattivo possibile, ma ci
possono essere complicazioni ogni volta che vengono incontrati questi
termini e che il testo non censurato viene memorizzato nel database.
Si avrà cura di
considerare questi effetti della censura, e se deve essere applicata
a tutte le informazioni spedite dall'utente o soltanto in casi
specifici. Spetta inoltre allo sviluppatore decidere se accettare la
versione censurata di testo o restituirla all'utente per pubblicarla.
Esempi
|
//
ottiene un commento dell'utente e lo censura
$comment
= pnVarCleanFromInput('comment');
$comment
= pnVarCensor($comment);
//
guarda se l'imput dell'utente contiene parole censurate
$userinput
= pnVarCleanFromInput('info');
if
($userinput != pnVarCensor($userinput)) {
// Contains censored words
}
|
pnVarCleanFromInput
pnVarCleanFromInput — si
ottiene una variabile da un form
Sintassi
mixed
pnVarCleanFromInput(name,
...);
string
name,
, string ...
;
Descrizione
pnVarCleanFromInput()prende
un numero variabile di argomenti di name e per ognuno registra la
variabile dalla casella di testo namespace. Rimuove il preparsing
fatto da PHP per accertarsi che la stringa sia esattamente come
prevista, senza caratteri speciali. pnVarCleanFromInput() inoltre
rimuove tutte le modifiche dell'HTML che potrebbero essere
considerate pericolose alla sicurezza del sistema Envolution.
Valori restituiti
Se a pnVarCleanFromInput()viene
passato con un singolo valore per name verrà restituita la
variabile corrispondente. Se a pnVarCleanFromInput() vengono passati
più argomenti , essa restituisce un'array di variabili
corrispondenti.
Note
Ottenere le variabili dell'input
del namespace globale, o dagli array quale HTTP_POST_VARS, non è
supportato e e non dovrebbe mai essere fatto. pnVarCleanFromInput() è
l'unico modo per ottenere tali variabili.
Esempi
|
//
ottenere un singolo valore
$id
= pnVarCleanFromInput('id');
//
ottenere più valori
list($name,
$number) = pnVarCleanFromInput('name', 'number');
|
pnVarPrepForDisplay
pnVarPrepForDisplay —
prepara una variabile da visualizzare
Sintassi
mixed
pnVarPrepForDisplay(var,
...);
string
var,
, string ...
;
Descrizione
pnVarPrepForDisplay()prende
un numero variabile di valori e per ognuno effettua la sequenza di
escape di caratteri adatta per visualizzare la stringa esatta. una
volta prodotta come componente di una pagina HTML.
Valori restituiti
Se a pnVarPrepForDisplay() viene
passato un singolo valore, viene ritornata la corrispondente
variabile pronta per la visualizzazione. Se a pnVarPrepForDisplay()
vengono passati più valori, allora essa ritorna un array di
variabili corrispondenti da visualizzare.
Note
Eseguendo pnVarPrepForDisplay()
più volte è cumulativo, come quando è avviata
una combinazione di pnVarPrepForDisplay() e pnVarPrepHTMLDisplay(), e
non è reversibile. Si suggerisce di usare soltanto nelle
funzioni d'uscita e poi scartare le variabili che sono state
restituite da pnVarPrepForDisplay().
Esempi
|
//
restituisce una versione del name e number pronti per lo schermo
list($outname,$outnumber)
= pnVarPrepForDisplay($name, $number);
//
stampa un output
$html
= "Name is $outname<p>
Number is $outnumber<p>
Other info is " . pnVarPrepForDisplay($otherinfo) .
"<p>";
|
Vedere anche
pnVarPrepHTMLDisplay()
pnVarPrepForOS
pnVarPrepForOS — prepara
variabili per il sistema operativo
Sintassi
mixed
pnVarPrepForOS(var,
...);
string
var,
, string ...
;
Descrizione
pnVarPrepForOS()prende
un numero variabile di valori per filename e per ognuno controlla la
presenza di caratteri di escape perché produca nomi di file
validi per il sistema operativo che sia il più simile
possibile alla stringa originale.
Valori restituiti
Se a pnVarPrepForOS() viene
passato un singolo valore, esso restituisce la corrispondente
variabile leggibile dal sistema operativo. Se a pnVarPrepForOS()
vengono passati più argomenti allora viene restituito un array
di variabili corrispondenti e leggibili dal sistema operativo.
Note
Se il valore passato a
pnVarPrepForOS() contiene caratteri che sono illegali per questo
sistema operativo allora essi verranno rimpiazzati con un carattere
supportato (normalmente '_') . Il separatore di cartella ('/' su
sistemi unix, '' su sistemi windows) è considerato uno di
questi, e sarà rimpiazzato. Quindi dovrebbero essere passati a
questa funzione solo nomi di files e non percorsi di files.
Questa funzione non deve essere
eseguita sul contenuto di un file, ma solo sul suo nome.
Eseguire pnVarPrepForOS() più
volte è cumulativo, e non è reversibile a meno che lo
sviluppatore conosca quante volte è stata lanciata. Si
suggerisce di usare soltanto nelle funzioni del sistema operativo e
poi scartare le variabili che sono state restituite da
pnVarPrepForOS().
Esempi
|
//
dà un valore di name e number pronto per essere usato come
nome di cartella o file
list($osname,
$osnumber) = pnVarPrepForOS($name, $number);
//
apre il file $topdirectory/$name/$number
$fh
= fopen(pnVarPrepForOS($topdirectory) . "$osname/$osnumber",
'w');
|
pnVarPrepForStore
pnVarPrepForStore — prepara
una variabile per l'archiviazione nel database
Sintassi
mixed
pnVarPrepForStore(var,
...);
string
var,
, string ...
;
Descrizione
pnVarPrepForStore()prende
un numero di valori dalla variabile e controlla la presenza di
caratteri di escape allo scopo di un corretto inserimento nel
database.
Valori restituiti
Se a pnVarPrepForStore() viene
passato un singolo valore della variabile, viene restituita la
corrispondente variabile pronta per l’archiviazione nel
database. Se vengono passati più valori, allora viene
restituito un array di variabili corrispondenti.
Note
Eseguire pnVarPrepForStore() più
volte è cumulativo, e non è reversibile a meno che lo
sviluppatore non conosca quante volte sia stato avviato. Si
raccomanda che le variabili restituite da pnVarPrepForStore() vengano
usate solo nelle funzioni SQL e poi scartate.
Esempi
|
//
per ottenere una versione di name e una di number pronte per
essere archiviate nel database
list($dbname,
$dbnumber) = pnVarPrepForStore($name, $number);
//
Creare istruzioni SQl pronte per il database
$sql
= "SELECT * from table
WHERE col1 = '$dbname'
AND col2 = '$dbnumber'
AND col3 = '" . pnVarPrepForStore($otherinfo) . "'";
|
pnVarPrepHTMLDisplay
pnVarPrepHTMLDisplay —
prepare variable for display, preserving some HTML tags
Sintassi
mixed
pnVarPrepHTMLDisplay(var,
...);
string
var,
, string ...
;
BAD_PARAM
DATABASE_ERROR
Descrizione
pnVarPrepHTMLDisplay()
prende un numero di valori della variabile e controlla la presenza di
caratteri di escape per visualizzare la stringa esatta in una pagina
HTML, eccetto per un numero di tag HTML definiti dall'admin i quali
sono lasciati così come sono per l'esposizione.
Valori restituiti
Se a pnVarPrepHTMLDisplay()
viene passato un singolo valore, restituisce la variabile
corrispondente. Se vengono passati più valori, restituisce
un'array di variabili corrispondenti pronte per essere visualizzate.
Questa funzione restituisce void se viene incontrata un'eccezione.
Eccezioni
La funzione non produce
eccezioni, ma rimanda alle eccezioni di altre funzioni.
Note
pnVarPrepHTMLDisplay()dovrebbe
essere usata con grande cura, dato che permette la visualizzazione di
certi tag HTML.
I tag HTML visualizzati saranno
quelli definiti nella variabile di configurazione AllowableHTML, come
impostata dall'amministratore del sito.
Eseguire pnVarPrepHTMLDisplay()
più volte è cumulativo, come anche avviare una
combinazione di pnVarPrepHTMLDisplay() e pnVarPrepForDisplay(), e non
è reversibile. Si raccomanda di usare solo nelle funzioni di
visualizzazione e poi scartare le variabili restituite da
pnVarPrepHTMLDisplay()
Esempi
|
// Ottenere la home e il corpo del testo di un’articolo
(permettendo alcuni specifici tag HTML)
list($hometext,$bodytext)
= pnVarPrepHTMLDisplay($hometext, $bodytext);
//
stampa di output –
//
senza tag HTML, usare pnVarPrepForDisplay invece di
pnVarPrepHTMLDisplay
$html
= "Home text is $hometext<p>
Body text is $bodytext<p>
Story number is " . pnVarPrepForDisplay($storynum) .
"<p>
Notes are " . pnVarPrepHTMLDisplay($bodytext) .
"<p>";
|
Vedere anche
pnVarPrepForDisplay()
pnVarValidate
pnVarValidate — convalida
una variabile
Sintassi
bool
pnVarValidate(var,
type,
args);
string
var,
string type,
array args
;
Descrizione
pnVarValidate()restituisce
true se una variabile ha successo, false se fallisce
Parametri
var
La variabile da convalidare
type
tipo di validazione da fare
args
un array di valori opzionali
Valori restituiti
Questa funzione attualmente
restituisce true se ha successo la validazione, e false se fallisce.
Note
args
isnon è attualmente implementata.
Esempi
|
//
convalida indirizzo email
if
(!pnVarValidate('john.doe@example.com', 'email')) {
die('email address is incorrect format');
}
//
convalida un url
if(!pnVarValidate('http://www.example.com','url'))
{
die('URL is invalid');
}
|