gino CMS  2.5.0
gino è un CMS scritto in PHP che offre tutti gli strumenti necessari per poter creare un sito web e gestire i contenuti al suo interno in maniera semplice ed efficace, svincolando l'amministratore da conoscenze tecniche di programmazione
Permission Class Reference

Classe tipo Gino.Model che rappresenta un permesso. More...

Inheritance diagram for Permission:
Collaboration diagram for Permission:

Public Member Functions

 __construct ($id)
 Costruttore. More...
 
 __toString ()
 Rappresentaazione a stringa dell'oggetto. More...
 
- Public Member Functions inherited from Model
 __construct ($id=null)
 Costruttore. More...
 
 __toString ()
 Rappresentazione a stringa dell'oggetto Sovrascrivere questo metodo nella classe figlia per restituire un valore parlante. More...
 
 fieldLabel ($field)
 Etichetta del campo. More...
 
 setIsConstraint ($is_constraint)
 Setter per la proprietà che contiene le informazioni per il check dei constraint Esempio: More...
 
 __get ($pName)
 Metodo richiamato ogni volta che qualcuno prova a ottenere una proprietà dell'oggetto non definita. More...
 
 __set ($pName, $pValue)
 Metodo richiamato ogni volta che qualcuno prova a impostare una proprietà dell'oggetto non definita ($this->{fieldname}) More...
 
 m2mtObject ($m2mt_field, $id)
 Ritorna l'oggetto ManyToMany through model. More...
 
 ml ($pName)
 Recupera le proprietà con la traduzione. More...
 
 getStructure ()
 Struttura dei campi del modello Un array associativo che contiene tutti i campi come chiavi e le relative classi di tipo Field come valore. More...
 
 getRecordValues ()
 Valori di un record. More...
 
 getController ()
 Controller del modello. More...
 
 save ($options=array())
 Salva il modello su db Salva sia i campi della tabella sia i m2m. More...
 
 savem2m ($m2m)
 Salvataggio dei ManyToMany. More...
 
 deleteDbData ()
 Elimina le proprietà su db del modello e le traduzioni. More...
 
 delete ()
 Elimina l'oggetto Elimina i dati su db, le traduzioni, e le associazioni m2m e m2mt Controlla che non ci siano regole di constraint che impediscano l'eliminazione, in caso ce ne fossero di non rispettate ritorna un elenco di regole che impediscono l'eliminazione. More...
 
 deletem2m ()
 Elimina le associazioni m2m. More...
 
 deletem2mthrough ()
 Elimina le associazioni m2mt. More...
 
 deletem2mthroughField ($field_name)
 Elimina lòe associazioni di un campo m2mt. More...
 
 getModelLabel ()
 Etichetta del modello. More...
 
 getTable ()
 Tabella principale dei dati. More...
 
 getProperties ($field_obj)
 Racchiude tutte le proprietà di un mdello Recupera le proprietà del campo dipendenti dai valori del record e imposta le opzioni: model, field_object, value, table. More...
 
 build ($field_obj)
 Classe Build del campo di tabella. More...
 
 shows ($field_obj)
 Valore da mostrare in output. More...
 
 fetchColumns ($id)
 Recupera i valori del record e li carica nella proprietà _p Il valore dei campi di tipo ManyToMany è un array che racchiude i valori id dei record della tabella di join associata al modello. More...
 
 refreshModel ()
 Refresh del modello (da chiamare manualmente) More...
 

Static Public Member Functions

static columns ()
 Struttura dei campi della tabella di un modello. More...
 
static getFromFullCode ($code)
 Restituisce un oggetto dato il codice completo. More...
 
static getForMulticheck ()
 Restituisce un array da utilizzare con un widget multicheck. More...
 
static getList ()
 Elenco dei permessi. More...
 
- Static Public Member Functions inherited from Model
static deleteInstance ($controller)
 Eliminazione di tutti i record legati all'istanza del controller passato come argomento. More...
 
static getSelectOptionsFromObjects ($objects)
 Array associativo id => rappresentazione a stringa a partire da array di oggetti. More...
 
static objects ($controller=null, $options=array())
 Metodo generico statico per ricavare oggetti. More...
 
static getFromSlug ($slug, $controller=null)
 Recupera l'oggetto a partire dallo slug. More...
 
static columns ()
 Recupera l'oggetto del tipo di campo di un modello. More...
 

Static Public Attributes

static $table = TBL_PERMISSION
 
static $table_perm_user = TBL_USER_PERMISSION
 
static $columns
 

Static Private Member Functions

static getGroupedPermissions ()
 Restituisce i permessi raggruppati per modulo. More...
 

Additional Inherited Members

- Data Fields inherited from Model
 $_request
 
 $_db
 
 $_lng_nav
 
- Protected Member Functions inherited from Model
 setCheckIsConstraint ($check)
 Setter per la variabile di controllo del check constraint. More...
 
 isConstraintError ($res)
 Errore conseguente ad una violazione delle constraint in eliminazione. More...
 
 checkIsConstraint ()
 Controllo delle regole constraint. More...
 
- Static Protected Member Functions inherited from Model
static properties ($model, $controller=null)
 Proprietà specifiche di un modello dipendenti dai valori del record (ad esempio dal valore id) More...
 
- Protected Attributes inherited from Model
 $_registry
 
 $_tbl_data
 
 $_model_label
 
 $_controller
 
 $_locale
 
 $_p = array()
 
 $_is_constraint = array()
 
 $_check_is_constraint = true
 
 $_lng_dft
 

Detailed Description

Classe tipo Gino.Model che rappresenta un permesso.

Authors
Marco Guidotti guido.nosp@m.ttim.nosp@m.@gmai.nosp@m.l.co.nosp@m.m
abidibo abidi.nosp@m.bo@g.nosp@m.mail..nosp@m.com

I permessi sono relativi ad una classe. Nel momento in cui vengono associati a gruppi o utenti si aggiunge l'informazione istanza, che vale 0 per classi non istanziabili. Quando richiedo il controllo bloccante di un permesso (Gino.Access::requirePerm()) devo dare classe, codice e istanza. Il codice puo' essere un array di codici di permessi tutti appartenenti alla stessa classe e istanza. Se voglio permettere l'accesso con permessi di classi o istanze diverse uso più volte Gino.Access::requirePerm().

I Controller hanno una shortcut di Gino.Access::requirePerm() dove classe e istanza sono passati direttamente e coincidono con le proprietà del Controller stesso.

La stessa cosa per il controllo non bloccante, con i metodi Gino.App.Auth.User::hasPerm() e lo shortcut Gino.Controller::userHasPerm().
Esistono permessi di sistema (hanno class='core') che sono generici. La classe Gino.Core non esiste tra le ModuleApp, ma l'eccezione viene gestita interamente all'interno della classe Permission, per tutti gli altri si tratta di permessi analoghi agli altri e non vedono alcuna differenza. Il nome della classe è core e non system siccome core è una classe esistente e non si può creare un modulo di uguale nome.

I Controller devono definire i permessi per le outputFunction(), in quel contesto si considerano i permessi di classe, non di istanza. Servono per mostrare i permessi quando si trattano i metodi di output (menu, layout etc...). In tale contesto l'indicazione del permesso deve essere necessariamente nel formato classe.codice, in questo modo si possono attibuire permessi di tipo core alla visualizzazione dei metodi, oppure permessi di altre classi.
Non è stata utilizzata la stessa notazione per i controlli in quanto in questo caso bisogna specificare anche l'istanza e diventerebbe complicato, ed inoltre non si potrebbero definire gli shortcut che nel 90% dei casi sono sufficienti.

Per recuperare i permessi di tutti i moduli (istanziabili e non) ed i permessi core da utilizzare in un form per una associazione, utilizzare Gino.App.Auth.Permission::getForMulticheck().

Constructor & Destructor Documentation

__construct (   $id)

Costruttore.

Parameters
int$idid permesso
Returns
istanza di Gino.App.Auth.Permission

Member Function Documentation

__toString ( )

Rappresentaazione a stringa dell'oggetto.

Returns
etichetta permesso
static columns ( )
static

Struttura dei campi della tabella di un modello.

Returns
array
static getForMulticheck ( )
static

Restituisce un array da utilizzare con un widget multicheck.

Returns
array
static getFromFullCode (   $code)
static

Restituisce un oggetto dato il codice completo.

Parameters
string$codecodice nel formato classname.code_perm
Returns
istanza di Gino.App.Auth.Permission o null se non lo trova
static getGroupedPermissions ( )
staticprivate

Restituisce i permessi raggruppati per modulo.

Returns
array nome_modulo.modulo_id => Gino.Auth.App.Permission
static getList ( )
static

Elenco dei permessi.

Vengono mostrati:

  • per i moduli non istanziabili -> i loro permessi
  • per i moduli istanziabili -> i permessi dei moduli per ogni loro istanza
Returns
array array(perm_id, name, label)

Field Documentation

$columns
static
$table = TBL_PERMISSION
static
$table_perm_user = TBL_USER_PERMISSION
static

The documentation for this class was generated from the following file: