Class Permission
package | Default |
---|
behaviors(): array
Below is a list of all behaviors we register:
see | \PluginEventBehavior\CTimestampBehavior |
---|---|
array
comparePermissionTitle(array $aApermission,array $aBpermission): integer
array
The first permission information
array
The second permission information
integer
copySurveyPermissions(integer $iSurveyIDSource,integer $iSurveyIDTarget)
integer
integer
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
editThemePermissionsUser( $userId, $aTemplatePermissions): array
integer -- this user themepermission values should be updated
array -- permissions to be set
array
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.
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.
getEntity(string $sEntityName,integer $iEntityID): Object
string
integer
Object
getEntityBasePermissions(string $sEntityName): array
string
must be an existing object child of LSActiveRecord
array
of permission : each permission with array of available crud
getEntityMinimalPermissionRead(string $sEntityName): null|string
string
must be an existing object child of LSActiveRecord
null|string
getEntityOwnerId(integer $iEntityID,string $sEntityName): integer|null
integer
the entity id
string
string name (model)
integer|null
user id if exist
getGlobalBasePermissions(): array
array
of array of permission
getGlobalPermissionData(string $key = null): array
todo | Use data value object instead of array. |
---|
string
the specific permission
array
of crud if $key is set, array of permissio array by crud …
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
getPermissionGradeList(): array
array
crud=>translation
getPermissionList(): array
array
getPermissions(integer $iUserID,integer $iEntityID = null,string $sEntityName = null): array
integer
integer
string
array
getSurveyBasePermissions(): array
see | self::getEntityBasePermissions |
---|---|
array
getUserId(integer|null $iUserID = null): integer
Throws |
|
---|
integer|null
optional user id
integer
user id
getUserRole(integer $iUserID): integer
Throws |
|
---|
integer
user id
integer
roleId
giveAllSurveyPermissions(integer $iUserID,integer $iSurveyID)
see | \mantis16967: https://bugs.limesurvey.org/view.php?id=16967 |
---|---|
integer
integer
hasGlobalPermission(string $sPermission, $sCRUD = 'read', $iUserID = null): boolean
string
string Name of the permission - see function getGlobalPermissions
string The permission detailsyou want to check on: 'create','read','update','delete','import' or 'export'
integer User ID - if not given the one of the current user is used
boolean
True if user has the permission
hasPermission( $iEntityID,string $sEntityName, $sPermission, $sCRUD = 'read', $iUserID = null): boolean
integer The entity ID
string
string The entity name
string Name of the permission
string The permission detail you want to check on: 'create','read','update','delete','import' or 'export'
integer User ID - if empty : use the current user
boolean
True if user has the permission
hasSurveyPermission( $iSurveyID, $sPermission, $sCRUD = 'read', $iUserID = null): boolean
integer The survey ID
string Name of the permission
string The permission detail you want to check on: 'create','read','update','delete','import' or 'export'
integer User ID - if not given the one of the current user is used
boolean
True if user has the permission
hasTemplatePermission(string $sTemplateName, $sCRUD = 'read',integer $iUserID = null): boolean
string
string The permission detailsyou want to check on: 'create','read','update','delete','import' or 'export'
integer
integer User ID - if not given the one of the current user is used
boolean
True if user has the permission
insertRecords(array $data)
deprecated | at 2018-01-29 use $model->attributes = $data && $model->save() |
---|---|
array
insertSomeRecords(array $data): boolean
array
boolean
isForcedSuperAdmin( $iUserID): boolean
var | |
---|---|
boolean
model( $className = __CLASS__): \Permission
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()
inheritdoc | |
---|---|
roleHasPermission( $iRoleId,string $sPermission,string $sCRUD = 'read'): boolean
string
string
The permission detailsyou want to check on: 'create','read','update','delete','import' or 'export'
boolean
allowed permssion
rules(): array
array
validation rules for model attributes.
setEncryptedAttributeLabel(integer $surveyId,string $className,string $attributeName): string
Throws |
|
---|
integer
string
string
string
setGlobalPermission(integer $iNewUID,string $sPermType,array<mixed,string> $aPermissions = array('read_p'))
integer
string
array<mixed,string>
setMinimalEntityPermission(integer $iUserID,mixed $iEntityID,string $sEntityName): null|\self::model()
integer
the user id
mixed
the entity id
string
the entity name (Object)
null|\self::model()
setPermissions(mixed $iUserID,mixed $iEntityID,string $sEntityName,mixed $aPermissions,boolean $bBypassCheck = false): null|boolean
A permission may be invalid if the permission does not exist or that particular user may not give that permission
deprecated | : usage only for global Permission currently |
---|---|
Throws |
|
mixed
mixed
string
mixed
boolean
: by pass control of current permission for current user only for global permission
null|boolean
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
aGlobalBasePermissions :
xssFilterAttributes :array<mixed,string>
var | Array of attributes that should be XSS filtered on mass updates |
---|
array<mixed,string>
bEncryption :
id :integer
integer
entity :string
string
entity_id :integer
integer
uid :integer
integer
create_p :integer
integer
read_p :integer
integer
update_p :integer
integer
delete_p :integer
integer
import_p :integer
integer
export_p :integer
integer