18 require_once dirname(__FILE__).
'/../../form_question_rule/form_question_rule.inc';
43 parent::__construct($assetid);
58 1 => translate(
'core_form_rule_found_in_true'),
59 0 => translate(
'core_form_rule_found_in_false'),
78 static $printed_fn =
false;
80 $operator = array_get_index($rule_data,
'operator', 1);
81 $cq_id = array_get_index($rule_data,
'comparison_question_id', 0);
82 $value = array_get_index($rule_data,
'value',
'');
83 $case_sensitive = array_get_index($rule_data,
'case_sensitive', 1);
91 function sq_form_validate_found_in(answer, comparison, case_sensitive)
94 return comparison.indexOf(answer) != -1;
96 return comparison.toLowerCase().indexOf(answer.toLowerCase()) != -1;
104 $comparison =
'form.elements["q'.$cq_id.
'"].value';
106 $comparison =
'"'.addslashes($value).
'"';
110 if (<?php echo ($operator == 1) ?
'!' :
''; ?>sq_form_validate_found_in(form.elements[
"q<?php echo $q_asset->id; ?>"].value, <?php echo $comparison ?>, <?php echo (
int)$case_sensitive; ?>)) {
111 submission_errors[submission_errors.length] =
"<?php
112 if (empty($rule_data['custom_text'])) {
113 echo addslashes($this->defaultError($q_asset, $rule_data));
115 echo addslashes($rule_data['custom_text']);
121 $contents = ob_get_contents();
146 $operator = array_get_index($rule_data,
'operator', 1);
147 $cq_id = array_get_index($rule_data,
'comparison_question_id', 0);
148 $value = array_get_index($rule_data,
'value',
'');
149 $case_sensitive = array_get_index($rule_data,
'case_sensitive', 1);
152 $comparison = $GLOBALS[
'SQ_SYSTEM']->am->getAsset($cq_id);
153 if (!empty($answer)) {
154 if ($case_sensitive) {
155 $valid = (strpos($comparison->getValue(), $answer) !==
false) ? 1 : 0;
157 $valid = (strpos(strtolower($comparison->getValue()), strtolower($answer)) !==
false) ? 1 : 0;
161 if (!empty($answer)) {
162 if ($case_sensitive) {
163 $valid = (strpos($value, $answer) !==
false) ? 1 : 0;
165 $valid = (strpos(strtolower($value), strtolower($answer)) !==
false) ? 1 : 0;
170 return $valid == $operator;
188 $operator = array_get_index($rule_data,
'operator', 1);
189 $cq_id = array_get_index($rule_data,
'comparison_question_id', 0);
190 $value = array_get_index($rule_data,
'value',
'');
191 $case_sensitive = array_get_index($rule_data,
'case_sensitive', 1);
193 $string_code =
'core_form_rule_found_in_desc_'.($operator ?
'true' :
'false');
194 $cq_id = array_get_index($rule_data,
'comparison_question_id', 0);
197 $string_code .=
'_q';
198 $comparison = $GLOBALS[
'SQ_SYSTEM']->am->getAsset($cq_id);
199 $value = $comparison->name;
201 $value = array_get_index($rule_data,
'value',
'');
204 $error_str = translate($string_code, $q_asset->name, $value).
' '.translate(
'core_form_'.($case_sensitive ?
'' :
'not_').
'case_sensitive');