AfterFindSurvey
From LimeSurvey Manual
When
This event is fired after loading a survey to be able to modify/override some display parameters for current display session.
If needed you can check current controller if you need only during survey taking/
Input
The event receives the following information:
Name | Type | Description |
---|---|---|
surveyId | integer | The id of the current survey |
Possible output
All model attributes (New in 3.22.29 ) can be updated, no control are done.
Before only following information can be set in the event:
Name | Type | Description |
---|---|---|
template | string | The template name to be used for display |
usecookie | string | Set cookie to prevent repeated participation: 'Y' or 'N' |
allowprev | string | Allow backward navigation: 'Y' or 'N' |
showxquestions | string | Show "There are X questions in this survey": 'Y' or 'N' |
shownoanswer | string | Show "No answer": 'Y' or 'N' |
showprogress | string | Show progress bar: 'Y' or 'N' |
questionindex | integer | Show question index / allow jumping: (0-1-2) |
usecaptcha | string | Use CAPTCHA for survey access: 'Y' or 'N' |
showgroupinfo | string | Show group name and/or group description: 'B','N','D','X' |
showqnumcode | string | Show question number and/or code: 'B','N','D','X' |
navigationdelay | integer | Navigation delay (seconds) |
Examples
public function __construct(PluginManager $manager, $id) {
parent::__construct($manager, $id);
$this->subscribe('afterFindSurvey', 'processTest');
}
public function processTest(){
$controller = App()->getController();
// Set template only during survey taking
if(!empty($controller->getId()) && $controller->getId()=="survey") {
$this->event->set('template','news_paper');
}
}