/** * Returns true if the value has not been previously submitted. * Return false otherwise. * * @param $value * @return boolean */ public function isValid($value) { global $wpdb; $sql = "SELECT `e`.`id` FROM " . iphorm_get_form_entry_data_table_name() . " ed LEFT JOIN " . iphorm_get_form_entries_table_name() . " e ON `ed`.`entry_id` = `e`.`id`\n WHERE `e`.`form_id` = %d\n AND `ed`.`element_id` = %d\n AND `ed`.`value` = '%s';"; $result = $wpdb->get_row($wpdb->prepare($sql, $this->_element->getForm()->getId(), $this->_element->getId(), $this->_element->getValueHtml())); if ($result != null) { $this->addMessage($this->_messageTemplates['duplicate']); return false; } return true; }
/** * Add a single element to the form * * @param $element iPhorm_Element The element to add */ public function addElement(iPhorm_Element $element) { $this->_elements[$element->getName()] = $element; if ($element instanceof iPhorm_Element_Date && $element->getShowDatepicker()) { $this->_hasDatepickerElement = true; } if ($element->getLogic() && count($element->getLogicRules())) { $this->_hasConditionalLogic = true; $this->_conditionalLogicElementIds[] = $element->getId(); foreach ($element->getLogicRules() as $rule) { $this->_conditionalLogicDependentElementIds[] = (int) $rule['element_id']; } } }