QuestionGroup
extends LSActiveRecord
in package
Class QuestionGroup
Table of Contents
Properties
- $aQuestions : mixed
- $bEncryption : mixed
- $description : mixed
- $gid : int
- $grelevance : string
- $group_name : mixed
- $group_order : int
- $language : mixed
- $questiongroupl10ns : array<string|int, QuestionGroupL10n>
- $questions : array<string|int, Question>
- $randomization_group : string
- $sid : int
- $survey : Survey
- $xssFilterAttributes : array<string|int, string>
Methods
- behaviors() : array<string|int, mixed>
- Lists the behaviors of this model
- cleanOrder() : mixed
- decrypt() : mixed
- Decrypt values from database
- decryptEncryptAttributes() : mixed
- Encrypt/decrypt values
- decryptSingle() : string
- Decrypt single value
- decryptSingleOld() : string
- Decrypt single value
- deleteAllByAttributes() : int
- deleteWithDependency() : int|null
- Deletes a question group and all its dependencies.
- dispatchPluginModelEvent() : PluginEvent
- encrypt() : mixed
- Encrypt values
- encryptAttributeValues() : array<string|int, mixed>
- Attribute values are encrypted ( if needed )to be used for searching purposes
- encryptSave() : mixed
- Encrypt values before saving to the database
- encryptSingle() : mixed
- Enrypt single value
- findAllAsArray() : array<string|int, mixed>
- Finds all active records satisfying the specified condition but returns them as array
- findAllByAttributes() : array<string|int, static>
- Overriding of Yii's findAllByAttributes method to provide encrypted attribute value search
- findByAttributes() : static|null
- Overriding of Yii's findByAttributes method to provide encrypted attribute value search
- getAllEncryptedAttributes() : array<string|int, mixed>
- getAllGroups() : CDbDataReader
- getAllQuestions() : array<string|int, Question>
- Returns all group questions (including subquestions)
- getbuttons() : string
- getFirstGroup() : QuestionGroup
- Returns the first question group in the survey
- getGroupDescription() : string
- Get group description
- getGroupDescriptionI10N() : string
- Get the internationalized group description from the L10N Table
- getGroupNameI10N() : string
- Get the internationalized group name from the L10N Table
- getMaxId() : false|int
- Return the max value for a field
- getMinId() : false|int
- Return the min value for a field
- getPrimaryDescription() : mixed
- getPrimaryTitle() : mixed
- getTotalGroupsWithoutQuestions() : mixed
- getTotalGroupsWithQuestions() : int
- Used in frontend helper, buildsurveysession.
- insertRecords() : bool|int
- Insert an array into the groups table Returns false if insertion fails, otherwise the new GID
- model() : QuestionGroup
- primaryKey() : mixed
- relations() : mixed
- rules() : mixed
- search() : CActiveDataProvider
- setEncryptedAttributeLabel() : string
- Function to show encryption symbol in gridview attribute header if value ois encrypted
- tableName() : mixed
- updateAll() : int
- Updates records with the specified condition.
- updateGroupOrder() : mixed
- beforeSave() : mixed
- Make sure we don't save a new question group while the survey is active.
- query() : mixed
- 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
- getQuestionIdsInGroup() : array<string|int, mixed>
Properties
$aQuestions
public
mixed
$aQuestions
$bEncryption
public
mixed
$bEncryption
= \false
$description
public
mixed
$description
$gid
public
int
$gid
ID
$grelevance
public
string
$grelevance
Group's relevane equation
$group_name
public
mixed
$group_name
$group_order
public
int
$group_order
Group order number (max 100 chars)
$language
public
mixed
$language
$questiongroupl10ns
public
array<string|int, QuestionGroupL10n>
$questiongroupl10ns
$questions
public
array<string|int, Question>
$questions
Questions without subquestions
$randomization_group
public
string
$randomization_group
Randomization group
$sid
public
int
$sid
Survey ID
$survey
public
Survey
$survey
$xssFilterAttributes
protected
array<string|int, string>
$xssFilterAttributes
= []
Array of attributes that should be XSS filtered on mass updates
Methods
behaviors()
Lists the behaviors of this model
public
behaviors() : array<string|int, mixed>
Below is a list of all behaviors we register:
Tags
Return values
array<string|int, mixed>cleanOrder()
public
cleanOrder(mixed $surveyid) : mixed
Parameters
- $surveyid : mixed
decrypt()
Decrypt values from database
public
decrypt([mixed $value = '' ]) : mixed
Parameters
- $value : mixed = ''
decryptEncryptAttributes()
Encrypt/decrypt values
public
decryptEncryptAttributes([mixed $action = 'decrypt' ]) : mixed
Parameters
- $action : mixed = 'decrypt'
decryptSingle()
Decrypt single value
public
static decryptSingle([string $value = '' ]) : string
Parameters
- $value : string = ''
-
String value which needs to be decrypted
Return values
string —the decrypted string
decryptSingleOld()
Decrypt single value
public
static decryptSingleOld([string $value = '' ]) : string
Parameters
- $value : string = ''
-
String value which needs to be decrypted
Return values
string —the decrypted string
deleteAllByAttributes()
public
deleteAllByAttributes(array<string|int, mixed> $attributes[, string $condition = '' ][, array<string|int, mixed> $params = [] ]) : int
Parameters
- $attributes : array<string|int, mixed>
-
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<string|int, mixed> = []
-
parameters to be bound to an SQL statement.
Tags
Return values
int —number of rows affected by the execution.
deleteWithDependency()
Deletes a question group and all its dependencies.
public
static deleteWithDependency(int $groupId, int $surveyId) : int|null
Returns affected rows of question group table (should be 1 or null)
Parameters
- $groupId : int
- $surveyId : int
Return values
int|nulldispatchPluginModelEvent()
public
dispatchPluginModelEvent(string $sEventName, CDbCriteria $criteria = null, array<string|int, mixed> $eventParams = []) : PluginEvent
Parameters
- $sEventName : string
- $criteria = null : CDbCriteria
- $eventParams = [] : array<string|int, mixed>
Return values
PluginEventencrypt()
Encrypt values
public
encrypt() : mixed
encryptAttributeValues()
Attribute values are encrypted ( if needed )to be used for searching purposes
public
encryptAttributeValues([array<string|int, mixed> $attributes = null ][, mixed $bEncryptedOnly = false ][, mixed $bReplaceValues = true ]) : array<string|int, mixed>
Parameters
- $attributes : array<string|int, mixed> = null
-
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 : mixed = false
- $bReplaceValues : mixed = true
Return values
array<string|int, mixed> —attributes array with encrypted atrribute values is returned
encryptSave()
Encrypt values before saving to the database
public
encryptSave([mixed $runValidation = false ]) : mixed
Parameters
- $runValidation : mixed = false
encryptSingle()
Enrypt single value
public
static encryptSingle([string $value = '' ]) : mixed
Parameters
- $value : string = ''
-
String value which needs to be encrypted
findAllAsArray()
Finds all active records satisfying the specified condition but returns them as array
public
findAllAsArray([mixed $condition = '' ][, array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
- $condition : mixed = ''
-
query condition or criteria.
- $params : array<string|int, mixed> = []
-
parameters to be bound to an SQL statement.
Return values
array<string|int, mixed> —list of active records satisfying the specified condition. An empty array is returned if none is found.
findAllByAttributes()
Overriding of Yii's findAllByAttributes method to provide encrypted attribute value search
public
findAllByAttributes(array<string|int, mixed> $attributes[, mixed $condition = '' ][, array<string|int, mixed> $params = [] ]) : array<string|int, static>
Parameters
- $attributes : array<string|int, mixed>
-
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<string|int, mixed> = []
-
parameters to be bound to an SQL statement.
Return values
array<string|int, static> —the records found. An empty array is returned if none is found.
findByAttributes()
Overriding of Yii's findByAttributes method to provide encrypted attribute value search
public
findByAttributes(array<string|int, mixed> $attributes[, mixed $condition = '' ][, array<string|int, mixed> $params = [] ]) : static|null
Parameters
- $attributes : array<string|int, mixed>
-
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<string|int, mixed> = []
-
parameters to be bound to an SQL statement.
Return values
static|null —the record found. Null if none is found.
getAllEncryptedAttributes()
public
getAllEncryptedAttributes(int $iSurveyId, string $sClassName) : array<string|int, mixed>
Parameters
- $iSurveyId : int
- $sClassName : string
Return values
array<string|int, mixed> —TODO: Should be split into seperate functions in the appropiate model or helper class TODO: Make an interface for records that support encryption.
getAllGroups()
public
getAllGroups(mixed|array<string|int, mixed> $condition[, array<string|int, string>|false $order = false ]) : CDbDataReader
Parameters
- $condition : mixed|array<string|int, mixed>
- $order : array<string|int, string>|false = false
Return values
CDbDataReadergetAllQuestions()
Returns all group questions (including subquestions)
public
getAllQuestions() : array<string|int, Question>
Return values
array<string|int, Question>getbuttons()
public
getbuttons() : string
Return values
stringgetFirstGroup()
Returns the first question group in the survey
public
static getFirstGroup(int $surveyId) : QuestionGroup
Parameters
- $surveyId : int
Return values
QuestionGroupgetGroupDescription()
Get group description
public
getGroupDescription(int $iGroupId, string $sLanguage) : string
Parameters
- $iGroupId : int
- $sLanguage : string
Return values
stringgetGroupDescriptionI10N()
Get the internationalized group description from the L10N Table
public
getGroupDescriptionI10N(string $sLanguage) : string
Parameters
- $sLanguage : string
Return values
stringgetGroupNameI10N()
Get the internationalized group name from the L10N Table
public
getGroupNameI10N(string $sLanguage) : string
Parameters
- $sLanguage : string
Return values
stringgetMaxId()
Return the max value for a field
public
getMaxId([string $field = null ][, bool $forceRefresh = false ]) : false|int
This is a convenience method, that uses the primary key of the model to retrieve the highest value.
Parameters
- $field : string = null
-
The field that contains the Id, when null primary key is used if it is a single field
- $forceRefresh : bool = false
-
Don't use value from static cache but always requery the database
Tags
Return values
false|intgetMinId()
Return the min value for a field
public
getMinId([string $field = null ][, bool $forceRefresh = false ]) : false|int
This is a convenience method, that uses the primary key of the model to retrieve the highest value.
Parameters
- $field : string = null
-
The field that contains the Id, when null primary key is used if it is a single field
- $forceRefresh : bool = false
-
Don't use value from static cache but always requery the database
Tags
Return values
false|intgetPrimaryDescription()
public
getPrimaryDescription() : mixed
getPrimaryTitle()
public
getPrimaryTitle() : mixed
getTotalGroupsWithoutQuestions()
public
static getTotalGroupsWithoutQuestions(mixed $surveyid) : mixed
Parameters
- $surveyid : mixed
getTotalGroupsWithQuestions()
Used in frontend helper, buildsurveysession.
public
static getTotalGroupsWithQuestions(int $surveyid) : int
Parameters
- $surveyid : int
Return values
intinsertRecords()
Insert an array into the groups table Returns false if insertion fails, otherwise the new GID
public
insertRecords(array<string|int, mixed> $data) : bool|int
Parameters
- $data : array<string|int, mixed>
Tags
Return values
bool|intmodel()
public
static model([mixed $className = __CLASS__ ]) : QuestionGroup
Parameters
- $className : mixed = __CLASS__
Tags
Return values
QuestionGroupprimaryKey()
public
primaryKey() : mixed
Tags
relations()
public
relations() : mixed
Tags
rules()
public
rules() : mixed
Tags
search()
public
search() : CActiveDataProvider
Return values
CActiveDataProvidersetEncryptedAttributeLabel()
Function to show encryption symbol in gridview attribute header if value ois encrypted
public
setEncryptedAttributeLabel(int $surveyId, string $className, string $attributeName) : string
Parameters
- $surveyId : int
- $className : string
- $attributeName : string
Tags
Return values
stringtableName()
public
tableName() : mixed
Tags
updateAll()
Updates records with the specified condition.
public
updateAll(array<string|int, mixed> $attributes[, mixed $condition = '' ][, array<string|int, mixed> $params = array() ]) : int
XSS filtering is enforced for attributes listed in model's $xssFilterAttributes property. See for detailed explanation about $condition and $params. Note, the attributes are not checked for safety and no validation is done.
Parameters
- $attributes : array<string|int, mixed>
-
list of attributes (name=>$value) to be updated
- $condition : mixed = ''
-
query condition or criteria.
- $params : array<string|int, mixed> = array()
-
parameters to be bound to an SQL statement.
Return values
int —the number of rows being updated
updateGroupOrder()
public
updateGroupOrder(int $iSurveyId[, int $position = 0 ]) : mixed
Parameters
- $iSurveyId : int
- $position : int = 0
beforeSave()
Make sure we don't save a new question group while the survey is active.
protected
beforeSave() : mixed
Tags
query()
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
protected
query(CDbCriteria $criteria[, bool $all = false ][, bool $asAR = true ]) : mixed
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.
Parameters
- $criteria : CDbCriteria
-
the query criteria
- $all : bool = false
-
whether to return all data
- $asAR : bool = true
Tags
Return values
mixed —the AR objects populated with the query result
getQuestionIdsInGroup()
private
static getQuestionIdsInGroup(int $groupId) : array<string|int, mixed>
Parameters
- $groupId : int