Example #1
0
    echo $onchange;
    ?>
"<?php 
}
?>
>
    <option value=""><?php 
_e('&mdash; Select &mdash;');
?>
</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="">&mdash; <?php 
        _e('Select a value to insert into the box below', 'formidable');
        ?>
 &mdash;</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);
 }
Example #5
0
 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;
 }
Example #6
0
?>
,<?php 
echo esc_attr($meta_name);
?>
,'<?php 
echo esc_attr($field['type']);
?>
')">
    <option value=""><?php 
_e('&mdash; Select &mdash;');
?>
</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));