
pnUserGetLang — si ottiene la lingua corrente
string pnUserGetLang()();
DATABASE_ERROR
pnUserGetLang()siottiene la lingua corrente mostrata per l’output
Questa funzione restituisce il nome della lingua usata. Questa funzione restituisce void se viene incontrata un'eccezione.
La funzione non produce eccezioni ma rimanda eccezioni da altre funzioni.
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.
|
// per avere la lingua dell’utente $lang = pnUserGetLang();
|
pnUserGetTheme — si ottiene il tema corrente
string pnUserGetTheme();
DATABASE_ERROR
UNKNOWN
pnUserGetTheme() si ottiene il nome del tema corrtente per questa sessione usato per mostrare l'output.
questa funzione restituisce il nome del tema che sta funzionando. Questa funzione restituisce void se viene incontrata un'eccezione.
La funzione restituisce UNKNOWN se non riesce a trovare il tema. La funzione rimanda alle eccezioni di altre funzioni.
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 .
|
// Per avere il tema corrente dell’utente $theme = pnUserGetTheme();
|
pnUserGetVar — si ottiene una variabile utente
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
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.
name
Il nome della variabile utente da ottenere
uid
L'uid dell'utente da cui prenderemo la variabile
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
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.
Le variabili specifiche dell'utente disponibili con questa versione dell'API sono:
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.
|
// 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"; }
|
pnUserSetVar()
pnUserGetVars — per ottenere tutte le variabili utente
array
pnUserGetVars(uid);
string
uid
;
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.
uid
identificativo utente
Questa funzione restituisce un'array associativo delle variabili utente dove la chiave rappresenta il nome della variabile e il contenuto il rappresenta il valore.
|
// id utente $uid = pnSessionGetVar('uid'); // variabili utente $vars = pnUserGetVars($uid); $user_description = $vars['name'] . ', ' . $vars['email'];
|
pnUserGetVar() pnUserSetVar()
pnUserLoggedIn — Controlla se l'utente ha effettuato il login
bool pnUserLoggedIn();
pnUserLoggedIn()accerta se l'utente corrente è entrato o no al sistema Envolution
Questa funzione restituisce true se l'utente è loggato nel sistema Envolution , e false se viceversa non è loggato.
Guardare gli esempi presenti in pnUserGetVar() per esempi sull'utilizzo .
pnUserLogIn(), pnUserLogOut()
pnUserLogIn — effettua il login
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
pnUserLogIn()tenta di fare il login dell'utente nel sistema Envolution con i parametri forniti.
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
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.
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.
|
// Tentativo di login utente if (!pnUserLogIn(pnVarCleanFromInput('username'), pnVarCleanFromInput('password'), pnVarCleanFromInput('rememberme')) { die('Bad username/password'); } else { // Utente loggato con successo }
|
pnUserLoggedIn(), pnUserLogOut()
pnUserLogOut — logout utente
bool pnUserLogOut();
DATABASE_ERROR
pnUserLogOut()tenta di fare il logout dell'utente dal sistema Envolution.
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.
La funzione restituisce DATABASE_ERROR se c’è un errore nell’interrogare i dati.
|
// Log out utente pnUserLogOut();
|
pnUserLoggedIn(), pnUserLogIn()
pnUserSetVar — imposta le variabili utente
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
pnUserSetVar() imposta le variabili utente specifiche nel sistema Envolution
name
il nome della variabile utente da impostare
value
Il valore della variabile utente da impostare
Questa funzione restituisce true se l'aggiornamento ha successo, false se la validazione fallisc. Questa funzione restituisce voi se viene incontrata un'eccezione.
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.
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.
|
// Aggiorna l'indirizzo Email dell'utente if (!pnUserSetVar('email', 'foo@bar.net')) { die('Problem setting user variable'); }
|
pnUserGetVar()
pnUserValidateVar — convalida di una variabile utente
bool
pnUserValidateVar()(name,
value);
string
name,
, string value
;
BAD_PARAM
DATABASE_ERROR
UNKNOWN
VARIABLE_NOT_REGISTERED
pnUserValidateVar() convalida una variabile utente nel sistema Envolution
name
il nome della variabile utente da validare
value
il valore che sarà validato contro le variabili utente nominate
Questa funzione restituisce true se la validazione ha succsso, false se fallisce. Questa funzione restituisce void se viene incontrata un'eccezione.
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.
Guarda la sezione User Variable section nell'Envolution Module Development Guide per avere una maggiore spiegazione sulle variabili dell'utente.
|
// 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);
|
pnUserGetVar()
pnVarCensor — rimuove le parole censurate da una variabile
mixed
pnVarCensor(var,
...);
string
var,
, string ...
;
BAD_PARAM
DATABASE_ERROR
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.
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.
La funzione non produce eccezioni ma rimanda a eccezioni di altre funzioni.
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.
|
// 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 — si ottiene una variabile da un form
mixed
pnVarCleanFromInput(name,
...);
string
name,
, string ...
;
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.
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.
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.
|
// ottenere un singolo valore $id = pnVarCleanFromInput('id'); // ottenere più valori list($name, $number) = pnVarCleanFromInput('name', 'number');
|
pnVarPrepForDisplay — prepara una variabile da visualizzare
mixed
pnVarPrepForDisplay(var,
...);
string
var,
, string ...
;
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.
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.
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().
|
// 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>";
|
pnVarPrepHTMLDisplay()
pnVarPrepForOS — prepara variabili per il sistema operativo
mixed
pnVarPrepForOS(var,
...);
string
var,
, string ...
;
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.
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.
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().
|
// 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 — prepara una variabile per l'archiviazione nel database
mixed
pnVarPrepForStore(var,
...);
string
var,
, string ...
;
pnVarPrepForStore()prende un numero di valori dalla variabile e controlla la presenza di caratteri di escape allo scopo di un corretto inserimento nel database.
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.
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.
|
// 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 — prepare variable for display, preserving some HTML tags
mixed
pnVarPrepHTMLDisplay(var,
...);
string
var,
, string ...
;
BAD_PARAM
DATABASE_ERROR
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.
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.
La funzione non produce eccezioni, ma rimanda alle eccezioni di altre funzioni.
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()
|
// 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>";
|
pnVarPrepForDisplay()
pnVarValidate — convalida una variabile
bool
pnVarValidate(var,
type,
args);
string
var,
string type,
array args
;
pnVarValidate()restituisce true se una variabile ha successo, false se fallisce
var
La variabile da convalidare
type
tipo di validazione da fare
args
un array di valori opzionali
Questa funzione attualmente restituisce true se ha successo la validazione, e false se fallisce.
args isnon è attualmente implementata.
|
// 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'); }
|