Dynamic model events: Difference between revisions
From LimeSurvey Manual
DenisChenu (talk | contribs) (Add FeatureChange / only token events) |
DenisChenu (talk | contribs) m (Replace Token by Response since deleting token via GRID didn't launch this event) |
||
Line 11: | Line 11: | ||
*''model'' : The current model as a [https://www.yiiframework.com/doc/api/1.1/CActiveRecord ActiveRecord] | *''model'' : The current model as a [https://www.yiiframework.com/doc/api/1.1/CActiveRecord ActiveRecord] | ||
*''dynamicId'' : if model extend Dynamic model ( ie Token and Response ). The related dynamic id | *''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''' | '''Possible output''' | ||
Line 29: | Line 29: | ||
} | } | ||
public function | public function afterResponseSave() | ||
{ | { | ||
$surveyId = $this->getEvent()->get('surveyId'); | $surveyId = $this->getEvent()->get('surveyId'); | ||
Line 36: | Line 36: | ||
} else { | } else { | ||
// Log it somewhere | // Log it somewhere | ||
$ | $oResponse = $this->getEvent()->get('model'); | ||
$this->log($ | $this->log($oResponse->id." updated in survey".$surveyId); | ||
} | } | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 09:17, 15 November 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
- 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('afterTokenSave');
$this->subscribe('afterTokenDynamicSave','afterTokenSave');
}
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);
}
}