Пример #1
0
 function dhvc_form_input_variable_field($settings, $value)
 {
     $param_line = '';
     $param_line .= '<select onchange="dhvc_form_select_variable(this)" class="dhvc-form-select-variable">';
     $param_line .= '<option value="">' . __('Insert variable...', DHVC_FORM) . '</option>';
     foreach (dhvc_form_get_variables() as $label => $key) {
         $param_line .= '<option value="' . esc_attr($key) . '">' . esc_html($label) . '</option>';
     }
     $param_line .= '</select>';
     $param_line .= '<input type="text" name="' . $settings['param_name'] . '" class="wpb_vc_param_value wpb-textinput ' . $settings['param_name'] . ' ' . $settings['type'] . '" value="' . $value . '">';
     return $param_line;
 }
Пример #2
0
    protected function render_metabox_field($field)
    {
        global $post;
        if (!isset($field['type'])) {
            echo '';
        }
        $field['name'] = isset($field['name']) ? $field['name'] : '';
        $value = get_post_meta($post->ID, '_' . $field['name'], true);
        $field['value'] = isset($field['value']) ? $field['value'] : '';
        if ($value) {
            $field['value'] = $value;
        }
        $field['id'] = isset($field['id']) ? $field['id'] : $field['name'];
        $field['description'] = isset($field['description']) ? $field['description'] : '';
        $field['label'] = isset($field['label']) ? $field['label'] : '';
        $field['placeholder'] = isset($field['placeholder']) ? $field['placeholder'] : $field['label'];
        $field['dependency'] = isset($field['dependency']) ? $field['dependency'] : array();
        $data_dependency = '';
        switch ($field['type']) {
            case 'heading':
                echo '<h3>' . esc_html($field['label']) . '</h3>';
                break;
            case 'labelpopup':
                echo '<p ' . $data_dependency . ' class="form-field ' . esc_attr($field['id']) . '_field ">';
                echo $field['label'] . __('Example:', DHVC_FORM) . '<br><strong><em>' . esc_html('<button type="button" data-toggle="dhvcformpopup" data-target="#dhvcformpopup-' . get_the_ID() . '">' . __('Launch form popup', DHVC_FORM) . '</button>') . '</strong></em>';
                echo '</p>';
                break;
            case 'input_variable':
                echo '<p ' . $data_dependency . ' class="form-field ' . esc_attr($field['id']) . '_field "><label for="' . esc_attr($field['id']) . '">' . wp_kses_post($field['label']) . '</label>';
                echo '<select onchange="dhvc_form_select_variable(this)" class="dhvc-form-select-variable">';
                echo '<option value="">' . __('Insert variable...', DHVC_FORM) . '</option>';
                foreach (dhvc_form_get_variables() as $label => $key) {
                    echo '<option value="' . esc_attr($key) . '">' . esc_html($label) . '</option>';
                }
                echo '</select>';
                echo '<input type="text" class="input_text" name="' . esc_attr($field['name']) . '" id="' . esc_attr($field['id']) . '" value="' . esc_attr($field['value']) . '" placeholder="' . esc_attr($field['placeholder']) . '" /> ';
                if (!empty($field['description'])) {
                    if (isset($field['desc_tip']) && false !== $field['desc_tip']) {
                        echo '<img class="help_tip" data-tip="' . esc_attr($field['description']) . '" src="' . DHVC_FORM_URL . '/assets/images/help.png" height="16" width="16" />';
                    } else {
                        echo '<span class="description">' . wp_kses_post($field['description']) . '</span>';
                    }
                }
                echo '</p>';
                break;
            case 'text':
                echo '<p ' . $data_dependency . ' class="form-field ' . esc_attr($field['id']) . '_field "><label for="' . esc_attr($field['id']) . '">' . wp_kses_post($field['label']) . '</label><input type="text" class="input_text" name="' . esc_attr($field['name']) . '" id="' . esc_attr($field['id']) . '" value="' . esc_attr($field['value']) . '" placeholder="' . esc_attr($field['placeholder']) . '" /> ';
                if (!empty($field['description'])) {
                    if (isset($field['desc_tip']) && false !== $field['desc_tip']) {
                        echo '<img class="help_tip" data-tip="' . esc_attr($field['description']) . '" src="' . DHVC_FORM_URL . '/assets/images/help.png" height="16" width="16" />';
                    } else {
                        echo '<span class="description">' . wp_kses_post($field['description']) . '</span>';
                    }
                }
                echo '</p>';
                break;
            case 'color':
                echo '<p ' . $data_dependency . ' class="form-field ' . esc_attr($field['id']) . '_field "><label for="' . esc_attr($field['id']) . '">' . wp_kses_post($field['label']) . '</label><input data-default-color="' . esc_attr($field['value']) . '" type="text" class="input_text" name="' . esc_attr($field['name']) . '" id="' . esc_attr($field['id']) . '" value="' . esc_attr($field['value']) . '" placeholder="' . esc_attr($field['placeholder']) . '" /> ';
                if (!empty($field['description'])) {
                    if (isset($field['desc_tip']) && false !== $field['desc_tip']) {
                        echo '<img class="help_tip" data-tip="' . esc_attr($field['description']) . '" src="' . DHVC_FORM_URL . '/assets/images/help.png" height="16" width="16" />';
                    } else {
                        echo '<span class="description">' . wp_kses_post($field['description']) . '</span>';
                    }
                }
                echo '<script type="text/javascript">
						jQuery(document).ready(function($){
						    $("#' . $field['id'] . '").wpColorPicker();
						});
					 </script>
					 ';
                echo '</p>';
                break;
            case 'hidden':
                echo '<input type="hidden" name="' . esc_attr($field['name']) . '" id="' . esc_attr($field['id']) . '" value="' . esc_attr($field['value']) . '" /> ';
                break;
            case 'textarea_variable':
                echo '<p  ' . $data_dependency . ' class="form-field ' . esc_attr($field['id']) . '_field "><label for="' . esc_attr($field['id']) . '">' . wp_kses_post($field['label']) . '</label>';
                echo '<select onchange="dhvc_form_select_variable(this)" class="dhvc-form-select-variable">';
                echo '<option value="">' . __('Insert variable...', DHVC_FORM) . '</option>';
                foreach (dhvc_form_get_variables() as $label => $key) {
                    echo '<option value="' . esc_attr($key) . '">' . esc_html($label) . '</option>';
                }
                echo '</select>';
                echo '<textarea name="' . esc_attr($field['name']) . '" id="' . esc_attr($field['id']) . '" placeholder="' . esc_attr($field['placeholder']) . '" rows="5" cols="20">' . esc_textarea($field['value']) . '</textarea> ';
                if (!empty($field['description'])) {
                    if (isset($field['desc_tip']) && false !== $field['desc_tip']) {
                        echo '<img class="help_tip" data-tip="' . esc_attr($field['description']) . '" src="' . DHVC_FORM_URL . '/assets/images/help.png" height="16" width="16" />';
                    } else {
                        echo '<span class="description">' . wp_kses_post($field['description']) . '</span>';
                    }
                }
                echo '</p>';
                break;
            case 'textarea':
                echo '<p  ' . $data_dependency . ' class="form-field ' . esc_attr($field['id']) . '_field "><label for="' . esc_attr($field['id']) . '">' . wp_kses_post($field['label']) . '</label><textarea name="' . esc_attr($field['name']) . '" id="' . esc_attr($field['id']) . '" placeholder="' . esc_attr($field['placeholder']) . '" rows="5" cols="20">' . esc_textarea($field['value']) . '</textarea> ';
                if (!empty($field['description'])) {
                    if (isset($field['desc_tip']) && false !== $field['desc_tip']) {
                        echo '<img class="help_tip" data-tip="' . esc_attr($field['description']) . '" src="' . DHVC_FORM_URL . '/assets/images/help.png" height="16" width="16" />';
                    } else {
                        echo '<span class="description">' . wp_kses_post($field['description']) . '</span>';
                    }
                }
                echo '</p>';
                break;
            case 'recipient':
                echo '<div  ' . $data_dependency . ' class="form-field ' . esc_attr($field['id']) . '_field "><label for="' . esc_attr($field['id']) . '">' . wp_kses_post($field['label']) . '</label>';
                //echo '<textarea name="' . esc_attr( $field['name'] ) . '" id="' . esc_attr( $field['id'] ) . '" placeholder="' . esc_attr( $field['placeholder'] ) . '" rows="5" cols="20">' . esc_textarea( $field['value'] ) . '</textarea> ';
                $values = (array) $field['value'];
                echo '<table  cellspacing="0" data-name="' . esc_attr($field['name']) . '" class="dhvc-form-recipient-lists">';
                echo '<thead><tr><td>' . __('Email', DHVC_FORM) . '</td><td></td></tr></thead>';
                echo '<tbody>';
                foreach ($values as $val) {
                    echo '<tr>';
                    echo '<td>';
                    echo '<input type="text" name="' . esc_attr($field['name']) . '[]" value="' . esc_attr($val) . '" />';
                    echo '</td>';
                    echo '<td>';
                    echo '<a href="#" class="button" onclick="return dhvc_form_recipient_remove(this)">' . __('Remove', DHVC_FORM) . '</a>';
                    echo '</td>';
                    echo '</tr>';
                }
                echo '<thead><tr><td><a href="#" class="button" onclick="return dhvc_form_recipient_add(this)">' . __('Add', DHVC_FORM) . '</a></td><td></td></tr></thead>';
                echo '</tbody>';
                echo '</table>';
                if (!empty($field['description'])) {
                    if (isset($field['desc_tip']) && false !== $field['desc_tip']) {
                        echo '<img class="help_tip" data-tip="' . esc_attr($field['description']) . '" src="' . DHVC_FORM_URL . '/assets/images/help.png" height="16" width="16" />';
                    } else {
                        echo '<span class="description">' . wp_kses_post($field['description']) . '</span>';
                    }
                }
                echo '</div>';
                break;
            case 'checkbox':
                $field['cbvalue'] = isset($field['cbvalue']) ? $field['cbvalue'] : 'yes';
                echo '<p ' . $data_dependency . ' class="form-field ' . esc_attr($field['id']) . '_field"><label for="' . esc_attr($field['id']) . '">' . wp_kses_post($field['label']) . '</label><input class="checkbox" type="checkbox" name="' . esc_attr($field['name']) . '" id="' . esc_attr($field['id']) . '" value="' . esc_attr($field['cbvalue']) . '" ' . checked($field['value'], $field['cbvalue'], false) . ' /> ';
                if (!empty($field['description'])) {
                    echo '<span class="description">' . wp_kses_post($field['description']) . '</span>';
                }
                echo '</p>';
                break;
            case 'checklist':
                $field['options'] = isset($field['options']) ? $field['options'] : array();
                echo '<p ' . $data_dependency . ' class="form-field ' . esc_attr($field['id']) . '_field"><label for="' . esc_attr($field['id']) . '">' . wp_kses_post($field['label']) . '</label>';
                foreach ($field['options'] as $key => $value) {
                    echo '<input class="checkbox" type="checkbox" ' . (in_array(esc_attr($key), $field['value']) ? 'checked' : '') . ' name="' . esc_attr($field['name']) . '[]" id="' . esc_attr($field['id']) . '" value="' . esc_attr($key) . '"  /> ' . esc_html($value) . '<br/>';
                }
                if (!empty($field['description'])) {
                    if (isset($field['desc_tip']) && false !== $field['desc_tip']) {
                        echo '<img class="help_tip" data-tip="' . esc_attr($field['description']) . '" src="' . DHVC_FORM_URL . '/assets/images/help.png" height="16" width="16" />';
                    } else {
                        echo '<span class="description">' . wp_kses_post($field['description']) . '</span>';
                    }
                }
                echo '</p>';
                break;
            case 'select':
                $field['options'] = isset($field['options']) ? $field['options'] : array();
                echo '<p ' . $data_dependency . ' class="form-field ' . esc_attr($field['id']) . '_field"><label for="' . esc_attr($field['id']) . '">' . wp_kses_post($field['label']) . '</label><select id="' . esc_attr($field['id']) . '" name="' . esc_attr($field['id']) . '">';
                foreach ($field['options'] as $key => $value) {
                    echo '<option value="' . esc_attr($key) . '" ' . selected(esc_attr($field['value']), esc_attr($key), false) . '>' . esc_html($value) . '</option>';
                }
                echo '</select> ';
                if (!empty($field['description'])) {
                    if (isset($field['desc_tip']) && false !== $field['desc_tip']) {
                        echo '<img class="help_tip" data-tip="' . esc_attr($field['description']) . '" src="' . DHVC_FORM_URL . '/assets/images/help.png" height="16" width="16" />';
                    } else {
                        echo '<span class="description">' . wp_kses_post($field['description']) . '</span>';
                    }
                }
                echo '</p>';
                break;
            case 'select_recipient':
                $form_control = get_post_meta($post->ID, '_form_control', true);
                if ($form_control) {
                    $form_control_arr = json_decode($form_control);
                    if (is_array($form_control_arr) && !empty($form_control_arr)) {
                        $options = array();
                        foreach ($form_control_arr as $control) {
                            if ($control->tag == 'dhvc_form_email') {
                                $option_label = !empty($control->control_label) ? $control->control_label : $control->control_name;
                                if (!empty($control->control_name)) {
                                    $options[$control->control_name] = $option_label;
                                }
                            }
                        }
                        $field['options'] = $options;
                        echo '<p ' . $data_dependency . ' class="form-field ' . esc_attr($field['id']) . '_field"><label for="' . esc_attr($field['id']) . '">' . wp_kses_post($field['label']) . '</label>';
                        if (!empty($options)) {
                            echo '<select id="' . esc_attr($field['id']) . '" name="' . esc_attr($field['id']) . '">';
                            echo '<option value="" ></option>';
                            foreach ($field['options'] as $key => $value) {
                                echo '<option value="' . esc_attr($key) . '" ' . selected(esc_attr($field['value']), esc_attr($key), false) . '>' . esc_html($value) . '</option>';
                            }
                            echo '</select> ';
                        }
                        if (!empty($field['description'])) {
                            if (isset($field['desc_tip']) && false !== $field['desc_tip']) {
                                echo '<img class="help_tip" data-tip="' . esc_attr($field['description']) . '" src="' . DHVC_FORM_URL . '/assets/images/help.png" height="16" width="16" />';
                            } else {
                                echo '<span class="description">' . wp_kses_post($field['description']) . '</span>';
                            }
                        }
                        echo '</p>';
                    }
                }
                break;
            case 'radio':
                $field['options'] = isset($field['options']) ? $field['options'] : array();
                echo '<fieldset ' . $data_dependency . ' class="form-field ' . esc_attr($field['id']) . '_field"><legend>' . wp_kses_post($field['label']) . '</legend><ul class="dhvc-form-meta-radios">';
                foreach ($field['options'] as $key => $value) {
                    echo '<li><label><input
				        		name="' . esc_attr($field['name']) . '"
				        		value="' . esc_attr($key) . '"
				        		type="radio"
								class="radio"
				        		' . checked(esc_attr($field['value']), esc_attr($key), false) . '
				        		/> ' . esc_html($value) . '</label>
				    	</li>';
                }
                echo '</ul>';
                if (!empty($field['description'])) {
                    if (isset($field['desc_tip']) && false !== $field['desc_tip']) {
                        echo '<img class="help_tip" data-tip="' . esc_attr($field['description']) . '" src="' . DHVC_FORM_URL . '/assets/images/help.png" height="16" width="16" />';
                    } else {
                        echo '<span class="description">' . wp_kses_post($field['description']) . '</span>';
                    }
                }
                echo '</fieldset>';
                break;
            default:
                break;
        }
    }