public static function setup_edit_vars($post, $check_post = true) { if (!$post) { return false; } $values = (object) $post; $defaults = FrmProDisplaysHelper::get_default_opts(); foreach (array('form_id', 'entry_id', 'post_id', 'dyncontent', 'param', 'type', 'show_count', 'insert_loc') as $var) { if ($check_post) { $values->{'frm_' . $var} = FrmAppHelper::get_param($var, get_post_meta($post->ID, 'frm_' . $var, true)); } else { $values->{'frm_' . $var} = get_post_meta($post->ID, 'frm_' . $var, true); } } $options = get_post_meta($post->ID, 'frm_options', true); foreach ($defaults as $var => $default) { if (!isset($values->{'frm_' . $var})) { if ($check_post) { $values->{'frm_' . $var} = FrmAppHelper::get_post_param('options[' . $var . ']', isset($options[$var]) ? $options[$var] : $default); } else { $values->{'frm_' . $var} = isset($options[$var]) ? $options[$var] : $default; } } else { if ($var == 'param' and empty($values->{'frm_' . $var})) { $values->{'frm_' . $var} = $default; } } } $values->frm_form_id = (int) $values->frm_form_id; $values->frm_order_by = empty($values->frm_order_by) ? array() : (array) $values->frm_order_by; $values->frm_order = empty($values->frm_order) ? array() : (array) $values->frm_order; return $values; }
function setup_edit_vars($record) { if (!$record) { return false; } $values = array(); $values['id'] = $record->id; foreach (array('name', 'description', 'display_key', 'form_id', 'entry_id', 'post_id', 'content', 'dyncontent', 'param', 'type', 'show_count', 'insert_loc') as $var) { $values[$var] = stripslashes(FrmAppHelper::get_param($var, $record->{$var})); } $options = maybe_unserialize($record->options); foreach (FrmProDisplaysHelper::get_default_opts() as $var => $default) { if (!isset($values[$var])) { $values[$var] = stripslashes_deep(FrmAppHelper::get_post_param('options[' . $var . ']', isset($options[$var]) ? $options[$var] : $default)); } } return $values; }
function duplicate($id, $copy_keys = false, $blog_id = false) { global $wpdb; $values = $this->getOne($id, $blog_id, true); if (!$values or !is_numeric($values->frm_form_id)) { return false; } $new_values = array(); foreach (array('post_name', 'post_title', 'post_excerpt', 'post_content', 'post_status', 'post_type') as $k) { $new_values[$k] = $values->{$k}; unset($k); } $meta = array(); foreach (array('form_id', 'entry_id', 'post_id', 'dyncontent', 'param', 'type', 'show_count', 'insert_loc') as $k) { $meta[$k] = $values->{'frm_' . $k}; unset($k); } $default = FrmProDisplaysHelper::get_default_opts(); $meta['options'] = array(); foreach ($default as $k => $v) { if (isset($meta[$k])) { continue; } $meta['options'][$k] = $values->{'frm_' . $k}; unset($k); unset($v); } $meta['options']['copy'] = false; if ($blog_id) { $frm_form = new FrmForm(); $old_form = $frm_form->getOne($values->frm_form_id, $blog_id); $new_form = $frm_form->getOne($old_form->form_key); $meta['form_id'] = $new_form->id; } else { $meta['form_id'] = $values->form_id; } $post_ID = wp_insert_post($new_values); $new_values = array_merge((array) $new_values, $meta); $this->update($post_ID, $new_values); return $post_ID; }