
Revisionedi A.Gagliani
1.1. Cosa sono le API di Envolution?
1.2. Vantaggi delle API
1.3. Svantaggi delle API
1.4. Chi dovrebbe usare queste API?
1.5. Stato delle API
1.6. Questo documento
1.7. Documenti correlati
1.8. Suggerimenti ed aggiornamenti
La Envolution API (Application Program(ming) Interface) é un insieme di funzioni per Envolution che consente agli sviluppatori di accedere alle informazioni chiave e di gestirne i contenuti in modo semplice.
Ci sono diversi vantaggi nell'avere una API per Envolution. In primo luogo l'usare una API permette agli sviluppatori di scrivere codice per Envolution e garantire che sia sempre funzionante con le future versioni di Envolution. Questa caratteristica é particolarmente importante per un sistema con Envolution, dove le funzionalità di base del sistema sono ancora in fase di sviluppo e di cambiamento, per adattarsi velocemente alle nuove esigenze che vengono richieste. L'avere una stabile interfaccia col sistema é un modo di garantire agli sviluppatori del Core di poter continuare ad aggiornare e ottimizzare Envolution senza il rischio di corrompere il codice scritto dagli sviluppatori dei Moduli.
Altre ragioni per usare un'API includono la possibilità per lo sviluppatore di iniziare a lavorare con Envolution più velocemente senza bisogno di capire la struttura interna del sistema, l'avere maniere standardizzate di ottenere e manipoare informazioni, e
Lo svantaggio principale di avere un'API è quando vuoi fare qualcosa che non ha una funzione adatta. Questo problema viene affrontato con l'incoraggiare gli sviluppatori a proporre suggerimenti per nuove funzioni delle API, e anche le funzioni stesse, per introdurle nel codice (dettagli sulle procedure si trovano di seguito). Una API aggiunge anche del carico su tutto il sistema, ma viene più che ricompensato dai vantaggi in stabilità e in semplicità di sviluppo.
L'API di Envolution è indirizzata in primo luogo agli sviluppatori interessati a scrivere dei moduli per Envolution. Inoltre alcuni sviluppatori di temi grafici potrebbero usare queste funzioni per implementare caratteristiche avanzate all'interno dei loro temi.
L'API di Envolution è attualmente in versione alfa. Ciò significa che all' API possono ancora essere aggiunte funzioni extra ed altri argomenti. Comunque, tutte le funzioni come evidenziate in questo documento lavoreranno come descritto e continueranno a lavorare così per un periodo futuro prevedibile (????). Tutte le future versioni dell'API annoteranno dove le funzioni sono state sovracedute o disapprovate, e gli sviluppatori avranno almeno sei mesi fra qualunque cambiamento importante nell'API che viene implementato e le vecchie funzioni che vengono rimosse dal core, concedendo il tempo adatto per la migrazione.
Questo documento dà una descrizione dell'API di Envolution ed inoltre include un riferimento per ogni funzione ufficiale attualmente disponibile agli sviluppatori.
Altri documenti che potrebbero essere utili insieme con questa guida sono la guida di sviluppo dei moduli, la guida di sviluppo dei temi, la guida categorizzata di dati e la guida di funzioni d'uscita (che tuttavia deve essere scritta).
L'API di Envolution è work-in-progress. Ci saranno molte funzioni che mancano dall'API che gli sviluppatori gradirebbero. A questo scopo, se uno sviluppatore ha una richiesta per una funzione particolare allora può presentarla alla lista di richiesta delle caratteristiche di Envolution su ?SourceForge alla homepage di Envolution . Lo stesso sistema può dell'essere usato per inserire gli aggiorNomenti alle le funzioni correnti o nuove funzioni. Se sei uno sviluppatore e attualmente in ogni modo direttamente globale o accedendo a una delle tabelle del core per verificarlo o alle informazioni dell'aggiorNomento allora considera di spedire in una richiesta di feature in modo che il team di Envolution possa sviluppare un'API che possa effettuare preferibilmente tale funzione. Esso si accerterà che il tuo codice sia adatto a continuare a funzionare nelle future versioni di Envolution senza modifiche, questo deve notare che la principale richiesta per l'API del core di Envolution sono stabilità e un'orma relativamente piccola. Detto questo è possibile che la tua richiesta per una funzione nuova o aggiornata otterrà un rifiuto considerando che è troppo specifica o che può essere facilmente costruita da altre funzioni dell'API del core. In tali situazioni il team di Envolution proverà sempre a fornire un'alternativa semplice ma si prega di ricordare che la presentazione di una parte nuova o aggiornata dell'API non garantisce l'inclusione
Indice
2.1. Users
2.2. Modules
2.3. Security
2.4. Sessions
2.5. Variables
2.6. Output
2.7. Database
2.8. Miscellaneous
L'API di Envolution è analizzato dentro ad un certo numero di aree differenti. Queste aree sono le seguenti:
Quest'area copre tutto ciò che riguarda gli utenti. La conferma che un utente è entrato, ottenere un parametro utente-specifico di configurazione o annotare un utente nel sistema di Envolution sono esempi delle funzioni che cadono in quest'area .
Quest'area copre tutto ciò che riguarda i moduli. Vedere se un modulo particolare è disponibile, regolare un parametro module-specific di configurazione o caricare in un particolare module API sono esempi delle funzioni che cadono in quest'area.
Quest'area copre tutto ciò che riguarda la sicurezza. Il controllo della capacità degli utenti di effettuare un'azione particolare e generare le chiavi uniche del contrassegno di richiesta per evitare lo spoof e ripetere gli attacchi sono esempi delle funzioni che cadono in quest'area.
This area covers everything related to HTTP sessions. Setting session variables, creating session cookies to pass to the user's web browser, and initialising the PHP settings to allow correct implementation of the allowable security measures are examples of functions that fall into this area.
Quest'area copre tutto ciò che riguarda le sessioni del HTTP. La regolazione delle variabili di sessione, generare i cookies di sessione per passare al web browser dell'utente ed inizializzare i settaggi di PHP per permettere l'esecuzione corretta delle misure di sicurezza permissibili sono esempi delle funzioni che finiscono in quest'area.
Quest'area copre tutto ciò che riguarda l'output. La generazione della tabella delle informazioni, aggiungere una lista drop-down ad un form e stampare una pagina per l'utente sono esempi delle funzioni che cadono in quest'area.
Quest'area copre tutto ciò che riguarda il database. L'inizializzazione del collegamento del database, ottenere un handle ad un database ed ottenere una lista delle tabelle che la base di dati contiene sono esempi delle funzioni che finiscono in quest'area.
Quest'area riguarda tutte le altre funzioni che sono utili ma non appartengono a qualsiasi gruppo particolare. Il caricamento del tema corrente dell'utente, ottenere i messaggi di status precedenti al comando di funzioNomento ed effettuare il redirect HTTP ad altre pagine sono esempi delle funzioni che finiscono in quest'area.
Indice
3.1. Uso del void
Durante l'API Reference, viene fatto uso di un tipo void(vuoto), specialmente per i valori di ritorno specifici. PHP in sè non ha un tipo di void, esso è usato in questo documento per riferirsi al valore di unset. Questo è molto importante affinchè capiscano questa differenza poiché il parametro vuoto è usato pesante dal sistema di trattamento delle eccezioni su cui le funzioni dell'API di Envolution sono basate.
Per esempio, il pnModAPIFunc() prende i parametri di un nome del modulo, tipo e la funzione, risolve che funzione attuale del modulo da chiamare; allora chiama la funzione del modulo e passa indietro il valore di ritorno come i suoi propri valori di ritorno. Il problema con questo è che se pnModAPIFunc() restituisce false a causa del fallimento della ricerca della fuzione specificata allora allo sviluppatore questo diventa indistinguibile dalla funzione che è trovata ed in se i valori false di rinvio e void di ritorno possono essere controllati con la funzione del isset() di PHP, come indicato qui sotto:
|
$articles = pnModAPIFunc('News', 'user', 'getarticles'); if (!isset($articles) && pnExceptionMajor() != PN_NO_EXCEPTION) { // pnModAPIFunc() failed return; // throw back exception } if ($articles == false) // getarticles failed } else { // getarticles succeeded, data in $articles }
|
Durante la reference dell'API di Envolution i valori di ritorno di void e di false sono diversi. false è ritornato quando una chiamata di API ha funzionato correttamente ma è ritornata una risposta negativa, void è restituito quando una chiamata di API ha problemi interni e solleva un'eccezione. Si noti che questa è una regola generale e ci sono alcune eccezioni dalla necessità. Queste eccezioni sono notate nella documentazione di riferimento per la funzione relativa.
Indice
pnBlockGetInfo – informazioni sul blocco
pnBlockLoad – carica un blocco
pnBlockShow – imposta la variabile di configurazione
pnConfigGetVar – ritorna la variabile di configurazione
pnConfigSetVar - imposta la variabile di configurazione
pnConfigDelVar – cancella la variabile di configurazione
pnDBGetConn – connessione al database
pnDBGetTables – per le tabelle del database
pnDBInit – iizializza la connessione al database Envolution
pnExceptionFree – reimposta lo stato delle eccezioni
pnExceptionId – ritorna l’identificatore dell’eccezione corrente
pnExceptionMajor - ritorna il numero dell’eccezione corrente
pnExceptionSet – fa sorgere un’eccezione
pnExceptionValue - ritorna il valore dell’eccezione corrente
pnGetBaseURI – fornisce l’URI di Envolution
pnGetBaseURL - fornisce l’URL di Envolution
pnGetStatusMsg – fornisce un messaggio di stato
pnInit – inizializza Envolution
pnModAPIFunc – esegue una funzione del modulo API
pnModAPILoad – carica un modulo API
pnModAvailable – controlla se un modulo è disponibile
pnModCallHooks – fornisce le operazioni di aggancio per i moduli
pnModDBInfoLoad – carica le informazioni del db per il modulo
pnModDelVar – cancella una variabile del modulo
pnModFunc – esegue una funzione del modulo
pnModGetAdminMods – fornisce la lista dei moduli di amministrazione
pnModGetIDFromName – fornisce l’id del modulo dal nome
pnModGetInfo – fisce informazioni sul modulo
pnModGetName – fornisce il nome del modulo del livello più alto correntemente
pnModGetUserMods - fornisce la lista dei moduli utente
pnModGetVar – fornisce le variabili dei moduli
pnModLoad – carica un modulo
pnModRegisterHook – registra una funzione aggancio
pnModSetVar – imposta una variabile del modulo
pnModUnregisterHook – cancella dal registro la variabile del modulo
pnModURL – crea l’URL del modulo
pnRedirect – ridireziona ad un’altra pagina
pnSecAddSchema – aggiunge lo schema di sicurezza
pnSecAuthAction – autorizza le azioni contro intrusioni
pnSessionDelVar – cancella le variabili di sessione
pnSessionGetVar – fornisce le variabili di sessione
pnSessionInit - inizializza la sessione
pnSessionSetup – crea una sessione
pnSessionSetVar – imposta le variabili di sessione
pnThemeLoad – carica il tema da visualizzare
pnUserGetAll – fornisce le informazioni base sugli utenti
pnUserGetLang – fornisce la lingua corrente
pnUserGetTheme – fornisce il tema corrente
pnUserGetVar – fornisce una variabile utente
pnUserGetVars – fornisce tutte le variabili utente
pnUserLoggedIn – controlla se un utente è connesso
pnUserLogIn – connette l’utente
pnUserLogOut – disconnette l’utente
pnUserSetVar – imposta la variabile utente
pnUserValidateVar – convalida le variabili utente
pnVarCensor – cancella le parole censurate dalle variabili
pnVarCleanFromInput – fornisce le variabili del form
pnVarPrepForDisplay – elabora le variabili da visualizzare
pnVarPrepForOS – elabora le variabili per il sistema operativo
pnVarPrepForStore – elabora le variabili per l’archiviazione nel db
pnVarPrepHTMLDisplay - elabora le variabili da visualizzare, preservando alcuni tag HTML
pnVarValidate – convalida una variabile
Le seguenti pagine hanno un riferimento completo dell'API di Envolution. Tutte le funzioni che non sono elencate in questa sezione vanno considerate interne e non dovrebbero essere usate dagli sviluppatori.
pnBlockGetInfo — ottiene le informazioni del blocco
array
pnBlockGetInfo(bid);
int
bid
;
BAD_PARAM
DATABASE_ERROR
ID_NOT_EXIST
pnBlockGetInfo() ritorna un'array di informazioni del blocco.
bid
l'id del blocco nel sistema Envolution
Questa funzione restituisce un array di informazioni del blocco o void se viene incontrata un'eccezione.
Questa funzione restituisce BAD_PARAM se si passa un parametro non valido. Questa funzione restituisce DATABASE_ERROR se c'è un errore nell'interrogare i dati. Questa funzione restituisce ID_NOT_EXIST se il blocco è sconosciuto.
The block information array contains the following items:
bkey
title
Visualizza il titolo del blocco
content
Il container per il contenuto del blocco. Serializzato usando pnBlockVarsFromContent() e pnBlockVarsToContent().
position weight active refresh indica se un blocco è aggiornato. Gli esempi sarebbero blocchi di titoli che prendono regolarmente il contenuto esterno. last_update la data e il tempo dell'ultimo aggiorNomento del blocco. language la lingua del blocco. mid L'ID del modulo a cui il blocco appartiene, '0' vuol dire che il blocco appartiene al core
url
l' URL per i blocchi che dipendono da URLs, come un blocco di titoli rss.
position
la posizione del blocco, attualmente uno di 'l' (sinistra), 'r' (destra), 'm' (centro). Ciò è probabile che cambierà nelle versioni successive per rendere la disposizione più flessibile. weight la larghezza dl blocco, usato per un piazzamento verticale del blocco.
weight
la larghezza dl blocco, usato per un piazzamento verticale del blocco.
active
Lo stato del blocco, '1' per attivo, '0' per inattivo.
refresh
indica se un blocco è aggiornato. Gli esempi sarebbero blocchi di titoli che prendono regolarmente il contenuto esterno.
last_update
la data e il tempo dell'ultimo aggiornamento del blocco.
language
la lingua del blocco.
mid
L'ID del modulo a cui il blocco appartiene, '0' vuol dire che il blocco appartiene al core
|
// avere informazioni sul blocco $blockinfo = pnBlockGetInfo($bid);
|
pnBlockLoad — carica un blocco
bool
pnBlockLoad(modname,
block);
string
modname,
string block
;
BAD_PARAM
DATABASE_ERROR
ID_NOT_EXIST
MODULE_FILE_NOT_EXIST
pnBlockLoad()Carica un blocco nel sistema Envolution.
modNome
Il ben noto nome del modulo per caricare il blocco. Questo parametro può essere lasciato vuoto, o settare a 'Core' per avviare blocchi del core.
block
Il nome del Blocco da caricare.
Questa funzione restituisce true se il blocco viene caricato con successo e void se viene incontrata qualche eccezione.
La funzione ritorna BAD_PARAMse si passa un parametro non valido. La funzione ritorna DATABASE_ERROR se c’è un errore nell’interrogare i dati. La funzione ritorna ID_NOT_EXIST se il blocco è sconosciuto. La funzione ritorna MODULE_FILE_NOT_EXIST se il file del blocco non esiste.
L'API di Envolution tiene traccia di quanti blocchi sono stati caricati, così chiamate multiple a pnBlockLoad() con gli stessi parametri ritorneranno true ogni volta.
Per maggiori informazioni sui nomi dei moduli ben noti fai riferimento alla documentazione per pnModGetVar()
Questa funzione non mostra il blocco automaticamente, questo deve essere effettuato da una chiamata separata a pnBlockShow().
|
// Load the past article block from the News module if (!pnBlockLoad('News', 'past')) { die('Could not load past articles block'); }
|
pnBlockShow()
pnBlockShow — setta una variabile di configurazione
string
pnBlockShow(modname,
block,
blockinfo);
string
modname,
, string block,
, array blockinfo
;
BAD_PARAM
DATABASE_ERROR
ID_NOT_EXIST
MODULE_FILE_NOT_EXIST
pnBlockShow() ottiene l'output di un blocco chiamando la relativa funzione 'block_display'
modname
Il ben noto nome del modulo per visualizzare il blocco. Questo parametro puù essere lasciato vuoto, o settato a 'Core' per visualizzare un blocco del Core.
block
Il nome del blocco da caricare
blockinfo
Un array associativo dei parametri da passare alla funzione di visualizzazione del display. il numero esatto e il tipo di parametri dipende dal blocco.
Un array associativo dei parametri da passare alla fuzione di visualizzazione del display. il numero esatto e il tipo di parametri dipende dal blocco.
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 ritorna ID_NOT_EXIST se il blocco è sconosciuto. La funzione ritorna MODULE_FILE_NOT_EXIST se il file del blocco non esiste.
Da fare: : chiodo giù agli standard del blocco. Nota che gli standard del blocco di evolution chiamati in questo modo devono restituire l'uscita di essi stessi. Specialmente, essi hanno bisogno di implementare la funzione di visualizzazione {$modNome}_{$block}block_display
|
Da farsi
|
pnBlockLoad()
pnConfigGetVar — si ottiene la variabile di configurazione
mixed
pnConfigGetVar(name);
string
name
;
BAD_PARAM
DATABASE_ERROR
Si ottiene una variabile di configurazione dal sistema Envolution.
name
Il nome della variabile di configurazione da ottenere
Questa funzione restituisce la variabile richiesta se la variabile esiste. Se la variabile non esiste allora questa funzione ritornerà void. Questa funzione ritorna 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
Le variabili di configurazione disponibili con questa release dell'API sono le seguenti:
debug
. Livello di debugging richiesto. 0 se non debuggato, 1 se normalmente debuggato.
Version_Num
Versione di questo sistema Envolution.
Version_ID
ID di questo sistema Envolution correntemente sempre 'Envolution'.
Version_Sub
Sub-ID di questo sistema Envolution.
startpage
Nome del modulo iniziale da caricare per questo sistema Envolution.
adminmail
indirizzo Email dell'amministratore per questo sistema Envolution.
sitename
Nome di questo sistema Envolution
slogan
Slogan di questo sistema Envolution
timezone_offset
Timezone differenza di questo sistema Envolution, delle ore del GMT-12
seclevel
Il livello di sicurezza di questo sito; 'high', 'medium', oppure 'low'
banners
Flag per dichiarare se si fa pubblicità o no; '0' per no or '1' per si
language
Codice del linguaggio di default per questo sistema Envolution
Locale
Locale per questo sistema Envolution
CensorMode
Flag per dichiarare se la censura è attiva; '0' per no o '1' per si
CensorList
Array di parole che sono censurate da questo sistema Envolution
Altre variabili saranno rese disponibili nelle future release dell'API
|
// ottiene il locale per questo sito locale $locale = pnConfigGetVar('locale');
|
pnConfigSetVar()
pnConfigSetVar — setta una variabile di configurazione
bool
pnConfigSetVar(name,
value);
string
name,
, string value
;
BAD_PARAM
DATABASE_ERROR
pnConfigSetVar() setta una variabile di configurazione per un sistema Envolution.
name
Il nome della variabile di configurazione da settare
value
Il valore da settare nella variabile di configurazione
Questa funzione attualmente restituisce false perchè non è implementata.
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
Questa funzione non è attualmente implementata.
|
// Setta locale per questo sito if (!pnConfigSetVar('locale', 'en_GB')) { die('Errore nel settare una variabile di configurazione'); }
|
pnConfigGetVar()
pnConfigDelVar — Cancella una variabile di configurazione
bool
pnConfigDelVar(name);
string
name
;
BAD_PARAM
DATABASE_ERROR
pnConfigDelVar() Cancella una variabile di configurazione da un sistema Envolution.
name
Il nome della variabile di configurazione da cancellare
Questa funzione attualmente restituisce false perchè non ancora implementata.
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
Questa funzione non è attualmente implementata.
|
// Rimuove la configurazione locale if (!pnConfigDelVar('locale')) { die('Errore nella configurazione della variabile locale'); }
|
pnConfigGetVar(), pnConfigSetVar()
pnDBGetConn — si ottiene una connessione al database
array pnDBGetConn();
pnDBGetConn() Ottiene gli handles della connessione al database per l'interrogazione diretta del database di Envolution.
Questa funzione restituisce un'array dei valori della connessione al database. Al momento l'unico valore attivo è solo il primo, che dovrebbe essere usato per tutte le interazioni col database.
Le versioni future dell'API di Envolution potranno fornire le informazioni del collegamento supplementari con questa funzione, tenendo conto delle caratteristiche quali replicated o failover databases.
|
// Ottenere una connessione al database list($dbconn) = pnDBGetConn();
|
pnDBGetTables()
pnDBGetTables — ottenere le tabelle del database
array pnDBGetTables();
pnDBGetTables() OTTIENE le informazioni della tabella del database per l'interrogazione diretta del database di Envolution.
Questa funzione restituisce un'arrai di informazioni della tabella del database.
Questa funzione restituisce un'arrai di informazioni della tabella del database.
|
// Ottenere le tabelle del db $pntable = pnDBGetTables();
|
pnDBGetConn()
pnDBInit — inizializza la connessione al db di Envolution
bool pnDBInit();
pnDBInit() inizializza la connessione al db di Envolution
Questa funzione ritorna il valore true se la connessione è avvenuta con successo, oppure false se la connessione non è andata a buon fine.
pnDBInit() è chiamata normalmente da pnInit(), e perciò non deve essere chiamata dallo sviluppatore.
pnInit()
pnExceptionFree — reimposta lo stato delle eccezioni
void pnExceptionFree();
pnExceptionFree() reimposta lo stato corrente delle eccezioni.
Questa funzione non ha valori di ritorno
Bisogna sempre chiamare pnExceptionFree() quando si usa l’eccezione o si rischia di rimandare l’eccezione all’istruzione chiamante.
pnExceptionId() pnExceptionMajor() pnExceptionSet() pnExceptionValue()
pnExceptionId — restituisce l’identificatore dell’eccezione.
string pnExceptionId();
pnExceptionId() restituisce la stringa che identifica l’eccezione. La stringa di caratteri contiene l’ID dell’eccezione (il nome della classe PHP).
Questa funzione restituisce l’identificatore dell’eccezione corrente. Se chiamata quando non ci sono eccezioni, ritorna il valore void.
pnExceptionFree() pnExceptionMajor() pnExceptionSet() pnExceptionValue()
pnExceptionMajor — restituisce il numero dell’eccezione
int pnExceptionMajor();
pnExceptionMajor() permette alla chiamata di stabilire se è sorta una eccezioni e di quale tipo. PN_NO_EXCEPTION identifica lo stato senza eccezioni
La funzione restituisce uno dei seguenti valori: PN_NO_EXCEPTION, PN_USER_EXCEPTION oppure PN_SYSTEM_EXCEPTION.
pnExceptionFree() pnExceptionId() pnExceptionSet() pnExceptionValue()
pnExceptionSet — causa un’eccezione
void pnExceptionSet();
pnExceptionSet() permette alla funzione di creare un’eccezione. La chiamata deve fornire un valore per il parametro. Il parametro può assumere uno dei seguenti valori: PN_NO_EXCEPTION, PN_USER_EXCEPTION, oppure PN_SYSTEM_EXCEPTION. Il valore assunto dal parametro produce le seguenti conseguenze negli altri parametri della chiamata:
il parametro principale con valore PN_NO_EXCEPTION è un normale output dell’operazione. In questo caso, sia exception_id che param devono essere NULL. Da notare che non è necessario chiamare pnExceptionSet() per ottenere un normale output: è la regola se il metodo termina senza eccezioni
Per gli altri valori assunti dal parametro viene specificata un’eccezione definita dall’utente o dal sistema. Il parametro Exception_id è l’identificatore che rappresenta il tipo di eccezione. Se l’eccezione deve avere dei membri, sarà il parametro param ad essere la struttura dell’eccezione (PHP class) contenente i valori membri. Se l’eccezione non contiene membri, param deve essere NULL.
La funzione non ritorna un valore.
pnExceptionFree() pnExceptionId() pnExceptionMajor() pnExceptionValue()
pnExceptionValue — restituisce il valore dell’eccezione corrente
void pnExceptionValue();
pnExceptionValue() restituisce un oggetto corrispondente a questa eccezione
La funzione restituisce un oggetto passato come parametro a pnExceptionSet(). Se chiamata senza eccezioni o con un’eccezione senza informazioni associate, viene restituito il valore void.
pnExceptionFree() pnExceptionId() pnExceptionMajor() pnExceptionSet()
pnGetBaseURI — si ottiene l'URI base di Envolution
string
pnGetBaseURI();
;
pnGetBaseURI() Ritorna l'URI base di envolution.
Questa funzione restituisce l' URI base di Envolution.
Note URI è la parte di un'url, per esempio nell'URL 'http://www.Envolution.com/stuff/index.php' L'URI sarebbe '/stuff/index.php'.
|
// mostra URI base $path = pnGetBaseURI();
|
pnGetBaseURL()
pnGetBaseURL — si ottiene l'URL base per questo sito
string pnGetBaseURL();
pnGetBaseURL() ottiene l'URL base per il sito. L'URL base è definita come tutta l'URL per il sito meno tutte le informazioni del file i.e. The base url is defined as the full URL for the site minus any file information cioè tutto prima di 'index.php' della vostra pagina.
Questa funzione restituisce l'URL base del sito.
L'ultimo carattere restituito da pnGetBaseURL() è sempre '/'
pnGetBaseURL() rimpiazza la vecchia variabile globale nukeurl
pnGetStatusMsg — si ottiene un messaggio di status
string pnGetStatusMsg();
pnGetStatusMsg() Ottiene l'ultimo messaggio di status inviato in questa sessione. Il messaggio di status esiste in una di due variabili di sessione: 'statusmsg 'per un messaggio di condizione, o 'errormsg 'per un messaggio di errore. Se un messaggio di errore o di status esiste allora il messaggio di errore sarà restituito.
Questa funzione restituisce il valore dell'ultimo messaggio di status inviato, o void se non esiste nessun messaggio di status.
pnGetStatusMsg() è una funzione distruttiva - essa cancella le due variabili di sessione 'statusmsg' e 'erorrmsg' durante il suo funzioNomento.
pnSessionSetVar()
pnModAPIFunc — esegue una funzione dell'API del modulo
mixed
pnModFunc(modname,
type,
func,
args);
string
modname,
, string type,
, string func,
, array args
;
BAD_PARAM
MODULE_FUNCTION_NOT_EXIST
pnModFunc()chiama una specifica funzione dell'API del modulo
modname
Il ben conosciuto nome del modulo con cui viene eseguita la funzione
type
type Il tipo di funzione da eseguire; attualmente 'user' o 'admin'
func
func Il nome della funzione dell'API del modulo da eseguire
args
Un array associativo di argomenti da passare alla funzione dell'API del modulo. Il numero esatto e il tipo di argomenti dipende dalla funzione..
Questa funzione restituisce qualunque valore di ritorno della funzione risultante se ci riesce. Questa funzione ritorna void se viene incontrata una eccezzione.
La funzione restituisce BAD_PARAMse viene passato un parametro non valido. Essa restituisce MODULE_FUNCTION_NOT_EXIST se il modulo non esiste. Questa funzione rigetta le eccezioni della funzione del modulo.
Prima di chiamare questa fuzione tu devi caricare l'API del modulo con pnModAPILoad.
Per maggiori informazioni sui ben conosciuti nomi dei moduli fai riferimento alla documentazione su pnModGetVar()
|
// Chiama la funzione getarticles del modulo delle news dell'utente con l'argomento 'id' settato a '3' $articles = pnModAPIFunc('News', 'user', 'getarticles', array('id' => 3)); if (!isset($articles)) { // pnModAPIFunc() fallito } elseif ($articles == false) // getarticles fallito } else { // getarticles successo, dati in $articles } // Chiama la funzione della lista permessi dell'admin senza argomenti $list = pnModAPIFunc('Permissions', 'admin', 'list'); if (!isset($list)) { // pnModAPIFunc() fallito } elseif ($list == false) // list fallito } else { // list successo, dati in $list }
|
pnModGetVar(), pnModAPILoad(), pnModFunc()
pnModAPILoad — Carica un API del modulo
int
pnModAPILoad(modname,
type);
string
modname,
, string type
;
BAD_PARAM
DATABASE_ERROR
MODULE_FILE_NOT_EXIST
MODULE_NOT_EXIST
pnModAPILoad() Carica funzioni extra nel sistema Envolution per estendere le sue abilità.
modname
Il ben conosciuto nome del modulo da caricare
type
Il tipo di funzione del modulo da caricare; attualmente 'user' o 'admin'.
Questa funzione restituisce true se il modulo viene caricato con successo. Questa funzione restituisce void se viene incontrata un'eccezzione.
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 ritorna ID_NOT_EXIST se il blocco è sconosciuto. La funzione ritorna MODULE_FILE_NOT_EXIST se il file del blocco non esiste.
L'API di Envolution tiene traccia di che modulo è stato caricato, perciò chiamate multiple a pnModAPILoad() con gli stessi parametri restituiranno true ogni volta.
Questa funzione non carica automaticamente la funzionalità relativa dell'esposizione per questo modulo, questo deve essere effettuato da una chiamata separata a pnModLoad().
Per maggiori informazioni sui ben conosciuti nomi dei moduli fai riferimento alla documentazione su pnModGetVar()
|
// guarda se il modulo delle news è disponibile if (pnModAvailable('News')) { // carica l'API utente per il modulo delle news if (!pnModAPILoad('News', 'user')) { die('Impossibile caricare API del modulo delle News'); } }
|
pnModLoad(), pnModGetVar()
pnModAvailable — Controlla se un modulo è disponibile
bool
pnModAvailable(modname);
string
modname
;
BAD_PARAM
DATABASE_ERROR
pnModAvailable() conferma se un modulo è disponibile per essere usato in un sistema Envolution.
modname
Il ben conosciuto nome del modulo da controllare.
Questa funzione restituisce true se il modulo è disponibile per l'uso. Questa funzione restituisce void se viene incontrata una 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.
Un modulo che è caricato nel sistema Envolution ma che è inattivo o inizializzato è disponibile come non disponibile per l'uso.
Per maggiori informazioni sui ben conosciuti nomi dei moduli fai riferimento alla documentazione su pnModGetVar()
|
// Controlla se un modulo delle News è disponibile if (pnModAvailable('News')) { // Load the News module if (!pnModAPILoad('News', 'user')) { die('Impossibile caricare API del modulo News’); } }
|
pnModCallHooks — effettua l'operazione di agganciamento al modulo
bool
pnModCallHooks(hookobject,
hookaction,
hookid,
extrainfo);
string
hookobject,
string hookaction,
string hookid,
string extrainfo
;
BAD_PARAM
DATABASE_ERROR
MODULE_FILE_NOT_EXIST
MODULE_FUNCTION_NOT_EXIST
MODULE_NOT_EXIST
pnModCallHooks()effettua l'operazione di agganciamento al modulo
hookobject
L'oggetto gancio che richiede o 'item' o 'category'
hookaction
l'azione del gancio è chiamata per 'create', 'delete', 'transform', o 'display'
hookid
l’id dell’oggetto per il quale l’aggancio viene chiamato (è specifico del modulo)
extrainfo
Informazioni extra per il gancio, dipende dall'azione del gancio
Questa ritorna l'output del gancio come stringa. Questa funzione ritorna void se una eccezzione viene incontrata.
La funzione ritorna DATABASE_ERROR se c’è un errore nell’interrogazione dei dati. La funzione rigetta le eccezioni restituite dalle altre funzioni.
Ogni gancio per il modulo è chiamato alternativamente . Se l'azione è 'display' il risultato è la concatenazione di ogni output del gancio Dove l'area del gancio è 'GUI'. Altrimenti il risultato è extrainfo ritornato restituito dall'ultimo gancio che viene chiamato.
La lista delle azioni dei ganci viene raffinata costantemente. Controlla il codice sorgente per vedere se c'è una lista corrente.