Actions

Dynamic model events: Difference between revisions

From LimeSurvey Manual

m (Add {{FeatureStarting|3.5.1}})
(Add FeatureChange / only token events)
Line 1: Line 1:
{{FeatureStarting|3.5.1}}
{{FeatureChange|3.5.1}}
 
Before LimeSurvey 3.5.1 version : only token dynamic event can be used like that.


'''When'''
'''When'''

Revision as of 12:28, 11 October 2018

 Hint: This feature changed with version 3.5.1


Before LimeSurvey 3.5.1 version : only token dynamic event can be used like that.

When

Like Specific Model events.

Input

  • model : The current model as a ActiveRecord
  • dynamicId : if model extend Dynamic model ( ie Token and Response ). The related dynamic id
  • iSurveyID and iSurveyID : The survey id if model is related to a survey id ( ie Token, TokenDynamic, Response, SurveyDynamic, Timing, SurveyTimingDynamic)

Possible output

None.

Example of usage

See AuditLog

    function init()
    {
        $this->subscribe('afterTokenSave');
        $this->subscribe('afterTokenDynamicSave','afterTokenSave');
    }

public function afterTokenSave()
{   
    $surveyId = $this->getEvent()->get('surveyId');
    if (empty($surveyId)) {
        // Something strange happen
    } else {
        // Log it somewhere
        $oToken = $this->getEvent()->get('model');
        $this->log($oToken->token." updated in survey".$surveyId);
    }
}