TFAUser

Extends\User

Abstracted user model for TFA admin view.

Incorporating an alternative seach method.

inheritDoc
package

Default

Methods

attributeLabels

attributeLabels()
inherited

Lists the behaviors of this model

behaviors(): array
inherited

Below is a list of all behaviors we register:

see \PluginEventBehavior\CTimestampBehavior

Response

array

Returns true if logged in user with id $loginId can edit this user

canEdit(integer $loginId): boolean
inherited

Arguments

$loginId

integer

Response

boolean

Check if password is OK for current \User

checkPassword(string $sPassword): boolean
inherited

Arguments

$sPassword

string

The clear password

Response

boolean

checkPasswordStrength

checkPasswordStrength( $password)
inherited
todo

document me

Arguments

$password

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.

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

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.

Finds user by username

findByUsername(string $sUserName): \User
inheritedstatic

Arguments

$sUserName

string

Response

\User

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.

Return the related descriptive UserKey value for this auth type

getAuthTypeDescription(): string

Response

string

Gets the buttons for the GridView

getButtons(): string
inherited

Response

string

TODO: this seems to not be used anymore - see getManagementButtons()

getColumns

getColumns(): array
inheritDoc

Response

array

getColums

getColums(): array
inherited

Response

array

Returns User ID common in Survey_Permissions and User_in_groups

getCommonUID( $surveyid, $postusergroupid): \CDbDataReader
inherited

Arguments

$surveyid

$postusergroupid

Response

\CDbDataReader

getDateFormat

getDateFormat(): string
inherited

Response

string

Get the decription to be used in list

getDisplayName(): \$string
inherited

Response

\$string

getFormattedDateCreated

getFormattedDateCreated()
inherited
todo

Not used?

getGroupList

getGroupList()
inherited
todo

document me

Returns a check value of if the user has a bound 2FA secret key

getHasAuthSet(): boolean

Response

boolean

Returns the last login formatted for displaying.

getLastloginFormatted(): string
inherited

Response

string

Gets the buttons for the GridView

getManagementButtons(): string
inherited

Response

string

getManagementCheckbox

getManagementCheckbox()
inherited

getManagementColums

getManagementColums(): array
inherited

Response

array

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

getParentUserName

getParentUserName()
inherited

getPasswordHelpText

getPasswordHelpText()
inherited
todo

document me

getRoleList

getRoleList()
inherited

Return all super admins in the system

getSuperAdmins(): array<mixed,\User>
inherited

Response

array<mixed,\User>

getSurveysCreated

getSurveysCreated(): string
inherited

Response

string

Adds user record

insertRecords(array $data): string
inherited
access

public

deprecated

: just don't use it

Arguments

$data

array

Response

string

Creates new user

insertUser(string $new_user,string $new_pass,string $new_full_name,integer $parent_user,string $new_email,string|null $expires = null): integer|boolean
inheritedstatic
access

public

Arguments

$new_user

string

$new_pass

string

$new_full_name

string

$parent_user

integer

$new_email

string

$expires

string|null

Response

integer|boolean

User ID if success

Returns true if the user has expired.

isExpired(): boolean
inherited

Response

boolean

model

model( $className = __CLASS__): \User
inheritedstatic
inheritdoc

Arguments

$className

Response

\User

primaryKey

primaryKey()
inherited
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()
inherited
inheritdoc

rules

rules()
inherited
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

Set user password with hash

setPassword(string $sPassword, $save = false): \User
inherited

Arguments

$sPassword

string

The clear text password

$save

Response

\User

Creates the validation key expiration date and save it in db

setValidationExpiration(): boolean
inherited
Throws
\Exception

Response

boolean

true if datetime could be saved, false otherwise

Creates a validation key and saves it in table user for this user.

setValidationKey(): boolean
inherited

Response

boolean

true if validation_key could be saved in db, false otherwise

tableName

tableName()
inherited
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

Updates user password hash

updatePassword(integer $iUserID,string $sPassword): integer
inheritedstatic

Arguments

$iUserID

integer

The User ID

$sPassword

string

The clear text password

Response

integer

number of rows updated

Checks if -- password strength -- oldpassword is correct -- oldpassword and newpassword are identical -- newpassword and repeatpassword are identical -- newpassword is not empty

validateNewPassword( $newPassword, $oldPassword, $repeatPassword): string
inherited

Arguments

$newPassword

$oldPassword

$repeatPassword

Response

string

empty string means everything is ok, otherwise error message is returned

Constants

MAX_EXPIRATION_TIME_IN_HOURS

MAX_EXPIRATION_TIME_IN_HOURS
inherited
var

maximum time the validation_key is valid

MAX_EXPIRATION_TIME_IN_DAYS

MAX_EXPIRATION_TIME_IN_DAYS
inherited
var

maximum days the validation key is valid

MAX_VALIDATION_KEY_LENGTH

MAX_VALIDATION_KEY_LENGTH
inherited
var

maximum length for the validation_key

Properties

Default value for user language

lang :string
inherited
var

Default value for user language

Type(s)

string

searched_value

searched_value :
inherited

Type(s)

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)

uid

uid :integer
inherited

User ID - primary key

Type(s)

integer

users_name

users_name :string
inherited

Users username

Type(s)

string

password

password :string
inherited

User's password hash

Type(s)

string

full_name

full_name :string
inherited

User's full name

Type(s)

string

parent_id

parent_id :integer
inherited

Type(s)

integer

lang

lang :string
inherited

User's preferred language: (auto: automatic | languagecodes eg 'en')

Type(s)

string

email

email :string
inherited

User's e-mail address

Type(s)

string

htmleditormode

htmleditormode :string
inherited

User's prefferred HTML editor mode:(default|inline|popup|none)

Type(s)

string

templateeditormode

templateeditormode :string
inherited

User's prefferred template editor mode:(default|full|none)

Type(s)

string

questionselectormode

questionselectormode :string
inherited

User's prefferred Question type selector:(default|full|none)

Type(s)

string

one_time_pw

one_time_pw :string
inherited

User's one-time-password hash

Type(s)

string

dateformat

dateformat :integer
inherited

Date format type 1-12

Type(s)

integer

created

created :string
inherited

Time created Time user was created as 'YYYY-MM-DD hh:mm:ss'

Type(s)

string

modified

modified :string
inherited

Time modified Time created Time user was modified as 'YYYY-MM-DD hh:mm:ss'

Type(s)

string

validation_key

validation_key :string
inherited

used for email link to reset or create a password for a survey participant Link is send when user is created or password has been reset

Type(s)

string

validation_key_expiration

validation_key_expiration :string
inherited

datetime when the validation key expires

Type(s)

string

last_forgot_email_password

last_forgot_email_password :string
inherited

datetime when user send email for forgot pw the last time (prevent bot)

Type(s)

string

permissions

permissions :array<mixed,\Permission>
inherited

Type(s)

array<mixed,\Permission>

parentUser

parentUser :\User
inherited

Parent user

Type(s)

\User

parentUserName

parentUserName :string
inherited

Parent user's name

Type(s)

string

roles

roles :array<mixed,\Permissiontemplates>
inherited

Type(s)

array<mixed,\Permissiontemplates>

groups

groups :array<mixed,\UserGroup>
inherited

Type(s)

array<mixed,\UserGroup>