Actions

Dynamic model events

From LimeSurvey Manual

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
 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
  • surveyId 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('afterResponseSave');
        $this->subscribe('afterSurveyDynamicSave','afterResponseSave');
    }

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