Galette API documentation
Gestionnaire d’Adhérents en Ligne Extrêmement Tarabiscoté mais Tellement Efficace
1.0.0
Galette\Entity\FieldsConfig Class Reference
Inheritance diagram for Galette\Entity\FieldsConfig:
Collaboration diagram for Galette\Entity\FieldsConfig:

Public Member Functions

 __construct (Db $zdb, string $table, array $defaults, array $cats_defaults, bool $install=false)
 
 isRequired (string $field)
 
 setNotRequired (string $field)
 
 installInit ()
 
 getNonRequired ()
 
 getFormElements (Login $login, bool $new, bool $selfs=false)
 
 getDisplayElements (Login $login)
 
 getRequired ()
 
 getVisibilities ()
 
 getVisibility (string $field)
 
 getCategorizedFields ()
 
 setFields (array $fields)
 
 migrateRequired ()
 
 isSelfExcluded (string $name)
 
 filterVisible (Login $login, array &$fields)
 
 getMassiveFormElements (array $fields, Login $login)
 
 getField (string $name)
 

Public Attributes

const NOBODY = 0
 
const USER_WRITE = 1
 
const ADMIN = 2
 
const STAFF = 3
 
const MANAGER = 4
 
const USER_READ = 5
 
const ALL = 10
 
const TYPE_STR = 0
 
const TYPE_HIDDEN = 1
 
const TYPE_BOOL = 2
 
const TYPE_INT = 3
 
const TYPE_DEC = 4
 
const TYPE_DATE = 5
 
const TYPE_TXT = 6
 
const TYPE_PASS = 7
 
const TYPE_EMAIL = 8
 
const TYPE_URL = 9
 
const TYPE_RADIO = 10
 
const TYPE_SELECT = 11
 
const TABLE = 'fields_config'
 

Protected Member Functions

 prepareField (ArrayObject $rset)
 
 buildField (ArrayObject $rset)
 
 buildLists ()
 
 addToLists (array $field)
 

Protected Attributes

Db $zdb
 
array $core_db_fields = array()
 
array $all_required = array()
 
array $all_visibles = array()
 
array $categorized_fields = array()
 
string $table
 
array $defaults = null
 
array $cats_defaults = null
 

Detailed Description

Fields config class for galette : defines fields visibility for lists and forms defines fields order and requirement flag for forms

Author
Johan Cwiklinski johan.nosp@m.@x-t.nosp@m.nd.be

Constructor & Destructor Documentation

◆ __construct()

Galette\Entity\FieldsConfig::__construct ( Db  $zdb,
string  $table,
array  $defaults,
array  $cats_defaults,
bool  $install = false 
)

Default constructor

Parameters
Db$zdbDatabase
string$tablethe table for which to get fields configuration
array<string,mixed>$defaults default values
array<string,mixed>$cats_defaults default categories values
boolean$installAre we calling from installer?

Member Function Documentation

◆ addToLists()

Galette\Entity\FieldsConfig::addToLists ( array  $field)
protected

Adds a field to lists

Parameters
array<string,mixed>$field Field values
Returns
void

Reimplemented in Galette\Entity\ListsConfig.

◆ buildField()

Galette\Entity\FieldsConfig::buildField ( ArrayObject  $rset)
protected

Prepare a field (required data, automation)

Parameters
ArrayObject<string,int|string>$rset DB ResultSet row
Returns
array<string, mixed>

Reimplemented in Galette\Entity\ListsConfig.

◆ buildLists()

Galette\Entity\FieldsConfig::buildLists ( )
protected

Create field array configuration, Several lists of fields are kept (visible, requireds, etc), build them.

Returns
void

Reimplemented in Galette\Entity\ListsConfig.

◆ filterVisible()

Galette\Entity\FieldsConfig::filterVisible ( Login  $login,
array &  $fields 
)

Filter visible fields

Parameters
Login$loginLogin instance
array<string,mixed>$fields Fields list
Returns
void

◆ getCategorizedFields()

Galette\Entity\FieldsConfig::getCategorizedFields ( )

Get all fields with their categories

Returns
array<int, array<int, array<string, mixed>>>

◆ getDisplayElements()

Galette\Entity\FieldsConfig::getDisplayElements ( Login  $login)

Retrieve display elements

Parameters
Login$loginLogin instance
Returns
array<int,object>

Reimplemented in Galette\Entity\ListsConfig.

◆ getField()

Galette\Entity\FieldsConfig::getField ( string  $name)

Get field configuration

Parameters
string$nameField name
Returns
array<string,mixed>

◆ getFormElements()

Galette\Entity\FieldsConfig::getFormElements ( Login  $login,
bool  $new,
bool  $selfs = false 
)

Retrieve form elements

Parameters
Login$loginLogin instance
boolean$newTrue when adding a new member
boolean$selfsTrue if we're called from self subscription page
Returns
array<string, array<int,object>>

◆ getMassiveFormElements()

Galette\Entity\FieldsConfig::getMassiveFormElements ( array  $fields,
Login  $login 
)

Get fields for massive changes

See also
FieldsConfig::getFormElements
Parameters
array<string,mixed>$fields Member fields
Login$loginLogin instance
Returns
array<string,mixed>

◆ getNonRequired()

Galette\Entity\FieldsConfig::getNonRequired ( )

Get non required fields

Returns
array<string>

◆ getRequired()

Galette\Entity\FieldsConfig::getRequired ( )

Get required fields

Returns
array<string, bool> of all required fields. Field names = keys

◆ getVisibilities()

Galette\Entity\FieldsConfig::getVisibilities ( )

Get visible fields

Returns
array<string,int> of all visibles fields

◆ getVisibility()

Galette\Entity\FieldsConfig::getVisibility ( string  $field)

Get visibility for specified field

Parameters
string$fieldThe requested field
Returns
integer

Reimplemented in Galette\Entity\ListsConfig.

◆ installInit()

Galette\Entity\FieldsConfig::installInit ( )

Set default fields configuration at install time. All previous existing values will be dropped first, including fields categories.

Returns
boolean
Exceptions
Throwable

◆ isRequired()

Galette\Entity\FieldsConfig::isRequired ( string  $field)

Is a field set as required?

Parameters
string$fieldField name
Returns
boolean

◆ isSelfExcluded()

Galette\Entity\FieldsConfig::isSelfExcluded ( string  $name)

Does field should be displayed in self subscription page

Parameters
string$nameField name
Returns
boolean

◆ migrateRequired()

Galette\Entity\FieldsConfig::migrateRequired ( )

Migrate old required fields configuration Only needed for 0.7.4 upgrade (should have been 0.7.3 - but I missed that.)

Returns
boolean

◆ prepareField()

Galette\Entity\FieldsConfig::prepareField ( ArrayObject  $rset)
protected

Prepare a field (required data, automation)

Parameters
ArrayObject<string,int|string>$rset DB ResultSet row
Returns
ArrayObject<string, int|string>

◆ setFields()

Galette\Entity\FieldsConfig::setFields ( array  $fields)

Set fields

Parameters
array<int,array<int,array<string,mixed>>>$fields categorized fields array
Returns
boolean

◆ setNotRequired()

Galette\Entity\FieldsConfig::setNotRequired ( string  $field)

Temporary set a field as not required (password for existing members for example)

Parameters
string$fieldField name
Returns
void

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