CMS  Version 3.9
Questionnaire

Classes

class  AbstractQuestionnaireManager
 Questionnaire/Survey Implementation instructions. More...
 
class  QuestionnaireHelper
 Provides static function support for Questionnaire Manager methods that are shared among types QuestionnaireCreateManager extends AbstractQuestionnaireCreateManager QuestionnaireResponseManager extends AbstractQuestionnaireResponseManager QuestionnaireResultsManager extends AbstractQuestionnaireResultsManager. More...
 
class  Answer
 
class  AbstractQuestion
 Defines the relations and functions required of a Question class that uses Questionnaire form and results classes. More...
 
class  Question
 
class  QuestionType
 
class  AbstractQuestionnaire
 Defines the relations and functions required of a Questionnaire class that uses Questionnaire form and results classes. More...
 
class  Questionnaire
 
class  AbstractQuestionnaireAnswer
 
class  QuestionnaireAnswer
 
class  AbstractQuestionnaireResponse
 
class  QuestionnaireResponse
 
class  OptionAnswer
 
class  SpreadsheetResponse
 Dummy datamodel for building SpreadsheetView. More...
 
class  QuestionnaireManifest
 
class  QuestionTableHelper
 
class  QuizQuestionTableHelper
 
class  QuestionField
 
class  HeadingView
 
class  MultipleChoiceView
 
class  SelectFieldView
 
class  RatingView
 
class  ShortTextView
 
class  FreeTextView
 
class  CheckListView
 
class  QuestionnaireComponentManager
 Provides methods for managing the questionniare component. More...
 
class  QuestionnaireDataView
 
class  QuestionnaireForm
 
class  QuestionnairePreview
 
class  QuestionnaireResponseView
 
class  QuestionnaireGraphicalView
 Draws a graphical view of questionnaire/survey responses. More...
 
class  QuestionnaireDashboardManager
 
class  QuestionnaireCreateManager
 
class  QuestionnaireResponseManager
 
class  QuestionnaireResultsManager
 
class  QuestionnaireSpreadsheetView
 
class  QuestionnaireUpgradeManager
 
class  QuestionnaireView
 Draw a view of the questionnaire from action handler from the dashboard. More...
 
class  QuestionnaireSendView
 
class  QuizForm
 
class  QuestionnaireResultsGraph
 Draws a graph of the aggregated answers for a given question. More...
 
class  RequiredQuestionValidator
 RequiredQuestion Validator. More...
 
class  RequiredCheckListQuestionValidator
 RequiredCheckListQuestion Validator. More...
 
class  RequiredRadioButtonQuestionValidator
 RequiredRadioButtonQuestion Validator. More...
 
class  RequiredQuestionnaireMessageValidator
 If a survey allows anonymous responses, then email message is only required if the user enters a recipient, additional recipient, or cc recipient. More...
 

Functions

 QuestionTableHelper::QuestionTableHelper ()
 
 QuestionTableHelper::formatOptions ($obj)
 
 QuestionTableHelper::formatRequired ($obj)
 
static QuestionTableHelper::formatQuestionNameInputField ($question)
 
static QuestionTableHelper::formatSortOrder ($question)
 
static QuestionTableHelper::formatDelete ($question)
 From question list page, format link to delete a question. More...
 
static QuestionTableHelper::formatRemove ($xref)
 From question list page, format link to remove a question that is linked to the questionnaire item through an xref class. More...
 
 QuizQuestionTableHelper::QuizQuestionTableHelper ()
 
 QuizQuestionTableHelper::formatOptions ($obj)
 
static QuizQuestionTableHelper::formatCorrectAnswer ($question)
 

Variables

const questionnaire_sent "1"
 Optional - for surveys/questionnaires that send requests for responses via email. More...
 
const questionnaire_send_failed "2"
 
const questionnaire_opened "3"
 
const questionnaire_no_additional "4"
 
const questionnaire_reminder_sent "5"
 
const questionnaire_reminder_failed "6"
 
const questionnaire_test_sent "7"
 
const questionnaire_test_failed "8"
 

Detailed Description

Function Documentation

◆ formatCorrectAnswer()

static QuizQuestionTableHelper::formatCorrectAnswer (   $question)
static

Definition at line 207 of file question_helper.inc.

208  {
209  if(!$question->hasField("answer") || !$question->answer || !$question->options)
210  {
211  return "";
212  }
213 
214  $options = explode("\n", $question->options);
215  return $options[$question->answer-1];
216  }
$question

◆ formatDelete()

static QuestionTableHelper::formatDelete (   $question)
static

From question list page, format link to delete a question.

The js manager class var questionnaireMgr for class QuestionnaireCreateManager is instantiated through the function writeScript. This class has the value of the item id from the manager.

Parameters
obj$question- obj of class Question or similar class

Definition at line 129 of file question_helper.inc.

130  {
131  $pk = $question->getPrimaryKey();
132 
133  if($question->allowDelete())
134  {
135  $out = $question->format("<a href=\"delete_question?{$pk}={$question->$pk}\" onclick=\"questionnaireMgr.deleteQuestion({{$pk}}); return false;\">
136  <img class=\"icon\" alt=\"delete\" src=\"/fakoli/images/icon_delete_red.gif\"></a>\n");
137  }
138  else
139  {
140  $out = "";
141  }
142  return $out;
143  }
$out
Definition: page.inc:66

◆ formatOptions() [1/2]

QuestionTableHelper::formatOptions (   $obj)
Parameters
$obj- instance of a survey question xref class or question class

Reimplemented in QuizQuestionTableHelper.

Definition at line 52 of file question_helper.inc.

53  {
54  if(!$obj->hasField("question_type_id") && $obj->hasRelation(Question))
55  {
56  $question = $obj->Question();
57  if (!$question) return "";
58  }
59  else
60  {
61  $question = $obj;
62  }
63 
64  if($question->isFreeText() || $question->isShortText())
65  {
66  $text .= "Character Limit: ";
67  $text .= ($question->char_limit) ? $question->char_limit : "None";
68  $text .= "<br>";
69  }
70  else
71  {
72  $text = preg_replace("/\s+\n/", "; ", $question->options);
73  }
74 
75  if($question->isFreeText())
76  $text .= "Number of Rows: " . $question->num_rows . "<br>";
77 
78  return $text;
79  }

◆ formatOptions() [2/2]

QuizQuestionTableHelper::formatOptions (   $obj)
Parameters
$obj- instance of a survey question xref class or question class

Reimplemented from QuestionTableHelper.

Definition at line 177 of file question_helper.inc.

178  {
179  if(!$obj->hasField("question_type_id") && $obj->hasRelation(Question))
180  {
181  $question = $obj->Question();
182  if (!$question) return "";
183  }
184  else
185  {
186  $question = $obj;
187  }
188 
189  if($question->isFreeText() || $question->isShortText())
190  {
191  $text .= "Character Limit: ";
192  $text .= ($question->char_limit) ? $question->char_limit : "None";
193  $text .= "<br>";
194  }
195  else
196  {
197  $text = preg_replace("/\s+\n/", "; ", $question->options);
198  }
199 
200  if($question->isFreeText())
201  $text .= "Number of Rows: " . $question->num_rows . "<br>";
202 
203  return $text;
204  }

◆ formatQuestionNameInputField()

static QuestionTableHelper::formatQuestionNameInputField (   $question)
static

Definition at line 104 of file question_helper.inc.

105  {
106  if(!$question->question_name)
107  $question->question_name = substr($question->question, 0, 79);
108 
109  $pk = $question->getPrimaryKey();
110  return $question->format("<input type='text' name=\"question_{$question->$pk}\"
111  value=\"{question_name}\" size=\"40\"/>");
112  }

◆ formatRemove()

static QuestionTableHelper::formatRemove (   $xref)
static

From question list page, format link to remove a question that is linked to the questionnaire item through an xref class.

The js manager class var questionnaireMgr for class QuestionnaireCreateManager is instantiated through the function writeScript. This class has the value of the item id from the manager.

Parameters
obj$xref- obj of xref that links question to item e.g., SurveyQuestionXref

Definition at line 157 of file question_helper.inc.

158  {
159  $xrefPk = $xref->getPrimaryKey();
160  return $xref->format("<a href=\"#\" onclick=\"questionnaireMgr.removeQuestion({{$xrefPk}}); return false;\">
161  <img class=\"icon\" alt=\"delete\" src=\"/fakoli/images/icon_delete_red.gif\"></a>\n");
162  }

◆ formatRequired()

QuestionTableHelper::formatRequired (   $obj)
Parameters
$obj- instance of a survey question xref class or question class

Definition at line 86 of file question_helper.inc.

87  {
88  if(!$obj->hasField("question_type_id") && $obj->hasRelation(Question))
89  {
90  $question = $obj->Question();
91  if (!$question) return "";
92  }
93  else
94  {
95  $question = $obj;
96  }
97 
98  if($question->isCheckList())
99  return ($question->required > 0) ? $question->required : "No";
100  else
101  return ($question->required == 1) ? "Yes" : "No";
102  }

◆ formatSortOrder()

static QuestionTableHelper::formatSortOrder (   $question)
static

Definition at line 115 of file question_helper.inc.

116  {
117  return $question->format("<input type='text' name=\"question_{question_id}\"value=\"{question_number}\" size=\"4\"/>");
118  }

◆ QuestionTableHelper()

QuestionTableHelper::QuestionTableHelper ( )

Definition at line 43 of file question_helper.inc.

44  {
45 
46  }

◆ QuizQuestionTableHelper()

QuizQuestionTableHelper::QuizQuestionTableHelper ( )

Definition at line 168 of file question_helper.inc.

169  {
170 
171  }

Variable Documentation

◆ questionnaire_no_additional

const questionnaire_no_additional "4"

Definition at line 41 of file abstract_questionnaire_send_manager.inc.

◆ questionnaire_opened

const questionnaire_opened "3"

Definition at line 40 of file abstract_questionnaire_send_manager.inc.

◆ questionnaire_reminder_failed

const questionnaire_reminder_failed "6"

Definition at line 43 of file abstract_questionnaire_send_manager.inc.

◆ questionnaire_reminder_sent

const questionnaire_reminder_sent "5"

Definition at line 42 of file abstract_questionnaire_send_manager.inc.

◆ questionnaire_send_failed

const questionnaire_send_failed "2"

Definition at line 39 of file abstract_questionnaire_send_manager.inc.

◆ questionnaire_sent

const questionnaire_sent "1"

Optional - for surveys/questionnaires that send requests for responses via email.

NOTE: this class is not tested as it has not yet been implemented.

To use this class, response DataItem class must have the following fields: message

optional fields: include_in_results - default true - if have this field, must have function excludeResponse that sets a response object to not be included in results. user_id (but if user_id, must have relation "Author") sender_email cc_recipients - defaults to not included subject - defaults to settings email_subject additional_recipients - to send a subsequent batch

methods questionnaire/survey DataItem class should have: getNonResponders

Relations: Author

Author
janice

Definition at line 38 of file abstract_questionnaire_send_manager.inc.

◆ questionnaire_test_failed

const questionnaire_test_failed "8"

Definition at line 45 of file abstract_questionnaire_send_manager.inc.

◆ questionnaire_test_sent

const questionnaire_test_sent "7"

Definition at line 44 of file abstract_questionnaire_send_manager.inc.