Пример #1
0
function wufoo_build_form($form, $options = null, $errors = null)
{
    if (!($wrapper = wufoo_login())) {
        return;
    }
    $option = is_array($options) ? (object) $options : (object) array();
    $subdomain = get_option('WuPhooey-username');
    $autoResize = !isset($option->autoresize) ? 'true' : $option->autoresize;
    $height = !isset($option->height) ? '514' : $option->height;
    /**
     * Deleted the option to not use iframe
     * My form builder had many bugs
     *
     * @author Baylor Rae'
     * @version 1.1
     */
    // if( isset($option->use_iframe) )
    // return '<script type="text/javascript">var host = (("https:" == document.location.protocol) ? "https://secure." : "http://");document.write(unescape("%3Cscript src=\'" + host + "wufoo.com/scripts/embed/form.js\' type=\'text/javascript\'%3E%3C/script%3E"));</script><script type="text/javascript">var ' . $form . ' = new WufooForm();' . $form . '.initialize({\'userName\':\'baylorrae\', \'formHash\':\'' . $form . '\', \'autoResize\':true});' . $form . '.display();</script>';
    return '<script type="text/javascript">var host = (("https:" == document.location.protocol) ? "https://secure." : "http://");document.write(unescape("%3Cscript src=\'" + host + "wufoo.com/scripts/embed/form.js\' type=\'text/javascript\'%3E%3C/script%3E"));</script>

    <script type="text/javascript">
    var ' . $form . ' = new WufooForm();
    ' . $form . '.initialize({
    \'userName\':\'' . $subdomain . '\', 
    \'formHash\':\'' . $form . '\', 
    \'autoResize\':' . $autoResize . ',
    \'height\':\'' . $height . '\'});
    ' . $form . '.display();
    </script>';
    if (!($data = wufoo_cache_get('fields-' . $form)) || isset($_GET['reload_cache'])) {
        $data = array();
        $info = $wrapper->getForms($form);
        $fields = $wrapper->getFields($form);
        $data = wufoo_cache_set('fields-' . $form, array('info' => $info, 'fields' => $fields));
    }
    if (empty($info)) {
        $info = $data['info'];
    }
    if (empty($fields)) {
        $fields = $data['fields'];
    }
    $output = '<form name="' . $form . '" id="' . $form . '" class="WuPhooey-form ' . $form . '" autocomplete="off" enctype="multipart/form-data" method="post" action="' . plugins_url('/submit.php', __FILE__) . '">';
    $output .= '<input type="hidden" name="form_id" value="' . $form . '" />';
    if (is_array($errors)) {
        foreach ($errors as $field) {
            if (isset($fields->Fields[$field->ID])) {
                $fields->Fields[$field->ID]->ErrorText = $field->ErrorText;
            }
        }
    }
    $output .= '<div class="wufoo_form-info"><h2>' . $info[$form]->Name . '</h2><div>' . $info[$form]->Description . '</div></div>';
    $output .= '<ul>' . WufooFields::form_loop($fields->Fields) . '</ul>';
    $submit_class = empty($option->submit_class) ? 'button-primary' : $option->submit_class;
    $output .= '<input class="' . $submit_class . '" type="submit" name="submit" value="Submit" />';
    if (isset($option->cancel_link) && isset($option->cancel_location)) {
        $cancel_class = empty($option->cancel_class) ? 'button' : $option->cancel_class;
        $cancel_text = empty($option->cancel_link) ? 'Cancel' : $option->cancel_link;
        $output .= ' <a class="' . $cancel_class . '" href="' . $option->cancel_location . '">' . $cancel_text . '</a>';
    }
    $output .= '</form>';
    return $output;
}