x

Main chapters

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. LimeSurvey Cloud - Quick start guide
  3. LimeSurvey CE - Installation
  4. How to design a good survey (Guide)
  5. Getting started
  6. LimeSurvey configuration
  7. Introduction - Surveys
  8. View survey settings
  9. View survey menu
  10. View survey structure
  11. Introduction - Questions
  12. Introduction - Question Groups
  13. Introduction - Surveys - Management
  14. Survey toolbar options
  15. Multilingual survey
  16. Quick start guide - ExpressionScript
  17. Advanced features
  18. General FAQ
  19. Troubleshooting
  20. Workarounds
  21. License
  22. Version change log
  23. Plugins - Advanced
 Actions

AfterFindSurvey

From LimeSurvey Manual

 Hint: This features is available starting in version 2.63.0.


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');
        }
    }