18 import (
'lib.pkp.classes.reviewForm.ReviewFormElement');
28 function getById($reviewFormElementId, $reviewFormId =
null) {
29 $params = array((
int) $reviewFormElementId);
31 $params[] = (int) $reviewFormId;
35 FROM review_form_elements
36 WHERE review_form_element_id = ?
37 ' . ($reviewFormId?
' AND review_form_id = ?':
''),
42 if ($result->RecordCount() != 0) {
43 $returner = $this->
_fromRow($result->GetRowAssoc(
false));
65 $reviewFormElement->setId($row[
'review_form_element_id']);
66 $reviewFormElement->setReviewFormId($row[
'review_form_id']);
67 $reviewFormElement->setSequence($row[
'seq']);
68 $reviewFormElement->setElementType($row[
'element_type']);
69 $reviewFormElement->setRequired($row[
'required']);
70 $reviewFormElement->setIncluded($row[
'included']);
72 $this->
getDataObjectSettings(
'review_form_element_settings',
'review_form_element_id', $row[
'review_form_element_id'], $reviewFormElement);
74 HookRegistry::call(
'ReviewFormElementDAO::_fromRow', array(&$reviewFormElement, &$row));
76 return $reviewFormElement;
84 return array(
'question',
'description',
'possibleResponses');
93 'review_form_element_id' => (
int) $reviewFormElement->getId()
104 'INSERT INTO review_form_elements
105 (review_form_id, seq, element_type, required, included)
109 (
int) $reviewFormElement->getReviewFormId(),
110 $reviewFormElement->getSequence() ==
null ? 0 : (
float) $reviewFormElement->getSequence(),
111 (
int) $reviewFormElement->getElementType(),
112 (
int) $reviewFormElement->getRequired(),
113 (
int) $reviewFormElement->getIncluded(),
119 return $reviewFormElement->getId();
127 $returner = $this->
update(
128 'UPDATE review_form_elements
129 SET review_form_id = ?,
134 WHERE review_form_element_id = ?',
136 (
int) $reviewFormElement->getReviewFormId(),
137 (
float) $reviewFormElement->getSequence(),
138 (
int) $reviewFormElement->getElementType(),
139 (
int) $reviewFormElement->getRequired(),
140 (
int) $reviewFormElement->getIncluded(),
141 (
int) $reviewFormElement->getId()
153 return $this->
deleteById($reviewFormElement->getId());
162 $reviewFormResponseDao->deleteByReviewFormElementId($reviewFormElementId);
164 $this->
update(
'DELETE FROM review_form_element_settings WHERE review_form_element_id = ?', (
int) $reviewFormElementId);
165 return $this->
update(
'DELETE FROM review_form_elements WHERE review_form_element_id = ?', (
int) $reviewFormElementId);
175 while ($reviewFormElement = $reviewFormElements->next()) {
176 $this->
deleteById($reviewFormElement->getId());
187 $params = array((
int) $reviewFormElementId, $name);
188 if ($locale) $params[] = $locale;
191 'DELETE FROM review_form_element_settings
192 WHERE review_form_element_id = ? AND setting_name = ?
193 ' . ($locale?
' AND locale = ?':
''),
208 FROM review_form_elements
209 WHERE review_form_id = ?
210 ' . ($included ===
true?
' AND included = 1':
'') .
'
211 ' . ($included ===
false?
' AND included = 0':
'') .
'
213 (
int) $reviewFormId, $rangeInfo
226 'SELECT review_form_element_id FROM review_form_elements WHERE review_form_id = ? AND required = 1 ORDER BY seq',
230 $requiredReviewFormElementIds = array();
231 while (!$result->EOF) {
232 $requiredReviewFormElementIds[] = $result->fields[0];
237 return $requiredReviewFormElementIds;
247 $params = array((
int) $reviewFormElementId);
248 if ($reviewFormId) $params[] = (int) $reviewFormId;
252 FROM review_form_elements
253 WHERE review_form_element_id = ?
254 ' . ($reviewFormId?
' AND review_form_id = ?':
''),
258 $returner = isset($result->fields[0]) && $result->fields[0] == 1 ? true :
false;
270 'SELECT review_form_element_id FROM review_form_elements WHERE review_form_id = ? ORDER BY seq',
274 for ($i=1; !$result->EOF; $i++) {
275 list($reviewFormElementId) = $result->fields;
277 'UPDATE review_form_elements SET seq = ? WHERE review_form_element_id = ?',
294 return $this->
_getInsertId(
'review_form_elements',
'review_form_element_id');