In my first article I created a simple plugin for LimeSurvey.
Now we want to add some text to the last page, when the user executes the survey.
LimeSurvey offers an event afterSurveyComplete.
All we have to to now is to subscribe to that event and implement an event handler method:
public function init()
{
$this->subscribe('afterSurveyComplete');
}
A minimal implementation looks like this.
public function afterSurveyComplete()
{
$event = $this->getEvent();
$event->getContent($this)->addContent('Hello World');
}
For further processing, the event provides 2 parameters surveyId and responseId.
public function afterSurveyComplete()
{
$event = $this->getEvent();
$surveyId = $event->get('surveyId');
$responseId = $event->get('responseId');
$response = $this->pluginManager->getAPI()->getResponse($surveyId, $responseId);
$myContent = var_export($response, true);
$event->getContent($this)->addContent($myContent);
}
That's it.
Bye!
Top comments (0)