Ejemplo n.º 1
0
 static function draw_field($field, $data, $config_data)
 {
     $html = '';
     $div_id = $field->div_id;
     $field_id = $field->id;
     $error_id = $field->error_id;
     if (!$field->visible) {
         $html = '';
         return $html;
     }
     // Tooltip or Info button?
     $title = '';
     $field_class = '';
     $info_button = '';
     if ($field->tooltip_type == TOOLTIP_TIP) {
         if (!empty($field->tooltip)) {
             $title = ' title="' . self::tooltipText($field->tooltip) . '" ';
             $field_class = ' class="hasTooltip"';
         }
     } else {
         if (!empty($field->tooltip)) {
             $info_button = ' ' . self::make_info($field->tooltip);
         }
     }
     // Placeholder
     if (empty($field->placeholder)) {
         $placeholder = '';
     } else {
         $placeholder = ' placeholder="' . $field->placeholder . '"';
     }
     switch ($field->field_type) {
         case LAFC_FIELD_FROM_ADDRESS:
         case LAFC_FIELD_FROM_NAME:
         case LAFC_FIELD_SUBJECT:
         case LAFC_FIELD_TEXT:
         case LAFC_FIELD_ADVANCED:
             if ($field->css_class == '') {
                 $html .= "\n" . '<div class="fcp_line fcp_text" id="' . $div_id . '">';
             } else {
                 $html .= "\n" . '<div class="fcp_line ' . $field->css_class . '" id="' . $div_id . '">';
             }
             $html .= self::draw_label($field);
             $size = self::size($field->width);
             $html .= "\n" . '<input type="text" ' . $field_class . $size . ' name="' . $field_id . '" id="' . $field_id . '"' . $placeholder . ' value="' . $data->{$field_id} . '"' . $title . ' />';
             $html .= $info_button;
             $html .= '<span id="' . $error_id . '"></span>';
             $html .= "\n" . '</div>';
             break;
         case LAFC_FIELD_TEXT_NUMERIC:
             if ($field->css_class == '') {
                 $html .= "\n" . '<div class="fcp_line fcp_text fcp_numeric" id="' . $div_id . '">';
             } else {
                 $html .= "\n" . '<div class="fcp_line ' . $field->css_class . '" id="' . $div_id . '">';
             }
             $html .= self::draw_label($field);
             $size = self::size($field->width);
             $html .= "\n" . '<input type="text" ' . $field_class . $size . ' name="' . $field_id . '" id="' . $field_id . '"' . $placeholder . ' value="' . $data->{$field_id} . '" onkeypress="return numbersOnly(event)"' . $title . ' />';
             $html .= $info_button;
             $html .= '<span id="' . $error_id . '"></span>';
             $html .= "\n" . '</div>';
             break;
         case LAFC_FIELD_TEXTAREA:
             if ($field->css_class == '') {
                 $html .= "\n" . '<div class="fcp_line fcp_textarea" id="' . $div_id . '">';
             } else {
                 $html .= "\n" . '<div class="fcp_line ' . $field->css_class . '" id="' . $div_id . '">';
             }
             $html .= self::draw_label($field);
             $size = self::size($field->width, 'cols');
             $html .= "\n" . '<textarea name="' . $field_id . '"' . ' id="' . $field_id . '" ' . $field_class . $title . $placeholder . ' rows="' . $field->height . '"' . $size . '>' . $data->{$field_id} . '</textarea>';
             $html .= $info_button;
             $html .= '<span id="' . $error_id . '"></span>';
             $html .= "\n" . '</div>';
             break;
         case LAFC_FIELD_LIST:
             if ($field->css_class == '') {
                 $html .= "\n" . '<div class="fcp_line fcp_list" id="' . $div_id . '">';
             } else {
                 $html .= "\n" . '<div class="fcp_line ' . $field->css_class . '" id="' . $div_id . '">';
             }
             $html .= self::draw_label($field);
             $list_array = FCP_Common::split_list($field->list_list, $field->delimiter);
             $list_html = FCP_Common::make_list($field_id, $data->{$field_id}, $list_array['LEFT'], 0, $field_class . $title);
             $html .= "\n" . $list_html;
             $html .= $info_button;
             $html .= '<span id="' . $error_id . '"></span>';
             $html .= "\n" . '</div>';
             break;
         case LAFC_FIELD_RECIPIENT:
             if ($field->css_class == '') {
                 $html .= "\n" . '<div class="fcp_line fcp_list" id="' . $div_id . '">';
             } else {
                 $html .= "\n" . '<div class="fcp_line ' . $field->css_class . '" id="' . $div_id . '">';
             }
             $html .= self::draw_label($field);
             $list_array = FCP_Common::split_list($field->list_list, ';', $field->delimiter);
             $list_html = FCP_Common::make_list($field_id, $data->{$field_id}, $list_array['LEFT'], 0, $field_class . $title);
             $html .= "\n" . $list_html;
             $html .= $info_button;
             $html .= '<span id="' . $error_id . '"></span>';
             $html .= "\n" . '</div>';
             break;
         case LAFC_FIELD_CHECKBOX_L:
             if ($field->css_class == '') {
                 $html .= "\n" . '<div class="fcp_line fcp_checkbox fcp_checkbox_l" id="' . $div_id . '">';
             } else {
                 $html .= "\n" . '<div class="fcp_line ' . $field->css_class . '" id="' . $div_id . '">';
             }
             if ($data->{$field_id}) {
                 $checked = 'checked = "checked"';
             } else {
                 $checked = '';
             }
             $checkbox = '<input type="checkbox" class="fcp_lcb"' . $title . ' name="' . $field_id . '" id="' . $field_id . '" value="1" ' . $checked . '/>';
             $html .= "\n" . $checkbox;
             $html .= self::draw_label($field, 'fcp_lcb', $title);
             $html .= $info_button;
             $html .= '<span id="' . $error_id . '"></span>';
             $html .= "\n" . '</div>';
             break;
         case LAFC_FIELD_CHECKBOX_R:
             if ($field->css_class == '') {
                 $html .= "\n" . '<div class="fcp_line fcp_checkbox fcp_checkbox_r" id="' . $div_id . '">';
             } else {
                 $html .= "\n" . '<div class="fcp_line ' . $field->css_class . '" id="' . $div_id . '">';
             }
             $html .= self::draw_label($field, '', $title);
             if ($data->{$field_id}) {
                 $checked = 'checked = "checked"';
             } else {
                 $checked = '';
             }
             $html .= "\n" . '<input type="checkbox" ' . $field_class . $title . ' name="' . $field_id . '" id="' . $field_id . '" value="1" ' . $checked . '/>';
             $html .= $info_button;
             $html .= '<span id="' . $error_id . '"></span>';
             $html .= "\n" . '</div>';
             break;
         case LAFC_FIELD_CHECKBOX_H:
             if ($field->css_class == '') {
                 $html .= "\n" . '<span class="fcp_checkbox fcp_checkbox_h" id="' . $div_id . '">';
             } else {
                 $html .= "\n" . '<span class="fcp_ufield ' . $field->css_class . '" id="' . $div_id . '">';
             }
             if ($data->{$field_id}) {
                 $checked = 'checked = "checked"';
             } else {
                 $checked = '';
             }
             $checkbox = '<input type="checkbox" ' . $field_class . ' name="' . $field_id . '" id="' . $field_id . '" value="1" ' . $checked . '/>';
             $html .= "\n" . $checkbox;
             if ($field->mandatory) {
                 $html .= "\n" . '<span class="fcp_mandatory"><span ' . $field_class . '>' . $field->prompt . '</span></span>';
             } else {
                 $html .= "\n" . '<span>' . $field->prompt . '</span>';
             }
             $html .= $info_button;
             $html .= '<span id="' . $error_id . '"></span>';
             $html .= "\n" . '</span>';
             break;
         case LAFC_FIELD_CHECKBOX_M:
             if ($field->css_class == '') {
                 $html .= "\n" . '<div class="fcp_line fcp_checkbox fcp_checkbox_m" id="' . $div_id . '">';
             } else {
                 $html .= "\n" . '<div class="fcp_line ' . $field->css_class . '" id="' . $div_id . '">';
             }
             $html .= self::draw_label($field, '', $title);
             $html .= "\n" . '<div class="fcp_checkbox_inner">';
             $list_array = FCP_Common::split_list($field->list_list, $field->delimiter);
             $html .= self::make_checkbox_list($field_id, $list_array['LEFT'], $title);
             $html .= "\n" . '</div>';
             $html .= $info_button;
             $html .= '<span id="' . $error_id . '"></span>';
             $html .= "\n" . '</div>';
             break;
         case LAFC_FIELD_FIXED_TEXT:
             if ($field->css_class == '') {
                 $html .= "\n" . '<div class="fcp_line fcp_fixed_text" id="' . $div_id . '">';
             } else {
                 $html .= "\n" . '<div class="fcp_line ' . $field->css_class . '" id="' . $div_id . '">';
             }
             $html .= self::draw_label($field);
             $html .= "\n" . '<span>' . $field->default_value . '</span>';
             // note that we do not end the div
             // because there might be horizontal checkboxes that need to go in it
             break;
         case LAFC_FIELD_DATE:
             require_once LAFC_HELPER_PATH . '/date_pickers.php';
             if ($field->css_class == '') {
                 $html .= "\n" . '<div class="fcp_line fcp_date" id="' . $div_id . '">';
             } else {
                 $html .= "\n" . '<div class="fcp_line ' . $field->css_class . '" id="' . $div_id . '">';
             }
             $html .= self::draw_label($field);
             $html .= FCP_date_picker::make_date_field($config_data, $field_id, $data->{$field_id});
             $html .= '<span id="' . $error_id . '"></span>';
             $html .= "\n" . '</div>';
             break;
         case LAFC_FIELD_FIELDSET_START:
             if ($field->prompt == '') {
                 $legend = '';
             } else {
                 $legend = '<legend>' . $field->prompt . '</legend>';
             }
             $size = self::size($field->width);
             if ($field->css_class == '') {
                 $html .= "\n" . '<fieldset class="fcp_fieldset"' . $size . '>' . $legend;
             } else {
                 $html .= "\n" . '<fieldset class="fcp_fieldset ' . $field->css_class . $size . '">' . $legend;
             }
             break;
         case LAFC_FIELD_FIELDSET_END:
             $html .= "\n" . '</fieldset>';
             break;
         case LAFC_FIELD_RADIO_H:
             if ($field->css_class == '') {
                 $html .= "\n" . '<div class="fcp_line fcp_radio" id="' . $div_id . '">';
             } else {
                 $html .= "\n" . '<div class="fcp_line ' . $field->css_class . '" id="' . $div_id . '">';
             }
             $html .= self::draw_label($field);
             $html .= "\n" . '<div class="fcp_radio_h_inner">';
             $list_array = FCP_Common::split_list($field->list_list, ';', $field->delimiter);
             $html .= self::make_radio_list($field_id, $data->{$field_id}, $list_array['LEFT'], 'fcp_radio_h', $title);
             $html .= "\n" . '</div>';
             $html .= $info_button;
             $html .= '<span id="' . $error_id . '"></span>';
             $html .= "\n" . '</div>';
             break;
         case LAFC_FIELD_RADIO_V:
             if ($field->css_class == '') {
                 $html .= "\n" . '<div class="fcp_line fcp_radio" id="' . $div_id . '">';
             } else {
                 $html .= "\n" . '<div class="fcp_line ' . $field->css_class . '" id="' . $div_id . '">';
             }
             $html .= self::draw_label($field);
             $html .= "\n" . '<div class="fcp_radio_v_inner">';
             $list_array = FCP_Common::split_list($field->list_list, ';', $field->delimiter);
             $html .= self::make_radio_list($field_id, $data->{$field_id}, $list_array['LEFT'], 'fcp_radio_v', $title);
             $html .= "\n" . '</div>';
             $html .= $info_button;
             $html .= '<span id="' . $error_id . '"></span>';
             $html .= "\n" . '</div>';
             break;
         case LAFC_FIELD_PASSWORD:
             if ($field->css_class == '') {
                 $html .= "\n" . '<div class="fcp_line fcp_password" id="' . $div_id . '">';
             } else {
                 $html .= "\n" . '<div class="fcp_line ' . $field->css_class . '" id="' . $div_id . '">';
             }
             $html .= self::draw_label($field);
             $size = self::size($field->width);
             $html .= "\n" . '<input type="password" ' . $field_class . $size . ' name="' . $field_id . '" id="' . $field_id . '"' . $placeholder . ' value="' . $data->{$field_id} . '"' . $title . ' />';
             $html .= $info_button;
             $html .= '<span id="' . $error_id . '"></span>';
             $html .= "\n" . '</div>';
             break;
         case LAFC_FIELD_ATTACHMENT:
             if ($field->css_class == '') {
                 $html .= "\n" . '<div class="fcp_line fcp_attachment" id="' . $div_id . '">';
             } else {
                 $html .= "\n" . '<div class="fcp_line ' . $field->css_class . '" id="' . $div_id . '">';
             }
             $html .= self::draw_label($field);
             $size = self::size($field->width);
             $html .= "\n" . '<input type="file" ' . $field_class . $size . ' name="' . $field_id . '" id="' . $field_id . '"' . $title . ' />';
             $html .= $info_button;
             $html .= '<span id="' . $error_id . '"></span>';
             $html .= "\n" . '</div>';
             break;
     }
     return $html;
 }