public static function set_post_fields($field, $value, $errors = null) { $field->field_options = maybe_unserialize($field->field_options); if (!isset($field->field_options['post_field']) || $field->field_options['post_field'] == '') { if (isset($errors)) { return $errors; } return; } if ($field->type == 'file') { global $frm_vars; if (!isset($frm_vars['media_id'])) { $frm_vars['media_id'] = array(); } $frm_vars['media_id'][$field->id] = $value; } global $frmpro_settings; if ($value && !empty($value) && isset($field->field_options['unique']) && $field->field_options['unique']) { global $frmdb; $entry_id = isset($_POST) && isset($_POST['id']) ? $_POST['id'] : false; $post_id = $entry_id ? $frmdb->get_var($frmdb->entries, array('id' => $entry_id), 'post_id') : false; if (isset($errors) && FrmProEntryMetaHelper::post_value_exists($field->field_options['post_field'], $value, $post_id, $field->field_options['custom_field'])) { $errors['field' . $field->id] = FrmProFieldsHelper::get_error_msg($field, 'unique_msg'); } unset($entry_id); unset($post_id); } if ($field->field_options['post_field'] == 'post_custom') { if ($field->type == 'date' and !preg_match('/^\\d{4}-\\d{2}-\\d{2}/', trim($value))) { $value = FrmProAppHelper::convert_date($value, $frmpro_settings->date_format, 'Y-m-d'); } $_POST['frm_wp_post_custom'][$field->id . '=' . $field->field_options['custom_field']] = $value; if (isset($errors)) { return $errors; } return; } if ($field->field_options['post_field'] == 'post_date') { if (!preg_match('/^\\d{4}-\\d{2}-\\d{2}/', trim($value))) { $value = FrmProAppHelper::convert_date($value, $frmpro_settings->date_format, 'Y-m-d H:i:s'); } } else { if ($field->type != 'tag' && $field->field_options['post_field'] == 'post_category') { $value = (array) $value; // change text to numeric ids if (defined('WP_IMPORTING')) { foreach ($value as $k => $val) { if (empty($val)) { continue; } $term = term_exists($val, $field->field_options['taxonomy']); if ($term) { $value[$k] = is_array($term) ? $term['term_id'] : $term; } unset($k, $val, $term); } } if (isset($field->field_options['taxonomy']) && $field->field_options['taxonomy'] != 'category') { $new_value = array(); foreach ($value as $val) { if ($val == 0) { continue; } $term = get_term($val, $field->field_options['taxonomy']); if (!isset($term->errors)) { $new_value[$val] = $term->name; } else { $new_value[$val] = $val; } unset($term); } if (!isset($_POST['frm_tax_input'])) { $_POST['frm_tax_input'] = array(); } if (isset($_POST['frm_tax_input'][$field->field_options['taxonomy']])) { foreach ($new_value as $new_key => $new_name) { $_POST['frm_tax_input'][$field->field_options['taxonomy']][$new_key] = $new_name; } } else { $_POST['frm_tax_input'][$field->field_options['taxonomy']] = $new_value; } } else { $_POST['frm_wp_post'][$field->id . '=' . $field->field_options['post_field']] = $value; } } else { if ($field->type == 'tag' && $field->field_options['post_field'] == 'post_category') { $value = trim($value); $value = array_map('trim', explode(',', $value)); $tax_type = isset($field->field_options['taxonomy']) && !empty($field->field_options['taxonomy']) ? $field->field_options['taxonomy'] : 'frm_tag'; if (!isset($_POST['frm_tax_input'])) { $_POST['frm_tax_input'] = array(); } if (is_taxonomy_hierarchical($tax_type)) { //create the term or check to see if it exists $terms = array(); foreach ($value as $v) { $term_id = term_exists($v, $tax_type); if (!$term_id) { $term_id = wp_insert_term($v, $tax_type); } if ($term_id && is_array($term_id)) { $term_id = $term_id['term_id']; } if (is_numeric($term_id)) { $terms[$term_id] = $v; } unset($term_id); unset($v); } $value = $terms; unset($terms); } if (!isset($_POST['frm_tax_input'][$tax_type])) { $_POST['frm_tax_input'][$tax_type] = (array) $value; } else { $_POST['frm_tax_input'][$tax_type] += (array) $value; } } } } if ($field->field_options['post_field'] != 'post_category') { $_POST['frm_wp_post'][$field->id . '=' . $field->field_options['post_field']] = $value; } if (isset($errors)) { return $errors; } }
function post_value_exists($post_field, $value, $post_id, $custom_field = '') { _deprecated_function(__FUNCTION__, '1.07.05', 'FrmProEntryMetaHelper::post_value_exists'); return FrmProEntryMetaHelper::post_value_exists($post_field, $value, $post_id, $custom_field); }