Ejemplo n.º 1
1
 /**
  * Fetch Field Label
  *
  * @access public
  * @static
  * @param array $field GravityView field array
  * @param array $entry Gravity Forms entry array
  * @param boolean $force_show_label Whether to always show the label, regardless of field settings
  * @return string
  */
 public static function field_label($field, $entry = array(), $force_show_label = false)
 {
     $gravityview_view = GravityView_View::getInstance();
     $form = $gravityview_view->getForm();
     $label = '';
     if (!empty($field['show_label']) || $force_show_label) {
         $label = $field['label'];
         // Support Gravity Forms 1.9+
         if (class_exists('GF_Field')) {
             $field_object = RGFormsModel::get_field($form, $field['id']);
             if ($field_object) {
                 $input = GFFormsModel::get_input($field_object, $field['id']);
                 // This is a complex field, with lables on a per-input basis
                 if ($input) {
                     // Does the input have a custom label on a per-input basis? Otherwise, default label.
                     $label = !empty($input['customLabel']) ? $input['customLabel'] : $input['label'];
                 } else {
                     // This is a field with one label
                     $label = $field_object->get_field_label(true, $field['label']);
                 }
             }
         }
         // Use Gravity Forms label by default, but if a custom label is defined in GV, use it.
         if (!empty($field['custom_label'])) {
             $label = self::replace_variables($field['custom_label'], $form, $entry);
         }
         $label .= apply_filters('gravityview_render_after_label', '', $field);
     }
     // End $field['show_label']
     /**
      * @since 1.7
      */
     $label = apply_filters('gravityview/template/field_label', $label, $field, $form, $entry);
     return $label;
 }
 public function get_field_input($form, $value = '', $entry = null)
 {
     $is_entry_detail = $this->is_entry_detail();
     $is_form_editor = $this->is_form_editor();
     if (is_array($value)) {
         $value = array_values($value);
     }
     $form_id = $form['id'];
     $id = intval($this->id);
     $field_id = $is_entry_detail || $is_form_editor || $form_id == 0 ? "input_{$id}" : 'input_' . $form_id . "_{$id}";
     $form_id = ($is_entry_detail || $is_form_editor) && empty($form_id) ? rgget('id') : $form_id;
     $size = $this->size;
     $disabled_text = $is_form_editor ? "disabled='disabled'" : '';
     $class_suffix = $is_entry_detail ? '_admin' : '';
     $class = $this->emailConfirmEnabled ? '' : $size . $class_suffix;
     //Size only applies when confirmation is disabled
     $form_sub_label_placement = rgar($form, 'subLabelPlacement');
     $field_sub_label_placement = $this->subLabelPlacement;
     $is_sub_label_above = $field_sub_label_placement == 'above' || empty($field_sub_label_placement) && $form_sub_label_placement == 'above';
     $sub_label_class_attribute = $field_sub_label_placement == 'hidden_label' ? "class='hidden_sub_label'" : '';
     $html_input_type = RGFormsModel::is_html5_enabled() ? 'email' : 'text';
     $enter_email_field_input = GFFormsModel::get_input($this, $this->id . '');
     $confirm_field_input = GFFormsModel::get_input($this, $this->id . '.2');
     $enter_email_label = rgar($enter_email_field_input, 'customLabel') != '' ? $enter_email_field_input['customLabel'] : __('Enter Email', 'gravityforms');
     $enter_email_label = apply_filters("gform_email_{$form_id}", apply_filters('gform_email', $enter_email_label, $form_id), $form_id);
     $confirm_email_label = rgar($confirm_field_input, 'customLabel') != '' ? $confirm_field_input['customLabel'] : __('Confirm Email', 'gravityforms');
     $confirm_email_label = apply_filters("gform_email_confirm_{$form_id}", apply_filters('gform_email_confirm', $confirm_email_label, $form_id), $form_id);
     $single_placeholder_attribute = $this->get_field_placeholder_attribute();
     $enter_email_placeholder_attribute = $this->get_input_placeholder_attribute($enter_email_field_input);
     $confirm_email_placeholder_attribute = $this->get_input_placeholder_attribute($confirm_field_input);
     if ($is_form_editor) {
         $single_style = $this->emailConfirmEnabled ? "style='display:none;'" : '';
         $confirm_style = $this->emailConfirmEnabled ? '' : "style='display:none;'";
         if ($is_sub_label_above) {
             return "<div class='ginput_container ginput_single_email' {$single_style}>\n                            <input name='input_{$id}' type='{$html_input_type}' class='" . esc_attr($class) . "' disabled='disabled' {$single_placeholder_attribute} />\n                            <div class='gf_clear gf_clear_complex'></div>\n                        </div>\n                        <div class='ginput_complex ginput_container ginput_confirm_email' {$confirm_style} id='{$field_id}_container'>\n                            <span id='{$field_id}_container' class='ginput_left'>\n                                <label for='{$field_id}' {$sub_label_class_attribute}>{$enter_email_label}</label>\n                                <input class='{$class}' type='text' name='input_{$id}' id='{$field_id}' disabled='disabled' {$enter_email_placeholder_attribute}/>\n                            </span>\n                            <span id='{$field_id}_2_container' class='ginput_right'>\n                                <label for='{$field_id}_2' {$sub_label_class_attribute}>{$confirm_email_label}</label>\n                                <input class='{$class}' type='text' name='input_{$id}_2' id='{$field_id}_2' disabled='disabled' {$confirm_email_placeholder_attribute}/>\n                            </span>\n                            <div class='gf_clear gf_clear_complex'></div>\n                        </div>";
         } else {
             return "<div class='ginput_container ginput_single_email' {$single_style}>\n                            <input class='{$class}' name='input_{$id}' type='{$html_input_type}' class='" . esc_attr($class) . "' disabled='disabled' {$single_placeholder_attribute}/>\n                            <div class='gf_clear gf_clear_complex'></div>\n                        </div>\n                        <div class='ginput_complex ginput_container ginput_confirm_email' {$confirm_style} id='{$field_id}_container'>\n                            <span id='{$field_id}_container' class='ginput_left'>\n                                <input class='{$class}' type='text' name='input_{$id}' id='{$field_id}' disabled='disabled' {$enter_email_placeholder_attribute}/>\n                                <label for='{$field_id}' {$sub_label_class_attribute}>{$enter_email_label}</label>\n                            </span>\n                            <span id='{$field_id}_2_container' class='ginput_right'>\n                                <input class='{$class}' type='text' name='input_{$id}_2' id='{$field_id}_2' disabled='disabled' {$confirm_email_placeholder_attribute}/>\n                                <label for='{$field_id}_2' {$sub_label_class_attribute}>{$confirm_email_label}</label>\n                            </span>\n                            <div class='gf_clear gf_clear_complex'></div>\n                        </div>";
         }
     } else {
         $logic_event = $this->get_conditional_logic_event('keyup');
         if ($this->emailConfirmEnabled && !$is_entry_detail) {
             $first_tabindex = $this->get_tabindex();
             $last_tabindex = $this->get_tabindex();
             $email_value = is_array($value) ? esc_attr($value[0]) : $value;
             $confirmation_value = is_array($value) ? esc_attr($value[1]) : rgpost('input_' . $this->id . '_2');
             $confirmation_disabled = $is_entry_detail ? "disabled='disabled'" : $disabled_text;
             if ($is_sub_label_above) {
                 return "<div class='ginput_complex ginput_container' id='{$field_id}_container'>\n                                <span id='{$field_id}_container' class='ginput_left'>\n                                    <label for='{$field_id}'>" . $enter_email_label . "</label>\n                                    <input class='{$class}' type='{$html_input_type}' name='input_{$id}' id='{$field_id}' value='" . $email_value . "' {$first_tabindex} {$logic_event} {$disabled_text} {$enter_email_placeholder_attribute}/>\n                                </span>\n                                <span id='{$field_id}_2_container' class='ginput_right'>\n                                    <label for='{$field_id}_2' {$sub_label_class_attribute}>{$confirm_email_label}</label>\n                                    <input class='{$class}' type='{$html_input_type}' name='input_{$id}_2' id='{$field_id}_2' value='" . $confirmation_value . "' {$last_tabindex} {$confirmation_disabled} {$confirm_email_placeholder_attribute}/>\n                                </span>\n                                <div class='gf_clear gf_clear_complex'></div>\n                            </div>";
             } else {
                 return "<div class='ginput_complex ginput_container' id='{$field_id}_container'>\n                                <span id='{$field_id}_container' class='ginput_left'>\n                                    <input class='{$class}' type='{$html_input_type}' name='input_{$id}' id='{$field_id}' value='" . $email_value . "' {$first_tabindex} {$logic_event} {$disabled_text} {$enter_email_placeholder_attribute}/>\n                                    <label for='{$field_id}' {$sub_label_class_attribute}>{$enter_email_label}</label>\n                                </span>\n                                <span id='{$field_id}_2_container' class='ginput_right'>\n                                    <input class='{$class}' type='{$html_input_type}' name='input_{$id}_2' id='{$field_id}_2' value='" . $confirmation_value . "' {$last_tabindex} {$confirmation_disabled} {$confirm_email_placeholder_attribute}/>\n                                    <label for='{$field_id}_2' {$sub_label_class_attribute}>{$confirm_email_label}</label>\n                                </span>\n                                <div class='gf_clear gf_clear_complex'></div>\n                            </div>";
             }
         } else {
             $tabindex = $this->get_tabindex();
             $value = esc_attr($value);
             $class = esc_attr($class);
             return "<div class='ginput_container'>\n                            <input name='input_{$id}' id='{$field_id}' type='{$html_input_type}' value='{$value}' class='{$class}' {$tabindex} {$logic_event} {$disabled_text} {$single_placeholder_attribute}/>\n                        </div>";
         }
     }
 }
Ejemplo n.º 3
0
 public function get_field_input($form, $value = '', $entry = null)
 {
     $is_entry_detail = $this->is_entry_detail();
     $is_form_editor = $this->is_form_editor();
     $form_id = $form['id'];
     $id = intval($this->id);
     $field_id = $is_entry_detail || $is_form_editor || $form_id == 0 ? "input_{$id}" : 'input_' . $form_id . "_{$id}";
     $form_sub_label_placement = rgar($form, 'subLabelPlacement');
     $field_sub_label_placement = rgar($this, 'subLabelPlacement');
     $is_sub_label_above = $field_sub_label_placement == 'above' || empty($field_sub_label_placement) && $form_sub_label_placement == 'above';
     $sub_label_class_attribute = $field_sub_label_placement == 'hidden_label' ? "class='hidden_sub_label'" : '';
     $disabled_text = $is_form_editor ? "disabled='disabled'" : '';
     $hour = $minute = $am_selected = $pm_selected = '';
     if (!is_array($value) && !empty($value)) {
         preg_match('/^(\\d*):(\\d*) ?(.*)$/', $value, $matches);
         $hour = esc_attr($matches[1]);
         $minute = esc_attr($matches[2]);
         $the_rest = strtolower(rgar($matches, 3));
         $am_selected = strpos($the_rest, 'am') > -1 ? "selected='selected'" : '';
         $pm_selected = strpos($the_rest, 'pm') > -1 ? "selected='selected'" : '';
     } else {
         if (is_array($value)) {
             $value = array_values($value);
             $hour = esc_attr($value[0]);
             $minute = esc_attr($value[1]);
             $am_selected = strtolower(rgar($value, 2)) == 'am' ? "selected='selected'" : '';
             $pm_selected = strtolower(rgar($value, 2)) == 'pm' ? "selected='selected'" : '';
         }
     }
     $hour_input = GFFormsModel::get_input($this, $this->id . '.1');
     $minute_input = GFFormsModel::get_input($this, $this->id . '.2');
     $hour_placeholder_attribute = $this->get_input_placeholder_attribute($hour_input);
     $minute_placeholder_attribute = $this->get_input_placeholder_attribute($minute_input);
     $hour_tabindex = $this->get_tabindex();
     $minute_tabindex = $this->get_tabindex();
     $ampm_tabindex = $this->get_tabindex();
     $is_html5 = RGFormsModel::is_html5_enabled();
     $input_type = $is_html5 ? 'number' : 'text';
     $max_hour = $this->timeFormat == '24' ? 23 : 12;
     $hour_html5_attributes = $is_html5 ? "min='0' max='{$max_hour}' step='1'" : '';
     $minute_html5_attributes = $is_html5 ? "min='0' max='59' step='1'" : '';
     $ampm_field_style = $is_form_editor && $this->timeFormat == '24' ? "style='display:none;'" : '';
     if ($is_form_editor || $this->timeFormat != '24') {
         $am_text = __('AM', 'gravityforms');
         $pm_text = __('PM', 'gravityforms');
         $ampm_field = $is_sub_label_above ? "<div class='gfield_time_ampm ginput_container' {$ampm_field_style}>\n                                                            <label for='{$field_id}_3'>&nbsp;</label>\n                                                            <select name='input_{$id}[]' id='{$field_id}_3' {$ampm_tabindex} {$disabled_text}>\n                                                                <option value='am' {$am_selected}>{$am_text}</option>\n                                                                <option value='pm' {$pm_selected}>{$pm_text}</option>\n                                                            </select>\n                                                          </div>" : "<div class='gfield_time_ampm ginput_container' {$ampm_field_style}>\n                                                            <select name='input_{$id}[]' id='{$field_id}_3' {$ampm_tabindex} {$disabled_text}>\n                                                                <option value='am' {$am_selected}>{$am_text}</option>\n                                                                <option value='pm' {$pm_selected}>{$pm_text}</option>\n                                                            </select>\n                                                          </div>";
     } else {
         $ampm_field = '';
     }
     $hour_label = rgar($hour_input, 'customLabel') != '' ? $hour_input['customLabel'] : __('HH', 'gravityforms');
     $minute_label = rgar($minute_input, 'customLabel') != '' ? $minute_input['customLabel'] : _x('MM', 'Abbreviation: Minutes', 'gravityforms');
     if ($is_sub_label_above) {
         return "<div class='clear-multi'>\n                        <div class='gfield_time_hour ginput_container' id='{$field_id}'>\n                            <label for='{$field_id}_1' {$sub_label_class_attribute}>{$hour_label}</label>\n                            <input type='{$input_type}' maxlength='2' name='input_{$id}[]' id='{$field_id}_1' value='{$hour}' {$hour_tabindex} {$hour_html5_attributes} {$disabled_text} {$hour_placeholder_attribute}/> <i>:</i>\n                        </div>\n                        <div class='gfield_time_minute ginput_container'>\n                            <label for='{$field_id}_2' {$sub_label_class_attribute}>{$minute_label}</label>\n                            <input type='{$input_type}' maxlength='2' name='input_{$id}[]' id='{$field_id}_2' value='{$minute}' {$minute_tabindex} {$minute_html5_attributes} {$disabled_text} {$minute_placeholder_attribute}/>\n                        </div>\n                        {$ampm_field}\n                    </div>";
     } else {
         return "<div class='clear-multi'>\n                        <div class='gfield_time_hour ginput_container' id='{$field_id}'>\n                            <input type='{$input_type}' maxlength='2' name='input_{$id}[]' id='{$field_id}_1' value='{$hour}' {$hour_tabindex} {$hour_html5_attributes} {$disabled_text} {$hour_placeholder_attribute}/> <i>:</i>\n                            <label for='{$field_id}_1' {$sub_label_class_attribute}>{$hour_label}</label>\n                        </div>\n                        <div class='gfield_time_minute ginput_container'>\n                            <input type='{$input_type}' maxlength='2' name='input_{$id}[]' id='{$field_id}_2' value='{$minute}' {$minute_tabindex} {$minute_html5_attributes} {$disabled_text} {$minute_placeholder_attribute}/>\n                            <label for='{$field_id}_2' {$sub_label_class_attribute}>{$minute_label}</label>\n                        </div>\n                        {$ampm_field}\n                    </div>";
     }
 }
Ejemplo n.º 4
0
 public function get_field_input($form, $value = '', $entry = null)
 {
     if (is_array($value)) {
         $value = array_values($value);
     }
     $form_id = $form['id'];
     $is_entry_detail = $this->is_entry_detail();
     $is_form_editor = $this->is_form_editor();
     $is_admin = $is_entry_detail || $is_form_editor;
     $id = (int) $this->id;
     $field_id = $is_entry_detail || $is_form_editor || $form_id == 0 ? "input_{$id}" : 'input_' . $form_id . "_{$id}";
     $class_suffix = $is_entry_detail ? '_admin' : '';
     $form_sub_label_placement = rgar($form, 'subLabelPlacement');
     $field_sub_label_placement = $this->subLabelPlacement;
     $is_sub_label_above = $field_sub_label_placement == 'above' || empty($field_sub_label_placement) && $form_sub_label_placement == 'above';
     $sub_label_class_attribute = $field_sub_label_placement == 'hidden_label' ? "class='hidden_sub_label screen-reader-text'" : '';
     $disabled_text = $is_form_editor ? 'disabled="disabled"' : '';
     $first_tabindex = $this->get_tabindex();
     $last_tabindex = $this->get_tabindex();
     $strength_style = !$this->passwordStrengthEnabled ? "style='display:none;'" : '';
     $strength_indicator_label = esc_html__('Strength indicator', 'gravityforms');
     $strength = $this->passwordStrengthEnabled || $is_admin ? "<div id='{$field_id}_strength_indicator' class='gfield_password_strength' {$strength_style}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{$strength_indicator_label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input type='hidden' class='gform_hidden' id='{$field_id}_strength' name='input_{$id}_strength' />" : '';
     $action = !$is_admin ? "gformShowPasswordStrength(\"{$field_id}\");" : '';
     $onchange = $this->passwordStrengthEnabled ? "onchange='{$action}'" : '';
     $onkeyup = $this->passwordStrengthEnabled ? "onkeyup='{$action}'" : '';
     $confirmation_value = rgpost('input_' . $id . '_2');
     $password_value = is_array($value) ? $value[0] : $value;
     $password_value = esc_attr($password_value);
     $confirmation_value = esc_attr($confirmation_value);
     $enter_password_field_input = GFFormsModel::get_input($this, $this->id . '');
     $confirm_password_field_input = GFFormsModel::get_input($this, $this->id . '.2');
     $enter_password_label = rgar($enter_password_field_input, 'customLabel') != '' ? $enter_password_field_input['customLabel'] : esc_html__('Enter Password', 'gravityforms');
     $enter_password_label = gf_apply_filters(array('gform_password', $form_id), $enter_password_label, $form_id);
     $confirm_password_label = rgar($confirm_password_field_input, 'customLabel') != '' ? $confirm_password_field_input['customLabel'] : esc_html__('Confirm Password', 'gravityforms');
     $confirm_password_label = gf_apply_filters(array('gform_password_confirm', $form_id), $confirm_password_label, $form_id);
     $required_attribute = $this->isRequired ? 'aria-required="true"' : '';
     $invalid_attribute = $this->failed_validation ? 'aria-invalid="true"' : 'aria-invalid="false"';
     $enter_password_placeholder_attribute = GFCommon::get_input_placeholder_attribute($enter_password_field_input);
     $confirm_password_placeholder_attribute = GFCommon::get_input_placeholder_attribute($confirm_password_field_input);
     if ($is_sub_label_above) {
         return "<div class='ginput_complex{$class_suffix} ginput_container ginput_container_password' id='{$field_id}_container'>\n\t\t\t\t\t<span id='{$field_id}_1_container' class='ginput_left'>\n\t\t\t\t\t\t<label for='{$field_id}' {$sub_label_class_attribute}>{$enter_password_label}</label>\n\t\t\t\t\t\t<input type='password' name='input_{$id}' id='{$field_id}' {$onkeyup} {$onchange} value='{$password_value}' {$first_tabindex} {$enter_password_placeholder_attribute} {$required_attribute} {$invalid_attribute} {$disabled_text}/>\n\t\t\t\t\t</span>\n\t\t\t\t\t<span id='{$field_id}_2_container' class='ginput_right'>\n\t\t\t\t\t\t<label for='{$field_id}_2' {$sub_label_class_attribute}>{$confirm_password_label}</label>\n\t\t\t\t\t\t<input type='password' name='input_{$id}_2' id='{$field_id}_2' {$onkeyup} {$onchange} value='{$confirmation_value}' {$last_tabindex} {$confirm_password_placeholder_attribute} {$required_attribute} {$invalid_attribute} {$disabled_text}/>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class='gf_clear gf_clear_complex'></div>\n\t\t\t\t</div>{$strength}";
     } else {
         return "<div class='ginput_complex{$class_suffix} ginput_container ginput_container_password' id='{$field_id}_container'>\n\t\t\t\t\t<span id='{$field_id}_1_container' class='ginput_left'>\n\t\t\t\t\t\t<input type='password' name='input_{$id}' id='{$field_id}' {$onkeyup} {$onchange} value='{$password_value}' {$first_tabindex} {$enter_password_placeholder_attribute} {$required_attribute} {$invalid_attribute} {$disabled_text}/>\n\t\t\t\t\t\t<label for='{$field_id}' {$sub_label_class_attribute}>{$enter_password_label}</label>\n\t\t\t\t\t</span>\n\t\t\t\t\t<span id='{$field_id}_2_container' class='ginput_right'>\n\t\t\t\t\t\t<input type='password' name='input_{$id}_2' id='{$field_id}_2' {$onkeyup} {$onchange} value='{$confirmation_value}' {$last_tabindex} {$confirm_password_placeholder_attribute} {$required_attribute} {$invalid_attribute} {$disabled_text}/>\n\t\t\t\t\t\t<label for='{$field_id}_2' {$sub_label_class_attribute}>{$confirm_password_label}</label>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class='gf_clear gf_clear_complex'></div>\n\t\t\t\t</div>{$strength}";
     }
 }
Ejemplo n.º 5
0
 public function get_field_input($form, $value = '', $entry = null)
 {
     $picker_value = '';
     if (is_array($value)) {
         // GFCommon::parse_date() takes a numeric array.
         $value = array_values($value);
     } else {
         $picker_value = $value;
     }
     $format = empty($this->dateFormat) ? 'mdy' : esc_attr($this->dateFormat);
     $date_info = GFCommon::parse_date($value, $format);
     $day_value = esc_attr(rgget('day', $date_info));
     $month_value = esc_attr(rgget('month', $date_info));
     $year_value = esc_attr(rgget('year', $date_info));
     $is_entry_detail = $this->is_entry_detail();
     $is_form_editor = $this->is_form_editor();
     $form_id = $form['id'];
     $id = intval($this->id);
     $field_id = $is_entry_detail || $is_form_editor || $form_id == 0 ? "input_{$id}" : 'input_' . $form_id . "_{$id}";
     $size = $this->size;
     $disabled_text = $is_form_editor ? "disabled='disabled'" : '';
     $class_suffix = $is_entry_detail ? '_admin' : '';
     $class = $size . $class_suffix;
     $form_sub_label_placement = rgar($form, 'subLabelPlacement');
     $field_sub_label_placement = rgar($this, 'subLabelPlacement');
     $is_sub_label_above = $field_sub_label_placement == 'above' || empty($field_sub_label_placement) && $form_sub_label_placement == 'above';
     $sub_label_class_attribute = $field_sub_label_placement == 'hidden_label' ? "class='hidden_sub_label screen-reader-text'" : '';
     $month_input = GFFormsModel::get_input($this, $this->id . '.1');
     $day_input = GFFormsModel::get_input($this, $this->id . '.2');
     $year_input = GFFormsModel::get_input($this, $this->id . '.3');
     $month_sub_label = rgar($month_input, 'customLabel') != '' ? $month_input['customLabel'] : esc_html(_x('MM', 'Abbreviation: Month', 'gravityforms'));
     $day_sub_label = rgar($day_input, 'customLabel') != '' ? $day_input['customLabel'] : esc_html__('DD', 'gravityforms');
     $year_sub_label = rgar($year_input, 'customLabel') != '' ? $year_input['customLabel'] : esc_html__('YYYY', 'gravityforms');
     $month_placeholder_attribute = GFCommon::get_input_placeholder_attribute($month_input);
     $day_placeholder_attribute = GFCommon::get_input_placeholder_attribute($day_input);
     $year_placeholder_attribute = GFCommon::get_input_placeholder_attribute($year_input);
     $month_placeholder_value = GFCommon::get_input_placeholder_value($month_input);
     $day_placeholder_value = GFCommon::get_input_placeholder_value($day_input);
     $year_placeholder_value = GFCommon::get_input_placeholder_value($year_input);
     $date_picker_placeholder = $this->get_field_placeholder_attribute();
     $is_html5 = RGFormsModel::is_html5_enabled();
     $date_input_type = $is_html5 ? 'number' : 'text';
     $month_html5_attributes = $is_html5 ? "min='1' max='12' step='1'" : '';
     $day_html5_attributes = $is_html5 ? "min='1' max='31' step='1'" : '';
     $year_min = apply_filters('gform_date_min_year', '1920', $form, $this);
     $year_max = apply_filters('gform_date_max_year', date('Y') + 1, $form, $this);
     $year_min_attribute = $is_html5 && is_numeric($year_min) ? "min='{$year_min}'" : '';
     $year_max_attribute = $is_html5 && is_numeric($year_max) ? "max='{$year_max}'" : '';
     $year_step_attribute = $is_html5 ? "step='1'" : '';
     $field_position = substr($format, 0, 3);
     if ($is_form_editor) {
         $datepicker_display = in_array($this->dateType, array('datefield', 'datedropdown')) ? 'none' : 'inline';
         $datefield_display = $this->dateType == 'datefield' ? 'inline' : 'none';
         $dropdown_display = $this->dateType == 'datedropdown' ? 'inline' : 'none';
         $icon_display = $this->calendarIconType == 'calendar' ? 'inline' : 'none';
         if ($is_sub_label_above) {
             $month_field = "<div class='gfield_date_month ginput_date' id='gfield_input_date_month' style='display:{$datefield_display}'>\n                                    <label for='{$field_id}_1' {$sub_label_class_attribute}>{$month_sub_label}</label>\n                                    <input id='{$field_id}_1' name='ginput_month' type='text' {$month_placeholder_attribute} {$disabled_text} value='{$month_value}'/>\n                                </div>";
             $day_field = "<div class='gfield_date_day ginput_date' id='gfield_input_date_day' style='display:{$datefield_display}'>\n                                    <label for='{$field_id}_2' {$sub_label_class_attribute}>{$day_sub_label}</label>\n                                    <input id='{$field_id}_2' name='ginput_day' type='text' {$day_placeholder_attribute} {$disabled_text} value='{$day_value}'/>\n                               </div>";
             $year_field = "<div class='gfield_date_year ginput_date' id='gfield_input_date_year' style='display:{$datefield_display}'>\n                                    <label {$sub_label_class_attribute}>{$year_sub_label}</label>\n                                    <input id='{$field_id}_3' type='text' name='text' {$year_placeholder_attribute} {$disabled_text} value='{$year_value}'/>\n                               </div>";
         } else {
             $month_field = "<div class='gfield_date_month ginput_date' id='gfield_input_date_month' style='display:{$datefield_display}'>\n                                    <input id='{$field_id}_1' name='ginput_month' type='text' {$month_placeholder_attribute} {$disabled_text} value='{$month_value}'/>\n                                    <label for='{$field_id}_1' {$sub_label_class_attribute}>{$month_sub_label}</label>\n                                </div>";
             $day_field = "<div class='gfield_date_day ginput_date' id='gfield_input_date_day' style='display:{$datefield_display}'>\n                                    <input id='{$field_id}_2' name='ginput_day' type='text' {$day_placeholder_attribute} {$disabled_text} value='{$day_value}'/>\n                                    <label for='{$field_id}_2' {$sub_label_class_attribute}>{$day_sub_label}</label>\n                              </div>";
             $year_field = "<div class='gfield_date_year ginput_date' id='gfield_input_date_year' style='display:{$datefield_display}'>\n                                    <input type='text' id='{$field_id}_3' name='ginput_year' {$year_placeholder_attribute} {$disabled_text} value='{$year_value}'/>\n                                    <label for='{$field_id}_3' {$sub_label_class_attribute}>{$year_sub_label}</label>\n                               </div>";
         }
         $month_dropdown = "<div class='gfield_date_dropdown_month ginput_date_dropdown' id='gfield_dropdown_date_month' style='display:{$dropdown_display}'>" . $this->get_month_dropdown('', "{$field_id}_1", rgar($date_info, 'month'), '', $disabled_text, $month_placeholder_value) . '</div>';
         $day_dropdown = "<div class='gfield_date_dropdown_day ginput_date_dropdown' id='gfield_dropdown_date_day' style='display:{$dropdown_display}'>" . $this->get_day_dropdown('', "{$field_id}_2", rgar($date_info, 'day'), '', $disabled_text, $day_placeholder_value) . '</div>';
         $year_dropdown = "<div class='gfield_date_dropdown_year ginput_date_dropdown' id='gfield_dropdown_date_year' style='display:{$dropdown_display}'>" . $this->get_year_dropdown('', "{$field_id}_3", rgar($date_info, 'year'), '', $disabled_text, $year_placeholder_value, $form) . '</div>';
         $field_string = "<div class='ginput_container ginput_container_date' id='gfield_input_datepicker' style='display:{$datepicker_display}'><input name='ginput_datepicker' type='text' {$date_picker_placeholder} {$disabled_text} value = '{$picker_value}'/><img src='" . GFCommon::get_base_url() . "/images/calendar.png' id='gfield_input_datepicker_icon' style='display:{$icon_display}'/></div>";
         switch ($field_position) {
             case 'dmy':
                 $date_inputs = $day_field . $month_field . $year_field . $day_dropdown . $month_dropdown . $year_dropdown;
                 break;
             case 'ymd':
                 $date_inputs = $year_field . $month_field . $day_field . $year_dropdown . $month_dropdown . $day_dropdown;
                 break;
             default:
                 $date_inputs = $month_field . $day_field . $year_field . $month_dropdown . $day_dropdown . $year_dropdown;
                 break;
         }
         $field_string .= "<div id='{$field_id}' class='ginput_container ginput_container_date'>{$date_inputs}</div>";
         return $field_string;
     } else {
         $date_type = $this->dateType;
         if (in_array($date_type, array('datefield', 'datedropdown'))) {
             switch ($field_position) {
                 case 'dmy':
                     $tabindex = $this->get_tabindex();
                     if ($date_type == 'datedropdown') {
                         $field_str = "<div class='clear-multi'><div class='gfield_date_dropdown_day ginput_container ginput_container_date' id='{$field_id}_2_container'>" . $this->get_day_dropdown("input_{$id}[]", "{$field_id}_2", rgar($date_info, 'day'), $tabindex, $disabled_text, $day_placeholder_value) . '</div>';
                         $tabindex = $this->get_tabindex();
                         $field_str .= "<div class='gfield_date_dropdown_month ginput_container ginput_container_date' id='{$field_id}_1_container'>" . $this->get_month_dropdown("input_{$id}[]", "{$field_id}_1", rgar($date_info, 'month'), $tabindex, $disabled_text, $month_placeholder_value) . '</div>';
                         $tabindex = $this->get_tabindex();
                         $field_str .= "<div class='gfield_date_dropdown_year ginput_container ginput_container_date' id='{$field_id}_3_container'>" . $this->get_year_dropdown("input_{$id}[]", "{$field_id}_3", rgar($date_info, 'year'), $tabindex, $disabled_text, $year_placeholder_value, $form) . '</div></div>';
                     } else {
                         $field_str = $is_sub_label_above ? "<div class='clear-multi'>\n                                        <div class='gfield_date_day ginput_container ginput_container_date' id='{$field_id}_2_container'>\n                                            <label for='{$field_id}_2' {$sub_label_class_attribute}>{$day_sub_label}</label>\n                                            <input type='{$date_input_type}' maxlength='2' name='input_{$id}[]' id='{$field_id}_2' value='{$day_value}' {$tabindex} {$disabled_text} {$day_placeholder_attribute} {$day_html5_attributes}/>\n                                        </div>" : "<div class='clear-multi'>\n                                        <div class='gfield_date_day ginput_container ginput_container_date' id='{$field_id}_2_container'>\n                                            <input type='{$date_input_type}' maxlength='2' name='input_{$id}[]' id='{$field_id}_2' value='{$day_value}' {$tabindex} {$disabled_text} {$day_placeholder_attribute} {$day_html5_attributes}/>\n                                            <label for='{$field_id}_2' {$sub_label_class_attribute}>{$day_sub_label}</label>\n                                        </div>";
                         $tabindex = $this->get_tabindex();
                         $field_str .= $is_sub_label_above ? "<div class='gfield_date_month ginput_container ginput_container_date' id='{$field_id}_1_container'>\n                                        <label for='{$field_id}_1' {$sub_label_class_attribute}>{$month_sub_label}</label>\n                                        <input type='{$date_input_type}' maxlength='2' name='input_{$id}[]' id='{$field_id}_1' value='{$month_value}' {$tabindex} {$disabled_text} {$month_placeholder_attribute} {$month_html5_attributes}/>\n                                   </div>" : "<div class='gfield_date_month ginput_container ginput_container_date' id='{$field_id}_1_container'>\n                                        <input type='{$date_input_type}' maxlength='2' name='input_{$id}[]' id='{$field_id}_1' value='{$month_value}' {$tabindex} {$disabled_text} {$month_placeholder_attribute} {$month_html5_attributes}/>\n                                        <label for='{$field_id}_1' {$sub_label_class_attribute}>{$month_sub_label}</label>\n                                   </div>";
                         $tabindex = $this->get_tabindex();
                         $field_str .= $is_sub_label_above ? "<div class='gfield_date_year ginput_container ginput_container_date' id='{$field_id}_3_container'>\n                                            <label for='{$field_id}_3' {$sub_label_class_attribute}>{$year_sub_label}</label>\n                                            <input type='{$date_input_type}' maxlength='4' name='input_{$id}[]' id='{$field_id}_3' value='{$year_value}' {$tabindex} {$disabled_text} {$year_placeholder_attribute} {$year_min_attribute} {$year_max_attribute} {$year_step_attribute}/>\n                                       </div>\n                                    </div>" : "<div class='gfield_date_year ginput_container ginput_container_date' id='{$field_id}_3_container'>\n                                        <input type='{$date_input_type}' maxlength='4' name='input_{$id}[]' id='{$field_id}_3' value='{$year_value}' {$tabindex} {$disabled_text} {$year_placeholder_attribute} {$year_min_attribute} {$year_max_attribute} {$year_step_attribute}/>\n                                        <label for='{$field_id}_3' {$sub_label_class_attribute}>{$year_sub_label}</label>\n                                   </div>\n                                </div>";
                     }
                     break;
                 case 'ymd':
                     $tabindex = $this->get_tabindex();
                     if ($date_type == 'datedropdown') {
                         $field_str = "<div class='clear-multi'><div class='gfield_date_dropdown_year ginput_container ginput_container_date' id='{$field_id}_3_container'>" . $this->get_year_dropdown("input_{$id}[]", "{$field_id}_3", rgar($date_info, 'year'), $tabindex, $disabled_text, $year_placeholder_value, $form) . '</div>';
                         $tabindex = $this->get_tabindex();
                         $field_str .= "<div class='gfield_date_dropdown_month ginput_container ginput_container_date' id='{$field_id}_1_container'>" . $this->get_month_dropdown("input_{$id}[]", "{$field_id}_1", rgar($date_info, 'month'), $tabindex, $disabled_text, $month_placeholder_value) . '</div>';
                         $tabindex = $this->get_tabindex();
                         $field_str .= "<div class='gfield_date_dropdown_day ginput_container ginput_container_date' id='{$field_id}_2_container'>" . $this->get_day_dropdown("input_{$id}[]", "{$field_id}_2", rgar($date_info, 'day'), $tabindex, $disabled_text, $day_placeholder_value) . '</div></div>';
                     } else {
                         $field_str = $is_sub_label_above ? "<div class='clear-multi'>\n                                            <div class='gfield_date_year ginput_container ginput_container_date' id='{$field_id}_3_container'>\n                                                <label for='{$field_id}_3' {$sub_label_class_attribute}>{$year_sub_label}</label>\n                                                <input type='{$date_input_type}' maxlength='4' name='input_{$id}[]' id='{$field_id}_3' value='{$year_value}' {$tabindex} {$disabled_text} {$year_placeholder_attribute} {$year_min_attribute} {$year_max_attribute} {$year_step_attribute}/>\n                                            </div>" : "<div class='clear-multi'>\n                                            <div class='gfield_date_year ginput_container ginput_container_date' id='{$field_id}_3_container'>\n                                                <input type='{$date_input_type}' maxlength='4' name='input_{$id}[]' id='{$field_id}_3' value='{$year_value}' {$tabindex} {$disabled_text} {$year_placeholder_attribute} {$year_min_attribute} {$year_max_attribute} {$year_step_attribute}/>\n                                                <label for='{$field_id}_3' {$sub_label_class_attribute}>{$year_sub_label}</label>\n                                            </div>";
                         $tabindex = $this->get_tabindex();
                         $field_str .= $is_sub_label_above ? "<div class='gfield_date_month ginput_container ginput_container_date' id='{$field_id}_1_container'>\n                                                <label for='{$field_id}_1' {$sub_label_class_attribute}>{$month_sub_label}</label>\n                                                <input type='{$date_input_type}' maxlength='2' name='input_{$id}[]' id='{$field_id}_1' value='{$month_value}' {$tabindex} {$disabled_text} {$month_placeholder_attribute} {$month_html5_attributes}/>\n                                            </div>" : "<div class='gfield_date_month ginput_container ginput_container_date' id='{$field_id}_1_container'>\n                                                <input type='{$date_input_type}' maxlength='2' name='input_{$id}[]' id='{$field_id}_1' value='{$month_value}' {$tabindex} {$disabled_text} {$month_placeholder_attribute} {$month_html5_attributes}/>\n                                                <label for='{$field_id}_1' {$sub_label_class_attribute}>{$month_sub_label}</label>\n                                            </div>";
                         $tabindex = $this->get_tabindex();
                         $field_str .= $is_sub_label_above ? "<div class='gfield_date_day ginput_container ginput_container_date' id='{$field_id}_2_container'>\n                                                <label for='{$field_id}_2' {$sub_label_class_attribute}>{$day_sub_label}</label>\n                                                <input type='{$date_input_type}' maxlength='2' name='input_{$id}[]' id='{$field_id}_2' value='{$day_value}' {$tabindex} {$disabled_text} {$day_placeholder_attribute} {$day_html5_attributes}/>\n                                           </div>\n                                        </div>" : "<div class='gfield_date_day ginput_container ginput_container_date' id='{$field_id}_2_container'>\n                                                <input type='{$date_input_type}' maxlength='2' name='input_{$id}[]' id='{$field_id}_2' value='{$day_value}' {$tabindex} {$disabled_text} {$day_placeholder_attribute} {$day_html5_attributes}/>\n                                                <label for='{$field_id}_2' {$sub_label_class_attribute}>{$day_sub_label}</label>\n                                           </div>\n                                        </div>";
                     }
                     break;
                 default:
                     $tabindex = $this->get_tabindex();
                     if ($date_type == 'datedropdown') {
                         $field_str = "<div class='clear-multi'><div class='gfield_date_dropdown_month ginput_container ginput_container_date' id='{$field_id}_1_container'>" . $this->get_month_dropdown("input_{$id}[]", "{$field_id}_1", rgar($date_info, 'month'), $tabindex, $disabled_text, $month_placeholder_value) . '</div>';
                         $tabindex = $this->get_tabindex();
                         $field_str .= "<div class='gfield_date_dropdown_day ginput_container ginput_container_date' id='{$field_id}_2_container'>" . $this->get_day_dropdown("input_{$id}[]", "{$field_id}_2", rgar($date_info, 'day'), $tabindex, $disabled_text, $day_placeholder_value) . '</div>';
                         $tabindex = $this->get_tabindex();
                         $field_str .= "<div class='gfield_date_dropdown_year ginput_container ginput_container_date' id='{$field_id}_3_container'>" . $this->get_year_dropdown("input_{$id}[]", "{$field_id}_3", rgar($date_info, 'year'), $tabindex, $disabled_text, $year_placeholder_value, $form) . '</div></div>';
                     } else {
                         $field_str = $is_sub_label_above ? "<div class='clear-multi'><div class='gfield_date_month ginput_container ginput_container_date' id='{$field_id}_1_container'>\n                                            <label for='{$field_id}_1' {$sub_label_class_attribute}>{$month_sub_label}</label>\n                                            <input type='{$date_input_type}' maxlength='2' name='input_{$id}[]' id='{$field_id}_1' value='{$month_value}' {$tabindex} {$disabled_text} {$month_placeholder_attribute} {$month_html5_attributes}/>\n                                        </div>" : "<div class='clear-multi'><div class='gfield_date_month ginput_container ginput_container_date' id='{$field_id}_1_container'>\n                                            <input type='{$date_input_type}' maxlength='2' name='input_{$id}[]' id='{$field_id}_1' value='{$month_value}' {$tabindex} {$disabled_text} {$month_placeholder_attribute} {$month_html5_attributes}/>\n                                            <label for='{$field_id}_1' {$sub_label_class_attribute}>{$month_sub_label}</label>\n                                        </div>";
                         $tabindex = $this->get_tabindex();
                         $field_str .= $is_sub_label_above ? "<div class='gfield_date_day ginput_container ginput_container_date' id='{$field_id}_2_container'>\n                                            <label for='{$field_id}_2' {$sub_label_class_attribute}>{$day_sub_label}</label>\n                                            <input type='{$date_input_type}' maxlength='2' name='input_{$id}[]' id='{$field_id}_2' value='{$day_value}' {$tabindex} {$disabled_text} {$day_placeholder_attribute} {$day_html5_attributes}/>\n                                        </div>" : "<div class='gfield_date_day ginput_container ginput_container_date' id='{$field_id}_2_container'>\n                                            <input type='{$date_input_type}' maxlength='2' name='input_{$id}[]' id='{$field_id}_2' value='{$day_value}' {$tabindex} {$disabled_text} {$day_placeholder_attribute} {$day_html5_attributes}/>\n                                            <label for='{$field_id}_2' {$sub_label_class_attribute}>{$day_sub_label}</label>\n                                        </div>";
                         $tabindex = $this->get_tabindex();
                         $field_str .= $is_sub_label_above ? "<div class='gfield_date_year ginput_container ginput_container_date' id='{$field_id}_3_container'>\n                                            <label for='{$field_id}_3' {$sub_label_class_attribute}>{$year_sub_label}</label>\n                                            <input type='{$date_input_type}' maxlength='4' name='input_{$id}[]' id='{$field_id}_3' value='{$year_value}' {$tabindex} {$disabled_text} {$year_placeholder_attribute} {$year_min_attribute} {$year_max_attribute} {$year_step_attribute}/>\n                                       </div>\n                                   </div>" : "<div class='gfield_date_year ginput_container ginput_container_date' id='{$field_id}_3_container'>\n                                            <input type='{$date_input_type}' maxlength='4' name='input_{$id}[]' id='{$field_id}_3' value='{$year_value}' {$tabindex} {$disabled_text} {$year_placeholder_attribute} {$year_min_attribute} {$year_max_attribute} {$year_step_attribute}/>\n                                            <label for='{$field_id}_3' {$sub_label_class_attribute}>{$year_sub_label}</label>\n                                       </div>\n                                   </div>";
                     }
                     break;
             }
             return "<div id='{$field_id}' class='ginput_container ginput_container_date'>{$field_str}</div>";
         } else {
             $picker_value = esc_attr(GFCommon::date_display($picker_value, $format));
             $icon_class = $this->calendarIconType == 'none' ? 'datepicker_no_icon' : 'datepicker_with_icon';
             $icon_url = empty($this->calendarIconUrl) ? GFCommon::get_base_url() . '/images/calendar.png' : $this->calendarIconUrl;
             $icon_url = esc_url($icon_url);
             $tabindex = $this->get_tabindex();
             $class = esc_attr($class);
             return "<div class='ginput_container ginput_container_date'>\n                            <input name='input_{$id}' id='{$field_id}' type='text' value='{$picker_value}' class='datepicker {$class} {$format} {$icon_class}' {$tabindex} {$disabled_text} {$date_picker_placeholder}/>\n                        </div>\n                        <input type='hidden' id='gforms_calendar_icon_{$field_id}' class='gform_hidden' value='{$icon_url}'/>";
         }
     }
 }
Ejemplo n.º 6
0
 public function get_field_input($form, $value = '', $entry = null)
 {
     $is_entry_detail = $this->is_entry_detail();
     $is_form_editor = $this->is_form_editor();
     $form_id = $form['id'];
     $id = intval($this->id);
     $field_id = $is_entry_detail || $is_form_editor || $form_id == 0 ? "input_{$id}" : 'input_' . $form_id . "_{$id}";
     $form_id = ($is_entry_detail || $is_form_editor) && empty($form_id) ? rgget('id') : $form_id;
     $disabled_text = $is_form_editor ? "disabled='disabled'" : '';
     $class_suffix = $is_entry_detail ? '_admin' : '';
     $form_sub_label_placement = rgar($form, 'subLabelPlacement');
     $field_sub_label_placement = $this->subLabelPlacement;
     $is_sub_label_above = $field_sub_label_placement == 'above' || empty($field_sub_label_placement) && $form_sub_label_placement == 'above';
     $sub_label_class_attribute = $field_sub_label_placement == 'hidden_label' ? "class='hidden_sub_label screen-reader-text'" : '';
     $card_number = '';
     $card_name = '';
     $expiration_month = '';
     $expiration_year = '';
     $security_code = '';
     $autocomplete = RGFormsModel::is_html5_enabled() ? "autocomplete='off'" : '';
     if (is_array($value)) {
         $card_number = esc_attr(rgget($this->id . '.1', $value));
         $card_name = esc_attr(rgget($this->id . '.5', $value));
         $expiration_date = rgget($this->id . '.2', $value);
         if (!is_array($expiration_date) && !empty($expiration_date)) {
             $expiration_date = explode('/', $expiration_date);
         }
         if (is_array($expiration_date) && count($expiration_date) == 2) {
             $expiration_month = $expiration_date[0];
             $expiration_year = $expiration_date[1];
         }
         $security_code = esc_attr(rgget($this->id . '.3', $value));
     }
     $action = !($is_entry_detail || $is_form_editor) ? "gformMatchCard(\"{$field_id}_1\");" : '';
     $onchange = "onchange='{$action}'";
     $onkeyup = "onkeyup='{$action}'";
     $card_icons = '';
     $cards = GFCommon::get_card_types();
     $card_style = $this->creditCardStyle ? $this->creditCardStyle : 'style1';
     foreach ($cards as $card) {
         $style = '';
         if ($this->is_card_supported($card['slug'])) {
             $print_card = true;
         } elseif ($is_form_editor || $is_entry_detail) {
             $print_card = true;
             $style = "style='display:none;'";
         } else {
             $print_card = false;
         }
         if ($print_card) {
             $card_icons .= "<div class='gform_card_icon gform_card_icon_{$card['slug']}' {$style}>{$card['name']}</div>";
         }
     }
     $payment_methods = apply_filters('gform_payment_methods', array(), $this, $form_id);
     $payment_options = '';
     if (is_array($payment_methods)) {
         foreach ($payment_methods as $payment_method) {
             $checked = rgpost('gform_payment_method') == $payment_method['key'] ? "checked='checked'" : '';
             $payment_options .= "<div class='gform_payment_option gform_payment_{$payment_method['key']}'><input type='radio' name='gform_payment_method' value='{$payment_method['key']}' id='gform_payment_method_{$payment_method['key']}' onclick='gformToggleCreditCard();' onkeypress='gformToggleCreditCard();' {$checked}/> {$payment_method['label']}</div>";
         }
     }
     $checked = rgpost('gform_payment_method') == 'creditcard' || rgempty('gform_payment_method') ? "checked='checked'" : '';
     $card_radio_button = empty($payment_options) ? '' : "<input type='radio' name='gform_payment_method' id='gform_payment_method_creditcard' value='creditcard' onclick='gformToggleCreditCard();' onkeypress='gformToggleCreditCard();' {$checked}/>";
     $card_icons = "{$payment_options}<div class='gform_card_icon_container gform_card_icon_{$card_style}'>{$card_radio_button}{$card_icons}</div>";
     //card number fields
     $tabindex = $this->get_tabindex();
     $card_number_field_input = GFFormsModel::get_input($this, $this->id . '.1');
     $html5_output = !is_admin() && GFFormsModel::is_html5_enabled() ? "pattern='[0-9]*' title='" . esc_attr__('Only digits are allowed', 'gravityforms') . "'" : '';
     $card_number_label = rgar($card_number_field_input, 'customLabel') != '' ? $card_number_field_input['customLabel'] : esc_html__('Card Number', 'gravityforms');
     $card_number_label = gf_apply_filters(array('gform_card_number', $form_id), $card_number_label, $form_id);
     $card_number_placeholder = $this->get_input_placeholder_attribute($card_number_field_input);
     if ($is_sub_label_above) {
         $card_field = "<span class='ginput_full{$class_suffix}' id='{$field_id}_1_container' >\n                                    {$card_icons}\n                                    <label for='{$field_id}_1' id='{$field_id}_1_label' {$sub_label_class_attribute}>{$card_number_label}</label>\n                                    <input type='text' name='input_{$id}.1' id='{$field_id}_1' value='{$card_number}' {$tabindex} {$disabled_text} {$onchange} {$onkeyup} {$autocomplete} {$html5_output} {$card_number_placeholder}/>\n                                 </span>";
     } else {
         $card_field = "<span class='ginput_full{$class_suffix}' id='{$field_id}_1_container' >\n                                    {$card_icons}\n                                    <input type='text' name='input_{$id}.1' id='{$field_id}_1' value='{$card_number}' {$tabindex} {$disabled_text} {$onchange} {$onkeyup} {$autocomplete} {$html5_output} {$card_number_placeholder}/>\n                                    <label for='{$field_id}_1' id='{$field_id}_1_label' {$sub_label_class_attribute}>{$card_number_label}</label>\n                                 </span>";
     }
     //expiration date field
     $expiration_month_tab_index = $this->get_tabindex();
     $expiration_year_tab_index = $this->get_tabindex();
     $expiration_month_input = GFFormsModel::get_input($this, $this->id . '.2_month');
     $expiration_month_placeholder = $this->get_input_placeholder_value($expiration_month_input);
     $expiration_year_input = GFFormsModel::get_input($this, $this->id . '.2_year');
     $expiration_year_placeholder = $this->get_input_placeholder_value($expiration_year_input);
     $expiration_months = $this->get_expiration_months($expiration_month, $expiration_month_placeholder);
     $expiration_years = $this->get_expiration_years($expiration_year, $expiration_year_placeholder);
     $expiration_label = rgar($expiration_month_input, 'customLabel') != '' ? $expiration_month_input['customLabel'] : esc_html__('Expiration Date', 'gravityforms');
     $expiration_label = gf_apply_filters(array('gform_card_expiration', $form_id), $expiration_label, $form_id);
     if ($is_sub_label_above) {
         $expiration_field = "<span class='ginput_full{$class_suffix} ginput_cardextras' id='{$field_id}_2_container'>\n                                            <span class='ginput_cardinfo_left{$class_suffix}' id='{$field_id}_2_cardinfo_left'>\n                                                <span class='ginput_card_expiration_container ginput_card_field'>\n                                                    <label for='{$field_id}_2_month' {$sub_label_class_attribute}>{$expiration_label}</label>\n                                                    <select name='input_{$id}.2[]' id='{$field_id}_2_month' {$expiration_month_tab_index} {$disabled_text} class='ginput_card_expiration ginput_card_expiration_month'>\n                                                        {$expiration_months}\n                                                    </select>\n                                                    <select name='input_{$id}.2[]' id='{$field_id}_2_year' {$expiration_year_tab_index} {$disabled_text} class='ginput_card_expiration ginput_card_expiration_year'>\n                                                        {$expiration_years}\n                                                    </select>\n                                                </span>\n                                            </span>";
     } else {
         $expiration_field = "<span class='ginput_full{$class_suffix} ginput_cardextras' id='{$field_id}_2_container'>\n                                            <span class='ginput_cardinfo_left{$class_suffix}' id='{$field_id}_2_cardinfo_left'>\n                                                <span class='ginput_card_expiration_container ginput_card_field'>\n                                                    <select name='input_{$id}.2[]' id='{$field_id}_2_month' {$expiration_month_tab_index} {$disabled_text} class='ginput_card_expiration ginput_card_expiration_month'>\n                                                        {$expiration_months}\n                                                    </select>\n                                                    <select name='input_{$id}.2[]' id='{$field_id}_2_year' {$expiration_year_tab_index} {$disabled_text} class='ginput_card_expiration ginput_card_expiration_year'>\n                                                    {$expiration_years}\n                                                    </select>\n                                                    <label for='{$field_id}_2_month' {$sub_label_class_attribute}>{$expiration_label}</label>\n                                                </span>\n                                            </span>";
     }
     //security code field
     $tabindex = $this->get_tabindex();
     $security_code_field_input = GFFormsModel::get_input($this, $this->id . '.3');
     $security_code_label = rgar($security_code_field_input, 'customLabel') != '' ? $security_code_field_input['customLabel'] : esc_html__('Security Code', 'gravityforms');
     $security_code_label = gf_apply_filters(array('gform_card_security_code', $form_id), $security_code_label, $form_id);
     $html5_output = GFFormsModel::is_html5_enabled() ? "pattern='[0-9]*' title='" . esc_attr__('Only digits are allowed', 'gravityforms') . "'" : '';
     $security_code_placeholder = $this->get_input_placeholder_attribute($security_code_field_input);
     if ($is_sub_label_above) {
         $security_field = "<span class='ginput_cardinfo_right{$class_suffix}' id='{$field_id}_2_cardinfo_right'>\n                                                <label for='{$field_id}_3' {$sub_label_class_attribute}>{$security_code_label}</label>\n                                                <input type='text' name='input_{$id}.3' id='{$field_id}_3' {$tabindex} {$disabled_text} class='ginput_card_security_code' value='{$security_code}' {$autocomplete} {$html5_output} {$security_code_placeholder} />\n                                                <span class='ginput_card_security_code_icon'>&nbsp;</span>\n                                             </span>\n                                        </span>";
     } else {
         $security_field = "<span class='ginput_cardinfo_right{$class_suffix}' id='{$field_id}_2_cardinfo_right'>\n                                                <input type='text' name='input_{$id}.3' id='{$field_id}_3' {$tabindex} {$disabled_text} class='ginput_card_security_code' value='{$security_code}' {$autocomplete} {$html5_output} {$security_code_placeholder}/>\n                                                <span class='ginput_card_security_code_icon'>&nbsp;</span>\n                                                <label for='{$field_id}_3' {$sub_label_class_attribute}>{$security_code_label}</label>\n                                             </span>\n                                        </span>";
     }
     $tabindex = $this->get_tabindex();
     $card_name_field_input = GFFormsModel::get_input($this, $this->id . '.5');
     $card_name_label = rgar($card_name_field_input, 'customLabel') != '' ? $card_name_field_input['customLabel'] : esc_html__('Cardholder Name', 'gravityforms');
     $card_name_label = gf_apply_filters(array('gform_card_name', $form_id), $card_name_label, $form_id);
     $card_name_placeholder = $this->get_input_placeholder_attribute($card_name_field_input);
     if ($is_sub_label_above) {
         $card_name_field = "<span class='ginput_full{$class_suffix}' id='{$field_id}_5_container'>\n                                            <label for='{$field_id}_5' id='{$field_id}_5_label' {$sub_label_class_attribute}>{$card_name_label}</label>\n                                            <input type='text' name='input_{$id}.5' id='{$field_id}_5' value='{$card_name}' {$tabindex} {$disabled_text} {$card_name_placeholder}/>\n                                        </span>";
     } else {
         $card_name_field = "<span class='ginput_full{$class_suffix}' id='{$field_id}_5_container'>\n                                            <input type='text' name='input_{$id}.5' id='{$field_id}_5' value='{$card_name}' {$tabindex} {$disabled_text} {$card_name_placeholder}/>\n                                            <label for='{$field_id}_5' id='{$field_id}_5_label' {$sub_label_class_attribute}>{$card_name_label}</label>\n                                        </span>";
     }
     return "<div class='ginput_complex{$class_suffix} ginput_container ginput_container_creditcard' id='{$field_id}'>" . $card_field . $expiration_field . $security_field . $card_name_field . ' </div>';
 }
Ejemplo n.º 7
0
 public function get_input_property($input_id, $property_name)
 {
     $input = GFFormsModel::get_input($this, $input_id);
     return rgar($input, $property_name);
 }
Ejemplo n.º 8
0
 /**
  * Get the label for the input field. This is necessary to prevent Admin Labels from being used instead of normal labels.
  */
 public static function get_label($field, $input_id = 0, $input_only = false)
 {
     $field_label = rgar($field, "label");
     $input = GFFormsModel::get_input($field, $input_id);
     if (rgget("type", $field) == "checkbox" && $input != null) {
         return $input["label"];
     } else {
         if ($input != null) {
             return $input_only ? $input["label"] : $field_label . ' (' . $input["label"] . ')';
         } else {
             return $field_label;
         }
     }
 }