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)