• I have been searching through the forums for about a week trying to figure this out.

    I am using Contact Form 7. It’s a great plug-in. I am trying to vertically align the input fields. I found a post on another site with the code in both CSS and tables. The Contact Form 7 code is written in javascript so I have no idea where to place that code.

    I am breaking my face trying to get this to work. Any help would be greatly appreciated.

    Thank you,
    Dan

    I didn’t want to busy up this post anymore so I left the CSS and Table version of the code out. You can find it here.

    Below is the code for Contact Form 7.

    define('WPCF7_VERSION', '1.9.3');
    
    if (! defined('WP_CONTENT_DIR'))
        define('WP_CONTENT_DIR', ABSPATH . 'wp-content');
    if (! defined('WP_CONTENT_URL'))
        define('WP_CONTENT_URL', get_option('siteurl') . '/wp-content');
    
    if (! defined('WP_PLUGIN_DIR'))
        define('WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins');
    if (! defined('WP_PLUGIN_URL'))
        define('WP_PLUGIN_URL', WP_CONTENT_URL . '/plugins');
    
    if (! defined('WPCF7_PLUGIN_DIR'))
        define('WPCF7_PLUGIN_DIR', WP_PLUGIN_DIR . '/' . plugin_basename(dirname(__FILE__)));
    if (! defined('WPCF7_PLUGIN_URL'))
        define('WPCF7_PLUGIN_URL', WP_PLUGIN_URL . '/' . plugin_basename(dirname(__FILE__)));
    
    if (! defined('WPCF7_CAPTCHA_TMP_DIR'))
        define('WPCF7_CAPTCHA_TMP_DIR', WP_CONTENT_DIR . '/uploads/wpcf7_captcha');
    if (! defined('WPCF7_CAPTCHA_TMP_URL'))
        define('WPCF7_CAPTCHA_TMP_URL', WP_CONTENT_URL . '/uploads/wpcf7_captcha');
    
    if (! defined('WPCF7_UPLOADS_TMP_DIR'))
        define('WPCF7_UPLOADS_TMP_DIR', WP_CONTENT_DIR . '/uploads/wpcf7_uploads');
    
    if (! defined('WPCF7_AUTOP'))
        define('WPCF7_AUTOP', true);
    
    if (! defined('WPCF7_USE_PIPE'))
        define('WPCF7_USE_PIPE', true);
    
    if (! function_exists('wpcf7_version')) {
        function wpcf7_version() { return WPCF7_VERSION; }
    }
    
    if (! function_exists('wpcf7_read_capability')) {
        function wpcf7_read_capability() { return 'edit_posts'; }
    }
    
    if (! function_exists('wpcf7_read_write_capability')) {
        function wpcf7_read_write_capability() { return 'publish_pages'; }
    }
    
    class tam_contact_form_seven {
    
        var $contact_forms;
        var $captcha;
        var $posted_data;
    
        function tam_contact_form_seven() {
            add_action('activate_' . plugin_basename(__FILE__), array(&$this, 'set_initial'));
            add_action('init', array(&$this, 'load_plugin_textdomain'));
            add_action('admin_menu', array(&$this, 'add_pages'));
            add_action('admin_head', array(&$this, 'admin_head'));
            add_action('wp_head', array(&$this, 'wp_head'));
            add_action('wp_print_scripts', array(&$this, 'load_js'));
            add_action('init', array(&$this, 'init_switch'), 11);
            add_filter('the_content', array(&$this, 'the_content_filter'), 9);
            add_filter('widget_text', array(&$this, 'widget_text_filter'), 9);
    
            add_shortcode('contact-form', array(&$this, 'contact_form_tag_func'));
        }
    
        function init_switch() {
            if ('POST' == $_SERVER['REQUEST_METHOD'] && 1 == (int) $_POST['_wpcf7_is_ajax_call']) {
                $this->ajax_json_echo();
                exit();
            } elseif (! is_admin()) {
                $this->process_nonajax_submitting();
                $this->cleanup_captcha_files();
            }
        }
    
        function ajax_json_echo() {
            $echo = '';
    
            if (isset($_POST['_wpcf7'])) {
                $id = (int) $_POST['_wpcf7'];
                $unit_tag = $_POST['_wpcf7_unit_tag'];
                $contact_forms = $this->contact_forms();
                if ($cf = $contact_forms[$id]) {
                    $cf = stripslashes_deep($cf);
                    $validation = $this->validate($cf);
    
                    $handled_uploads = $this->handle_uploads($cf);
                    if (! $handled_uploads['validation']['valid'])
                        $validation['valid'] = false;
                    $validation['reason'] = array_merge($validation['reason'], $handled_uploads['validation']['reason']);
    
                    $captchas = $this->refill_captcha($cf);
                    if (! empty($captchas)) {
                        $captchas_js = array();
                        foreach ($captchas as $name => $cap) {
                            $captchas_js[] = '"' . $name . '": "' . $cap . '"';
                        }
                        $captcha = '{ ' . join(', ', $captchas_js) . ' }';
                    } else {
                        $captcha = 'null';
                    }
    
                    $quizzes = $this->refill_quiz($cf);
                    if (! empty($quizzes)) {
                        $quizzes_js = array();
                        foreach ($quizzes as $name => $q) {
                            $quizzes_js[] = '"' . $name . '": [ "' . js_escape($q[0]) . '", "' . $q[1] . '" ]';
                        }
                        $quiz = '{ ' . join(', ', $quizzes_js) . ' }';
                    } else {
                        $quiz = 'null';
                    }
    
                    if (! $validation['valid']) { // Validation error occured
                        $invalids = array();
                        foreach ($validation['reason'] as $name => $reason) {
                            $invalids[] = '{ into: "span.wpcf7-form-control-wrap.' . $name . '", message: "' . js_escape($reason) . '" }';
                        }
                        $invalids = '[' . join(', ', $invalids) . ']';
                        $echo = '{ mailSent: 0, message: "' . js_escape($this->message($cf, 'validation_error')) . '", into: "#' . $unit_tag . '", invalids: ' . $invalids . ', captcha: ' . $captcha . ', quiz: ' . $quiz . ' }';
                    } elseif (! $this->acceptance($cf)) { // Not accepted terms
                        $echo = '{ mailSent: 0, message: "' . js_escape($this->message($cf, 'accept_terms')) . '", into: "#' . $unit_tag . '", captcha: ' . $captcha . ', quiz: ' . $quiz . ' }';
                    } elseif ($this->akismet($cf)) { // Spam!
                        $echo = '{ mailSent: 0, message: "' . js_escape($this->message($cf, 'akismet_says_spam')) . '", into: "#' . $unit_tag . '", spam: 1, captcha: ' . $captcha . ', quiz: ' . $quiz . ' }';
                    } elseif ($this->mail($cf, $handled_uploads['files'])) {
                        $echo = '{ mailSent: 1, message: "' . js_escape($this->message($cf, 'mail_sent_ok')) . '", into: "#' . $unit_tag . '", captcha: ' . $captcha . ', quiz: ' . $quiz . ' }';
                    } else {
                        $echo = '{ mailSent: 0, message: "' . js_escape($this->message($cf, 'mail_sent_ng')) . '", into: "#' . $unit_tag . '", captcha: ' . $captcha . ', quiz: ' . $quiz . ' }';
                    }
    
                    // remove upload files
                    foreach ($handled_uploads['files'] as $name => $path) {
                        @unlink($path);
                    }
                }
            }
    
            if ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
                @header('Content-Type: application/json; charset=' . get_option('blog_charset'));
                echo $echo;
            } else {
                @header('Content-Type: text/html; charset=' . get_option('blog_charset'));
                echo '<textarea>' . $echo . '</textarea>';
            }
        }
    
        function handle_uploads($contact_form) {
            $files = array();
            $valid = true;
            $reason = array();
    
            $this->init_uploads(); // Confirm upload dir
            $uploads_dir = WPCF7_UPLOADS_TMP_DIR;
    
            $fes = $this->form_elements($contact_form['form'], false);
    
            foreach ($fes as $fe) {
                if ('file' != $fe['type'] && 'file*' != $fe['type'])
                    continue;
    
                $name = $fe['name'];
                $options = (array) $fe['options'];
    
                $file = $_FILES[$name];
    
                if (empty($file['tmp_name']) && 'file*' == $fe['type']) {
                    $valid = false;
                    $reason[$name] = $this->message($contact_form, 'invalid_required');
                    continue;
                }
    
                if (! is_uploaded_file($file['tmp_name']))
                    continue;
    
                $filename = wp_unique_filename($uploads_dir, $file['name']);
                $new_file = trailingslashit($uploads_dir) . $filename;
                if (false === @move_uploaded_file($file['tmp_name'], $new_file)) {
                    $valid = false;
                    $reason[$name] = $this->message($contact_form, 'upload_failed');
                    continue;
                }
    
                $files[$name] = $new_file;
    
                if ($allowed_types_options = preg_grep('%^filetypes:%', $options)) {
                    $pattern = '';
                    foreach ($allowed_types_options as $allowed_types_option) {
                        if (preg_match('%^filetypes:(.+)$%', $allowed_types_option, $matches)) {
                            $file_types = explode('|', $matches[1]);
                            foreach ($file_types as $file_type) {
                                $file_type = trim($file_type, '.');
                                $file_type = str_replace(array('.', '+', '*', '?'), array('\.', '\+', '\*', '\?'), $file_type);
                                $pattern .= '|' . $file_type;
                            }
                        }
                    }
                    $pattern = trim($pattern, '|');
                    $pattern = '(' . $pattern . ')';
                    $pattern = '/\.' . $pattern . '$/i';
                    if (! preg_match($pattern, $file['name'])) {
                        $valid = false;
                        $reason[$name] = $this->message($contact_form, 'upload_file_type_invalid');
                        continue;
                    }
                }
    
                if ($allowed_size_options = preg_grep('%^limit:%', $options)) {
                    $allowed_size_option = array_shift($allowed_size_options);
                    preg_match('/^limit:([1-9][0-9]*)$/', $allowed_size_option, $matches);
                    $allowed_size = (int) $matches[1];
    
                    if ($file['size'] > $allowed_size) {
                        $valid = false;
                        $reason[$name] = $this->message($contact_form, 'upload_file_too_large');
                        continue;
                    }
                }
            }
    
            $validation = compact('valid', 'reason');
    
            return compact('files', 'validation');
        }
    
        function mail($contact_form, $files = array()) {
            global $wp_version;
    
            $contact_form = $this->upgrade($contact_form);
    
            $this->posted_data = $_POST;
    
            if (WPCF7_USE_PIPE) {
                $this->pipe_all_posted($contact_form);
            }
    
            if ($this->compose_and_send_mail($contact_form['mail'], $files)) {
                if ($contact_form['mail_2']['active'])
                    $this->compose_and_send_mail($contact_form['mail_2'], $files);
    
                return true;
            }
    
            return false;
        }
    
        function compose_and_send_mail($mail_template, $attachments = array()) {
            $regex = '/\[\s*([a-zA-Z][0-9a-zA-Z:._-]*)\s*\]/';
            $callback = array(&$this, 'mail_callback');
            $mail_subject = preg_replace_callback($regex, $callback, $mail_template['subject']);
            $mail_sender = preg_replace_callback($regex, $callback, $mail_template['sender']);
            $mail_body = preg_replace_callback($regex, $callback, $mail_template['body']);
            $mail_recipient = preg_replace_callback($regex, $callback, $mail_template['recipient']);
            $mail_headers = "From: $mail_sender\n";
    
            if ($attachments) {
                $mail_headers .= "Content-Type: multipart/mixed\n";
            } elseif ($mail_template['use_html']) {
                $mail_headers .= "Content-Type: text/html\n";
            }
    
            if ($attachments) {
                $for_this_mail = array();
                foreach ($attachments as $name => $path) {
                    if (false === strpos($mail_template['attachments'], "[${name}]"))
                        continue;
                    $for_this_mail[] = $path;
                }
                return @wp_mail($mail_recipient, $mail_subject, $mail_body, $mail_headers, $for_this_mail);
            } else {
                return @wp_mail($mail_recipient, $mail_subject, $mail_body, $mail_headers);
            }
        }
    
        function mail_callback($matches) {
            if (isset($this->posted_data[$matches[1]])) {
                $submitted = $this->posted_data[$matches[1]];
    
                if (is_array($submitted))
                    $submitted = join(', ', $submitted);
                return stripslashes($submitted);
            } else {
    
                // Special [wpcf7.remote_ip] tag
                if ('wpcf7.remote_ip' == $matches[1])
                    return preg_replace('/[^0-9., ]/', '', $_SERVER['REMOTE_ADDR']);
    
                return $matches[0];
            }
        }
    
        function akismet($contact_form) {
            global $akismet_api_host, $akismet_api_port;
    
            if (! function_exists('akismet_http_post') || ! (get_option('wordpress_api_key') || $wpcom_api_key))
                return false;
    
            $akismet_ready = false;
            $author = $author_email = $author_url = $content = '';
            $fes = $this->form_elements($contact_form['form'], false);
    
            foreach ($fes as $fe) {
                if (! is_array($fe['options'])) continue;
    
                if (preg_grep('%^akismet:author$%', $fe['options']) && '' == $author) {
                    $author = $_POST[$fe['name']];
                    $akismet_ready = true;
                }
                if (preg_grep('%^akismet:author_email$%', $fe['options']) && '' == $author_email) {
                    $author_email = $_POST[$fe['name']];
                    $akismet_ready = true;
                }
                if (preg_grep('%^akismet:author_url$%', $fe['options']) && '' == $author_url) {
                    $author_url = $_POST[$fe['name']];
                    $akismet_ready = true;
                }
    
                if ('' != $content)
                    $content .= "\n\n";
                $content .= $_POST[$fe['name']];
            }
    
            if (! $akismet_ready)
                return false;
    
            $c['blog'] = get_option('home');
            $c['user_ip'] = preg_replace('/[^0-9., ]/', '', $_SERVER['REMOTE_ADDR']);
            $c['user_agent'] = $_SERVER['HTTP_USER_AGENT'];
            $c['referrer'] = $_SERVER['HTTP_REFERER'];
            $c['comment_type'] = 'contactform7';
            if ($permalink = get_permalink())
                $c['permalink'] = $permalink;
            if ('' != $author)
                $c['comment_author'] = $author;
            if ('' != $author_email)
                $c['comment_author_email'] = $author_email;
            if ('' != $author_url)
                $c['comment_author_url'] = $author_url;
            if ('' != $content)
                $c['comment_content'] = $content;
    
            $ignore = array('HTTP_COOKIE');
    
            foreach ($_SERVER as $key => $value)
                if (! in_array($key, (array) $ignore))
                    $c["$key"] = $value;
    
            $query_string = '';
            foreach ($c as $key => $data)
                $query_string .= $key . '=' . urlencode(stripslashes($data)) . '&';
    
            $response = akismet_http_post($query_string, $akismet_api_host, '/1.1/comment-check', $akismet_api_port);
            if ('true' == $response[1])
                return true;
            else
                return false;
        }
    
        function acceptance($contact_form) {
            $fes = $this->form_elements($contact_form['form'], false);
    
            $accepted = true;
    
            foreach ($fes as $fe) {
                if ('acceptance' != $fe['type'])
                    continue;
    
                $invert = (bool) preg_grep('%^invert$%', $fe['options']);
    
                if ($invert && $_POST[$fe['name']] || ! $invert && ! $_POST[$fe['name']])
                    $accepted = false;
            }
    
            return $accepted;
        }
    
        function set_initial() {
            $this->load_plugin_textdomain();
    
            $wpcf7 = get_option('wpcf7');
            if (! is_array($wpcf7))
                $wpcf7 = array();
    
            $contact_forms = $wpcf7['contact_forms'];
            if (! is_array($contact_forms))
                $contact_forms = array();
    
            if (0 == count($contact_forms))
                $contact_forms[1] = $this->default_pack(__('Contact form', 'wpcf7') . ' 1');
    
            $wpcf7['contact_forms'] = $contact_forms;
            update_option('wpcf7', $wpcf7);
        }
    
        function load_plugin_textdomain() { // l10n
            global $wp_version;
    
            if (version_compare($wp_version, '2.6', '<')) // Using old WordPress
                load_plugin_textdomain('wpcf7', 'wp-content/plugins/contact-form-7/languages');
            else
                load_plugin_textdomain('wpcf7', 'wp-content/plugins/contact-form-7/languages', 'contact-form-7/languages');
        }
    
        function contact_forms() {
            if (is_array($this->contact_forms))
                return $this->contact_forms;
            $wpcf7 = get_option('wpcf7');
            $this->contact_forms = $wpcf7['contact_forms'];
            if (! is_array($this->contact_forms))
                $this->contact_forms = array();
            return $this->contact_forms;
        }
    
        function update_contact_forms($contact_forms) {
            $wpcf7 = get_option('wpcf7');
            $wpcf7['contact_forms'] = $contact_forms;
            update_option('wpcf7', $wpcf7);
        }
    
        function upgrade($contact_form) {
            $contact_form = $this->upgrade_160($contact_form);
            $contact_form = $this->upgrade_181($contact_form);
            $contact_form = $this->upgrade_190($contact_form);
            $contact_form = $this->upgrade_192($contact_form);
            return $contact_form;
        }
    
        function upgrade_160($contact_form) {
            if (! isset($contact_form['mail']['recipient']))
                $contact_form['mail']['recipient'] = $contact_form['options']['recipient'];
            return $contact_form;
        }
    
        function upgrade_181($contact_form) {
            if (! isset($contact_form['messages']))
                $contact_form['messages'] = array(
                    'mail_sent_ok' => $this->default_message('mail_sent_ok'),
                    'mail_sent_ng' => $this->default_message('mail_sent_ng'),
                    'akismet_says_spam' => $this->default_message('akismet_says_spam'),
                    'validation_error' => $this->default_message('validation_error'),
                    'accept_terms' => $this->default_message('accept_terms'),
                    'invalid_email' => $this->default_message('invalid_email'),
                    'invalid_required' => $this->default_message('invalid_required'),
                    'captcha_not_match' => $this->default_message('captcha_not_match')
                );
            return $contact_form;
        }
    
        function upgrade_190($contact_form) {
            if (! isset($contact_form['messages']) || ! is_array($contact_form['messages']))
                $contact_form['messages'] = array();
    
            if (! isset($contact_form['messages']['upload_failed']))
                $contact_form['messages']['upload_failed'] = $this->default_message('upload_failed');
    
            if (! isset($contact_form['messages']['upload_file_type_invalid']))
                $contact_form['messages']['upload_file_type_invalid'] = $this->default_message('upload_file_type_invalid');
    
            if (! isset($contact_form['messages']['upload_file_too_large']))
                $contact_form['messages']['upload_file_too_large'] = $this->default_message('upload_file_too_large');
    
            return $contact_form;
        }
    
        function upgrade_192($contact_form) {
            if (! isset($contact_form['messages']) || ! is_array($contact_form['messages']))
                $contact_form['messages'] = array();
    
            if (! isset($contact_form['messages']['quiz_answer_not_correct']))
                $contact_form['messages']['quiz_answer_not_correct'] = $this->default_message('quiz_answer_not_correct');
    
            return $contact_form;
        }
    
    /* Admin panel */
    
        function admin_menu_parent() {
            global $wp_version;
            if (version_compare($wp_version, '2.7', '>='))
                return 'tools.php';
            else
                return 'edit.php';
        }
    
        function add_pages() {
            if (function_exists('admin_url')) {
                $base_url = admin_url($this->admin_menu_parent());
            } else {
                $base_url = get_option('siteurl') . '/wp-admin/' . $this->admin_menu_parent();
            }
            $page = str_replace('\\', '%5C', plugin_basename(__FILE__));
            $contact_forms = $this->contact_forms();
    
            if (isset($_POST['wpcf7-save']) && $this->has_edit_cap()) {
                $id = $_POST['wpcf7-id'];
                check_admin_referer('wpcf7-save_' . $id);
    
                $title = trim($_POST['wpcf7-title']);
                $form = trim($_POST['wpcf7-form']);
                $mail = array(
                    'subject' => trim($_POST['wpcf7-mail-subject']),
                    'sender' => trim($_POST['wpcf7-mail-sender']),
                    'body' => trim($_POST['wpcf7-mail-body']),
                    'recipient' => trim($_POST['wpcf7-mail-recipient']),
                    'attachments' => trim($_POST['wpcf7-mail-attachments']),
                    'use_html' => (1 == $_POST['wpcf7-mail-use-html']) ? true : false
                    );
                $mail_2 = array(
                    'active' => (1 == $_POST['wpcf7-mail-2-active']) ? true : false,
                    'subject' => trim($_POST['wpcf7-mail-2-subject']),
                    'sender' => trim($_POST['wpcf7-mail-2-sender']),
                    'body' => trim($_POST['wpcf7-mail-2-body']),
                    'recipient' => trim($_POST['wpcf7-mail-2-recipient']),
                    'attachments' => trim($_POST['wpcf7-mail-2-attachments']),
                    'use_html' => (1 == $_POST['wpcf7-mail-2-use-html']) ? true : false
                    );
                $messages = array(
                    'mail_sent_ok' => trim($_POST['wpcf7-message-mail-sent-ok']),
                    'mail_sent_ng' => trim($_POST['wpcf7-message-mail-sent-ng']),
                    'akismet_says_spam' => trim($_POST['wpcf7-message-akismet-says-spam']),
                    'validation_error' => trim($_POST['wpcf7-message-validation-error']),
                    'accept_terms' => trim($_POST['wpcf7-message-accept-terms']),
                    'invalid_email' => trim($_POST['wpcf7-message-invalid-email']),
                    'invalid_required' => trim($_POST['wpcf7-message-invalid-required']),
                    'quiz_answer_not_correct' => trim($_POST['wpcf7-message-quiz-answer-not-correct']),
                    'captcha_not_match' => trim($_POST['wpcf7-message-captcha-not-match']),
                    'upload_failed' => trim($_POST['wpcf7-message-upload-failed']),
                    'upload_file_type_invalid' => trim($_POST['wpcf7-message-upload-file-type-invalid']),
                    'upload_file_too_large' => trim($_POST['wpcf7-message-upload-file-too-large'])
                    );
                $options = array(
                    'recipient' => trim($_POST['wpcf7-options-recipient']) // For backward compatibility.
                    );
    
                if (array_key_exists($id, $contact_forms)) {
                    $contact_forms[$id] = compact('title', 'form', 'mail', 'mail_2', 'messages', 'options');
                    $redirect_to = $base_url . '?page=' . $page . '&contactform=' . $id . '&message=saved';
                } else {
                    $key = (empty($contact_forms)) ? 1 : max(array_keys($contact_forms)) + 1;
                    $contact_forms[$key] = compact('title', 'form', 'mail', 'mail_2', 'messages', 'options');
                    $redirect_to = $base_url . '?page=' . $page . '&contactform=' . $key . '&message=created';
                }
                $this->update_contact_forms($contact_forms);
    
                wp_redirect($redirect_to);
                exit();
            } elseif (isset($_POST['wpcf7-copy']) && $this->has_edit_cap()) {
                $id = $_POST['wpcf7-id'];
                check_admin_referer('wpcf7-copy_' . $id);
    
                if (array_key_exists($id, $contact_forms)) {
                    $key = max(array_keys($contact_forms)) + 1;
                    $contact_forms[$key] = $contact_forms[$id];
                    $contact_forms[$key]['title'] .= '_copy';
                    $this->update_contact_forms($contact_forms);
                    $redirect_to = $base_url . '?page=' . $page . '&contactform=' . $key . '&message=created';
                } else {
                    $redirect_to = $base_url . '?page=' . $page . '&contactform=' . $id;
                }
    
                wp_redirect($redirect_to);
                exit();
            } elseif (isset($_POST['wpcf7-delete']) && $this->has_edit_cap()) {
                $id = $_POST['wpcf7-id'];
                check_admin_referer('wpcf7-delete_' . $id);
    
                unset($contact_forms[$id]);
                $this->update_contact_forms($contact_forms);
    
                wp_redirect($base_url . '?page=' . $page . '&message=deleted');
                exit();
            }
    
            add_management_page(__('Contact Form 7', 'wpcf7'), __('Contact Form 7', 'wpcf7'), wpcf7_read_capability(), __FILE__, array(&$this, 'management_page'));
        }
    
        function admin_head() {
            global $plugin_page, $wp_version;
    
            if (isset($plugin_page) && $plugin_page == plugin_basename(__FILE__)) {
    
                $admin_stylesheet_url = WPCF7_PLUGIN_URL . '/admin-stylesheet.css';
                $javascript_url = WPCF7_PLUGIN_URL . '/wpcf7-admin.js';
    
                echo '<link rel="stylesheet" href="' . $admin_stylesheet_url . '" type="text/css" />';
    
                if ('rtl' == get_bloginfo('text_direction')) {
                    $admin_stylesheet_rtl_url = WPCF7_PLUGIN_URL . '/admin-stylesheet-rtl.css';
                    echo '<link rel="stylesheet" href="' . $admin_stylesheet_rtl_url . '" type="text/css" />';
                }
    
    ?>
    <script type="text/javascript">
    //<![CDATA[
    var _wpcf7 = {
        l10n: {
            optional: "<?php echo js_escape(__('optional', 'wpcf7')); ?>",
            generateTag: "<?php echo js_escape(__('Generate Tag', 'wpcf7')); ?>",
            textField: "<?php echo js_escape(__('Text field', 'wpcf7')); ?>",
            emailField: "<?php echo js_escape(__('Email field', 'wpcf7')); ?>",
            textArea: "<?php echo js_escape(__('Text area', 'wpcf7')); ?>",
            menu: "<?php echo js_escape(__('Drop-down menu', 'wpcf7')); ?>",
            checkboxes: "<?php echo js_escape(__('Checkboxes', 'wpcf7')); ?>",
            radioButtons: "<?php echo js_escape(__('Radio buttons', 'wpcf7')); ?>",
            acceptance: "<?php echo js_escape(__('Acceptance', 'wpcf7')); ?>",
            isAcceptanceDefaultOn: "<?php echo js_escape(__("Make this checkbox checked by default?", 'wpcf7')); ?>",
            isAcceptanceInvert: "<?php echo js_escape(__("Make this checkbox work inversely?", 'wpcf7')); ?>",
            isAcceptanceInvertMeans: "<?php echo js_escape(__("* That means visitor who accepts the term unchecks it.", 'wpcf7')); ?>",
            captcha: "<?php echo js_escape(__('CAPTCHA', 'wpcf7')); ?>",
            quiz: "<?php echo js_escape(__('Quiz', 'wpcf7')); ?>",
            quizzes: "<?php echo js_escape(__('Quizzes', 'wpcf7')); ?>",
            quizFormatDesc: "<?php echo js_escape(__("* quiz|answer (e.g. 1+1=?|2)", 'wpcf7')); ?>",
            fileUpload: "<?php echo js_escape(__('File upload', 'wpcf7')); ?>",
            bytes: "<?php echo js_escape(__('bytes', 'wpcf7')); ?>",
            submit: "<?php echo js_escape(__('Submit button', 'wpcf7')); ?>",
            tagName: "<?php echo js_escape(__('Name', 'wpcf7')); ?>",
            isRequiredField: "<?php echo js_escape(__('Required field?', 'wpcf7')); ?>",
            allowsMultipleSelections: "<?php echo js_escape(__('Allow multiple selections?', 'wpcf7')); ?>",
            insertFirstBlankOption: "<?php echo js_escape(__('Insert a blank item as the first option?', 'wpcf7')); ?>",
            makeCheckboxesExclusive: "<?php echo js_escape(__('Make checkboxes exclusive?', 'wpcf7')); ?>",
            menuChoices: "<?php echo js_escape(__('Choices', 'wpcf7')); ?>",
            label: "<?php echo js_escape(__('Label', 'wpcf7')); ?>",
            defaultValue: "<?php echo js_escape(__('Default value', 'wpcf7')); ?>",
            akismet: "<?php echo js_escape(__('Akismet', 'wpcf7')); ?>",
            akismetAuthor: "<?php echo js_escape(__("This field requires author's name", 'wpcf7')); ?>",
            akismetAuthorUrl: "<?php echo js_escape(__("This field requires author's URL", 'wpcf7')); ?>",
            akismetAuthorEmail: "<?php echo js_escape(__("This field requires author's email address", 'wpcf7')); ?>",
            generatedTag: "<?php echo js_escape(__("Copy this code and paste it into the form left.", 'wpcf7')); ?>",
            fgColor: "<?php echo js_escape(__("Foreground color", 'wpcf7')); ?>",
            bgColor: "<?php echo js_escape(__("Background color", 'wpcf7')); ?>",
            imageSize: "<?php echo js_escape(__("Image size", 'wpcf7')); ?>",
            imageSizeSmall: "<?php echo js_escape(__("Small", 'wpcf7')); ?>",
            imageSizeMedium: "<?php echo js_escape(__("Medium", 'wpcf7')); ?>",
            imageSizeLarge: "<?php echo js_escape(__("Large", 'wpcf7')); ?>",
            imageSettings: "<?php echo js_escape(__("Image settings", 'wpcf7')); ?>",
            inputFieldSettings: "<?php echo js_escape(__("Input field settings", 'wpcf7')); ?>",
            tagForImage: "<?php echo js_escape(__("For image", 'wpcf7')); ?>",
            tagForInputField: "<?php echo js_escape(__("For input field", 'wpcf7')); ?>",
            oneChoicePerLine: "<?php echo js_escape(__("* One choice per line.", 'wpcf7')); ?>",
            show: "<?php echo js_escape(__("Show", 'wpcf7')); ?>",
            hide: "<?php echo js_escape(__("Hide", 'wpcf7')); ?>",
            fileSizeLimit: "<?php echo js_escape(__("File size limit", 'wpcf7')); ?>",
            acceptableFileTypes: "<?php echo js_escape(__("Acceptable file types", 'wpcf7')); ?>"
        }
    };
    //]]>
    </script>
    <script type='text/javascript' src='<?php echo $javascript_url; ?>'></script>
    <?php
            }
        }
    
        function has_edit_cap() {
            return current_user_can(wpcf7_read_write_capability());
        }
    
        function management_page() {
            global $wp_version;
    
            if (function_exists('admin_url')) {
                $base_url = admin_url($this->admin_menu_parent());
            } else {
                $base_url = get_option('siteurl') . '/wp-admin/' . $this->admin_menu_parent();
            }
            $page = plugin_basename(__FILE__);
    
            switch ($_GET['message']) {
                case 'created':
                    $updated_message = __('Contact form created.', 'wpcf7');
                    break;
                case 'saved':
                    $updated_message = __('Contact form saved.', 'wpcf7');
                    break;
                case 'deleted':
                    $updated_message = __('Contact form deleted.', 'wpcf7');
                    break;
            }
    
            $contact_forms = $this->contact_forms();
    
            $id = $_POST['wpcf7-id'];
    
            if ('new' == $_GET['contactform']) {
                $unsaved = true;
                $current = -1;
                $cf = $this->default_pack(__('Untitled', 'wpcf7'), true);
            } elseif (array_key_exists($_GET['contactform'], $contact_forms)) {
                $current = (int) $_GET['contactform'];
                $cf = stripslashes_deep($contact_forms[$current]);
                $cf = $this->upgrade($cf);
            } else {
                $current = (int) array_shift(array_keys($contact_forms));
                $cf = stripslashes_deep($contact_forms[$current]);
                $cf = $this->upgrade($cf);
            }
    
            require_once WPCF7_PLUGIN_DIR . '/includes/admin-panel.php';
        }
    
        function default_pack($title, $initial = false) {
            $cf = array('title' => $title,
                'form' => $this->default_form_template(),
                'mail' => $this->default_mail_template(),
                'mail_2' => $this->default_mail_2_template(),
                'messages' => $this->default_messages_template(),
                'options' => $this->default_options_template());
            if ($initial)
                $cf['initial'] = true;
            return $cf;
        }
    
        function default_form_template() {
            $template .= '<p>' . __('Your Name', 'wpcf7') . ' ' . __('(required)', 'wpcf7') . '<br />' . "\n";
            $template .= '    [text* your-name] </p>' . "\n\n";
            $template .= '<p>' . __('Your Email', 'wpcf7') . ' ' . __('(required)', 'wpcf7') . '<br />' . "\n";
            $template .= '    [email* your-email] </p>' . "\n\n";
            $template .= '<p>' . __('Subject', 'wpcf7') . '<br />' . "\n";
            $template .= '    [text your-subject] </p>' . "\n\n";
            $template .= '<p>' . __('Your Message', 'wpcf7') . '<br />' . "\n";
            $template .= '    [textarea your-message] </p>' . "\n\n";
            $template .= '<p>[submit "' . __('Send', 'wpcf7') . '"]</p>';
            return $template;
        }
    
        function default_mail_template() {
            $subject = '[your-subject]';
            $sender = '[your-name] <[your-email]>';
            $body = '[your-message]';
            $recipient = get_option('admin_email');
            return compact('subject', 'sender', 'body', 'recipient');
        }
    
        function default_mail_2_template() {
            $active = false;
            $subject = '[your-subject]';
            $sender = '[your-name] <[your-email]>';
            $body = '[your-message]';
            $recipient = '[your-email]';
            return compact('active', 'subject', 'sender', 'body', 'recipient');
        }
    
        function default_messages_template() {
            $mail_sent_ok = $this->default_message('mail_sent_ok');
            $mail_sent_ng = $this->default_message('mail_sent_ng');
            $akismet_says_spam = $this->default_message('akismet_says_spam');
            $validation_error = $this->default_message('validation_error');
            $accept_terms = $this->default_message('accept_terms');
            $invalid_email = $this->default_message('invalid_email');
            $invalid_required = $this->default_message('invalid_required');
            $quiz_answer_not_correct = $this->default_message('quiz_answer_not_correct');
            $captcha_not_match = $this->default_message('captcha_not_match');
            $upload_failed = $this->default_message('upload_failed');
            $upload_file_type_invalid = $this->default_message('upload_file_type_invalid');
            $upload_file_too_large = $this->default_message('upload_file_too_large');
            return compact('mail_sent_ok', 'mail_sent_ng', 'akismet_says_spam',
                'validation_error', 'accept_terms', 'invalid_email', 'invalid_required', 'quiz_answer_not_correct',
                'captcha_not_match', 'upload_failed', 'upload_file_type_invalid', 'upload_file_too_large');
        }
    
        function default_options_template() {
            $recipient = get_option('admin_email'); // For backward compatibility.
            return compact('recipient');
        }
    
        function message($contact_form, $status) {
            if (! isset($contact_form['messages']) || ! isset($contact_form['messages'][$status]))
                return $this->default_message($status);
    
            return $contact_form['messages'][$status];
        }
    
        function default_message($status) {
            switch ($status) {
                case 'mail_sent_ok':
                    return __('Your message was sent successfully. Thanks.', 'wpcf7');
                case 'mail_sent_ng':
                    return __('Failed to send your message. Please try later or contact administrator by other way.', 'wpcf7');
                case 'akismet_says_spam':
                    return __('Failed to send your message. Please try later or contact administrator by other way.', 'wpcf7');
                case 'validation_error':
                    return __('Validation errors occurred. Please confirm the fields and submit it again.', 'wpcf7');
                case 'accept_terms':
                    return __('Please accept the terms to proceed.', 'wpcf7');
                case 'invalid_email':
                    return __('Email address seems invalid.', 'wpcf7');
                case 'invalid_required':
                    return __('Please fill the required field.', 'wpcf7');
                case 'captcha_not_match':
                    return __('Your entered code is incorrect.', 'wpcf7');
                case 'quiz_answer_not_correct':
                    return __('Your answer is not correct.', 'wpcf7');
                case 'upload_failed':
                    return __('Failed to upload file.', 'wpcf7');
                case 'upload_file_type_invalid':
                    return __('This file type is not allowed.', 'wpcf7');
                case 'upload_file_too_large':
                    return __('This file is too large.', 'wpcf7');
            }
        }
    
        function process_nonajax_submitting() {
            if (! isset($_POST['_wpcf7']))
                return;
    
            $id = (int) $_POST['_wpcf7'];
            $contact_forms = $this->contact_forms();
            if ($cf = $contact_forms[$id]) {
                $cf = stripslashes_deep($cf);
                $validation = $this->validate($cf);
    
                $handled_uploads = $this->handle_uploads($cf);
                if (! $handled_uploads['validation']['valid'])
                    $validation['valid'] = false;
                $validation['reason'] = array_merge($validation['reason'], $handled_uploads['validation']['reason']);
    
                if (! $validation['valid']) {
                    $_POST['_wpcf7_validation_errors'] = array('id' => $id, 'messages' => $validation['reason']);
                } elseif (! $this->acceptance($cf)) { // Not accepted terms
                    $_POST['_wpcf7_mail_sent'] = array('id' => $id, 'ok' => false, 'message' => $this->message($cf, 'accept_terms'));
                } elseif ($this->akismet($cf)) { // Spam!
                    $_POST['_wpcf7_mail_sent'] = array('id' => $id, 'ok' => false, 'message' => $this->message($cf, 'akismet_says_spam'), 'spam' => true);
                } elseif ($this->mail($cf, $handled_uploads['files'])) {
                    $_POST['_wpcf7_mail_sent'] = array('id' => $id, 'ok' => true, 'message' => $this->message($cf, 'mail_sent_ok'));
                } else {
                    $_POST['_wpcf7_mail_sent'] = array('id' => $id, 'ok' => false, 'message' => $this->message($cf, 'mail_sent_ng'));
                }
    
                // remove upload files
                foreach ($handled_uploads['files'] as $name => $path) {
                    @unlink($path);
                }
            }
        }
    
    /* Post content filtering */
    
        var $processing_unit_tag;
        var $processing_within;
        var $unit_count;
        var $widget_count;
    
        function the_content_filter($content) {
            $this->processing_within = 'p' . get_the_ID();
            $this->unit_count = 0;
    
            return $content;
        }
    
        function widget_text_filter($content) {
            $this->widget_count += 1;
            $this->processing_within = 'w' . $this->widget_count;
            $this->unit_count = 0;
    
            $regex = '/\[\s*contact-form\s+(\d+(?:\s+.*)?)\]/';
            return preg_replace_callback($regex, array(&$this, 'widget_text_filter_callback'), $content);
        }
    
        function widget_text_filter_callback($matches) {
            return $this->contact_form_tag_func($matches[1]);
        }
    
        function contact_form_tag_func($atts) {
            if (is_string($atts))
                $atts = explode(' ', $atts, 2);
    
            $atts = (array) $atts;
    
            $id = (int) array_shift($atts);
    
            $contact_forms = $this->contact_forms();
    
            if (! ($cf = $contact_forms[$id]))
                return '[contact-form 404 "Not Found"]';
    
            $cf = stripslashes_deep($cf);
    
            $this->unit_count += 1;
            $unit_tag = 'wpcf7-f' . $id . '-' . $this->processing_within . '-o' . $this->unit_count;
            $this->processing_unit_tag = $unit_tag;
    
            $form = '<div class="wpcf7" id="' . $unit_tag . '">';
    
            $url = parse_url($_SERVER['REQUEST_URI']);
            $url = $url['path'] . (empty($url['query']) ? '' : '?' . $url['query']) . '#' . $unit_tag;
    
            $form_elements = $this->form_elements($cf['form'], false);
            $multipart = false;
            foreach ($form_elements as $form_element) {
                if ('file' == $form_element['type']) {
                    $multipart = true;
                    break;
                }
            }
            $enctype = $multipart ? ' enctype="multipart/form-data"' : '';
    
            $form .= '<form action="' . $url . '" method="post" class="wpcf7-form"' . $enctype . '>';
            $form .= '<div style="display: none;">';
            $form .= '<input type="hidden" name="_wpcf7" value="' . $id . '" />';
            $form .= '<input type="hidden" name="_wpcf7_version" value="' . wpcf7_version() . '" />';
            $form .= '<input type="hidden" name="_wpcf7_unit_tag" value="' . $unit_tag . '" />';
            $form .= '</div>';
            $form .= $this->form_elements($cf['form']);
            $form .= '</form>';
    
            // Post response output for non-AJAX
            $class = 'wpcf7-response-output';
    
            if ($this->processing_unit_tag == $_POST['_wpcf7_unit_tag']) {
                if (isset($_POST['_wpcf7_mail_sent']) && $_POST['_wpcf7_mail_sent']['id'] == $id) {
                    if ($_POST['_wpcf7_mail_sent']['ok']) {
                        $class .= ' wpcf7-mail-sent-ok';
                        $content = $_POST['_wpcf7_mail_sent']['message'];
                    } else {
                        $class .= ' wpcf7-mail-sent-ng';
                        if ($_POST['_wpcf7_mail_sent']['spam'])
                            $class .= ' wpcf7-spam-blocked';
                        $content = $_POST['_wpcf7_mail_sent']['message'];
                    }
                } elseif (isset($_POST['_wpcf7_validation_errors']) && $_POST['_wpcf7_validation_errors']['id'] == $id) {
                    $class .= ' wpcf7-validation-errors';
                    $content = $this->message($cf, 'validation_error');
                }
            }
    
            $class = ' class="' . $class . '"';
    
            $form .= '<div' . $class . '>' . $content . '</div>';
    
            $form .= '</div>';
    
            $this->processing_unit_tag = null;
    
            if (WPCF7_AUTOP)
                $form = $this->wpautop_substitute($form);
    
            return $form;
        }
    
        function wpautop_substitute($pee, $br = 1) {
            $pee = $pee . "\n"; // just to make things a little easier, pad the end
            $pee = preg_replace('|<br />\s*<br />|', "\n\n", $pee);
            // Space things out a little
            $allblocks = '(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr)';
            $pee = preg_replace('!(<' . $allblocks . '[^>]*>)!', "\n$1", $pee);
            $pee = preg_replace('!(</' . $allblocks . '>)!', "$1\n\n", $pee);
            $pee = str_replace(array("\r\n", "\r"), "\n", $pee); // cross-platform newlines
            if ( strpos($pee, '<object') !== false ) {
                $pee = preg_replace('|\s*<param([^>]*)>\s*|', "<param$1>", $pee); // no pee inside object/embed
                $pee = preg_replace('|\s*</embed>\s*|', '</embed>', $pee);
            }
            $pee = preg_replace("/\n\n+/", "\n\n", $pee); // take care of duplicates
            // make paragraphs, including one at the end
            $pees = preg_split('/\n\s*\n/', $pee, -1, PREG_SPLIT_NO_EMPTY);
            $pee = '';
            foreach ( $pees as $tinkle )
                $pee .= '<p>' . trim($tinkle, "\n") . "</p>\n";
            $pee = preg_replace('|<p>\s*?</p>|', '', $pee); // under certain strange conditions it could create a P of entirely whitespace
            $pee = preg_replace('!<p>([^<]+)\s*?(</(?:div|address|form)[^>]*>)!', "<p>$1</p>$2", $pee);
            $pee = preg_replace( '|<p>|', "$1<p>", $pee );
            $pee = preg_replace('!<p>\s*(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee); // don't pee all over a tag
            $pee = preg_replace("|<p>(<li.+?)</p>|", "$1", $pee); // problem with nested lists
            $pee = preg_replace('|<p><blockquote([^>]*)>|i', "<blockquote$1><p>", $pee);
            $pee = str_replace('</blockquote></p>', '</p></blockquote>', $pee);
            $pee = preg_replace('!<p>\s*(</?' . $allblocks . '[^>]*>)!', "$1", $pee);
            $pee = preg_replace('!(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee);
            if ($br) {
                $pee = preg_replace_callback('/<(script|style).*?<\/\\1>/s', create_function('$matches', 'return str_replace("\n", "<WPPreserveNewline />", $matches[0]);'), $pee);
                $pee = preg_replace('|(?<!<br />)\s*\n|', "<br />\n", $pee); // optionally make line breaks
                $pee = str_replace('<WPPreserveNewline />', "\n", $pee);
            }
            $pee = preg_replace('!(</?' . $allblocks . '[^>]*>)\s*<br />!', "$1", $pee);
            $pee = preg_replace('!<br />(\s*</?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)[^>]*>)!', '$1', $pee);
            if (strpos($pee, '<pre') !== false)
                $pee = preg_replace_callback('!(<pre.*?>)(.*?)</pre>!is', 'clean_pre', $pee );
            $pee = preg_replace( "|\n</p>$|", '</p>', $pee );
    
            if (function_exists('get_shortcode_regex'))
                $pee = preg_replace('/<p>\s*?(' . get_shortcode_regex() . ')\s*<\/p>/s', '$1', $pee); // don't auto-p wrap shortcodes that stand alone
    
            return $pee;
        }
    
        function validate($contact_form) {
            $fes = $this->form_elements($contact_form['form'], false);
            $valid = true;
            $reason = array();
    
            foreach ($fes as $fe) {
                $type = $fe['type'];
                $name = $fe['name'];
                $values = $fe['values'];
                $raw_values = $fe['raw_values'];
    
                // Before validation corrections
                if (preg_match('/^(?:text|email|captchar|textarea)[*]?$/', $type))
                    $_POST[$name] = (string) $_POST[$name];
    
                if (preg_match('/^(?:text|email)[*]?$/', $type))
                    $_POST[$name] = trim(strtr($_POST[$name], "\n", " "));
    
                if (preg_match('/^(?:select|checkbox|radio)[*]?$/', $type)) {
                    if (is_array($_POST[$name])) {
                        foreach ($_POST[$name] as $key => $value) {
                            $value = stripslashes($value);
                            if (! in_array($value, (array) $values)) // Not in given choices.
                                unset($_POST[$name][$key]);
                        }
                    } else {
                        $value = stripslashes($_POST[$name]);
                        if (! in_array($value, (array) $values)) //  Not in given choices.
                            $_POST[$name] = '';
                    }
                }
    
                if ('acceptance' == $type)
                    $_POST[$name] = $_POST[$name] ? 1 : 0;
    
                // Required item (*)
                if (preg_match('/^(?:text|textarea)[*]$/', $type)) {
                    if (! isset($_POST[$name]) || '' == $_POST[$name]) {
                        $valid = false;
                        $reason[$name] = $this->message($contact_form, 'invalid_required');
                    }
                }
    
                if ('checkbox*' == $type) {
                    if (empty($_POST[$name])) {
                        $valid = false;
                        $reason[$name] = $this->message($contact_form, 'invalid_required');
                    }
                }
    
                if ('select*' == $type) {
                    if (empty($_POST[$name]) ||
                            ! is_array($_POST[$name]) && '---' == $_POST[$name] ||
                            is_array($_POST[$name]) && 1 == count($_POST[$name]) && '---' == $_POST[$name][0]) {
                        $valid = false;
                        $reason[$name] = $this->message($contact_form, 'invalid_required');
                    }
                }
    
                if (preg_match('/^email[*]?$/', $type)) {
                    if ('*' == substr($type, -1) && (! isset($_POST[$name]) || '' == $_POST[$name])) {
                        $valid = false;
                        $reason[$name] = $this->message($contact_form, 'invalid_required');
                    } elseif (isset($_POST[$name]) && '' != $_POST[$name] && ! is_email($_POST[$name])) {
                        $valid = false;
                        $reason[$name] = $this->message($contact_form, 'invalid_email');
                    }
                }
    
                if (preg_match('/^captchar$/', $type)) {
                    $captchac = '_wpcf7_captcha_challenge_' . $name;
                    if (! $this->check_captcha($_POST[$captchac], $_POST[$name])) {
                        $valid = false;
                        $reason[$name] = $this->message($contact_form, 'captcha_not_match');
                    }
                    $this->remove_captcha($_POST[$captchac]);
                }
    
                if ('quiz' == $type) {
                    $answer = $this->canonicalize($_POST[$name]);
                    $answer_hash = wp_hash($answer, 'wpcf7_quiz');
                    $expected_hash = $_POST['_wpcf7_quiz_answer_' . $name];
                    if ($answer_hash != $expected_hash) {
                        $valid = false;
                        $reason[$name] = $this->message($contact_form, 'quiz_answer_not_correct');
                    }
                }
            }
            return compact('valid', 'reason');
        }
    
        function refill_captcha($contact_form) {
            $fes = $this->form_elements($contact_form['form'], false);
            $refill = array();
    
            foreach ($fes as $fe) {
                $type = $fe['type'];
                $name = $fe['name'];
                $options = $fe['options'];
                if ('captchac' == $type) {
                    $op = $this->captchac_options($options);
                    if ($filename = $this->generate_captcha($op)) {
                        $captcha_url = trailingslashit(WPCF7_CAPTCHA_TMP_URL) . $filename;
                        $refill[$name] = $captcha_url;
                    }
                }
            }
            return $refill;
        }
    
        function refill_quiz($contact_form) {
            $fes = $this->form_elements($contact_form['form'], false);
            $refill = array();
    
            foreach ($fes as $fe) {
                $type = $fe['type'];
                $name = $fe['name'];
                $values = $fe['values'];
                $raw_values = $fe['raw_values'];
    
                if ('quiz' != $type)
                    continue;
    
                if (count($values) == 0)
                    continue;
    
                if (count($values) == 1)
                    $question = $values[0];
                else
                    $question = $values[array_rand($values)];
    
                $pipes = $this->get_pipes($raw_values);
                $answer = $this->pipe($pipes, $question);
                $answer = $this->canonicalize($answer);
    
                $refill[$name] = array($question, wp_hash($answer, 'wpcf7_quiz'));
            }
    
            return $refill;
        }
    
        function wp_head() {
            $stylesheet_url = WPCF7_PLUGIN_URL . '/stylesheet.css';
            echo '<link rel="stylesheet" href="' . $stylesheet_url . '" type="text/css" />';
    
            if ('rtl' == get_bloginfo('text_direction')) {
                $stylesheet_rtl_url = WPCF7_PLUGIN_URL . '/stylesheet-rtl.css';
                echo '<link rel="stylesheet" href="' . $stylesheet_rtl_url . '" type="text/css" />';
            }
    
            $javascript_url = WPCF7_PLUGIN_URL . '/contact-form-7.js';
    ?>
    <script type='text/javascript' src='<?php echo $javascript_url; ?>'></script>
    <?php
        }
    
        function load_js() {
            global $pagenow;
            if (is_admin() && $this->admin_menu_parent() == $pagenow && false !== strpos($_GET['page'], 'contact-form-7'))
                wp_enqueue_script('jquery');
            if (! is_admin())
                wp_enqueue_script('jquery-form', '/wp-includes/js/jquery/jquery.form.js', array('jquery'), '1.0.3');
        }
    
    /* Processing form element placeholders */
    
        function form_elements($form, $replace = true) {
            $types = 'text[*]?|email[*]?|textarea[*]?|select[*]?|checkbox[*]?|radio|acceptance|captchac|captchar|file[*]?|quiz';
            $regex = '%\[\s*(' . $types . ')(\s+[a-zA-Z][0-9a-zA-Z:._-]*)([-0-9a-zA-Z:#_/|\s]*)?((?:\s*(?:"[^"]*"|\'[^\']*\'))*)?\s*\]%';
            $submit_regex = '%\[\s*submit(\s[-0-9a-zA-Z:#_/\s]*)?(\s+(?:"[^"]*"|\'[^\']*\'))?\s*\]%';
            if ($replace) {
                $form = preg_replace_callback($regex, array(&$this, 'form_element_replace_callback'), $form);
                // Submit button
                $form = preg_replace_callback($submit_regex, array(&$this, 'submit_replace_callback'), $form);
                return $form;
            } else {
                $results = array();
                preg_match_all($regex, $form, $matches, PREG_SET_ORDER);
                foreach ($matches as $match) {
                    $results[] = (array) $this->form_element_parse($match);
                }
                return $results;
            }
        }
    
        function form_element_replace_callback($matches) {
            extract((array) $this->form_element_parse($matches)); // $type, $name, $options, $values, $raw_values
    
            if ($this->processing_unit_tag == $_POST['_wpcf7_unit_tag']) {
                $validation_error = $_POST['_wpcf7_validation_errors']['messages'][$name];
                $validation_error = $validation_error ? '<span class="wpcf7-not-valid-tip-no-ajax">' . $validation_error . '</span>' : '';
            } else {
                $validation_error = '';
            }
    
            $atts = '';
            $options = (array) $options;
    
            $id_array = preg_grep('%^id:[-0-9a-zA-Z_]+$%', $options);
            if ($id = array_shift($id_array)) {
                preg_match('%^id:([-0-9a-zA-Z_]+)$%', $id, $id_matches);
                if ($id = $id_matches[1])
                    $atts .= ' id="' . $id . '"';
            }
    
            $class_att = "";
            $class_array = preg_grep('%^class:[-0-9a-zA-Z_]+$%', $options);
            foreach ($class_array as $class) {
                preg_match('%^class:([-0-9a-zA-Z_]+)$%', $class, $class_matches);
                if ($class = $class_matches[1])
                    $class_att .= ' ' . $class;
            }
    
            if (preg_match('/^email[*]?$/', $type))
                $class_att .= ' wpcf7-validates-as-email';
            if (preg_match('/[*]$/', $type))
                $class_att .= ' wpcf7-validates-as-required';
    
            if (preg_match('/^checkbox[*]?$/', $type))
                $class_att .= ' wpcf7-checkbox';
    
            if ('radio' == $type)
                $class_att .= ' wpcf7-radio';
    
            if (preg_match('/^captchac$/', $type))
                $class_att .= ' wpcf7-captcha-' . $name;
    
            if ('acceptance' == $type) {
                $class_att .= ' wpcf7-acceptance';
                if (preg_grep('%^invert$%', $options))
                    $class_att .= ' wpcf7-invert';
            }
    
            if ($class_att)
                $atts .= ' class="' . trim($class_att) . '"';
    
            // Value.
            if ($this->processing_unit_tag == $_POST['_wpcf7_unit_tag']) {
                if (isset($_POST['_wpcf7_mail_sent']) && $_POST['_wpcf7_mail_sent']['ok'])
                    $value = '';
                elseif ('captchar' == $type)
                    $value = '';
                else
                    $value = $_POST[$name];
            } else {
                $value = $values[0];
            }
    
            // Default selected/checked for select/checkbox/radio
            if (preg_match('/^(?:select|checkbox|radio)[*]?$/', $type)) {
                $scr_defaults = array_values(preg_grep('/^default:/', $options));
                preg_match('/^default:([0-9_]+)$/', $scr_defaults[0], $scr_default_matches);
                $scr_default = explode('_', $scr_default_matches[1]);
            }
    
            switch ($type) {
                case 'text':
                case 'text*':
                case 'email':
                case 'email*':
                case 'captchar':
                    if (is_array($options)) {
                        $size_maxlength_array = preg_grep('%^[0-9]*[/x][0-9]*$%
  • The topic ‘Vertically-Align Input Fields in Javascript Code?’ is closed to new replies.