/** * Main action on the_content() * @param unknown_type $content */ function formbuilder_main($content = '') { global $post, $_SERVER, $wpdb, $formbuilder_formDisplayArray; $version = get_option('formbuilder_version'); if (!$version) { return $content; } $module_status = false; if ($post->post_password != '' and strpos($content, 'wp-pass.php') !== FALSE) { return $content; } // Check to determine whether or not we have a form manually entered into the content of the post // Manual entries in the form of [formbuilder:5] where 5 is the ID of the form to be displayed. $content_form_ids = formbuilder_check_content($content); foreach ($content_form_ids as $form_id) { $formDisplay = $formbuilder_formDisplayArray[$form_id['id']]; $content = str_replace($form_id['tag'], $formDisplay, $content); } $excerpt = strpos($post->post_content, "<!--more-->"); $show = false; if (is_single() or is_page() or !$excerpt) { $show = true; } if ($show) { $post_id = $post->ID; $sql = "SELECT form_id FROM " . FORMBUILDER_TABLE_PAGES . " WHERE post_id = '{$post_id}';"; $results = $wpdb->get_results($sql, ARRAY_A); if ($results) { $page = $results[0]; $formDisplay = $formbuilder_formDisplayArray[$page['form_id']]; // Do not show the post content if FORMBUILDER_HIDE_POST_AFTER is true. if (FORMBUILDER_HIDE_POST_AFTER) { if (stripos($formDisplay, '<form') === false) { $content = ''; } } $content = $content . "{$formDisplay}\n"; } } return $content; }
/** * Get a list of all forms on this page. */ function formbuilder_get_all_forms() { global $wp_query, $wpdb; $formIDs = array(); if (isset($wp_query)) { echo "TESTING FOR FORMS.."; foreach ($wp_query->posts as $post) { $content = $post->post_content; $content_form_ids = formbuilder_check_content($content); foreach ($content_form_ids as $form_id) { $formIDs[] = $form_id['id']; } $post_id = $post->ID; $sql = "SELECT form_id FROM " . FORMBUILDER_TABLE_PAGES . " WHERE post_id = '{$post_id}';"; $results = $wpdb->get_results($sql, ARRAY_A); if ($results) { $page = $results[0]; $formIDs[] = $page['form_id']; } } } var_dump($formIDs); if (count($formIDs) > 0) { $insert = implode(',', $formIDs); $sql = "SELECT * FROM " . FORMBUILDER_TABLE_FORMS . " WHERE id IN ({$insert});"; $results = $wpdb->get_results($sql, ARRAY_A); return $results; } else { return array(); } }