Stud.IP
6.0
|
Public Member Functions | |
beforeStoringQuestiondata ($questiondata) | |
getDisplayTemplate () | |
createAnswer () | |
getUserIdsOfFilteredAnswer ($answer_option) | |
getResultTemplate ($only_user_ids=null) | |
getResultArray () | |
onEnding () | |
Static Public Member Functions | |
static | getIcon (bool $active=false) |
static | getIconShape () |
static | getName () |
static | getEditingComponent () |
Interface QuestionType This is a question-object with a specific type. Note that an object of class QuestionType is also always derived from SORM class 'QuestionnairQuestion'. So additionally to all methods here, the QuestionType object also knows about the data-attribute from QuestionnaireQuestion and what the Questionnaire-object is by calling $this->questionnaire.
beforeStoringQuestiondata | ( | $questiondata | ) |
Usually the $questiondata is already in the correct format. But for some question types some data have to be manipulated by for example the HTML-purifier. So this takes the questiondata and changed them before they get stored.
$questiondata |
Implemented in Freetext, QuestionnaireAutomatedData, LikertScale, QuestionnaireInfo, Vote, and RangeScale.
createAnswer | ( | ) |
Uses current user and Request-variables to create an answer for the question. Return this answer. It does not necessarily be stored to the database!
Implemented in Freetext, QuestionnaireAutomatedData, LikertScale, RangeScale, Vote, and QuestionnaireInfo.
getDisplayTemplate | ( | ) |
Display the question to the user. This template will be embedded into a html <form>-tag. Maybe more questions will appear in that form and maybe more questions of the same type. This is important to know, so that you prefix all the input-fields.
Wrong: <input type="checkbox" name="anser_a" value="1" <?= Request::get("anser_a") ? " checked" : "" ?>">
Right: <input type="checkbox" name="answer[<?= $this->getId() ?>][a]" value="1" <?= Request::getArray("answer")[$this->getId()]['a'] ? " checked" : "" ?>">
Try to prefix all your input variables at least with the id of the question, so that they will never conflict with other variables.
Implemented in Freetext, QuestionnaireAutomatedData, LikertScale, RangeScale, Vote, and QuestionnaireInfo.
|
static |
Returns an array with two parts: First one is the name of the component for editing the question. Second one is the import path of the component. Plugins can use this to get their component imported.
Implemented in Freetext, RangeScale, LikertScale, QuestionnaireAutomatedData, QuestionnaireInfo, and Vote.
|
static |
Returns a specific icon for this type of question. Note this is not bound to the object but called staticly.
Implemented in Freetext, QuestionnaireAutomatedData, LikertScale, QuestionnaireInfo, RangeScale, and Vote.
|
static |
Returns the shape of the icon that is used in vue.
Implemented in Freetext, LikertScale, QuestionnaireAutomatedData, QuestionnaireInfo, RangeScale, and Vote.
|
static |
Returns the name of the type of question like "Frage" or "Test" or "Dateiablage" This name is not showed to the participant of the questionnaire, but to the editor. It might get displayed like "add another Frage to questionnaire", where 'Frage' is the name of the type.
Implemented in Freetext, LikertScale, QuestionnaireAutomatedData, QuestionnaireInfo, RangeScale, and Vote.
getResultArray | ( | ) |
This method is called to generate a csv-export from a whole questionnaire. The returned array looks like this: array( 'Answer 1' => array('e7a0a84b161f3e8c09b4a0a2e8a58147' => "1", '7e81ec247c151c02ffd479511e24cc03' => "0"), 'Answer 2' => array('e7a0a84b161f3e8c09b4a0a2e8a58147' => "1", '7e81ec247c151c02ffd479511e24cc03' => "1") ) This is a two-dimensional array. The first array provides a set of answers. The values of this array are themselves arrays with the user_ids as indexes and the user's answers as the values. With this construction you can evaluate single-choice tests as well as multiple-choice tests.
Implemented in QuestionnaireAutomatedData, Freetext, Vote, RangeScale, LikertScale, and QuestionnaireInfo.
getResultTemplate | ( | $only_user_ids = null | ) |
Returns a template with the results of this question.
$only_user_ids | : array array of user_ids that the results should be restricted to. this is used to show only a subset of results to the user for visible evaluation of the results. If the questionnaire is anonymous just do nothing. |
Implemented in QuestionnaireAutomatedData, Freetext, and QuestionnaireInfo.
getUserIdsOfFilteredAnswer | ( | $answer_option | ) |
In the evaluation of the questionnaire you can click on a certain answer and get the evaluation filtered by the the people that have given that answer. This method asks from the question, what user_ids have given the answer_option. Answer option could be anything that this question understands as an answer.
$answer_option |
Implemented in QuestionnaireAutomatedData, Freetext, Vote, RangeScale, LikertScale, and QuestionnaireInfo.
onEnding | ( | ) |