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; }
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; } }