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"] : "") . '" />'; } } } } } } } }