Example #1
0
function wpcf7_count_shortcode_handler($tag)
{
    $tag = new WPCF7_Shortcode($tag);
    if (empty($tag->name)) {
        return '';
    }
    $target = wpcf7_scan_shortcode(array('name' => $tag->name));
    $maxlength = $minlength = null;
    if ($target) {
        $target = new WPCF7_Shortcode($target[0]);
        $maxlength = $target->get_maxlength_option();
        $minlength = $target->get_minlength_option();
        if ($maxlength && $minlength && $maxlength < $minlength) {
            $maxlength = $minlength = null;
        }
    }
    if ($tag->has_option('down')) {
        $value = (int) $maxlength;
        $class = 'wpcf7-character-count down';
    } else {
        $value = '0';
        $class = 'wpcf7-character-count up';
    }
    $atts = array();
    $atts['id'] = $tag->get_id_option();
    $atts['class'] = $tag->get_class_option($class);
    $atts['data-target-name'] = $tag->name;
    $atts['data-starting-value'] = $value;
    $atts['data-current-value'] = $value;
    $atts['data-maximum-value'] = $maxlength;
    $atts['data-minimum-value'] = $minlength;
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<span %1$s>%2$s</span>', $atts, $value);
    return $html;
}
Example #2
0
function wpcf7_file_shortcode_handler($tag)
{
    $tag = new WPCF7_Shortcode($tag);
    if (empty($tag->name)) {
        return '';
    }
    $validation_error = wpcf7_get_validation_error($tag->name);
    $class = wpcf7_form_controls_class($tag->type);
    if ($validation_error) {
        $class .= ' wpcf7-not-valid';
    }
    $atts = array();
    $atts['size'] = $tag->get_size_option('40');
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_option('id', 'id', true);
    $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
    if ($tag->is_required()) {
        $atts['aria-required'] = 'true';
    }
    $atts['type'] = 'file';
    $atts['name'] = $tag->name;
    $atts['value'] = '1';
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<span class="wpcf7-form-control-wrap %1$s"><input %2$s />%3$s</span>', $tag->name, $atts, $validation_error);
    return $html;
}
Example #3
0
 public static function shortcode_handler($tag)
 {
     $tag = new WPCF7_Shortcode($tag);
     if (empty($tag->name)) {
         return '';
     }
     $validation_error = wpcf7_get_validation_error($tag->name);
     $class = wpcf7_form_controls_class($tag->type, 'wpcf7-date');
     if ($validation_error) {
         $class .= ' wpcf7-not-valid';
     }
     $atts = array();
     $atts['size'] = $tag->get_size_option('40');
     $atts['maxlength'] = $tag->get_maxlength_option();
     $atts['class'] = $tag->get_class_option($class);
     $atts['id'] = $tag->get_option('id', 'id', true);
     $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
     $atts['type'] = 'text';
     if ($tag->has_option('readonly')) {
         $atts['readonly'] = 'readonly';
     }
     if ($tag->is_required()) {
         $atts['aria-required'] = 'true';
     }
     $value = (string) reset($tag->values);
     if ($tag->has_option('placeholder') || $tag->has_option('watermark')) {
         $atts['placeholder'] = $value;
         $value = '';
     }
     if (wpcf7_is_posted() && isset($_POST[$tag->name])) {
         $value = stripslashes_deep($_POST[$tag->name]);
     }
     $atts['value'] = $value;
     $dpOptions = array();
     $dpOptions['dateFormat'] = str_replace('_', ' ', $tag->get_option('date-format', '', true));
     $dpOptions['minDate'] = $tag->get_option('min-date', '', true);
     $dpOptions['maxDate'] = $tag->get_option('max-date', '', true);
     $dpOptions['firstDay'] = (int) $tag->get_option('first-day', 'int', true);
     $dpOptions['showAnim'] = $tag->get_option('animate', '', true);
     $dpOptions['yearRange'] = str_replace('-', ':', $tag->get_option('year-range', '', true));
     $dpOptions['numberOfMonths'] = (int) $tag->get_option('months', 'int', true);
     $dpOptions['showButtonPanel'] = $tag->has_option('buttons');
     $dpOptions['changeMonth'] = $tag->has_option('change-month');
     $dpOptions['changeYear'] = $tag->has_option('change-year');
     $dpOptions['noWeekends'] = $tag->has_option('no-weekends');
     $inline = $tag->has_option('inline');
     if ($inline) {
         $dpOptions['altField'] = "#{$tag->name}_alt";
         $atts['id'] = "{$tag->name}_alt";
     }
     $atts['type'] = $inline ? 'hidden' : 'text';
     $atts['name'] = $tag->name;
     $atts = wpcf7_format_atts($atts);
     $html = sprintf('<span class="wpcf7-form-control-wrap %1$s"><input %2$s />%3$s %4$s</span>', $tag->name, $atts, $validation_error, $inline ? "<div id=\"{$tag->name}_datepicker\"></div>" : '');
     $html = apply_filters('cf7dp_date_input', $html);
     $dp_selector = $inline ? '#' . $tag->name . '_datepicker' : $tag->name;
     $dp = new CF7_DateTimePicker('date', $dp_selector, $dpOptions);
     self::$inline_js[] = $dp->generate_code($inline);
     return $html;
 }
Example #4
0
 function wpcf7_icon_btn_shortcode_handler($tag)
 {
     $tag = new WPCF7_Shortcode($tag);
     $class = wpcf7_form_controls_class($tag->type);
     $atts = array();
     $atts['class'] = $tag->get_class_option($class);
     $atts['class'] = $atts['class'] . ' wpcf7-submit';
     //add the default submit class
     $atts['id'] = $tag->get_id_option();
     $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
     $atts['type'] = 'submit';
     $atts = wpcf7_format_atts($atts);
     //get icon class
     $icon_class = $tag->get_option('icon', '', true);
     $icon_class = empty($icon_class) ? 'fa-send' : $icon_class;
     //add default class if empty
     $icon_class = 'fa ' . esc_attr($icon_class);
     //add fa // did u notice space after fa
     //get button label
     $value = isset($tag->values[0]) ? $tag->values[0] : '';
     if (empty($value)) {
         $value = __('Send', 'contact-form-7');
     }
     //complete string
     $html = sprintf('<button %1$s /><i class="%2$s"></i> %3$s</button>', $atts, $icon_class, esc_html($value));
     return $html;
 }
Example #5
0
function wpcf7_acceptance_shortcode_handler($tag)
{
    $tag = new WPCF7_Shortcode($tag);
    if (empty($tag->name)) {
        return '';
    }
    $validation_error = wpcf7_get_validation_error($tag->name);
    $class = wpcf7_form_controls_class($tag->type);
    if ($validation_error) {
        $class .= ' wpcf7-not-valid';
    }
    if ($tag->has_option('invert')) {
        $class .= ' wpcf7-invert';
    }
    $atts = array();
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_id_option();
    $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
    if ($tag->has_option('default:on')) {
        $atts['checked'] = 'checked';
    }
    $atts['aria-invalid'] = $validation_error ? 'true' : 'false';
    $atts['type'] = 'checkbox';
    $atts['name'] = $tag->name;
    $atts['value'] = '1';
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<span class="wpcf7-form-control-wrap %1$s"><input %2$s />%3$s</span>', sanitize_html_class($tag->name), $atts, $validation_error);
    return $html;
}
Example #6
0
function wpcf7_quiz_shortcode_handler($tag)
{
    $tag = new WPCF7_Shortcode($tag);
    if (empty($tag->name)) {
        return '';
    }
    $validation_error = wpcf7_get_validation_error($tag->name);
    $class = wpcf7_form_controls_class($tag->type);
    if ($validation_error) {
        $class .= ' wpcf7-not-valid';
    }
    $atts = array();
    $atts['size'] = $tag->get_size_option('40');
    $atts['maxlength'] = $tag->get_maxlength_option();
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_option('id', 'id', true);
    $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
    $atts['aria-required'] = 'true';
    $pipes = $tag->pipes;
    if (is_a($pipes, 'WPCF7_Pipes') && !$pipes->zero()) {
        $pipe = $pipes->random_pipe();
        $question = $pipe->before;
        $answer = $pipe->after;
    } else {
        // default quiz
        $question = '1+1=?';
        $answer = '2';
    }
    $answer = wpcf7_canonicalize($answer);
    $atts['type'] = 'text';
    $atts['name'] = $tag->name;
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<span class="wpcf7-form-control-wrap %1$s"><span class="wpcf7-quiz-label">%2$s</span>&nbsp;<input %3$s /><input type="hidden" name="_wpcf7_quiz_answer_%1$s" value="%4$s" />%5$s</span>', $tag->name, esc_html($question), $atts, wp_hash($answer, 'wpcf7_quiz'), $validation_error);
    return $html;
}
function wpcf7_mathcaptcha_shortcode_handler($tag)
{
    if (!is_user_logged_in() || is_user_logged_in() && !Math_Captcha()->options['general']['hide_for_logged_users']) {
        $tag = new WPCF7_Shortcode($tag);
        if (empty($tag->name)) {
            return '';
        }
        $validation_error = wpcf7_get_validation_error($tag->name);
        $class = wpcf7_form_controls_class($tag->type);
        if ($validation_error) {
            $class .= ' wpcf7-not-valid';
        }
        $atts = array();
        $atts['size'] = 2;
        $atts['maxlength'] = 2;
        $atts['class'] = $tag->get_class_option($class);
        $atts['id'] = $tag->get_option('id', 'id', true);
        $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
        $atts['aria-required'] = 'true';
        $atts['type'] = 'text';
        $atts['name'] = $tag->name;
        $atts['value'] = '';
        $atts = wpcf7_format_atts($atts);
        $mc_form = Math_Captcha()->core->generate_captcha_phrase('cf7');
        $mc_form[$mc_form['input']] = '<input %2$s />';
        $math_captcha_title = apply_filters('math_captcha_title', Math_Captcha()->options['general']['title']);
        return sprintf((empty($math_captcha_title) ? '' : $math_captcha_title) . '<span class="wpcf7-form-control-wrap %1$s">' . $mc_form[1] . $mc_form[2] . $mc_form[3] . '%3$s</span><input type="hidden" value="' . (Math_Captcha()->core->session_number - 1) . '" name="' . $tag->name . '-sn" />', $tag->name, $atts, $validation_error);
    }
}
Example #8
0
function wpcf7_text_shortcode_handler($tag)
{
    $tag = new WPCF7_Shortcode($tag);
    if (empty($tag->name)) {
        return '';
    }
    $validation_error = wpcf7_get_validation_error($tag->name);
    $class = wpcf7_form_controls_class($tag->type, 'wpcf7-text');
    if (in_array($tag->basetype, array('email', 'url', 'tel'))) {
        $class .= ' wpcf7-validates-as-' . $tag->basetype;
    }
    if ($validation_error) {
        $class .= ' wpcf7-not-valid';
    }
    $atts = array();
    $atts['size'] = $tag->get_size_option('40');
    $atts['maxlength'] = $tag->get_maxlength_option();
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_option('id', 'id', true);
    $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
    if ($tag->has_option('readonly')) {
        $atts['readonly'] = 'readonly';
    }
    if ($tag->is_required()) {
        $atts['aria-required'] = 'true';
    }
    $atts['aria-invalid'] = $validation_error ? 'true' : 'false';
    $value = (string) reset($tag->values);
    if ($tag->has_option('placeholder') || $tag->has_option('watermark')) {
        $atts['placeholder'] = $value;
        $value = '';
    } elseif (empty($value) && is_user_logged_in()) {
        $user = wp_get_current_user();
        $user_options = array('default:user_login' => 'user_login', 'default:user_email' => 'user_email', 'default:user_url' => 'user_url', 'default:user_first_name' => 'first_name', 'default:user_last_name' => 'last_name', 'default:user_nickname' => 'nickname', 'default:user_display_name' => 'display_name');
        foreach ($user_options as $option => $prop) {
            if ($tag->has_option($option)) {
                $value = $user->{$prop};
                break;
            }
        }
    }
    if (wpcf7_is_posted() && isset($_POST[$tag->name])) {
        $value = stripslashes_deep($_POST[$tag->name]);
    }
    $atts['value'] = $value;
    if (wpcf7_support_html5()) {
        $atts['type'] = $tag->basetype;
    } else {
        $atts['type'] = 'text';
    }
    $atts['name'] = $tag->name;
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<span class="wpcf7-form-control-wrap %1$s"><input %2$s />%3$s</span>', $tag->name, $atts, $validation_error);
    return $html;
}
Example #9
0
function wpcf7_text_shortcode_handler($tag)
{
    $tag = new WPCF7_Shortcode($tag);
    if (empty($tag->name)) {
        return '';
    }
    $validation_error = wpcf7_get_validation_error($tag->name);
    $class = wpcf7_form_controls_class($tag->type, 'wpcf7-text');
    if (in_array($tag->basetype, array('email', 'url', 'tel'))) {
        $class .= ' wpcf7-validates-as-' . $tag->basetype;
    }
    if ($validation_error) {
        $class .= ' wpcf7-not-valid';
    }
    $atts = array();
    $atts['size'] = $tag->get_size_option('40');
    $atts['maxlength'] = $tag->get_maxlength_option();
    $atts['minlength'] = $tag->get_minlength_option();
    if ($atts['maxlength'] && $atts['minlength'] && $atts['maxlength'] < $atts['minlength']) {
        unset($atts['maxlength'], $atts['minlength']);
    }
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_id_option();
    $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
    $atts['autocomplete'] = $tag->get_option('autocomplete', '[-0-9a-zA-Z]+', true);
    if ($tag->has_option('readonly')) {
        $atts['readonly'] = 'readonly';
    }
    if ($tag->is_required()) {
        $atts['aria-required'] = 'true';
    }
    $atts['aria-invalid'] = $validation_error ? 'true' : 'false';
    $value = (string) reset($tag->values);
    if ($tag->has_option('placeholder') || $tag->has_option('watermark')) {
        $atts['placeholder'] = $value;
        $value = '';
    }
    $value = $tag->get_default_option($value);
    $value = wpcf7_get_hangover($tag->name, $value);
    $atts['value'] = $value;
    if (wpcf7_support_html5()) {
        $atts['type'] = $tag->basetype;
    } else {
        $atts['type'] = 'text';
    }
    $atts['name'] = $tag->name;
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<span class="wpcf7-form-control-wrap %1$s"><input %2$s />%3$s</span>', sanitize_html_class($tag->name), $atts, $validation_error);
    return $html;
}
Example #10
0
function wpcf7_text_shortcode_handler($tag)
{
    $tag = new WPCF7_Shortcode($tag);
    if (empty($tag->name)) {
        return '';
    }
    $validation_error = wpcf7_get_validation_error($tag->name);
    $class = wpcf7_form_controls_class($tag->type, 'wpcf7-text');
    if (in_array($tag->basetype, array('email', 'url', 'tel'))) {
        $class .= ' wpcf7-validates-as-' . $tag->basetype;
    }
    if ($validation_error) {
        $class .= ' wpcf7-not-valid';
    }
    $atts = array();
    $atts['size'] = $tag->get_size_option('40');
    $atts['maxlength'] = $tag->get_maxlength_option();
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_option('id', 'id', true);
    $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
    if ($tag->has_option('readonly')) {
        $atts['readonly'] = 'readonly';
    }
    if ($tag->is_required()) {
        $atts['aria-required'] = 'true';
    }
    $atts['aria-invalid'] = $validation_error ? 'true' : 'false';
    $value = (string) reset($tag->values);
    if ($tag->has_option('placeholder') || $tag->has_option('watermark')) {
        $atts['placeholder'] = $value;
        $value = '';
    } elseif (empty($value)) {
        $value = $tag->get_default_option();
    }
    if (wpcf7_is_posted() && isset($_POST[$tag->name])) {
        $value = stripslashes_deep($_POST[$tag->name]);
    }
    $atts['value'] = $value;
    if (wpcf7_support_html5()) {
        $atts['type'] = $tag->basetype;
    } else {
        $atts['type'] = 'text';
    }
    $atts['name'] = $tag->name;
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<input %2$s />', $tag->name, $atts, $validation_error);
    return $html;
}
Example #11
0
function wpcf7_button_shortcode_handler($tag)
{
    $tag = new WPCF7_Shortcode($tag);
    $class = wpcf7_form_controls_class($tag->type);
    $atts = array();
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_id_option();
    $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
    $value = isset($tag->values[0]) ? $tag->values[0] : '';
    if (empty($value)) {
        $value = __('Send', 'contact-form-7');
    }
    $atts['type'] = 'submit';
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<button %1$s>%2$s</button>', $atts, $value);
    return $html;
}
Example #12
0
function wpcf7_number_shortcode_handler($tag)
{
    $tag = new WPCF7_Shortcode($tag);
    if (empty($tag->name)) {
        return '';
    }
    $validation_error = wpcf7_get_validation_error($tag->name);
    $class = wpcf7_form_controls_class($tag->type);
    $class .= ' wpcf7-validates-as-number';
    if ($validation_error) {
        $class .= ' wpcf7-not-valid';
    }
    $atts = array();
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_id_option();
    $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
    $atts['min'] = $tag->get_option('min', 'signed_int', true);
    $atts['max'] = $tag->get_option('max', 'signed_int', true);
    $atts['step'] = $tag->get_option('step', 'int', true);
    if ($tag->has_option('readonly')) {
        $atts['readonly'] = 'readonly';
    }
    if ($tag->is_required()) {
        $atts['aria-required'] = 'true';
    }
    $atts['aria-invalid'] = $validation_error ? 'true' : 'false';
    $value = (string) reset($tag->values);
    if ($tag->has_option('placeholder') || $tag->has_option('watermark')) {
        $atts['placeholder'] = $value;
        $value = '';
    }
    if (wpcf7_is_posted() && isset($_POST[$tag->name])) {
        $value = wp_unslash($_POST[$tag->name]);
    }
    $atts['value'] = $value;
    if (wpcf7_support_html5()) {
        $atts['type'] = $tag->basetype;
    } else {
        $atts['type'] = 'text';
    }
    $atts['name'] = $tag->name;
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<span class="wpcf7-form-control-wrap %1$s"><input %2$s />%3$s</span>', sanitize_html_class($tag->name), $atts, $validation_error);
    return $html;
}
Example #13
0
function wpcf7_submit_form_tag_handler($tag)
{
    $tag = new WPCF7_FormTag($tag);
    $class = wpcf7_form_controls_class($tag->type);
    $atts = array();
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_id_option();
    $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
    $value = isset($tag->values[0]) ? $tag->values[0] : '';
    if (empty($value)) {
        $value = __('Send', 'contact-form-7');
    }
    $atts['type'] = 'submit';
    $atts['value'] = $value;
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<input %1$s />', $atts);
    return $html;
}
Example #14
0
function wpcf7c_back_shortcode_handler($tag)
{
    $tag = new WPCF7_Shortcode($tag);
    $class = wpcf7_form_controls_class($tag->type);
    $atts = array();
    $atts['class'] = $tag->get_class_option($class) . " wpcf7c-elm-step2 wpcf7c-btn-back wpcf7c-force-hide";
    $atts['id'] = $tag->get_option('id', 'id', true);
    $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
    $value = isset($tag->values[0]) ? $tag->values[0] : '';
    if (empty($value)) {
        $value = __('Backedit', 'contact-form-7-add-confirm');
    }
    $atts['type'] = 'button';
    $atts['value'] = $value;
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<input %1$s />', $atts);
    return $html;
}
Example #15
0
function wpcf7_hidden_form_tag_handler($tag)
{
    $tag = new WPCF7_FormTag($tag);
    if (empty($tag->name)) {
        return '';
    }
    $atts = array();
    $class = wpcf7_form_controls_class($tag->type);
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_id_option();
    $value = (string) reset($tag->values);
    $value = $tag->get_default_option($value);
    $atts['value'] = $value;
    $atts['type'] = 'hidden';
    $atts['name'] = $tag->name;
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<input %s />', $atts);
    return $html;
}
Example #16
0
function wpcf7_textarea_shortcode_handler($tag)
{
    $tag = new WPCF7_Shortcode($tag);
    if (empty($tag->name)) {
        return '';
    }
    $validation_error = wpcf7_get_validation_error($tag->name);
    $class = wpcf7_form_controls_class($tag->type);
    if ($validation_error) {
        $class .= ' wpcf7-not-valid';
    }
    $atts = array();
    $atts['cols'] = $tag->get_cols_option('40');
    $atts['rows'] = $tag->get_rows_option('10');
    $atts['maxlength'] = $tag->get_maxlength_option();
    $atts['minlength'] = $tag->get_minlength_option();
    if ($atts['maxlength'] && $atts['minlength'] && $atts['maxlength'] < $atts['minlength']) {
        unset($atts['maxlength'], $atts['minlength']);
    }
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_id_option();
    $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
    $atts['autocomplete'] = $tag->get_option('autocomplete', '[-0-9a-zA-Z]+', true);
    if ($tag->has_option('readonly')) {
        $atts['readonly'] = 'readonly';
    }
    if ($tag->is_required()) {
        $atts['aria-required'] = 'true';
    }
    $atts['aria-invalid'] = $validation_error ? 'true' : 'false';
    $value = empty($tag->content) ? (string) reset($tag->values) : $tag->content;
    if ($tag->has_option('placeholder') || $tag->has_option('watermark')) {
        $atts['placeholder'] = $value;
        $value = '';
    }
    $value = $tag->get_default_option($value);
    $value = wpcf7_get_hangover($tag->name, $value);
    $atts['name'] = $tag->name;
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<span class="wpcf7-form-control-wrap %1$s"><textarea %2$s>%3$s</textarea>%4$s</span>', sanitize_html_class($tag->name), $atts, esc_textarea($value), $validation_error);
    return $html;
}
Example #17
0
function wpcf7_textarea_shortcode_handler($tag)
{
    $tag = new WPCF7_Shortcode($tag);
    if (empty($tag->name)) {
        return '';
    }
    $validation_error = wpcf7_get_validation_error($tag->name);
    $class = wpcf7_form_controls_class($tag->type);
    if ($validation_error) {
        $class .= ' wpcf7-not-valid';
    }
    $atts = array();
    $atts['cols'] = $tag->get_cols_option('');
    $atts['rows'] = $tag->get_rows_option('');
    $atts['maxlength'] = $tag->get_maxlength_option();
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_option('id', 'id', true);
    $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
    if ($tag->has_option('readonly')) {
        $atts['readonly'] = 'readonly';
    }
    if ($tag->is_required()) {
        $atts['aria-required'] = 'true';
    }
    $atts['aria-invalid'] = $validation_error ? 'true' : 'false';
    $value = (string) reset($tag->values);
    if ('' !== $tag->content) {
        $value = $tag->content;
    }
    if ($tag->has_option('placeholder') || $tag->has_option('watermark')) {
        $atts['placeholder'] = $value;
        $value = '';
    }
    if (wpcf7_is_posted() && isset($_POST[$tag->name])) {
        $value = stripslashes_deep($_POST[$tag->name]);
    }
    $atts['name'] = $tag->name;
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<textarea %2$s></textarea>', $tag->name, $atts, esc_textarea($value), $validation_error);
    return $html;
}
Example #18
0
function wpcf7_quiz_form_tag_handler($tag)
{
    $tag = new WPCF7_FormTag($tag);
    if (empty($tag->name)) {
        return '';
    }
    $validation_error = wpcf7_get_validation_error($tag->name);
    $class = wpcf7_form_controls_class($tag->type);
    if ($validation_error) {
        $class .= ' wpcf7-not-valid';
    }
    $atts = array();
    $atts['size'] = $tag->get_size_option('40');
    $atts['maxlength'] = $tag->get_maxlength_option();
    $atts['minlength'] = $tag->get_minlength_option();
    if ($atts['maxlength'] && $atts['minlength'] && $atts['maxlength'] < $atts['minlength']) {
        unset($atts['maxlength'], $atts['minlength']);
    }
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_id_option();
    $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
    $atts['autocomplete'] = 'off';
    $atts['aria-required'] = 'true';
    $atts['aria-invalid'] = $validation_error ? 'true' : 'false';
    $pipes = $tag->pipes;
    if ($pipes instanceof WPCF7_Pipes && !$pipes->zero()) {
        $pipe = $pipes->random_pipe();
        $question = $pipe->before;
        $answer = $pipe->after;
    } else {
        // default quiz
        $question = '1+1=?';
        $answer = '2';
    }
    $answer = wpcf7_canonicalize($answer);
    $atts['type'] = 'text';
    $atts['name'] = $tag->name;
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<span class="wpcf7-form-control-wrap %1$s"><label><span class="wpcf7-quiz-label">%2$s</span> <input %3$s /></label><input type="hidden" name="_wpcf7_quiz_answer_%4$s" value="%5$s" />%6$s</span>', sanitize_html_class($tag->name), esc_html($question), $atts, $tag->name, wp_hash($answer, 'wpcf7_quiz'), $validation_error);
    return $html;
}
function wpcf7_robottrap_shortcode_handler($tag)
{
    $tag = new WPCF7_Shortcode($tag);
    // default field name
    if (empty($tag->name)) {
        $tag->name = 'email-verify';
    }
    // per field errors
    $validation_error = wpcf7_get_validation_error($tag->name);
    // add wpcf7 specific classes
    $class = wpcf7_form_controls_class('text');
    if ($validation_error) {
        $class .= ' wpcf7-not-valid';
    }
    $atts = array();
    $atts['size'] = $tag->get_size_option('40');
    $atts['maxlength'] = $tag->get_maxlength_option();
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_id_option();
    $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
    /**
     * Robots may look for the word "hidden".
     *
     * @ignore Commented out.
     */
    //$atts['aria-hidden'] = 'true';
    $value = (string) reset($tag->values);
    if ($tag->has_option('placeholder') || $tag->has_option('watermark')) {
        $atts['placeholder'] = $value;
        $value = '';
    } elseif ('' === $value) {
        $value = $tag->get_default_option();
    }
    $value = wpcf7_get_hangover($tag->name, $value);
    $atts['value'] = $value;
    $atts['type'] = 'text';
    $atts['name'] = $tag->name;
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<span class="wpcf7-form-control-wrap %s"><input %s />%s</span>', sanitize_html_class($tag->name), $atts, $validation_error);
    return $html;
}
/**
 * Renders the itens id input control (html code)
 * 
 * @param string $tagName defined by the user at form's edit form (inside 
 *                        shortcode brackets)
 * 
 * @return void
 */
function wpcf7_authoremail_shortcode_handler($tagName)
{
    global $post;
    $tag = new WPCF7_Shortcode($tagName);
    if (empty($tag->name)) {
        return '';
    }
    $class = wpcf7_form_controls_class($tag->type);
    $class .= ' wpcf7-authoremail';
    $author = get_the_author();
    $author_email = get_the_author_meta('user_email');
    $atts = array();
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_id_option();
    $atts['type'] = 'hidden';
    $atts['value'] = $author_email;
    $atts['name'] = $tag->name;
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<input %1$s />', $atts);
    return $html;
}
Example #21
0
function wpcf7_birthday_shortcode_handler($tag)
{
    $tag = new WPCF7_Shortcode($tag);
    if (empty($tag->name)) {
        return '';
    }
    $validation_error = wpcf7_get_validation_error($tag->name);
    $class = wpcf7_form_controls_class($tag->type, 'wpcf7-birthday');
    if ($validation_error) {
        $class .= ' wpcf7-not-valid';
    }
    $atts = array();
    $atts['size'] = $tag->get_size_option('5');
    $atts['maxlength'] = $tag->get_maxlength_option();
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_id_option();
    $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
    if ($tag->has_option('readonly')) {
        $atts['readonly'] = 'readonly';
    }
    if ($tag->is_required()) {
        $atts['aria-required'] = 'true';
    }
    $atts['aria-invalid'] = $validation_error ? 'true' : 'false';
    $value = (string) reset($tag->values);
    if ($tag->has_option('placeholder') || $tag->has_option('watermark')) {
        $atts['placeholder'] = $value;
        $value = '';
    } elseif ('' === $value) {
        $value = $tag->get_default_option();
    }
    $value = wpcf7_get_hangover($tag->name, $value);
    $atts['value'] = $value;
    $atts['type'] = 'text';
    $atts['name'] = $tag->name;
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<span class="wpcf7-form-control-wrap %1$s"><input %2$s />%3$s</span>', sanitize_html_class($tag->name), $atts, $validation_error);
    return $html;
}
Example #22
0
/**
 * Renders the itens id input control (html code)
 * 
 * @param string $tagName defined by the user at form's edit form (inside 
 *                        shortcode brackets)
 * 
 * @return void
 */
function wpcf7_itememail_shortcode_handler($tagName)
{
    global $post;
    $tag = new WPCF7_Shortcode($tagName);
    if (empty($tag->name)) {
        return '';
    }
    $class = wpcf7_form_controls_class($tag->type);
    $class .= ' wpcf7-itememail';
    $post_id = $post->ID;
    $post_meta = get_post_meta($post_id, 'jv_item_email');
    $item_email = reset($post_meta);
    $atts = array();
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_id_option();
    $atts['type'] = 'hidden';
    $atts['value'] = $item_email;
    $atts['name'] = $tag->name;
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<input %1$s />', $atts);
    return $html;
}
 public function screen_reader_response()
 {
     $class = 'screen-reader-response';
     $role = '';
     $content = '';
     if ($this->is_posted()) {
         // Post response output for non-AJAX
         $role = 'alert';
         $submission = WPCF7_Submission::get_instance();
         if ($response = $submission->get_response()) {
             $content = esc_html($response);
         }
         if ($invalid_fields = $submission->get_invalid_fields()) {
             $content .= "\n" . '<ul>' . "\n";
             foreach ((array) $invalid_fields as $name => $field) {
                 if ($field['idref']) {
                     $link = sprintf('<a href="#%1$s">%2$s</a>', esc_attr($field['idref']), esc_html($field['reason']));
                     $content .= sprintf('<li>%s</li>', $link);
                 } else {
                     $content .= sprintf('<li>%s</li>', esc_html($field['reason']));
                 }
                 $content .= "\n";
             }
             $content .= '</ul>' . "\n";
         }
     }
     $atts = array('class' => trim($class), 'role' => trim($role));
     $atts = wpcf7_format_atts($atts);
     $output = sprintf('<div %1$s>%2$s</div>', $atts, $content);
     return $output;
 }
Example #24
0
function wpcf7_checkbox_shortcode_handler($tag)
{
    $tag = new WPCF7_Shortcode($tag);
    if (empty($tag->name)) {
        return '';
    }
    $validation_error = wpcf7_get_validation_error($tag->name);
    $class = wpcf7_form_controls_class($tag->type);
    if ($validation_error) {
        $class .= ' wpcf7-not-valid';
    }
    $label_first = $tag->has_option('label_first');
    $use_label_element = $tag->has_option('use_label_element');
    $exclusive = $tag->has_option('exclusive');
    $multiple = false;
    if ('checkbox' == $tag->basetype) {
        $multiple = !$exclusive;
    } else {
        // radio
        $exclusive = false;
    }
    if ($exclusive) {
        $class .= ' wpcf7-exclusive-checkbox';
    }
    $atts = array();
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_option('id', 'id', true);
    $tabindex = $tag->get_option('tabindex', 'int', true);
    if (false !== $tabindex) {
        $tabindex = absint($tabindex);
    }
    $defaults = array();
    if ($matches = $tag->get_first_match_option('/^default:([0-9_]+)$/')) {
        $defaults = explode('_', $matches[1]);
    }
    if (isset($_POST[$tag->name])) {
        $post = $_POST[$tag->name];
    } else {
        $post = $multiple ? array() : '';
    }
    $is_posted = wpcf7_is_posted();
    $html = '';
    foreach ((array) $tag->values as $key => $value) {
        $checked = false;
        if ($is_posted && !empty($post)) {
            if ($multiple && in_array(esc_sql($value), (array) $post)) {
                $checked = true;
            }
            if (!$multiple && $post == esc_sql($value)) {
                $checked = true;
            }
        } else {
            if (in_array($key + 1, (array) $defaults)) {
                $checked = true;
            }
        }
        if (isset($tag->labels[$key])) {
            $label = $tag->labels[$key];
        } else {
            $label = $value;
        }
        $item_atts = array('type' => $tag->basetype, 'name' => $tag->name . ($multiple ? '[]' : ''), 'value' => $value, 'checked' => $checked ? 'checked' : '', 'tabindex' => $tabindex ? $tabindex : '');
        $item_atts = wpcf7_format_atts($item_atts);
        if ($label_first) {
            // put label first, input last
            $item = sprintf('<span class="wpcf7-list-item-label">%1$s</span>&nbsp;<input %2$s />', esc_html($label), $item_atts);
        } else {
            $item = sprintf('<input %2$s />&nbsp;<span class="wpcf7-list-item-label">%1$s</span>', esc_html($label), $item_atts);
        }
        if ($use_label_element) {
            $item = '<label>' . $item . '</label>';
        }
        $item = '<span class="wpcf7-list-item">' . $item . '</span>';
        $html .= $item;
        if (false !== $tabindex) {
            $tabindex += 1;
        }
    }
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<span class="wpcf7-form-control-wrap %1$s"><span %2$s>%3$s</span>%4$s</span>', $tag->name, $atts, $html, $validation_error);
    return $html;
}
 function shortcode_handler($tag)
 {
     $tag = new WPCF7_Shortcode($tag);
     if (empty($tag->name)) {
         return '';
     }
     // The lists are in {name of list}::#{id} format.
     // This parses them into an array
     $print_lists = array();
     foreach ($tag->values as $key => $value) {
         list($name, $id) = explode('::#', $value);
         $print_lists[(int) $id] = trim(rtrim($name));
     }
     /**
      * Get the list type
      *
      * @uses WPCF7_Shortcode::get_option()
      */
     $options['type'] = $tag->get_option('type', 'id', true);
     $options['label'] = urldecode($tag->get_option('label', '', true));
     $options['first'] = urldecode($tag->get_option('first', '', true));
     $options['lists'] = $print_lists;
     $options['name_attr'] = $tag->name;
     if ($tag->has_option('default:on')) {
         $options['checked'] = 'checked';
     }
     $output = $this->outputHTML($options);
     $class = wpcf7_form_controls_class($tag->type);
     $validation_error = wpcf7_get_validation_error($tag->name);
     if ($validation_error) {
         $class .= ' wpcf7-not-valid';
     }
     $atts = array();
     $atts['class'] = $tag->get_class_option($class);
     $atts['id'] = $tag->get_option('id', 'id', true);
     $atts = wpcf7_format_atts($atts);
     $output = sprintf('<span class="wpcf7-form-control-wrap %1$s"><span %2$s>%3$s</span>%4$s</span>', $tag->name, $atts, $output, $validation_error);
     return $output;
 }
Example #26
0
function wpcf7_checkbox_shortcode_handler($tag)
{
    $tag = new WPCF7_Shortcode($tag);
    if (empty($tag->name)) {
        return '';
    }
    $validation_error = wpcf7_get_validation_error($tag->name);
    $class = wpcf7_form_controls_class($tag->type);
    if ($validation_error) {
        $class .= ' wpcf7-not-valid';
    }
    $label_first = $tag->has_option('label_first');
    $use_label_element = $tag->has_option('use_label_element');
    $exclusive = $tag->has_option('exclusive');
    $free_text = $tag->has_option('free_text');
    $multiple = false;
    if ('checkbox' == $tag->basetype) {
        $multiple = !$exclusive;
    } else {
        // radio
        $exclusive = false;
    }
    if ($exclusive) {
        $class .= ' wpcf7-exclusive-checkbox';
    }
    $atts = array();
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_id_option();
    $tabindex = $tag->get_option('tabindex', 'int', true);
    if (false !== $tabindex) {
        $tabindex = absint($tabindex);
    }
    $html = '';
    $count = 0;
    $values = (array) $tag->values;
    $labels = (array) $tag->labels;
    if ($data = (array) $tag->get_data_option()) {
        if ($free_text) {
            $values = array_merge(array_slice($values, 0, -1), array_values($data), array_slice($values, -1));
            $labels = array_merge(array_slice($labels, 0, -1), array_values($data), array_slice($labels, -1));
        } else {
            $values = array_merge($values, array_values($data));
            $labels = array_merge($labels, array_values($data));
        }
    }
    $defaults = array();
    $default_choice = $tag->get_default_option(null, 'multiple=1');
    foreach ($default_choice as $value) {
        $key = array_search($value, $values, true);
        if (false !== $key) {
            $defaults[] = (int) $key + 1;
        }
    }
    if ($matches = $tag->get_first_match_option('/^default:([0-9_]+)$/')) {
        $defaults = array_merge($defaults, explode('_', $matches[1]));
    }
    $defaults = array_unique($defaults);
    $hangover = wpcf7_get_hangover($tag->name, $multiple ? array() : '');
    foreach ($values as $key => $value) {
        $class = 'wpcf7-list-item';
        $checked = false;
        if ($hangover) {
            if ($multiple) {
                $checked = in_array(esc_sql($value), (array) $hangover);
            } else {
                $checked = $hangover == esc_sql($value);
            }
        } else {
            $checked = in_array($key + 1, (array) $defaults);
        }
        if (isset($labels[$key])) {
            $label = $labels[$key];
        } else {
            $label = $value;
        }
        $item_atts = array('type' => $tag->basetype, 'name' => $tag->name . ($multiple ? '[]' : ''), 'value' => $value, 'checked' => $checked ? 'checked' : '', 'tabindex' => $tabindex ? $tabindex : '');
        $item_atts = wpcf7_format_atts($item_atts);
        if ($label_first) {
            // put label first, input last
            $item = sprintf('<span class="wpcf7-list-item-label">%1$s</span>&nbsp;<input %2$s />', esc_html($label), $item_atts);
        } else {
            $item = sprintf('<input %2$s />&nbsp;<span class="wpcf7-list-item-label">%1$s</span>', esc_html($label), $item_atts);
        }
        if ($use_label_element) {
            $item = '<label>' . $item . '</label>';
        }
        if (false !== $tabindex) {
            $tabindex += 1;
        }
        $count += 1;
        if (1 == $count) {
            $class .= ' first';
        }
        if (count($values) == $count) {
            // last round
            $class .= ' last';
            if ($free_text) {
                $free_text_name = sprintf('_wpcf7_%1$s_free_text_%2$s', $tag->basetype, $tag->name);
                $free_text_atts = array('name' => $free_text_name, 'class' => 'wpcf7-free-text', 'tabindex' => $tabindex ? $tabindex : '');
                if (wpcf7_is_posted() && isset($_POST[$free_text_name])) {
                    $free_text_atts['value'] = wp_unslash($_POST[$free_text_name]);
                }
                $free_text_atts = wpcf7_format_atts($free_text_atts);
                $item .= sprintf(' <input type="text" %s />', $free_text_atts);
                $class .= ' has-free-text';
            }
        }
        $item = '<span class="' . esc_attr($class) . '">' . $item . '</span>';
        $html .= $item;
    }
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<span class="wpcf7-form-control-wrap %1$s"><span %2$s>%3$s</span>%4$s</span>', sanitize_html_class($tag->name), $atts, $html, $validation_error);
    return $html;
}
Example #27
0
function wpcf7_select_shortcode_handler($tag)
{
    $tag = new WPCF7_Shortcode($tag);
    if (empty($tag->name)) {
        return '';
    }
    $validation_error = wpcf7_get_validation_error($tag->name);
    $class = wpcf7_form_controls_class($tag->type);
    if ($validation_error) {
        $class .= ' wpcf7-not-valid';
    }
    $atts = array();
    $atts['class'] = $tag->get_class_option($class);
    $atts['id'] = $tag->get_id_option();
    $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
    if ($tag->is_required()) {
        $atts['aria-required'] = 'true';
    }
    $atts['aria-invalid'] = $validation_error ? 'true' : 'false';
    $defaults = array();
    if ($matches = $tag->get_first_match_option('/^default:([0-9_]+)$/')) {
        $defaults = explode('_', $matches[1]);
    }
    $multiple = $tag->has_option('multiple');
    $include_blank = $tag->has_option('include_blank');
    $first_as_label = $tag->has_option('first_as_label');
    $values = $tag->values;
    $labels = $tag->labels;
    if ($data = (array) $tag->get_data_option()) {
        $values = array_merge($values, array_values($data));
        $labels = array_merge($labels, array_values($data));
    }
    $empty_select = empty($values);
    if ($empty_select || $include_blank) {
        array_unshift($labels, '---');
        array_unshift($values, '');
    } elseif ($first_as_label) {
        $values[0] = '';
    }
    $html = '';
    $hangover = wpcf7_get_hangover($tag->name);
    foreach ($values as $key => $value) {
        $selected = false;
        if ($hangover) {
            if ($multiple) {
                $selected = in_array(esc_sql($value), (array) $hangover);
            } else {
                $selected = $hangover == esc_sql($value);
            }
        } else {
            if (!$empty_select && in_array($key + 1, (array) $defaults)) {
                $selected = true;
            }
        }
        $item_atts = array('value' => $value, 'selected' => $selected ? 'selected' : '');
        $item_atts = wpcf7_format_atts($item_atts);
        $label = isset($labels[$key]) ? $labels[$key] : $value;
        $html .= sprintf('<option %1$s>%2$s</option>', $item_atts, esc_html($label));
    }
    if ($multiple) {
        $atts['multiple'] = 'multiple';
    }
    $atts['name'] = $tag->name . ($multiple ? '[]' : '');
    $atts = wpcf7_format_atts($atts);
    $html = sprintf('<span class="wpcf7-form-control-wrap %1$s"><select %2$s>%3$s</select>%4$s</span>', sanitize_html_class($tag->name), $atts, $html, $validation_error);
    return $html;
}
function wpcf7_recaptcha_shortcode_handler($tag)
{
    wp_enqueue_script('google-recaptcha');
    $tag = new WPCF7_Shortcode($tag);
    $atts = array();
    $recaptcha = WPCF7_RECAPTCHA::get_instance();
    $atts['data-sitekey'] = $recaptcha->get_sitekey();
    $atts['data-theme'] = $tag->get_option('theme', '(dark|light)', true);
    $atts['data-type'] = $tag->get_option('type', '(audio|image)', true);
    $atts['data-size'] = $tag->get_option('size', '(compact|normal)', true);
    $atts['data-tabindex'] = $tag->get_option('tabindex', 'int', true);
    $atts['data-callback'] = $tag->get_option('callback', '', true);
    $atts['data-expired-callback'] = $tag->get_option('expired-callback', '', true);
    $atts['class'] = $tag->get_class_option(wpcf7_form_controls_class($tag->type, 'g-recaptcha'));
    $atts['id'] = $tag->get_id_option();
    $html = sprintf('<div %1$s></div>', wpcf7_format_atts($atts));
    $html .= wpcf7_recaptcha_noscript(array('sitekey' => $atts['data-sitekey']));
    $html = sprintf('<div class="wpcf7-form-control-wrap">%s</div>', $html);
    return $html;
}
function wpcf7_captcha_shortcode_handler($tag)
{
    $tag = new WPCF7_Shortcode($tag);
    if ('captchac' == $tag->type && !class_exists('ReallySimpleCaptcha')) {
        return '<em>' . __('To use CAPTCHA, you need <a href="http://wordpress.org/extend/plugins/really-simple-captcha/">Really Simple CAPTCHA</a> plugin installed.', 'contact-form-7') . '</em>';
    }
    if (empty($tag->name)) {
        return '';
    }
    $validation_error = wpcf7_get_validation_error($tag->name);
    $class = wpcf7_form_controls_class($tag->type);
    if ('captchac' == $tag->type) {
        // CAPTCHA-Challenge (image)
        $class .= ' wpcf7-captcha-' . $tag->name;
        $atts = array();
        $atts['class'] = $tag->get_class_option($class);
        $atts['id'] = $tag->get_id_option();
        $op = array('img_size' => array(72, 24), 'base' => array(6, 18), 'font_size' => 14, 'font_char_width' => 15);
        $op = array_merge($op, wpcf7_captchac_options($tag->options));
        if (!($filename = wpcf7_generate_captcha($op))) {
            return '';
        }
        if (!empty($op['img_size'])) {
            if (isset($op['img_size'][0])) {
                $atts['width'] = $op['img_size'][0];
            }
            if (isset($op['img_size'][1])) {
                $atts['height'] = $op['img_size'][1];
            }
        }
        $atts['alt'] = 'captcha';
        $atts['src'] = wpcf7_captcha_url($filename);
        $atts = wpcf7_format_atts($atts);
        $prefix = substr($filename, 0, strrpos($filename, '.'));
        $html = sprintf('<input type="hidden" name="_wpcf7_captcha_challenge_%1$s" value="%2$s" /><img %3$s />', $tag->name, $prefix, $atts);
        return $html;
    } elseif ('captchar' == $tag->type) {
        // CAPTCHA-Response (input)
        if ($validation_error) {
            $class .= ' wpcf7-not-valid';
        }
        $atts = array();
        $atts['size'] = $tag->get_size_option('40');
        $atts['maxlength'] = $tag->get_maxlength_option();
        $atts['minlength'] = $tag->get_minlength_option();
        if ($atts['maxlength'] && $atts['minlength'] && $atts['maxlength'] < $atts['minlength']) {
            unset($atts['maxlength'], $atts['minlength']);
        }
        $atts['class'] = $tag->get_class_option($class);
        $atts['id'] = $tag->get_id_option();
        $atts['tabindex'] = $tag->get_option('tabindex', 'int', true);
        $atts['aria-invalid'] = $validation_error ? 'true' : 'false';
        $value = (string) reset($tag->values);
        if (wpcf7_is_posted()) {
            $value = '';
        }
        if ($tag->has_option('placeholder') || $tag->has_option('watermark')) {
            $atts['placeholder'] = $value;
            $value = '';
        }
        $atts['value'] = $value;
        $atts['type'] = 'text';
        $atts['name'] = $tag->name;
        $atts = wpcf7_format_atts($atts);
        $html = sprintf('<span class="wpcf7-form-control-wrap %1$s"><input %2$s />%3$s</span>', sanitize_html_class($tag->name), $atts, $validation_error);
        return $html;
    }
}
    echo isset($_GET['active-tab']) ? (int) $_GET['active-tab'] : '0';
    ?>
" />

<div id="poststuff">
<div id="post-body" class="metabox-holder columns-2">
<div id="post-body-content">
<div id="titlediv">
<div id="titlewrap">
	<label class="screen-reader-text" id="title-prompt-text" for="title"><?php 
    echo esc_html(__('Enter title here', 'contact-form-7'));
    ?>
</label>
<?php 
    $posttitle_atts = array('type' => 'text', 'name' => 'post_title', 'size' => 30, 'value' => $post->initial() ? '' : $post->title(), 'id' => 'title', 'spellcheck' => 'true', 'autocomplete' => 'off', 'disabled' => current_user_can('wpcf7_edit_contact_form', $post_id) ? '' : 'disabled');
    echo sprintf('<input %s />', wpcf7_format_atts($posttitle_atts));
    ?>
</div><!-- #titlewrap -->

<div class="inside">
<?php 
    if (!$post->initial()) {
        ?>
	<p class="description">
	<label for="wpcf7-shortcode"><?php 
        echo esc_html(__("Copy this shortcode and paste it into your post, page, or text widget content:", 'contact-form-7'));
        ?>
</label>
	<span class="shortcode wp-ui-highlight"><input type="text" id="wpcf7-shortcode" onfocus="this.select();" readonly="readonly" class="large-text code" value="<?php 
        echo esc_attr($post->shortcode());
        ?>