示例#1
0
 public static function meta($field = null, $search = false)
 {
     if ($field != null) {
         // date interval
         if ($field['e_type'] == 'DATEINTERVAL') {
             $field['s_value'] = array();
             $field['s_value']['from'] = '';
             $field['s_value']['to'] = '';
             if (!$search) {
                 $aInterval = Field::newInstance()->getDateIntervalByPrimaryKey($field['fk_i_item_id'], $field['pk_i_id']);
                 if (is_array($aInterval) && !empty($aInterval)) {
                     $temp['from'] = @$aInterval['from'];
                     $temp['to'] = @$aInterval['to'];
                     $field['s_value'] = $temp;
                 }
             } else {
                 $temp['from'] = Params::getParam('meta[' . $field['pk_i_id'] . '][from]');
                 $temp['to'] = Params::getParam('meta[' . $field['pk_i_id'] . '][to]');
                 $field['s_value'] = $temp;
             }
         }
         // end date interval
         if (Session::newInstance()->_getForm('meta_' . $field['pk_i_id']) != "") {
             $field['s_value'] = Session::newInstance()->_getForm('meta_' . $field['pk_i_id']);
         } else {
             if (!isset($field['s_value']) || $field['s_value'] == '') {
                 $s_value = Params::getParam('meta');
                 $field['s_value'] = '';
                 if (isset($s_value[$field['pk_i_id']])) {
                     $field['s_value'] = $s_value[$field['pk_i_id']];
                 }
             }
         }
         if ($field['e_type'] == "TEXTAREA") {
             if ($search) {
                 echo '<h6>' . $field['s_name'] . '</h6>';
                 echo '<input id="meta_' . $field['s_slug'] . '" type="text" name="meta[' . $field['pk_i_id'] . ']" value="' . osc_esc_html(isset($field) && isset($field["s_value"]) ? $field["s_value"] : "") . '" />';
             } else {
                 echo '<label for="meta_' . $field['s_slug'] . '">' . $field['s_name'] . ': </label>';
                 echo '<textarea id="meta_' . $field['s_slug'] . '" name="meta[' . $field['pk_i_id'] . ']" rows="10">' . (isset($field) && isset($field["s_value"]) ? $field["s_value"] : "") . '</textarea>';
             }
         } else {
             if ($field['e_type'] == "DROPDOWN") {
                 if ($search) {
                     echo '<h6>' . $field['s_name'] . '</h6>';
                 } else {
                     echo '<label for="meta_' . $field['s_slug'] . '">' . $field['s_name'] . ': </label>';
                 }
                 if (isset($field) && isset($field['s_options'])) {
                     $options = explode(",", $field['s_options']);
                     if (count($options) > 0) {
                         echo '<select name="meta[' . $field['pk_i_id'] . ']" id="meta_' . $field['s_slug'] . '">';
                         if ($search) {
                             echo '<option value=""></option>';
                         }
                         foreach ($options as $option) {
                             echo '<option value="' . osc_esc_html($option) . '" ' . ($field['s_value'] == $option ? 'selected="selected"' : '') . '>' . $option . '</option>';
                         }
                         echo '</select>';
                     }
                 }
             } else {
                 if ($field['e_type'] == "RADIO") {
                     // radio at search page, becomes dropdown with radio options
                     if ($search) {
                         echo '<h6>' . $field['s_name'] . '</h6>';
                         if (isset($field) && isset($field['s_options'])) {
                             $options = explode(",", $field['s_options']);
                             if (count($options) > 0) {
                                 echo '<select name="meta[' . $field['pk_i_id'] . ']" id="meta_' . $field['s_slug'] . '">';
                                 echo '<option value=""></option>';
                                 foreach ($options as $option) {
                                     echo '<option value="' . osc_esc_html($option) . '"' . ($field['s_value'] == $option ? ' selected="selected"' : '') . '>' . $option . '</option>';
                                 }
                                 echo '</select>';
                             }
                         }
                     } else {
                         echo '<label for="meta_' . $field['s_slug'] . '">' . $field['s_name'] . ': </label>';
                         if (isset($field) && isset($field['s_options'])) {
                             $options = explode(",", $field['s_options']);
                             if (count($options) > 0) {
                                 echo '<ul>';
                                 foreach ($options as $key => $option) {
                                     echo '<li><input type="radio" name="meta[' . $field['pk_i_id'] . ']" id="meta_' . $field['s_slug'] . '_' . $key . '" value="' . osc_esc_html($option) . '"' . ($field['s_value'] == $option ? ' checked="checked"' : '') . ' /><label for="meta_' . $field['s_slug'] . '_' . $key . '">' . $option . '</label></li>';
                                 }
                                 echo '</ul>';
                             }
                         }
                     }
                 } else {
                     if ($field['e_type'] == "CHECKBOX") {
                         if (isset($field) && isset($field['s_options'])) {
                             echo '<input type="checkbox" name="meta[' . $field['pk_i_id'] . ']" id="meta_' . $field['s_slug'] . '" value="1"' . (isset($field) && isset($field['s_value']) && $field['s_value'] == 1 ? ' checked="checked"' : '') . ' />';
                             echo '<label for="meta_' . $field['s_slug'] . '">' . $field['s_name'] . ' </label>';
                         }
                     } else {
                         if ($field['e_type'] == "DATE") {
                             if ($search) {
                                 echo '<h6>' . $field['s_name'] . '</h6>';
                             } else {
                                 echo '<label for="meta_' . $field['s_slug'] . '">' . $field['s_name'] . ': </label>';
                             }
                             // timestamp/1000 (javascript timestamp)
                             echo '<input type="hidden" id="meta_' . $field['s_slug'] . '" name="meta[' . $field['pk_i_id'] . ']" value="" />';
                             echo '<input type="text" id="" class="meta_' . $field['s_slug'] . ' cf_date" value="" />';
                             FieldForm::initDatePicker('meta_' . $field['s_slug'], osc_date_format(), $field['s_value']);
                         } else {
                             if ($field['e_type'] == "DATEINTERVAL") {
                                 if ($search) {
                                     echo '<h6>' . $field['s_name'] . '</h6>';
                                 } else {
                                     echo '<label for="meta_' . $field['s_slug'] . '">' . $field['s_name'] . ': </label>';
                                 }
                                 echo __('from') . ' ';
                                 echo '<input type="hidden" id="meta_' . $field['s_slug'] . '_from" name="meta[' . $field['pk_i_id'] . '][from]" value="' . $field['s_value']['from'] . '" />';
                                 echo '<input type="text" id="" class="meta_' . $field['s_slug'] . '_from cf_date_interval" value="" />';
                                 FieldForm::initDatePicker('meta_' . $field['s_slug'] . '_from', osc_date_format(), $field['s_value']['from'], 'from');
                                 echo ' ' . __('to') . ' ';
                                 echo '<input type="hidden" id="meta_' . $field['s_slug'] . '_to" name="meta[' . $field['pk_i_id'] . '][to]" value="' . $field['s_value']['to'] . '" />';
                                 echo '<input type="text" id="" class="meta_' . $field['s_slug'] . '_to cf_date_interval" value="" />';
                                 FieldForm::initDatePicker('meta_' . $field['s_slug'] . '_to', osc_date_format(), $field['s_value']['to'], 'to');
                             } else {
                                 if ($search) {
                                     echo '<h6>' . $field['s_name'] . '</h6>';
                                 } else {
                                     echo '<label for="meta_' . $field['s_slug'] . '">' . $field['s_name'] . ': </label>';
                                 }
                                 echo '<input id="meta_' . $field['s_slug'] . '" type="text" name="meta[' . $field['pk_i_id'] . ']" value="' . osc_esc_html(isset($field) && isset($field["s_value"]) ? $field["s_value"] : "") . '" />';
                             }
                         }
                     }
                 }
             }
         }
     }
 }