ParticipantAttributeName

Extends\LSActiveRecord

This is the model class for table "{{{{participant_attribute_names}}}}".

The following are the available columns in table '{{{{participant_attribute_names}}}}':

package

Default

Methods

attributeLabels

attributeLabels(): array

Response

array

customized attribute labels (name=>label)

Lists the behaviors of this model

behaviors(): array
inherited

Below is a list of all behaviors we register:

see \PluginEventBehavior\CTimestampBehavior

Response

array

clearAttributeValues

clearAttributeValues()

Decrypt values from database

decrypt( $value = '')
inherited

Arguments

$value

Encrypt/decrypt values

decryptEncryptAttributes( $action = 'decrypt')
inherited

Arguments

$action

Decrypt single value

decryptSingle(string $value = ''): string
inheritedstatic

Arguments

$value

string

String value which needs to be decrypted

Response

string

the decrypted string

Decrypt single value

decryptSingleOld(string $value = ''): string
inheritedstatic

Arguments

$value

string

String value which needs to be decrypted

Response

string

the decrypted string

delAttribute

delAttribute(integer $attid): void

Arguments

$attid

integer

delAttributeValues

delAttributeValues(integer $attid,integer $valid)

Arguments

$attid

integer

$valid

integer

deleteAllByAttributes

deleteAllByAttributes(array $attributes,string $condition = '',array $params = array()): integer
inherited
todo

This should also be moved to the behavior at some point. This method overrides the parent in order to raise PluginEvents for Bulk delete operations.

Filter Criteria are wrapped into a CDBCriteria instance so we have a single instance responsible for holding the filter criteria to be passed to the PluginEvent, this also enables us to pass the fully configured CDBCriteria instead of the original Parameters.

See {@link find()} for detailed explanation about $condition and $params.

Arguments

$attributes

array

list of attribute values (indexed by attribute names) that the active records should match. An attribute value can be an array which will be used to generate an IN condition.

$condition

string

query condition or criteria.

$params

array

parameters to be bound to an SQL statement.

Response

integer

number of rows affected by the execution.

dispatchPluginModelEvent

dispatchPluginModelEvent(string $sEventName,\CDbCriteria $criteria = null,array $eventParams = []): \PluginEvent
inherited

Arguments

$sEventName

string

$criteria

\CDbCriteria

$eventParams

array

Response

\PluginEvent

editParticipantAttributeValue

editParticipantAttributeValue( $data)

Arguments

$data

Encrypt values

encrypt()
inherited

Attribute values are encrypted ( if needed )to be used for searching purposes

encryptAttributeValues(array $attributes = null, $bEncryptedOnly = false, $bReplaceValues = true): array
inherited

Arguments

$attributes

array

list of attribute values (indexed by attribute names) that the active records should match. An attribute value can be an array which will be used to generate an IN condition.

$bEncryptedOnly

$bReplaceValues

Response

array

attributes array with encrypted atrribute values is returned

Encrypt values before saving to the database

encryptSave( $runValidation = false)
inherited

Arguments

$runValidation

Enrypt single value

encryptSingle(string $value = '')
inheritedstatic

Arguments

$value

string

String value which needs to be encrypted

Finds all active records satisfying the specified condition but returns them as array

findAllAsArray(mixed $condition = '',array $params = array()): array
inherited

See \find() for detailed explanation about $condition and $params.

Arguments

$condition

mixed

query condition or criteria.

$params

array

parameters to be bound to an SQL statement.

Response

array

list of active records satisfying the specified condition. An empty array is returned if none is found.

Overriding of Yii's findAllByAttributes method to provide encrypted attribute value search

findAllByAttributes(array $attributes,mixed $condition = '',array $params = array()): array<mixed,static>
inherited

Arguments

$attributes

array

list of attribute values (indexed by attribute names) that the active records should match. An attribute value can be an array which will be used to generate an IN condition.

$condition

mixed

query condition or criteria.

$params

array

parameters to be bound to an SQL statement.

Response

array<mixed,static>

the records found. An empty array is returned if none is found.

Overriding of Yii's findByAttributes method to provide encrypted attribute value search

findByAttributes(array $attributes,mixed $condition = '',array $params = array()): static|null
inherited

Arguments

$attributes

array

list of attribute values (indexed by attribute names) that the active record should match. An attribute value can be an array which will be used to generate an IN condition.

$condition

mixed

query condition or criteria.

$params

array

parameters to be bound to an SQL statement.

Response

static|null

the record found. Null if none is found.

getAllAttributes

getAllAttributes()

getAllAttributesValues

getAllAttributesValues()

getAllEncryptedAttributes

getAllEncryptedAttributes(integer $iSurveyId,string $sClassName): array
inherited

Arguments

$iSurveyId

integer

$sClassName

string

Response

array

TODO: Should be split into seperate functions in the appropiate model or helper class TODO: Make an interface for records that support encryption.

getAttribute

getAttribute(string $attribute_id): mixed
psalm-suppress

ParamNameMismatch TODO: Tonis: this is a bad name for this method - it overrides parent method doing totally different thing

Arguments

$attribute_id

string

Response

mixed

getAttributeID

getAttributeID(): array

Response

array

getAttributeName

getAttributeName(string $attributeid,string $lang = 'en'): \ParticipantAttributeNameLang

Arguments

$attributeid

string

$lang

string

Response

\ParticipantAttributeNameLang

getAttributeNames

getAttributeNames(integer $attributeid): array<mixed,\ParticipantAttributeName>

Arguments

$attributeid

integer

Response

array<mixed,\ParticipantAttributeName>

getAttributesValues

getAttributesValues(integer $attribute_id = null): array

Arguments

$attribute_id

integer

Response

array

getAttributeTypeDropdownArray

getAttributeTypeDropdownArray(): array

Response

array

getAttributeTypeNice

getAttributeTypeNice(): string

Response

string

??

getAttributeValue

getAttributeValue( $participantid, $attributeid)

Arguments

$participantid

$attributeid

Returns Buttons for Grid view

getButtons(): string

Response

string

html

getColumns

getColumns(): array

Response

array

getCoreAttributeSwitch

getCoreAttributeSwitch(): string

Response

string

Returns an array with all participant attributes which are not core attributes.

getCPDBAttributes(): array

Response

array

will have the following structure result['attribute_id'] result['attribute_type'] result['attribute_display'] --> visible result['attribute_name'] result['lang']

getEncryptedSwitch

getEncryptedSwitch(): string

Response

string

getMassiveActionCheckbox

getMassiveActionCheckbox(): string

Response

string

Return the max value for a field

getMaxId(string $field = null,boolean $forceRefresh = false): false|integer
inherited

This is a convenience method, that uses the primary key of the model to retrieve the highest value.

Throws
\Exception

Arguments

$field

string

The field that contains the Id, when null primary key is used if it is a single field

$forceRefresh

boolean

Don't use value from static cache but always requery the database

Response

false|integer

Return the min value for a field

getMinId(string $field = null,boolean $forceRefresh = false): false|integer
inherited

This is a convenience method, that uses the primary key of the model to retrieve the highest value.

Throws
\Exception

Arguments

$field

string

The field that contains the Id, when null primary key is used if it is a single field

$forceRefresh

boolean

Don't use value from static cache but always requery the database

Response

false|integer

getNamePlusLanguageName

getNamePlusLanguageName(): string

Response

string

this is a very specific function used to get the attributes that are not present for the participant

getNotAddedAttributes(array $attributeIds): array

Arguments

$attributeIds

array

Response

array

Returns a list of attributes, with name and value. Currently not working for alternate languages

getParticipantVisibleAttribute(string $participant_id): array

Arguments

$participant_id

string

the id of the participant to return values/names for (if empty, returns all)

Response

array

Get an array of CPDB attributes

getVisibleAttributes(mixed $sLanguageFilter = null): array

Arguments

$sLanguageFilter

mixed

Response

array

getVisibleSwitch

getVisibleSwitch(): string

Response

string

model

model( $className = __CLASS__): \ParticipantAttributeName
static
inheritdoc

Arguments

$className

Response

\ParticipantAttributeName

primaryKey

primaryKey()
inheritdoc

Modified version that default to do the same as the original, but allows via a third parameter to retrieve the result as array instead of active records. This solves a joining problem. Usage via findAllAsArray method

query(\CDbCriteria $criteria,boolean $all = false,boolean $asAR = true): mixed
inherited

Performs the actual DB query and populates the AR objects with the query result. This method is mainly internally used by other AR query methods.

since 1.1.7

Arguments

$criteria

\CDbCriteria

the query criteria

$all

boolean

whether to return all data

$asAR

boolean

Response

mixed

the AR objects populated with the query result

relations

relations()
inheritdoc

rules

rules()
inheritdoc

saveAttribute

saveAttribute( $data)

Arguments

$data

saveAttributeEncrypted

saveAttributeEncrypted(integer $attid,string $encryptedcondition)

Arguments

$attid

integer

$encryptedcondition

string

saveAttributeLanguages

saveAttributeLanguages(array $data)
todo

Doc

Arguments

$data

array

updates the attribute values in participant_attribute_values

saveAttributeValue(array $data)

Arguments

$data

array

saveAttributeVisible

saveAttributeVisible(integer $attid,string $visiblecondition)

Arguments

$attid

integer

$visiblecondition

string

saveParticipantAttributeValue

saveParticipantAttributeValue(array $data)

Arguments

$data

array

Function to show encryption symbol in gridview attribute header if value ois encrypted

setEncryptedAttributeLabel(integer $surveyId,string $className,string $attributeName): string
inherited
Throws
\CException

Arguments

$surveyId

integer

$className

string

$attributeName

string

Response

string

Adds the data for a new attribute

storeAttribute(mixed $data): boolean|integer

Arguments

$data

mixed

Response

boolean|integer

storeAttributeCSV

storeAttributeCSV(array $data): integer

Arguments

$data

array

Response

integer

storeAttributeValue

storeAttributeValue(array $data)

Arguments

$data

array

storeAttributeValues

storeAttributeValues(array $data)

Arguments

$data

array

tableName

tableName()
inheritdoc

Updates records with the specified condition.

updateAll(array $attributes,mixed $condition = '',array $params = array()): integer
inherited

XSS filtering is enforced for attributes listed in model's $xssFilterAttributes property. See \find() for detailed explanation about $condition and $params. Note, the attributes are not checked for safety and no validation is done.

Arguments

$attributes

array

list of attributes (name=>$value) to be updated

$condition

mixed

query condition or criteria.

$params

array

parameters to be bound to an SQL statement.

Response

integer

the number of rows being updated

Properties

Array of attributes that should be XSS filtered on mass updates

xssFilterAttributes :array<mixed,string>
inherited
var

Array of attributes that should be XSS filtered on mass updates

Type(s)

array<mixed,string>

bEncryption

bEncryption :
inherited

Type(s)

attribute_id

attribute_id :integer

Type(s)

integer

attribute_type

attribute_type :string

Type(s)

string

defaultname

defaultname :string

Type(s)

string

visible

visible :string

Type(s)

string

encrypted

encrypted :string

Type(s)

string

core_attribute

core_attribute :string

Type(s)

string

participant_attribute_names_lang

participant_attribute_names_lang :array<mixed,\ParticipantAttributeNameLang>

Type(s)

array<mixed,\ParticipantAttributeNameLang>

participant_attribute

participant_attribute :\ParticipantAttribute

Type(s)

\ParticipantAttribute

AttributeTypeDropdownArray

AttributeTypeDropdownArray :array

Type(s)

array