Class Token
In this implementation class definitions are generated dynamically. This class and its descendants should be declared abstract!
package | Default |
---|
__construct(string $scenario = 'insert')
string
attributeLabels()
inheritdoc | |
---|---|
beforeDelete()
inheritdoc | Delete related SurveyLink if it's deleted |
---|---|
behaviors(): array
Below is a list of all behaviors we register:
see | \PluginEventBehavior\CTimestampBehavior |
---|---|
array
create(integer $id,string $scenario = 'insert'): mixed
integer
string
mixed
createTable(integer $surveyId,array $extraFields = array()): \CDbTableSchema
integer
array
\CDbTableSchema
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.
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.
generateRandomToken(integer $iTokenLength): string
integer
string
generateToken( $iTokenLength = null)
Throws |
|
---|
generateTokens(): array<mixed,integer>
Syntax: Token::model(12345)->generateTokens();
Throws |
|
---|
array<mixed,integer>
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.
getDefaultEncryptionOptions()
getDynamicId()
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
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
getSurveyId(): integer
integer
getSurveyTokenLength()
Use default if not possible.
init()
inheritdoc | |
---|---|
model( $className = null): \Dynamic
onBeforeSave( $event)
primaryKey()
inheritdoc | |
---|---|
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()
rules()
inheritdoc | |
---|---|
sanitizeAttribute(string $attribute): string
string
to sanitize
string
sanitized attribute
sanitizeToken(string $token): string
string
to sanitize
string
sanitized token
scopes()
inheritdoc | |
---|---|
setEncryptedAttributeLabel(integer $surveyId,string $className,string $attributeName): string
Throws |
|
---|
integer
string
string
string
summary(): \CDbDataReader|mixed
\CDbDataReader|mixed
tableName()
inheritdoc | |
---|---|
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
MAX_LENGTH
var | Maximum token length |
---|
DEFAULT_LENGTH
var | Default token length |
---|
dynamicId :integer
var | The dynamic part of the class name. |
---|
integer
xssFilterAttributes :array<mixed,string>
var | Array of attributes that should be XSS filtered on mass updates |
---|
array<mixed,string>
bEncryption :
tid :integer
Token ID
integer
participant_id :string
Participant ID
string
firstname :string
Participant's first name
string
lastname :string
Participant's last name
string
email :string
Participant's e-mail address
string
emailstatus :string
Participant's e-mail address status: OK/bounced/OptOut
string
token :string
Participant's token
string
language :string
Participant's language eg: en
string
blacklisted :string
Whether participant is blacklisted: (Y/N)
string
sent :string
string
remindersent :string
string
remindercount :integer
integer
completed :string
Participant completed status (N:Not completed; Q:Locked with quota; 'YYYY-MM-DD hh:mm': date of completion)
string
usesleft :integer
How many uses left to fill questionnaire for this participant
integer
validfrom :string
string
validuntil :string
string
mpid :integer
//TODO Describe me!
integer
survey :\Survey
\Survey
surveylink :\SurveyLink
\SurveyLink
responses :array<mixed,\Response>
array<mixed,\Response>
tableSchema :\CDbTableSchema
\CDbTableSchema