Open Italia Network
Open Italia Network

Home page

KernelFolla, A. Gagliani
    

Guida ai Comandi delle API

Autori: Marco Canini Jim McDonald   John Robeson Gregor J. Rothfuss Jan Schrage

Traduzionedi KernelFolla (M. di Clemente)

Revisionedi A.Gagliani



Indice

  



Capitolo 1: Panoramica

Capitolo 1: Panoramica

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

1.1. Cosa sono le Envolution API?

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.

1.2. Vantaggi delle API

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

1.3. Svantaggi delle API

 

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.

1.4. Chi dovrebbe usare queste API?

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.

1.5. Stato delle API

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.

1.6. Questo documento

Questo documento dà una descrizione dell'API di Envolution ed inoltre include un riferimento per ogni funzione ufficiale attualmente disponibile agli sviluppatori.

1.7. Documenti correlati

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).

1.8. Suggerimenti ed aggiornamenti

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




Capitolo 2: API Breakdown

 

Capitolo 2: API Breakdown

 

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:

2.1. Users

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 .

2.2. Modules

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.

2.3. Security

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.

2.4. Sessions

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.

2.5. Variables

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.

2.6. Output

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.

2.7. Database

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.

2.8. Miscellaneous

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.




Capitolo 3: Note sulla programmazione con le API


Capitolo 3: Note sulla programmazione con le API

Indice

3.1. Uso del void

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.




Capitolo 4: API Reference: Le singole funzioni, parte 1

 

Capitolo 4: API Reference

 

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

pnBlockGetInfo — ottiene le informazioni del blocco

Sintassi

array pnBlockGetInfo(bid);
int bid ;

BAD_PARAM

DATABASE_ERROR

ID_NOT_EXIST

Descrizione

pnBlockGetInfo() ritorna un'array di informazioni del blocco.

Parametri

bid

l'id del blocco nel sistema Envolution

Valori restituiti

Questa funzione restituisce un array di informazioni del blocco o void se viene incontrata un'eccezione.

Eccezioni

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.

Note

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

Esempi

// avere informazioni sul blocco

$blockinfo = pnBlockGetInfo($bid);

 


pnBlockLoad

pnBlockLoad — carica un blocco

Sintassi

bool pnBlockLoad(modname, block);
string modname, string block ;

BAD_PARAM

DATABASE_ERROR

ID_NOT_EXIST

MODULE_FILE_NOT_EXIST

Descrizione

pnBlockLoad()Carica un blocco nel sistema Envolution.

Parametri

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.

Valori restituiti

Questa funzione restituisce true se il blocco viene caricato con successo e void se viene incontrata qualche eccezione.

Eccezioni

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.

Note

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().

Esempi

// Load the past article block from the News module

if (!pnBlockLoad('News', 'past')) {

die('Could not load past articles block');

}

Vedere anche

pnBlockShow()


pnBlockShow

pnBlockShow — setta una variabile di configurazione

Sintassi

string pnBlockShow(modname, block, blockinfo);
string modname, , string block, , array blockinfo ;

BAD_PARAM

DATABASE_ERROR

ID_NOT_EXIST

MODULE_FILE_NOT_EXIST

Descrizione

pnBlockShow() ottiene l'output di un blocco chiamando la relativa funzione 'block_display'

Parametri

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.

Valori restituiti

Un array associativo dei parametri da passare alla fuzione di visualizzazione del display. il numero esatto e il tipo di parametri dipende dal blocco.

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 ritorna ID_NOT_EXIST se il blocco è sconosciuto. La funzione ritorna MODULE_FILE_NOT_EXIST se il file del blocco non esiste.

Note

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

Esempi

Da farsi

Vedere anche

pnBlockLoad()


pnConfigGetVar

pnConfigGetVar — si ottiene la variabile di configurazione

Sintassi

mixed pnConfigGetVar(name);
string name ;

BAD_PARAM

DATABASE_ERROR

Descrizione

Si ottiene una variabile di configurazione dal sistema Envolution.

Parametri

name

Il nome della variabile di configurazione da ottenere

Valori restituiti

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.

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

Note

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

Esempi

// ottiene il locale per questo sito locale

$locale = pnConfigGetVar('locale');

Vedere anche

pnConfigSetVar()


pnConfigSetVar

pnConfigSetVar — setta una variabile di configurazione

Sintassi

bool pnConfigSetVar(name, value);
string name, , string value ;

BAD_PARAM

DATABASE_ERROR

Descrizione

pnConfigSetVar() setta una variabile di configurazione per un sistema Envolution.

Parametri

name

Il nome della variabile di configurazione da settare

value

Il valore da settare nella variabile di configurazione

Valori restituiti

Questa funzione attualmente restituisce false perchè non è implementata.

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

Note

Questa funzione non è attualmente implementata.

Esempi

// Setta locale per questo sito

if (!pnConfigSetVar('locale', 'en_GB')) {

die('Errore nel settare una variabile di configurazione');

}

Vedere anche

pnConfigGetVar()


pnConfigDelVar

pnConfigDelVar — Cancella una variabile di configurazione

Sintassi

bool pnConfigDelVar(name);
string name ;

BAD_PARAM

DATABASE_ERROR

Descrizione

pnConfigDelVar() Cancella una variabile di configurazione da un sistema Envolution.

Parametri

name

Il nome della variabile di configurazione da cancellare

Valori restituiti

Questa funzione attualmente restituisce false perchè non ancora implementata.

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

Note

Questa funzione non è attualmente implementata.

Esempi

// Rimuove la configurazione locale

if (!pnConfigDelVar('locale')) {

die('Errore nella configurazione della variabile locale');

}

Vedere anche

pnConfigGetVar(), pnConfigSetVar()


pnDBGetConn

pnDBGetConn — si ottiene una connessione al database

Sintassi

array pnDBGetConn();

Descrizione

pnDBGetConn() Ottiene gli handles della connessione al database per l'interrogazione diretta del database di Envolution.

Valori restituiti

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.

Note

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.

Esempio

// Ottenere una connessione al database

list($dbconn) = pnDBGetConn();

Vedere anche

pnDBGetTables()


pnDBGetTables

pnDBGetTables — ottenere le tabelle del database

Sintassi

array pnDBGetTables();

Descrizione

pnDBGetTables() OTTIENE le informazioni della tabella del database per l'interrogazione diretta del database di Envolution.

Valori restituiti

Questa funzione restituisce un'arrai di informazioni della tabella del database.

Note

Questa funzione restituisce un'arrai di informazioni della tabella del database.

Esempio

// Ottenere le tabelle del db

$pntable = pnDBGetTables();

Vedere anche




Capitolo 5: API Reference: Le singole funzioni, parte 2

pnDBGetConn()


pnDBInit

pnDBInit — inizializza la connessione al db di Envolution

Sintassi

bool pnDBInit();

Descrizione

pnDBInit() inizializza la connessione al db di Envolution

Valori restituiti

Questa funzione ritorna il valore true se la connessione è avvenuta con successo, oppure false se la connessione non è andata a buon fine.

Note

pnDBInit() è chiamata normalmente da pnInit(), e perciò non deve essere chiamata dallo sviluppatore.

Vedere anche

pnInit()


pnExceptionFree

pnExceptionFree — reimposta lo stato delle eccezioni

Sintassi

void pnExceptionFree();

Descrizione

pnExceptionFree() reimposta lo stato corrente delle eccezioni.

Valori restituiti

Questa funzione non ha valori di ritorno

Note

Bisogna sempre chiamare pnExceptionFree() quando si usa l’eccezione o si rischia di rimandare l’eccezione all’istruzione chiamante.

Vedere anche

pnExceptionId() pnExceptionMajor() pnExceptionSet() pnExceptionValue()


pnExceptionId

pnExceptionId — restituisce l’identificatore dell’eccezione.

Sintassi

string pnExceptionId();

Descrizione

pnExceptionId() restituisce la stringa che identifica l’eccezione. La stringa di caratteri contiene l’ID dell’eccezione (il nome della classe PHP).

Valori restituiti

Questa funzione restituisce l’identificatore dell’eccezione corrente. Se chiamata quando non ci sono eccezioni, ritorna il valore void.

Vedere anche

pnExceptionFree() pnExceptionMajor() pnExceptionSet() pnExceptionValue()

pnExceptionMajor

pnExceptionMajor — restituisce il numero dell’eccezione

Sintassi

int pnExceptionMajor();

Descrizione

pnExceptionMajor() permette alla chiamata di stabilire se è sorta una eccezioni e di quale tipo. PN_NO_EXCEPTION identifica lo stato senza eccezioni

Valori restituiti

La funzione restituisce uno dei seguenti valori: PN_NO_EXCEPTION, PN_USER_EXCEPTION oppure PN_SYSTEM_EXCEPTION.

Vedere anche

pnExceptionFree() pnExceptionId() pnExceptionSet() pnExceptionValue()


pnExceptionSet

pnExceptionSet — causa un’eccezione

Sintassi

void pnExceptionSet();

Descrizione

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.

Valori restituiti

La funzione non ritorna un valore.

Vedere anche

pnExceptionFree() pnExceptionId() pnExceptionMajor() pnExceptionValue()


pnExceptionValue

pnExceptionValue — restituisce il valore dell’eccezione corrente

Sintassi

void pnExceptionValue();

Descrizione

pnExceptionValue() restituisce un oggetto corrispondente a questa eccezione

Valori restituiti

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.

Vedere anche

pnExceptionFree() pnExceptionId() pnExceptionMajor() pnExceptionSet()


pnGetBaseURI

pnGetBaseURI — si ottiene l'URI base di Envolution

Sintassi

string pnGetBaseURI();
;

Descrizione

pnGetBaseURI() Ritorna l'URI base di envolution.

Valori restituiti

Questa funzione restituisce l' URI base di Envolution.

Note

Note URI è la parte di un'url, per esempio nell'URL 'http://www.Envolution.com/stuff/index.php' L'URI sarebbe '/stuff/index.php'.

Esempio

// mostra URI base

$path = pnGetBaseURI();

Vedere anche

pnGetBaseURL()


pnGetBaseURL

pnGetBaseURL — si ottiene l'URL base per questo sito

Sintassi

string pnGetBaseURL();

Descrizione

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.

Valori restituiti

Questa funzione restituisce l'URL base del sito.

Note

L'ultimo carattere restituito da pnGetBaseURL() è sempre '/'

pnGetBaseURL() rimpiazza la vecchia variabile globale nukeurl


pnGetStatusMsg

pnGetStatusMsg — si ottiene un messaggio di status

Sintassi

string pnGetStatusMsg();

Descrizione

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.

Valori restituiti

Questa funzione restituisce il valore dell'ultimo messaggio di status inviato, o void se non esiste nessun messaggio di status.

Note

pnGetStatusMsg() è una funzione distruttiva - essa cancella le due variabili di sessione 'statusmsg' e 'erorrmsg' durante il suo funzioNomento.

Vedere anche

pnSessionSetVar()


pnModAPIFunc

pnModAPIFunc — esegue una funzione dell'API del modulo

Sintassi

mixed pnModFunc(modname, type, func, args);
string modname, , string type, , string func, , array args ;

BAD_PARAM

MODULE_FUNCTION_NOT_EXIST

Descrizione

pnModFunc()chiama una specifica funzione dell'API del modulo

Parametri

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..

Valori restituiti

Questa funzione restituisce qualunque valore di ritorno della funzione risultante se ci riesce. Questa funzione ritorna void se viene incontrata una eccezzione.

Eccezioni

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.

Note

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()

Esempi

// 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

}

Vedere anche

pnModGetVar(), pnModAPILoad(), pnModFunc()


pnModAPILoad

pnModAPILoad — Carica un API del modulo

Sintassi

int pnModAPILoad(modname, type);
string modname, , string type ;

BAD_PARAM

DATABASE_ERROR

MODULE_FILE_NOT_EXIST

MODULE_NOT_EXIST

Descrizione

pnModAPILoad() Carica funzioni extra nel sistema Envolution per estendere le sue abilità.

Parametri

modname

Il ben conosciuto nome del modulo da caricare

type

Il tipo di funzione del modulo da caricare; attualmente 'user' o 'admin'.

Valori restituiti

Questa funzione restituisce true se il modulo viene caricato con successo. Questa funzione restituisce void se viene incontrata un'eccezzione.

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 ritorna ID_NOT_EXIST se il blocco è sconosciuto. La funzione ritorna MODULE_FILE_NOT_EXIST se il file del blocco non esiste.

Note

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()

Esempi

// 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');

}

}

Vedere anche

pnModLoad(), pnModGetVar()


pnModAvailable

pnModAvailable — Controlla se un modulo è disponibile

Sintassi

bool pnModAvailable(modname);
string modname ;

BAD_PARAM

DATABASE_ERROR

Descrizione

pnModAvailable() conferma se un modulo è disponibile per essere usato in un sistema Envolution.

Parametri

modname

Il ben conosciuto nome del modulo da controllare.

Valori restituiti

Questa funzione restituisce true se il modulo è disponibile per l'uso. Questa funzione restituisce void se viene incontrata una 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.

Note

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()

Esempio

// 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

pnModCallHooks — effettua l'operazione di agganciamento al modulo

Sintassi

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

Descrizione

pnModCallHooks()effettua l'operazione di agganciamento al modulo

Parametri

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

Valori restituiti

Questa ritorna l'output del gancio come stringa. Questa funzione ritorna void se una eccezzione viene incontrata.

Eccezioni

La funzione ritorna DATABASE_ERROR se c’è un errore nell’interrogazione dei dati. La funzione rigetta le eccezioni restituite dalle altre funzioni.

Note

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.

Esempi