echo $onchange; ?> "<?php } ?> > <option value=""><?php _e('— Select —'); ?> </option> <?php foreach ($form_fields as $ff) { if (is_array($ff)) { $ff = (object) $ff; } if (in_array($ff->type, $exclude_fields) || FrmProField::is_list_field($ff)) { continue; } $selected = isset($condition['hide_field']) && $ff->id == $condition['hide_field'] ? ' selected="selected"' : ''; ?> <option value="<?php echo esc_attr($ff->id); ?> "<?php echo $selected; ?> ><?php echo FrmAppHelper::truncate($ff->name, 25); ?> </option> <?php
/** * Get the values for Dynamic List fields based on the conditional logic settings * * @since 2.0.08 * @param object $field * @param object $entry * @param string|array|int $field_value, pass by reference */ public static function get_dynamic_list_values($field, $entry, &$field_value) { // Exit now if a value is already set, field type is not Dynamic List, or conditional logic is not set if ($field_value || $field->type != 'data' || !FrmProField::is_list_field($field) || !isset($field->field_options['hide_field'])) { return; } $field_value = array(); foreach ((array) $field->field_options['hide_field'] as $hfield) { if (isset($entry->metas[$hfield])) { // Check if field in conditional logic is a Dynamic field $cl_field_type = FrmField::get_type($hfield); if ($cl_field_type == 'data') { $cl_field_val = maybe_unserialize($entry->metas[$hfield]); if (is_array($cl_field_val)) { $field_value += $cl_field_val; } else { $field_value[] = $cl_field_val; } } } } }
public static function get_shortcode_select($form_id, $target_id = 'content', $type = 'all') { $field_list = array(); $exclude = FrmField::no_save_fields(); if (is_numeric($form_id)) { if ($type == 'field_opt') { $exclude[] = 'data'; $exclude[] = 'checkbox'; } $field_list = FrmField::get_all_for_form($form_id, '', 'include'); } $linked_forms = array(); ?> <select class="frm_shortcode_select frm_insert_val" data-target="<?php echo esc_attr($target_id); ?> "> <option value="">— <?php _e('Select a value to insert into the box below', 'formidable'); ?> —</option> <?php if ($type != 'field_opt' && $type != 'calc') { ?> <option value="id"><?php _e('Entry ID', 'formidable'); ?> </option> <option value="key"><?php _e('Entry Key', 'formidable'); ?> </option> <option value="post_id"><?php _e('Post ID', 'formidable'); ?> </option> <option value="ip"><?php _e('User IP', 'formidable'); ?> </option> <option value="created-at"><?php _e('Entry creation date', 'formidable'); ?> </option> <option value="updated-at"><?php _e('Entry update date', 'formidable'); ?> </option> <optgroup label="<?php esc_attr_e('Form Fields', 'formidable'); ?> "> <?php } if (!empty($field_list)) { foreach ($field_list as $field) { if (in_array($field->type, $exclude)) { continue; } if ($type != 'calc' && FrmProField::is_list_field($field)) { continue; } ?> <option value="<?php echo esc_attr($field->id); ?> "><?php echo $field_name = esc_html(FrmAppHelper::truncate($field->name, 60)); ?> (<?php _e('ID', 'formidable'); ?> )</option> <option value="<?php echo esc_attr($field->field_key); ?> "><?php echo $field_name; ?> (<?php _e('Key', 'formidable'); ?> )</option> <?php if ($field->type == 'file' && $type != 'field_opt' && $type != 'calc') { ?> <option class="frm_subopt" value="<?php echo esc_attr($field->field_key); ?> size=thumbnail"><?php _e('Thumbnail', 'formidable'); ?> </option> <option class="frm_subopt" value="<?php echo esc_attr($field->field_key); ?> size=medium"><?php _e('Medium', 'formidable'); ?> </option> <option class="frm_subopt" value="<?php echo esc_attr($field->field_key); ?> size=large"><?php _e('Large', 'formidable'); ?> </option> <option class="frm_subopt" value="<?php echo esc_attr($field->field_key); ?> size=full"><?php _e('Full Size', 'formidable'); ?> </option> <?php } else { if ($field->type == 'data') { //get all fields from linked form if (isset($field->field_options['form_select']) && is_numeric($field->field_options['form_select'])) { $linked_form = FrmDb::get_var('frm_fields', array('id' => $field->field_options['form_select']), 'form_id'); if (!in_array($linked_form, $linked_forms)) { $linked_forms[] = $linked_form; $linked_fields = FrmField::getAll(array('fi.type not' => FrmField::no_save_fields(), 'fi.form_id' => (int) $linked_form)); foreach ($linked_fields as $linked_field) { ?> <option class="frm_subopt" value="<?php echo esc_attr($field->id . ' show=' . $linked_field->id); ?> "><?php echo esc_html(FrmAppHelper::truncate($linked_field->name, 60)); ?> (<?php _e('ID', 'formidable'); ?> )</option> <option class="frm_subopt" value="<?php echo esc_attr($field->field_key . ' show=' . $linked_field->field_key); ?> "><?php echo esc_html(FrmAppHelper::truncate($linked_field->name, 60)); ?> (<?php _e('Key', 'formidable'); ?> )</option> <?php } } } } } } } if ($type != 'field_opt' && $type != 'calc') { ?> </optgroup> <optgroup label="<?php esc_attr_e('Helpers', 'formidable'); ?> "> <option value="editlink"><?php _e('Admin link to edit the entry', 'formidable'); ?> </option> <?php if ($target_id == 'content') { ?> <option value="detaillink"><?php _e('Link to view single page if showing dynamic entries', 'formidable'); ?> </option> <?php } if ($type != 'email') { ?> <option value="evenodd"><?php _e('Add a rotating \'even\' or \'odd\' class', 'formidable'); ?> </option> <?php } else { if ($target_id == 'email_message') { ?> <option value="default-message"><?php _e('Default Email Message', 'formidable'); ?> </option> <?php } } ?> <option value="siteurl"><?php _e('Site URL', 'formidable'); ?> </option> <option value="sitename"><?php _e('Site Name', 'formidable'); ?> </option> </optgroup> <?php } ?> </select> <?php }
public static function &filter_display_value($value, $field, $atts = array()) { $defaults = array('html' => 0, 'type' => $field->type, 'keepjs' => 0); $atts = array_merge($defaults, $atts); switch ($atts['type']) { case 'user_id': $value = FrmProFieldsHelper::get_display_name($value); break; case 'date': $value = FrmProFieldsHelper::get_date($value); break; case 'file': $old_value = $value; if ($atts['html']) { $value = '<div class="frm_file_container">'; } else { $value = ''; } foreach ((array) $old_value as $mid) { if ($atts['html']) { $img = FrmProFieldsHelper::get_file_icon($mid); $value .= $img; if ($atts['show_filename'] && $img && preg_match('/wp-includes\\/images\\/(crystal|media)/', $img)) { //prevent two filenames $atts['show_filename'] = $show_filename = false; } unset($img); if ($atts['html'] && $atts['show_filename']) { $value .= '<br/>' . FrmProFieldsHelper::get_file_name($mid) . '<br/>'; } if (isset($show_filename)) { //if skipped filename, show it for the next file $atts['show_filename'] = true; unset($show_filename); } } else { if ($mid) { $value .= FrmProFieldsHelper::get_file_name($mid) . $atts['sep']; } } } $value = rtrim($value, $atts['sep']); if ($atts['html']) { $value .= '</div>'; } break; case 'data': if (!is_numeric($value)) { if (!is_array($value)) { $value = explode($atts['sep'], $value); } if (is_array($value)) { $new_value = ''; foreach ($value as $entry_id) { if (!empty($new_value)) { $new_value .= $atts['sep']; } if (is_numeric($entry_id)) { $new_value .= FrmProFieldsHelper::get_data_value($entry_id, $field, $atts); } else { $new_value .= $entry_id; } } $value = $new_value; } } else { //replace item id with specified field $new_value = FrmProFieldsHelper::get_data_value($value, $field, $atts); if (FrmProField::is_list_field($field)) { $linked_field = FrmField::getOne($field->field_options['form_select']); if ($linked_field && $linked_field->type == 'file') { $old_value = explode(', ', $new_value); $new_value = ''; foreach ($old_value as $v) { $new_value .= '<img src="' . esc_url($v) . '" class="frm_image_from_url" alt="" />'; if ($atts['show_filename']) { $new_value .= '<br/>' . $v; } unset($v); } } else { $new_value = $value; } } $value = $new_value; } break; case 'image': $value = FrmProFieldsHelper::get_image_display_value($value, array('html' => true)); break; } if (!$atts['keepjs']) { $value = FrmAppHelper::recursive_function_map($value, 'wp_kses_post'); } return FrmEntriesController::filter_display_value($value, $field, $atts); }
public static function get_dfe_id($value, $field, $ids = array()) { global $wpdb; if (!$field || FrmProField::is_list_field($field)) { return $value; } if (!empty($ids) && is_numeric($value) && isset($ids[$value])) { // the entry was just imported, so we have the id return $ids[$value]; } if (!is_array($value)) { $new_id = FrmDb::get_var('frm_item_metas', array('field_id' => $field->field_options['form_select'], 'meta_value' => $value), 'item_id'); if ($new_id && is_numeric($new_id)) { return $new_id; } unset($new_id); } if (!is_array($value) && strpos($value, ',')) { $checked = maybe_unserialize($value); if (!is_array($checked)) { $checked = explode(',', $checked); } } else { $checked = $value; } if (!$checked || !is_array($checked)) { return $value; } $value = array_map('trim', $checked); foreach ($value as $dfe_k => $dfe_id) { $query = array('field_id' => $field->field_options['form_select'], 'meta_value' => $dfe_id); $new_id = FrmDb::get_var('frm_item_metas', $query, 'item_id'); if ($new_id) { $value[$dfe_k] = $new_id; } unset($new_id); } unset($checked); return $value; }
?> ,<?php echo esc_attr($meta_name); ?> ,'<?php echo esc_attr($field['type']); ?> ')"> <option value=""><?php _e('— Select —'); ?> </option> <?php $sel = false; foreach ($form_fields as $ff) { if ($ff->id == $field['id'] || FrmField::is_no_save_field($ff->type) || in_array($ff->type, array('file', 'rte', 'date')) || FrmProField::is_list_field($ff)) { continue; } $selected = $ff->id == $hide_field ? ' selected="selected"' : ''; if (!empty($selected)) { $sel = true; } ?> <option value="<?php echo esc_attr($ff->id); ?> "<?php echo $selected; ?> ><?php echo esc_html(FrmAppHelper::truncate($ff->name, 24));