/**
  * Go through the submitted form data and ensure everything has been filled out properly.
  */
 function validate()
 {
     if ($this->isReadyToValidate()) {
         $formData = formbuilder_array_stripslashes($_POST['formbuilder']);
         $fields = formbuilder_array_stripslashes($_POST['formbuilderfields']);
         $result = $this->form->loadFromArray($formData, $fields);
         if ($result === false) {
             $errors = $this->form->getErrors();
             $this->errors = array_merge($this->errors, $errors);
             return false;
         } else {
             return true;
         }
     }
 }
function formbuilder_options_editResponse($response_id)
{
    global $wpdb;
    if (!formbuilder_user_can('create')) {
        formbuilder_admin_alert('You do not have permission to access this area.');
        return;
    }
    // Make a connection to the database.
    $message = "";
    if (isset($_POST['formbuilder']) and is_array($_POST['formbuilder'])) {
        $_POST['formbuilder'] = formbuilder_array_stripslashes($_POST['formbuilder']);
        // Verify the data that was posted.
        $data = $_POST['formbuilder'];
        if (!preg_match('/^.+$/isu', $data['name'])) {
            $message = "\n " . __("You must enter a name for this autoresponse.", 'formbuilder');
        }
        if (!preg_match('/^.+$/isu', $data['subject'])) {
            $message = "\n " . __("You must enter a subject for this autoresponse.", 'formbuilder');
        }
        if (!preg_match('/^.+$/isu', $data['message'])) {
            $message = "\n " . __("You must enter a message for this autoresponse.", 'formbuilder');
        }
        if (!preg_match('/^.+$/isu', $data['from_name'])) {
            $message = "\n " . __("You must enter a from name for this autoresponse.", 'formbuilder');
        }
        if (!preg_match('/^.+$/isu', $data['from_email'])) {
            $message = "\n " . __("You must enter a from email address for this autoresponse.", 'formbuilder');
        }
        // Check to ensure that we can save the form data.  List an error message if not.
        if ($_POST['Save'] and !$message) {
            if (!$wpdb->update(FORMBUILDER_TABLE_RESPONSES, $_POST['formbuilder'], array('id' => $response_id))) {
                $message = __("ERROR.  Your response failed to save.", 'formbuilder');
            } else {
                $message = sprintf(__("Your autoresponse has been saved.  %sYou may click here to return to the main FormBuilder options page.%s", 'formbuilder'), "<a href='" . FB_ADMIN_PLUGIN_PATH . "'>", "</a>");
            }
        }
    }
    if ($message) {
        echo "<div class='updated'><p><strong>{$message}</strong></p></div>";
    }
    $result = $wpdb->get_results("SELECT * FROM " . FORMBUILDER_TABLE_RESPONSES . " WHERE id = '" . $response_id . "';", ARRAY_A);
    $response_fields = $result[0];
    foreach ($response_fields as $key => $value) {
        $field = array();
        $field['Field'] = $key;
        if (!isset($data[$key]) or !$data[$key]) {
            $field['Value'] = $value;
        } else {
            $field['Value'] = $data[$key];
        }
        // Add a brief explanation to specific fields of how to enter the data.
        if ($field['Field'] == "name") {
            $field['Title'] = __("What do you want to call this autoresponse?", 'formbuilder');
            $field['HelpText'] = __("What do you want to call this autoresponse?  This will appear on the main FormContact Management page, as well as in a dropdown list of related autoresponses when editing the forms.", 'formbuilder');
            $field['Type'] = "varchar(255)";
        }
        if ($field['Field'] == "subject") {
            $field['Title'] = __("What do you want the subject line of this autoresponse email to be?", 'formbuilder');
            $field['HelpText'] = __("What do you want the subject line of this autoresponse email to be?", 'formbuilder');
            $field['Type'] = "varchar(255)";
        }
        if ($field['Field'] == "message") {
            $field['Title'] = __("What should the autoresponse email say?", 'formbuilder');
            $field['HelpText'] = __("What should the autoresponse email say?", 'formbuilder');
            $field['Type'] = "text";
        }
        if ($field['Field'] == "from_email") {
            $field['Title'] = __("What email address should the data from this contact form be mailed from?", 'formbuilder');
            $field['HelpText'] = __("What email address should the data from this contact form be mailed from?", 'formbuilder');
            $field['Type'] = "varchar(255)";
        }
        if ($field['Field'] == "from_name") {
            $field['Title'] = __("What name should the data from this contact form be mailed from?", 'formbuilder');
            $field['HelpText'] = __("What name should the data from this contact form be mailed from?", 'formbuilder');
            $field['Type'] = "varchar(255)";
        }
        $fields[$key] = $field;
    }
    include FORMBUILDER_PLUGIN_PATH . "html/options_edit_response.inc.php";
}
function formbuilder_array_stripslashes($slash_array = array())
{
    if ($slash_array) {
        foreach ($slash_array as $key => $value) {
            if (is_array($value)) {
                $slash_array[$key] = formbuilder_array_stripslashes($value);
            } else {
                $slash_array[$key] = stripslashes($value);
            }
        }
    }
    return $slash_array;
}