function buddyforms_transition_post_status_regenerate_global_options($new_status, $old_status, $post) { if ($post->post_type != 'buddyforms') { return; } buddyforms_regenerate_global_options(); buddyforms_attached_page_rewrite_rules(TRUE); }
/** * Ajax call back function to add a form element * * @package BuddyForms * @since 0.1-beta */ function buddyforms_add_form() { global $buddyforms; if (!is_array($buddyforms)) { $buddyforms = array(); } if (empty($_POST['create_new_form_name'])) { return; } if (empty($_POST['create_new_form_singular_name'])) { return; } if (empty($_POST['create_new_form_attached_page']) && empty($_POST['create_new_page'])) { return; } if (empty($_POST['create_new_form_post_type'])) { return; } if (!empty($_POST['create_new_page'])) { // Create post object $mew_post = array('post_title' => wp_strip_all_tags($_POST['create_new_page']), 'post_content' => '', 'post_status' => 'publish', 'post_author' => 1, 'post_type' => 'page'); // Insert the post into the database $_POST['create_new_form_attached_page'] = wp_insert_post($mew_post); } $bf_forms_args = array('post_title' => $_POST['create_new_form_name'], 'post_type' => 'buddyforms', 'post_status' => 'publish'); // Insert the new form $post_id = wp_insert_post($bf_forms_args, true); $the_post = get_post($post_id); $options = array('slug' => $the_post->post_name, 'id' => $the_post->ID, 'name' => $_POST['create_new_form_name'], 'singular_name' => $_POST['create_new_form_singular_name'], 'attached_page' => $_POST['create_new_form_attached_page'], 'post_type' => $_POST['create_new_form_post_type']); if (!empty($_POST['create_new_form_status'])) { $options = array_merge($options, array('status' => $_POST['create_new_form_status'])); } if (!empty($_POST['create_new_form_comment_status'])) { $options = array_merge($options, array('comment_status' => $_POST['create_new_form_comment_status'])); } $field_id = $mod5 = substr(md5(time() * rand()), 0, 10); $options['form_fields'][$field_id]['name'] = 'Title'; $options['form_fields'][$field_id]['slug'] = 'editpost_title'; $options['form_fields'][$field_id]['type'] = 'Title'; $field_id = $mod5 = substr(md5(time() * rand()), 0, 10); $options['form_fields'][$field_id]['name'] = 'Content'; $options['form_fields'][$field_id]['slug'] = 'editpost_content'; $options['form_fields'][$field_id]['type'] = 'Content'; update_post_meta($post_id, '_buddyforms_options', $options); if ($post_id) { buddyforms_attached_page_rewrite_rules(TRUE); echo sanitize_title($_POST['create_new_form_name']); } else { echo 'Error Saving the Form'; } die; }
function buddyforms_update_db_check() { $buddyforms_old = get_option('buddyforms_options'); if (!$buddyforms_old) { return; } update_option('buddyforms_options_old', $buddyforms_old); foreach ($buddyforms_old['buddyforms'] as $key => $form) { $bf_forms_args = array('post_title' => $form['name'], 'post_type' => 'buddyforms', 'post_status' => 'publish'); // Insert the new form $post_id = wp_insert_post($bf_forms_args, true); $form['id'] = $post_id; update_post_meta($post_id, '_buddyforms_options', $form); // Update the option _buddyforms_forms used to reduce queries $buddyforms_forms = get_option('buddyforms_forms'); $buddyforms_forms[$form['slug']] = $form; update_option('buddyforms_forms', $buddyforms_forms); } update_option('buddyforms_version', BUDDYFORMS_VERSION); delete_option('buddyforms_options'); buddyforms_attached_page_rewrite_rules(TRUE); }