public static function get_linked_options($values, $field, $entry_id = false) { global $user_ID, $wpdb; $metas = array(); $selected_field = FrmField::getOne($values['form_select']); if (!$selected_field) { return array(); } $linked_posts = isset($selected_field->field_options['post_field']) && $selected_field->field_options['post_field'] && $selected_field->field_options['post_field'] != ''; $post_ids = array(); if (is_numeric($values['hide_field']) && empty($values['hide_opt'])) { if (isset($_POST) && isset($_POST['item_meta'])) { $observed_field_val = isset($_POST['item_meta'][$values['hide_field']]) ? $_POST['item_meta'][$values['hide_field']] : ''; } else { if ($entry_id) { $observed_field_val = FrmEntryMeta::get_entry_meta_by_field($entry_id, $values['hide_field']); } else { $observed_field_val = ''; } } $observed_field_val = maybe_unserialize($observed_field_val); $metas = array(); FrmProEntryMetaHelper::meta_through_join($values['hide_field'], $selected_field, $observed_field_val, false, $metas); } else { if ($values['restrict'] && $user_ID) { $entry_user = $user_ID; if ($entry_id && FrmAppHelper::is_admin()) { $entry_user = FrmDb::get_var('frm_items', array('id' => $entry_id), 'user_id'); if (!$entry_user || empty($entry_user)) { $entry_user = $user_ID; } } if (isset($selected_field->form_id)) { $linked_where = array('form_id' => $selected_field->form_id, 'user_id' => $entry_user); if ($linked_posts) { $post_ids = FrmDb::get_results('frm_items', $linked_where, 'id, post_id'); } else { $entry_ids = FrmDb::get_col($wpdb->prefix . 'frm_items', $linked_where, 'id'); } unset($linked_where); } if (isset($entry_ids) && !empty($entry_ids)) { $metas = FrmEntryMeta::getAll(array('it.item_id' => $entry_ids, 'field_id' => (int) $values['form_select']), ' ORDER BY meta_value', ''); } } else { $limit = ''; if (FrmAppHelper::is_admin_page('formidable')) { $limit = 500; } $metas = FrmDb::get_results('frm_item_metas', array('field_id' => $values['form_select']), 'item_id, meta_value', array('order_by' => 'meta_value', 'limit' => $limit)); $post_ids = FrmDb::get_results('frm_items', array('form_id' => $selected_field->form_id), 'id, post_id', array('limit' => $limit)); } } if ($linked_posts && !empty($post_ids)) { foreach ($post_ids as $entry) { $meta_value = FrmProEntryMetaHelper::get_post_value($entry->post_id, $selected_field->field_options['post_field'], $selected_field->field_options['custom_field'], array('type' => $selected_field->type, 'form_id' => $selected_field->form_id, 'field' => $selected_field)); $metas[] = array('meta_value' => $meta_value, 'item_id' => $entry->id); } } $options = array(); foreach ($metas as $meta) { $meta = (array) $meta; if ($meta['meta_value'] == '') { continue; } if ($selected_field->type == 'image') { $options[$meta['item_id']] = $meta['meta_value']; } else { $options[$meta['item_id']] = FrmEntriesHelper::display_value($meta['meta_value'], $selected_field, array('type' => $selected_field->type, 'show_icon' => true, 'show_filename' => false)); } unset($meta); } $options = apply_filters('frm_data_sort', $options, array('metas' => $metas, 'field' => $selected_field)); unset($metas); if (self::include_blank_option($options, $field)) { $options = array('' => '') + (array) $options; } return stripslashes_deep($options); }
?> "> <?php if (in_array('id', $atts['fields'])) { ?> <td><?php echo (int) $entry->id; ?> </dh> <?php } foreach ($atts['form_cols'] as $col) { ?> <td valign="top"> <?php echo FrmEntriesHelper::display_value(isset($entry->metas[$col->id]) ? $entry->metas[$col->id] : false, $col, array('type' => $col->type, 'post_id' => $entry->post_id, 'entry_id' => $entry->id)); ?> </td> <?php } if ($atts['edit_link']) { ?> <td><?php if (FrmProEntriesHelper::user_can_edit($entry, $atts['form'])) { ?> <a href="<?php echo esc_url(add_query_arg(array('frm_action' => 'edit', 'entry' => $entry->id), $atts['permalink']) . $atts['anchor']); ?> "><?php echo $atts['edit_link']; ?>
public static function get_field_value_shortcode($sc_atts) { $atts = shortcode_atts(array('entry' => false, 'field_id' => false, 'user_id' => false, 'ip' => false, 'show' => '', 'format' => '', 'return_array' => false, 'default' => ''), $sc_atts); // Include all user-defined atts as well $atts = (array) $atts + (array) $sc_atts; // For reverse compatibility if (isset($atts['entry_id']) && !$atts['entry']) { $atts['entry'] = $atts['entry_id']; } if (!$atts['field_id']) { return __('You are missing options in your shortcode. field_id is required.', 'formidable'); } $field = FrmField::getOne($atts['field_id']); if (!$field) { return $atts['default']; } $entry = self::get_frm_field_value_entry($field, $atts); if (!$entry) { return $atts['default']; } $value = FrmProEntryMetaHelper::get_post_or_meta_value($entry, $field, $atts); $atts['type'] = $field->type; $atts['post_id'] = $entry->post_id; $atts['entry_id'] = $entry->id; if (!isset($atts['show_filename'])) { $atts['show_filename'] = false; } if ($field->type == 'file' && !isset($atts['html'])) { // default to show the image instead of the url $atts['html'] = 1; } if (!empty($atts['format']) || isset($atts['show']) && !empty($atts['show'])) { $value = FrmFieldsHelper::get_display_value($value, $field, $atts); } else { $value = FrmEntriesHelper::display_value($value, $field, $atts); } return $value; }
/** * Get the options for a dependent Dynamic field * * @since 2.0.16 * @param array $args * @param array $field */ private static function get_dependent_dynamic_field_options($args, &$field) { $linked_field = FrmField::getOne($args['linked_field_id']); $field['options'] = array(); $metas = array(); FrmProEntryMetaHelper::meta_through_join($args['trigger_field_id'], $linked_field, $args['entry_id'], $args['field_data'], $metas); $metas = stripslashes_deep($metas); if (FrmProFieldsHelper::include_blank_option($metas, $args['field_data'])) { $field['options'][''] = ''; } foreach ($metas as $meta) { $field['options'][$meta->item_id] = FrmEntriesHelper::display_value($meta->meta_value, $linked_field, array('type' => $linked_field->type, 'show_icon' => true, 'show_filename' => false)); unset($meta); } // change the form_select value so the filter doesn't override the values $args['field_data']->field_options['form_select'] = 'filtered_' . $args['field_data']->field_options['form_select']; $field = apply_filters('frm_setup_new_fields_vars', $field, $args['field_data']); // Sort the options $field['options'] = apply_filters('frm_data_sort', $field['options'], array('metas' => $metas, 'field' => $args['linked_field_id'])); }
private static function add_field_values_to_csv(&$row) { foreach (self::$fields as $col) { $field_value = isset(self::$entry->metas[$col->id]) ? self::$entry->metas[$col->id] : false; $field_value = maybe_unserialize($field_value); $field_value = apply_filters('frm_csv_value', $field_value, array('field' => $col, 'entry' => self::$entry, 'separator' => self::$separator)); if (isset($col->field_options['separate_value']) && $col->field_options['separate_value']) { $sep_value = FrmEntriesHelper::display_value($field_value, $col, array('type' => $col->type, 'post_id' => self::$entry->post_id, 'show_icon' => false, 'entry_id' => self::$entry->id, 'sep' => self::$separator, 'embedded_field_id' => isset(self::$entry->embedded_fields) && isset(self::$entry->embedded_fields[self::$entry->id]) ? 'form' . self::$entry->embedded_fields[self::$entry->id] : 0)); $row[$col->id . '_label'] = $sep_value; unset($sep_value); } $row[$col->id] = $field_value; unset($col, $field_value); } }
public static function display_value($value, $field, $atts = array()) { _deprecated_function(__FUNCTION__, '2.0', 'FrmEntriesHelper::display_value'); return FrmEntriesHelper::display_value($value, $field, $atts); }
private static function add_field_values_to_csv(&$row) { foreach (self::$fields as $col) { $field_value = isset(self::$entry->metas[$col->id]) ? self::$entry->metas[$col->id] : false; // Post values need to be retrieved differently if (self::$entry->post_id && ($col->type == 'tag' || isset($col->field_options['post_field']) && $col->field_options['post_field'])) { $field_value = FrmProEntryMetaHelper::get_post_value(self::$entry->post_id, $col->field_options['post_field'], $col->field_options['custom_field'], array('truncate' => $col->field_options['post_field'] == 'post_category' ? true : false, 'form_id' => self::$entry->form_id, 'field' => $col, 'type' => $col->type, 'exclude_cat' => isset($col->field_options['exclude_cat']) ? $col->field_options['exclude_cat'] : 0, 'sep' => self::$separator)); } if (in_array($col->type, array('user_id', 'file', 'date', 'data'))) { $field_value = FrmProFieldsHelper::get_export_val($field_value, $col, self::$entry); } else { if (isset($col->field_options['separate_value']) && $col->field_options['separate_value']) { $sep_value = FrmEntriesHelper::display_value($field_value, $col, array('type' => $col->type, 'post_id' => self::$entry->post_id, 'show_icon' => false, 'entry_id' => self::$entry->id, 'sep' => self::$separator, 'embedded_field_id' => isset(self::$entry->embedded_fields) && isset(self::$entry->embedded_fields[$entry->id]) ? 'form' . self::$entry->embedded_fields[self::$entry->id] : 0)); $row[$col->id . '_label'] = $sep_value; unset($sep_value); } $field_value = maybe_unserialize($field_value); $field_value = apply_filters('frm_csv_value', $field_value, array('field' => $col)); } $row[$col->id] = $field_value; unset($col, $field_value); } }