Notification

Extends \LSActiveRecord

This is the model class for table "{{notifications}}".

The followings are the available columns in table '{{notifications}}':

Methods

See example usage at manual page: https://manual.limesurvey.org/Notifications#Examples

__construct($options = null) 

Arguments

$options

Some shortcuts for easier use

checkShortcuts($options) 

Arguments

$options

Check so all mandatory fields are defined when constructing a new notification.

checkMandatoryFields(array $options, string[] $mandatory) : void
throws

Arguments

$options

array

$mandatory

string[]

tableName

tableName() : string

Response

string

the associated database table name

primaryKey

primaryKey() 

rules

rules() : array

Response

array

validation rules for model attributes.

relations

relations() : array

Response

array

relational rules.

attributeLabels

attributeLabels() : array

Response

array

customized attribute labels (name=>label)

Returns a URL to the Ajax action in notification controller Used when user clicks on a notification link

getAjaxUrl() : string

Response

string

Url that is used to mark that user read the message

getReadUrl() : string

Response

string

Mark notification as read NOW()

markAsRead() : boolean

Response

boolean

Result of update

Url to fetch the complete notification menu widget

getUpdateUrl(int|null $surveyId = null) : string
static

Arguments

$surveyId

int|null

Response

string

Returns the static model of the specified AR class.

model(string $className = __CLASS__) : \Notifications
static

Please note that you should have this exact method in all your CActiveRecord descendants!

Arguments

$className

string

active record class name.

Response

\Notifications

the static model class

Get latest notifications to show in the menu

getNotifications(int|null $surveyId) : \Notification[]
static

Arguments

$surveyId

int|null

Response

\Notification[]

Get notifications of importance HIGH_IMPORTANCE

getImportantNotifications(int|null $surveyId) : \Notification[]
static

Arguments

$surveyId

int|null

Response

\Notification[]

Count how many notifications we have

countNotifications(int|null $surveyId) : int
static

Arguments

$surveyId

int|null

Response

int

Returns number of notifications with status 'new'

countNewNotifications(int|null $surveyId) : int
static

Arguments

$surveyId

int|null

Response

int

Count important notifications

countImportantNotifications(int|null $surveyId) : int
static

Arguments

$surveyId

int|null

Response

int

Criteria to fetch all notifications for this survey and this user

getCriteria(int|null $surveyId = null) : \CDbCriteria
static

Arguments

$surveyId

int|null

Response

\CDbCriteria

Broadcast a message to all users See example usage at manual page: https://manual.limesurvey.org/Notifications#Examples

broadcast(array $options, array $users = null) 
static

Arguments

$options

array

$users

array

Lists the behaviors of this model

behaviors() : array
inherited

Below is a list of all behaviors we register:

see \CTimestampBehavior \PluginEventBehavior

Response

array

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, $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

Response

mixed

the AR objects populated with the query result

Finds all active records satisfying the specified condition but returns them as array

findAllAsArray(mixed $condition = '', array $params = array()) : array
inherited

See {@link 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.

Return the max value for a field

getMaxId(string $field = null, boolean $forceRefresh = false) : false|int
inherited

This is a convenience method, that uses the primary key of the model to retrieve the highest value.

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|int

Return the min value for a field

getMinId(string $field = null, boolean $forceRefresh = false) : false|int
inherited

This is a convenience method, that uses the primary key of the model to retrieve the highest value.

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|int

deleteAllByAttributes

deleteAllByAttributes(array $attributes, mixed $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

mixed

query condition or criteria.

$params

array

parameters to be bound to an SQL statement.

Response

integer

number of rows affected by the execution.

Constants

NORMAL_IMPORTANCE

NORMAL_IMPORTANCE

BELL_IMPORTANCE

BELL_IMPORTANCE

HIGH_IMPORTANCE

HIGH_IMPORTANCE

Properties

id

id : integer

Type(s)

integer

entity

entity : string

survey or user

Type(s)

string

entity_id

entity_id : string

survey id or user id

Type(s)

string

title

title : string

Type(s)

string

message

message : string

Type(s)

string

importance

importance : integer

1 or 3. 3 will show popup on page load, 2 is reserved for future bell animation.

Type(s)

integer

display_class

display_class : string

warning, danger, success

Type(s)

string

status

status : string

new, read

Type(s)

string

created

created : \DateTime

When the notification was created

Type(s)

\DateTime

first_read

first_read : \DateTime

When the notification was read

Type(s)

\DateTime