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

AfterSurveyQuestionAssessment

From LimeSurvey Manual

 Hint: This features is available starting in version 2.63.0


NB: Version 2.60.0 is not the same version as 2.6. 2.6 is the new name for 2.06.


When

This event is fired after the assessement value for a question has been calculated.


Input

The event receives the following information:

Name Type Description
surveyId int surveyId for the assessed survey.
lang str language currently being used.
gid int the id of the current group.
qid int the id of the current question.
sqid int the id of the current subquestion (if any).
aid string answer Id (sqga).
assessmentValue int assessment value calculated by default (if any).
response int or string response given by participant


Possible output

The following information can be set in the event:

Name Type Description
assessmentValue int The new assessment value, overriding the default one


Example One of the use cases could be on open text questions where it could be assessed if a response matches a specific "answer".

public function afterSurveyQuestionAssessment()
{   
        // Get Event
        $event = $this->event;

        // Fetch Parameters
        $surveyId = $event->get('surveyId');
        $lang = $event->get('lang');
        $qid = $event->get('qid');
        $response = $event->get('response');

        if ( strtolower($response) == 'limesurvey')
        {
                $event->set('assessmentValue', 2);
        }        
}