protected function compareField($field1, $operator, $field2, $error = null) { $operators = array('==' => 'equal to', '!=' => 'different to', '<=' => 'equal or lower than', '<' => 'lower than', '>=' => 'equal or greater than', '>' => 'greater than'); $bad_field_1 = !isset($this->fields[$field1]); $bad_operator = !isset($operators[$operator]); $bad_field_2 = !isset($this->fields[$field2]); if ($bad_field_1) { FormErrors::compareFieldNotExists($field1, $field1, $field2); } if ($bad_operator) { FormErrors::compareOperatorNotExists($operator, $field1, $field2); } if ($bad_field_2) { FormErrors::compareFieldNotExists($field2, $field1, $field2); } if (!$bad_field_1 && !$bad_operator && !$bad_field_2) { if ($error === null) { $error = sprintf(_("The field %s must be %s %s."), $field1, _($operators[$operator]), $field2); } $this->compare[] = array($field1, $operator, $field2, $error); } }