function defineSubmit($value, $label = 'Submit') { $result = parent::defineSubmit($value, $label); $this->_submit_value = $value; }
function execute($options = array()) { if (!isset($options)) { $options = array(); } $options = array_merge($this->getOptions(), $options); $formEngine = new AMPForm($this->udm->name); //Create the Form $admin = $this->_adminConfig(); $formEngine->addFields($this->_setupUdmFields()); $formEngine->setFieldOrder($this->udm->getFieldOrder()); $formEngine->defineSubmit('btnUdmSubmit', $options['button_label']); $formEngine->Build($admin); //set data Requirements $formEngine->validateEmail(); if (!$admin) { $formEngine->enforceRules(); } //Populate the form //$formEngine->setValues( $this->udm->getStoredValues() ); //$formEngine->setValues( $this->udm->getData() ); $stored_values = $this->udm->getStoredValues(); $stored_data = $this->udm->getData(); $all_values = array_merge($stored_values, $stored_data); $formEngine->setValues($all_values); if ($form_attrs = $this->getRegisteredFieldAttrs()) { foreach ($form_attrs as $field => $field_attrs) { foreach ($field_attrs as $attr) { $formEngine->addFieldAttr($field, $attr); } } } //register results with udm $this->udm->form = $formEngine->form; if ($script = $formEngine->getJavascript()) { $this->_register_javascript($script); } if ($this->udm->submitted) { if (!$formEngine->validate() && !$admin) { $this->udm->formInvalidCallback(); return false; } } $this->_formEngine =& $formEngine; return $formEngine->form; }
function __wakeup() { parent::__wakeup(); if ($this->allow_copy) { $this->copy_button(); } }
function _addElementCaptcha($name, $field_def) { $false = false; if ($this->_has_captcha) { return $false; } $this->_has_captcha = true; // use recaptcha if its set up if (defined('RECAPTCHA_PRIVATE_KEY') && RECAPTCHA_PRIVATE_KEY) { require 'recaptcha/recaptchalib.php'; $error_html = ""; if (isset($_POST['recaptcha_response_field']) && !AMPForm::validate_recaptcha()) { $error_html = "<!-- BEGIN error --><span style=\"color: #ff0000\">" . AMP_TEXT_ERROR_FORM_CAPTCHA_FAILED . "</span><br /><!-- END error -->\t"; } $fRef = $this->form->addElement('static', 'captcha_' . $name, "", $error_html . recaptcha_get_html(RECAPTCHA_PUBLIC_KEY)); $this->form->addElement('hidden', 'recaptcha_response_field'); $this->form->addRule('recaptcha_response_field', AMP_TEXT_ERROR_REQUIRED_FIELD_MISSING, 'required'); $rule_config = array('AMPForm', 'validate_recaptcha'); $this->form->addRule('recaptcha_response_field', AMP_TEXT_ERROR_FORM_CAPTCHA_FAILED, 'callback', $rule_config); return $fRef; // use craptastic captcha otherwise } else { $this->_addUniqueIdValue(); require_once 'AMP/Content/Display/HTML.inc.php'; $renderer = new AMPDisplay_HTML(); $this->form->addElement('static', 'captcha_' . $name, "", $renderer->image(AMP_Url_AddVars(AMP_CONTENT_URL_CAPTCHA, array('key=' . AMP_SYSTEM_UNIQUE_VISITOR_ID)), array('align' => 'center'))); $defaults = $this->_getDefault($name); $fRef = $this->form->addElement('text', $name, $field_def['label'], $defaults); require_once 'AMP/Form/Element/Captcha.inc.php'; $captcha_demo = new PhpCaptcha(array()); $rule_config = array($captcha_demo, 'Validate'); $this->form->addRule($name, AMP_TEXT_ERROR_FORM_CAPTCHA_FAILED, 'callback', $rule_config); return $fRef; } }