CMS  Version 3.9
Questionnaire Class Reference
+ Inheritance diagram for Questionnaire:
+ Collaboration diagram for Questionnaire:

Public Member Functions

 Questions ($constraint="")
 
 Answers ($constraint="")
 Retrieve all answers to the questionnaire. More...
 
 Responses ($constraint="")
 
 isEditable ()
 
 isAuthor ()
 
 allowDelete ()
 
 setDefaults ()
 Set the initial default values in the item e.g., user_id = user->user_id status = xx. More...
 
 getNotEditableHTML ()
 
 Questionnaire ()
 
- Public Member Functions inherited from AbstractQuestionnaire
 AbstractQuestionnaire ()
 
 Questions ()
 
 Answers ()
 

Public Attributes

 $fields
 
 $relations
 

Detailed Description

Definition at line 75 of file questionnaire.inc.

Member Function Documentation

◆ allowDelete()

Questionnaire::allowDelete ( )

Reimplemented from AbstractQuestionnaire.

Definition at line 141 of file questionnaire.inc.

142  {
143  if(!$this->questionnaire_id)
144  {
145  return false;
146  }
147 
148  return true;
149  }

◆ Answers()

Questionnaire::Answers (   $constraint = "")

Retrieve all answers to the questionnaire.

for results aggregation

Definition at line 98 of file questionnaire.inc.

99  {
100  $query = "WHERE response_id IN (SELECT response_id FROM questionnaire_response WHERE status = 'submitted' AND questionnaire_id=:questionnaire_id)";
101  if($constraint)
102  {
103  $query .= preg_replace("/WHERE/i", " AND", $constraint);
104  }
105 
106  return Query::create(QuestionnaireAnswer, $query)
107  ->bind(":questionnaire_id", $this->questionnaire_id)
108  ->execute();
109  }
$constraint

◆ getNotEditableHTML()

Questionnaire::getNotEditableHTML ( )

Definition at line 156 of file questionnaire.inc.

157  {
158  $className = $this->composite_class;
159  $class = new $className();
160  $text = "<i>Note:&nbsp;</i>This questionnaire is linked to one or more
161  {$class->prettifyClassName(true)}. You may edit the questions but be careful not to change their meaning.";
162  return $text;
163  }

◆ isAuthor()

Questionnaire::isAuthor ( )

Reimplemented from AbstractQuestionnaire.

Definition at line 132 of file questionnaire.inc.

133  {
134  global $user;
135 
136  if(!$user) return false;
137 
138  return true;
139  }
global $user

◆ isEditable()

Questionnaire::isEditable ( )

Reimplemented from AbstractQuestionnaire.

Definition at line 119 of file questionnaire.inc.

120  {
121  if(!$this->questionnaire_id)
122  return true;
123 
124  if(!$this->composite_class)
125  return true;
126 
127  $count = queryValue($this->composite_class, "COUNT(1)", "WHERE questionnaire_id={$this->questionnaire_id}");
128 
129  return ($count > 0) ? false : true;
130  }
return false

◆ Questionnaire()

Questionnaire::Questionnaire ( )

Definition at line 166 of file questionnaire.inc.

167  {
168  $this->table = "questionnaire";
169  $this->primary_key = "questionnaire_id";
170 
171  $this->DataItem(func_get_args());
172 
173  }

◆ Questions()

Questionnaire::Questions (   $constraint = "")

Definition at line 88 of file questionnaire.inc.

89  {
90  return $this->getRelatedList(Question, "questionnaire_id", $constraint);
91  }

◆ Responses()

Questionnaire::Responses (   $constraint = "")
Parameters
$constraint

Definition at line 114 of file questionnaire.inc.

115  {
116  return $this->getRelatedList(QuestionnaireResponse, "", $constraint);
117  }

◆ setDefaults()

Questionnaire::setDefaults ( )

Set the initial default values in the item e.g., user_id = user->user_id status = xx.

Used by questionnaire clone and can be used on the first form page.

Reimplemented from AbstractQuestionnaire.

Definition at line 151 of file questionnaire.inc.

152  {
153  // nothing to do.
154  }

Member Data Documentation

◆ $fields

Questionnaire::$fields
Initial value:
= array("questionnaire_id" => Number,
"title" => String,
"composite_class" => String
)

Definition at line 77 of file questionnaire.inc.

◆ $relations

Questionnaire::$relations
Initial value:
= array(
"Questions" => Question,
"Answers" => QuestionnaireAnswer,
)

Definition at line 82 of file questionnaire.inc.


The documentation for this class was generated from the following file: