*/
	$empty_result = db_query("SELECT * FROM redcap_data WHERE project_id = '$project_id' AND field_name = '{$_POST['field_name']}' ORDER BY abs(record) ASC");
	if ($empty_result) {
		while ($empty_row = db_fetch_assoc($empty_result)) {
			$history = Form::getDataHistoryLog($empty_row['record'], $empty_row['event_id'], $empty_row['field_name']);
			$all_fields_hidden = $my_branching_logic->allFieldsHidden($empty_row['record'], $empty_row['event_id'], array($empty_row['field_name']));
			if ($debug) {
				/**
				 * pick apart the hidden field logic - something's not right with fib_lbtest logic. ?'null'?
				 */
				$fieldsDependent = getDependentFields(array($empty_row['field_name']), false, true);
				$unique_event_name = $project->getUniqueEventNames($empty_row['event_id']);
				$record_data = Records::getSingleRecordData($empty_row['record'], array_merge($fieldsDependent, array($empty_row['field_name'])));
				$logic = $project->metadata[$empty_row['field_name']]['branching_logic'];
				if ($longitudinal) {
					$logic = LogicTester::logicPrependEventName($logic, $unique_event_name);
				}
				if (LogicTester::isValid($logic)) {
					$displayField = LogicTester::apply($logic, $record_data);
					$displayField = $displayField ? false : true;
				}
				show_var($fieldsDependent, 'DEP FIELDS');
				show_var($unique_event_name, 'unique event name');
				show_var($record_data, 'record data');
				show_var($logic, 'logic');
				show_var($displayField, 'all hidden?');
			}
			/**
			 * if all values are hidden for this field, delete the row.
			 */
			if ($all_fields_hidden) {
Example #2
0
 public function testLogic($logic)
 {
     logIt('testLogic: ' . $logic);
     if (LogicTester::isValid($logic)) {
         // Append current event details
         if (REDCap::isLongitudinal() && $this->redcap_event_name) {
             $logic = LogicTester::logicPrependEventName($logic, $this->redcap_event_name);
         }
         // Test logic
         logIt('Logic:' . $logic, 'DEBUG');
         if (LogicTester::evaluateLogicSingleRecord($logic, $this->record)) {
             $result = RCView::img(array('class' => 'imgfix', 'src' => 'accept.png')) . " True";
         } else {
             $result = RCView::img(array('class' => 'imgfix', 'src' => 'cross.png')) . " False";
         }
     } else {
         $result = RCView::img(array('class' => 'imgfix', 'src' => 'error.png')) . " Invalid Syntax";
     }
     return $result;
 }