This is the model class for table "{{question_themes}}".
The following are the available columns in table '{{question_themes}}':
package | Default |
---|
attributeLabels(): array
array
customized attribute labels (name=>label)
behaviors(): array
Below is a list of all behaviors we register:
see | \PluginEventBehavior\CTimestampBehavior |
---|---|
array
convertLS3toLS5(string $sXMLDirectoryPath): array
string
array
$success Returns an array with the conversion status
decrypt( $value = '')
decryptEncryptAttributes( $action = 'decrypt')
decryptSingle(string $value = ''): string
string
String value which needs to be decrypted
string
the decrypted string
decryptSingleOld(string $value = ''): string
string
String value which needs to be decrypted
string
the decrypted string
deleteAllByAttributes(array $attributes,string $condition = '',array $params = array()): integer
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. |
---|
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.
string
query condition or criteria.
array
parameters to be bound to an SQL statement.
integer
number of rows affected by the execution.
dispatchPluginModelEvent(string $sEventName,\CDbCriteria $criteria = null,array $eventParams = []): \PluginEvent
string
\CDbCriteria
array
\PluginEvent
encrypt()
encryptAttributeValues(array $attributes = null, $bEncryptedOnly = false, $bReplaceValues = true): array
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.
array
attributes array with encrypted atrribute values is returned
encryptSave( $runValidation = false)
encryptSingle(string $value = '')
string
String value which needs to be encrypted
findAllAsArray(mixed $condition = '',array $params = array()): array
See \find() for detailed explanation about $condition and $params.
mixed
query condition or criteria.
array
parameters to be bound to an SQL statement.
array
list of active records satisfying the specified condition. An empty array is returned if none is found.
findAllByAttributes(array $attributes,mixed $condition = '',array $params = array()): array<mixed,static>
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.
mixed
query condition or criteria.
array
parameters to be bound to an SQL statement.
array<mixed,static>
the records found. An empty array is returned if none is found.
findAllQuestionMetaDataForSelector(): array<mixed,\QuestionTheme>
findByAttributes(array $attributes,mixed $condition = '',array $params = array()): static|null
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.
mixed
query condition or criteria.
array
parameters to be bound to an SQL statement.
static|null
the record found. Null if none is found.
findQuestionMetaData(string $question_type,string $question_theme_name = null,string $language = ''): \QuestionTheme
string
string
string
\QuestionTheme
findQuestionMetaDataForAllTypes(): \array<string,
\arrayQuestionTheme>
getAdditionalAttrFromExtendedTheme(string $sQuestionThemeName,string $type): array
If there are no attributes, an empty array is returned
string
the question theme name (see table question theme "name")
string
the extended typ (see table question_themes "extends")
array
additional attributes for an extended theme or empty array
getAllEncryptedAttributes(integer $iSurveyId,string $sClassName): array
integer
string
array
TODO: Should be split into seperate functions in the appropiate model or helper class TODO: Make an interface for records that support encryption.
getAllQuestionMetaData(boolean $core = true,boolean $custom = true,boolean $user = true): array
todo | Move to service class |
---|
boolean
boolean
boolean
array
getAllQuestionXMLPaths(boolean $core = true,boolean $custom = true,boolean $user = true): array
boolean
boolean
boolean
array
getAnswerColumnDefinition(string $name,string $type): string
string
string
string
mixed
getAvailableQuestionThemes(): array
Throws |
|
---|
array
getBaseThemeNameForQuestionType(string $questionType): string|null
string
string|null
question theme name or null if no question theme is found
getDecodedSettings(): mixed
mixed
getDummyInstance(string $questionType): \QuestionTheme
getManifestButtons()
getMaxId(string $field = null,boolean $forceRefresh = false): false|integer
This is a convenience method, that uses the primary key of the model to retrieve the highest value.
Throws |
|
---|
string
The field that contains the Id, when null primary key is used if it is a single field
boolean
Don't use value from static cache but always requery the database
false|integer
getMetaDataArray(array $questionMetaData): array
todo | Naming is wrong, it does not "get", it "convertTo" Possibly make a DTO for question metadata instead, and implement the ArrayAccess interface or "toArray()" |
---|
array
array
$questionMetaData
getMinId(string $field = null,boolean $forceRefresh = false): false|integer
This is a convenience method, that uses the primary key of the model to retrieve the highest value.
Throws |
|
---|
string
The field that contains the Id, when null primary key is used if it is a single field
boolean
Don't use value from static cache but always requery the database
false|integer
getQuestionMetaData(string $pathToXmlFolder): array
todo | Replace assoc array with DTO |
---|---|
Throws |
|
string
array
Question Meta Data
getQuestionThemeAttributeValues(string $type,string $sQuestionThemeName = null): array
Throws |
|
---|
string
question type (this is the attribute 'question_type' in table question_theme)
string
: question theme name
array
: the attribute settings for this question type
getQuestionThemeDirectories(): array
array
getQuestionThemeImageName( $sType = null): string
: type of question
string
: question theme preview URL
getQuestionXMLPathForBaseType(string $type): string
Throws |
|
---|
string
string
Path to config XML
getThemeDirectoryPath( $sQuestionConfigFilePath)
getVisibilityButton(): string|array
string|array
importManifest(string $sXMLDirectoryPath,boolean $bSkipConversion = false, $bThrowConversionException = false): boolean|string
todo | Please never redirect at this level, only from controllers. |
---|---|
Throws |
|
string
the relative path to the Question Theme XML directory
boolean
If converting should be skipped
If true, throws exception instead of redirecting
boolean|string
model(string $className = __CLASS__): static
Please note that you should have this exact method in all your CActiveRecord descendants!
string
active record class name.
static
primaryKey(): string
access | public |
---|---|
string
query(\CDbCriteria $criteria,boolean $all = false,boolean $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.
since | 1.1.7 |
---|
\CDbCriteria
the query criteria
boolean
whether to return all data
boolean
mixed
the AR objects populated with the query result
relations(): array
array
relational rules.
rules(): array
array
validation rules for model attributes.
scopes()
inheritdoc | |
---|---|
search(): \CActiveDataProvider
Typical usecase:
\CActiveDataProvider
the data provider that can return the models based on the search/filter conditions.
setEncryptedAttributeLabel(integer $surveyId,string $className,string $attributeName): string
Throws |
|
---|
integer
string
string
string
tableName(): string
string
the associated database table name
uninstall(\QuestionTheme $oQuestionTheme): array|false
todo | move actions to its controller and split between controller and model, related search for: 1573123789741 Move to QuestionThemeInstaller |
---|
\QuestionTheme
array|false
updateAll(array $attributes,mixed $condition = '',array $params = array()): integer
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.
array
list of attributes (name=>$value) to be updated
mixed
query condition or criteria.
array
parameters to be bound to an SQL statement.
integer
the number of rows being updated
xssFilterAttributes :array<mixed,string>
var | Array of attributes that should be XSS filtered on mass updates |
---|
array<mixed,string>
bEncryption :
id :integer
integer
name :string
string
visible :string
string
xml_path :string
string
image_path :string
string
title :string
string
creation_date :string
string
copyright :string
string
license :string
string
version :string
string
api_version :string
string
description :string
string
last_update :string
string
owner_id :integer
integer
theme_type :string
string
question_type :string
string
core_theme :integer
integer
extends :string
string
group :string
string
settings :string
string