SurveyDynamic

Extends\LSActiveRecord

package

Default

Methods

Return criteria updated with the ones needed for including results from the timings table

addTimingCriteria(array $condition): \CDbCriteria

Arguments

$condition

array

Response

\CDbCriteria

Return criteria updated with the ones needed for including results from the survey participants table

addTokenCriteria(string $condition): \CDbCriteria

Arguments

$condition

string

Response

\CDbCriteria

Lists the behaviors of this model

behaviors(): array
inherited

Below is a list of all behaviors we register:

see \PluginEventBehavior\CTimestampBehavior

Response

array

countAllAndPartial

countAllAndPartial(integer $sid): array
static

Arguments

$sid

integer

Response

array

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

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.

Deletes some records from survey's table according to specific condition

deleteSomeRecords(array|boolean $condition = false): integer|\CDbCriteria
static
static
access

public

Arguments

$condition

array|boolean

Response

integer|\CDbCriteria

dispatchPluginModelEvent

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

Arguments

$sEventName

string

$criteria

\CDbCriteria

$eventParams

array

Response

\PluginEvent

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

Return true if actual response exist in database

exist(integer $srid): boolean

Arguments

$srid

integer

: actual save survey id

Response

boolean

Loop through columns and add filter if any value is given for this column Used in responses grid

filterColumns(\CdbCriteria $criteria): void

Arguments

$criteria

\CdbCriteria

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.

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.

getbHaveToken

getbHaveToken(): boolean

Response

boolean

Get buttons HTML for response browse view.

getButtons(): string
deprecated

, use getGridButtons ,

Response

string

HTML

For grid list

getCompleted(): string

Response

string

Get the list of default columns for surveys

getDefaultColumns(): array<mixed,string>

Response

array<mixed,string>

getEllipsize_header_value

getEllipsize_header_value()

getEllipsize_question_value

getEllipsize_question_value()

getExtendedData

getExtendedData(string $colName,string $sLanguage,string $base64jsonFieldMap): string

Arguments

$colName

string

$sLanguage

string

$base64jsonFieldMap

string

Response

string

getFirstNameForGrid

getFirstNameForGrid(): string

Response

string

Return the buttons columns

getGridButtons(): string
see https://www.yiiframework.com/doc/api/1.1/CButtonColumnhttps://bugs.limesurvey.org/view.php?id=14219https://bugs.limesurvey.org/view.php?id=14222:

When deleting a single response : all page is reloaded (not only grid)

Response

string

getLastNameForGrid

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

getPrintAnswersArray

getPrintAnswersArray( $sSRID, $sLanguage, $bHonorConditions = false)

Arguments

$sSRID

$sLanguage

$bHonorConditions

Get an array to find question data responsively This should be part of the question object.

getQuestionArray(\Question $oQuestion,\SurveyDynamic $oResponses,boolean $bHonorConditions,boolean $subquestion = false,boolean $getCommentOnly = false, $sLanguage = null): array

And in future development this should be part of the specific question type object

Arguments

$oQuestion

\Question

$oResponses

\SurveyDynamic

$bHonorConditions

boolean

$subquestion

boolean

$getCommentOnly

boolean

If should only returns the "comments" or "other" response.

$sLanguage

Response

array

| boolean

Get current surveyId for other model/function

getSurveyId(): integer

Response

integer

getTokenForGrid

getTokenForGrid(): string

Response

string

Insert records from $data array

insertRecords(array $data): boolean
access

public

Arguments

$data

array

Response

boolean

Return true if actual survey is completed

isCompleted(integer $srid): boolean

Arguments

$srid

integer

: actual save survey id

Response

boolean

joinWithToken

joinWithToken(\CDbCriteria $criteria,\CSort $sort): void

Arguments

$criteria

\CDbCriteria

$sort

\CSort

model

model( $sid = null): \SurveyDynamic
static
inheritdoc
psalm-suppress

ParamNameMismatch Ignore that $sid is $className in parent class

Arguments

$sid

Response

\SurveyDynamic

Return next id if next response exist in database

next(integer $srId,boolean $useFilterState = false): integer

Arguments

$srId

integer

: actual save survey id

$useFilterState

boolean

Response

integer

Return previous id if previous response exist in database

previous(integer $srId,boolean $useFilterState = false): integer

Arguments

$srId

integer

: actual save survey id

$useFilterState

boolean

Response

integer

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

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

Sets the survey ID for the next model

sid(integer $sid): void
static
static
access

public

Arguments

$sid

integer

tableName

tableName()
inheritdoc

Function that returns a time-line of the surveys submissions

timeline(string $sType,string $dStart,string $dEnd): array|boolean
access

public

Arguments

$sType

string

$dStart

string

$dEnd

string

Response

array|boolean

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

completed_filter

completed_filter :string
var

Type(s)

string

firstname_filter

firstname_filter :string
var

Type(s)

string

lastname_filter

lastname_filter :string
var

Type(s)

string

email_filter

email_filter :string
var

Type(s)

string

lastpage

lastpage :integer
var

Type(s)

integer

sid

sid :integer
static
var

Type(s)

integer

survey

survey :\Survey
static
var

Type(s)

\Survey

bHaveToken

bHaveToken :boolean
var

Type(s)

boolean

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)