/** * Set up the contact form 7 plugin. * Set up the default contact form with the user's e-mail address, and create a * contact page to contain the form. * @global type $gd_quicksetup_plugin * @return null */ function gd_quicksetup_setup_contact_form_7() { global $gd_quicksetup_plugin; $options = $gd_quicksetup_plugin->get_current_plugin_options(); // Get email address $email = ''; foreach ((array) $_POST['type'] as $k => $v) { if (!$_POST['enabled'][$k] || 'false' === $_POST['enabled'][$k]) { continue; } if ('contact' === $v) { $email = sanitize_email(stripslashes_deep($_POST['contact_email'][$k])); break; } } if (empty($email)) { return; } // Update the contact form $post_content = ''; $posts = get_posts(array('post_type' => 'wpcf7_contact_form', 'numberposts' => 1)); if (class_exists('WPCF7_ContactForm') && is_array($posts) && !empty($posts[0]) && $posts[0] instanceof WP_Post) { // Use Contact Form 7's API $post = $posts[0]; $contact_form = new WPCF7_ContactForm($post); // Add CAPTCHA $search = '[textarea your-message] </p>'; $cid = rand(0, 1000); $contact_form->form = str_replace($search, $search . "\n\n<p>Please enter the text below<br />\n [captchac captcha-{$cid}]<br />\n [captchar captcha-{$cid}]<br /></p>", $contact_form->form); // Change title $contact_form->title = isset($options['page_title']) ? $options['page_title'] : __('Contact', 'gd_quicksetup'); if (!empty($email)) { $contact_form->mail['recipient'] = $email; } // Save $contact_form->save(); // New tag for the contact page $post_content = '[contact-form-7 id="' . $post->ID . '" title="' . $post->post_title . '"]'; } // Create a Contact page wp_insert_post(array('comment_status' => 'closed', 'ping_status' => 'closed', 'post_content' => $post_content, 'post_name' => 'contact', 'post_title' => isset($options['page_title']) ? $options['page_title'] : __('Contact Us', 'gd_quicksetup'), 'post_type' => 'page', 'post_status' => 'publish', 'menu_order' => 800)); }
function wpcf7_load_contact_form_admin() { $action = wpcf7_current_action(); if ('save' == $action) { $id = $_POST['post_ID']; check_admin_referer('wpcf7-save-contact-form_' . $id); if (!current_user_can('wpcf7_edit_contact_form', $id)) { wp_die(__('You are not allowed to edit this item.', 'wpcf7')); } if (!($contact_form = wpcf7_contact_form($id))) { $contact_form = new WPCF7_ContactForm(); $contact_form->initial = true; } $contact_form->title = trim($_POST['wpcf7-title']); $form = trim($_POST['wpcf7-form']); $mail = array('subject' => trim($_POST['wpcf7-mail-subject']), 'sender' => trim($_POST['wpcf7-mail-sender']), 'body' => trim($_POST['wpcf7-mail-body']), 'recipient' => trim($_POST['wpcf7-mail-recipient']), 'additional_headers' => trim($_POST['wpcf7-mail-additional-headers']), 'attachments' => trim($_POST['wpcf7-mail-attachments']), 'use_html' => isset($_POST['wpcf7-mail-use-html']) && 1 == $_POST['wpcf7-mail-use-html']); $mail_2 = array('active' => isset($_POST['wpcf7-mail-2-active']) && 1 == $_POST['wpcf7-mail-2-active'], 'subject' => trim($_POST['wpcf7-mail-2-subject']), 'sender' => trim($_POST['wpcf7-mail-2-sender']), 'body' => trim($_POST['wpcf7-mail-2-body']), 'recipient' => trim($_POST['wpcf7-mail-2-recipient']), 'additional_headers' => trim($_POST['wpcf7-mail-2-additional-headers']), 'attachments' => trim($_POST['wpcf7-mail-2-attachments']), 'use_html' => isset($_POST['wpcf7-mail-2-use-html']) && 1 == $_POST['wpcf7-mail-2-use-html']); $messages = isset($contact_form->messages) ? $contact_form->messages : array(); foreach (wpcf7_messages() as $key => $arr) { $field_name = 'wpcf7-message-' . strtr($key, '_', '-'); if (isset($_POST[$field_name])) { $messages[$key] = trim($_POST[$field_name]); } } $additional_settings = trim($_POST['wpcf7-additional-settings']); $props = apply_filters('wpcf7_contact_form_admin_posted_properties', compact('form', 'mail', 'mail_2', 'messages', 'additional_settings')); foreach ((array) $props as $key => $prop) { $contact_form->{$key} = $prop; } $query = array(); $query['message'] = $contact_form->initial ? 'created' : 'saved'; $contact_form->save(); $query['post'] = $contact_form->id; $redirect_to = add_query_arg($query, menu_page_url('wpcf7', false)); wp_safe_redirect($redirect_to); exit; } if ('copy' == $action) { $id = empty($_POST['post_ID']) ? absint($_REQUEST['post']) : absint($_POST['post_ID']); check_admin_referer('wpcf7-copy-contact-form_' . $id); if (!current_user_can('wpcf7_edit_contact_form', $id)) { wp_die(__('You are not allowed to edit this item.', 'wpcf7')); } $query = array(); if ($contact_form = wpcf7_contact_form($id)) { $new_contact_form = $contact_form->copy(); $new_contact_form->save(); $query['post'] = $new_contact_form->id; $query['message'] = 'created'; } else { $query['post'] = $contact_form->id; } $redirect_to = add_query_arg($query, menu_page_url('wpcf7', false)); wp_safe_redirect($redirect_to); exit; } if ('delete' == $action) { if (!empty($_POST['post_ID'])) { check_admin_referer('wpcf7-delete-contact-form_' . $_POST['post_ID']); } elseif (!is_array($_REQUEST['post'])) { check_admin_referer('wpcf7-delete-contact-form_' . $_REQUEST['post']); } else { check_admin_referer('bulk-posts'); } $posts = empty($_POST['post_ID']) ? (array) $_REQUEST['post'] : (array) $_POST['post_ID']; $deleted = 0; foreach ($posts as $post) { $post = new WPCF7_ContactForm($post); if (empty($post)) { continue; } if (!current_user_can('wpcf7_delete_contact_form', $post->id)) { wp_die(__('You are not allowed to delete this item.', 'wpcf7')); } if (!$post->delete()) { wp_die(__('Error in deleting.', 'wpcf7')); } $deleted += 1; } $query = array(); if (!empty($deleted)) { $query['message'] = 'deleted'; } $redirect_to = add_query_arg($query, menu_page_url('wpcf7', false)); wp_safe_redirect($redirect_to); exit; } if (empty($_GET['post'])) { $current_screen = get_current_screen(); if (!class_exists('WPCF7_Contact_Form_List_Table')) { require_once WPCF7_PLUGIN_DIR . '/admin/includes/class-contact-forms-list-table.php'; } add_filter('manage_' . $current_screen->id . '_columns', array('WPCF7_Contact_Form_List_Table', 'define_columns')); add_screen_option('per_page', array('label' => __('Contact Forms', 'wpcf7'), 'default' => 20, 'option' => 'cfseven_contact_forms_per_page')); } }
function wpcf7_admin_add_pages() { if (isset($_POST['wpcf7-save']) && wpcf7_admin_has_edit_cap()) { $id = $_POST['wpcf7-id']; check_admin_referer('wpcf7-save_' . $id); if (!($contact_form = wpcf7_contact_form($id))) { $contact_form = new WPCF7_ContactForm(); $contact_form->initial = true; } $title = trim($_POST['wpcf7-title']); $form = trim($_POST['wpcf7-form']); $mail = array('subject' => trim($_POST['wpcf7-mail-subject']), 'sender' => trim($_POST['wpcf7-mail-sender']), 'body' => trim($_POST['wpcf7-mail-body']), 'recipient' => trim($_POST['wpcf7-mail-recipient']), 'additional_headers' => trim($_POST['wpcf7-mail-additional-headers']), 'attachments' => trim($_POST['wpcf7-mail-attachments']), 'use_html' => isset($_POST['wpcf7-mail-use-html']) && 1 == $_POST['wpcf7-mail-use-html']); $mail_2 = array('active' => isset($_POST['wpcf7-mail-2-active']) && 1 == $_POST['wpcf7-mail-2-active'], 'subject' => trim($_POST['wpcf7-mail-2-subject']), 'sender' => trim($_POST['wpcf7-mail-2-sender']), 'body' => trim($_POST['wpcf7-mail-2-body']), 'recipient' => trim($_POST['wpcf7-mail-2-recipient']), 'additional_headers' => trim($_POST['wpcf7-mail-2-additional-headers']), 'attachments' => trim($_POST['wpcf7-mail-2-attachments']), 'use_html' => isset($_POST['wpcf7-mail-2-use-html']) && 1 == $_POST['wpcf7-mail-2-use-html']); $messages = $contact_form->messages; foreach (wpcf7_messages() as $key => $arr) { $field_name = 'wpcf7-message-' . strtr($key, '_', '-'); if (isset($_POST[$field_name])) { $messages[$key] = trim($_POST[$field_name]); } } $additional_settings = trim($_POST['wpcf7-additional-settings']); $query = array(); $query['message'] = $contact_form->initial ? 'created' : 'saved'; $contact_form->title = $title; $contact_form->form = $form; $contact_form->mail = $mail; $contact_form->mail_2 = $mail_2; $contact_form->messages = $messages; $contact_form->additional_settings = $additional_settings; $contact_form->save(); $query['contactform'] = $contact_form->id; $redirect_to = wpcf7_admin_url($query); wp_redirect($redirect_to); exit; } elseif (isset($_POST['wpcf7-copy']) && wpcf7_admin_has_edit_cap()) { $id = $_POST['wpcf7-id']; check_admin_referer('wpcf7-copy_' . $id); $query = array(); if ($contact_form = wpcf7_contact_form($id)) { $new_contact_form = $contact_form->copy(); $new_contact_form->save(); $query['contactform'] = $new_contact_form->id; $query['message'] = 'created'; } else { $query['contactform'] = $contact_form->id; } $redirect_to = wpcf7_admin_url($query); wp_redirect($redirect_to); exit; } elseif (isset($_POST['wpcf7-delete']) && wpcf7_admin_has_edit_cap()) { $id = $_POST['wpcf7-id']; check_admin_referer('wpcf7-delete_' . $id); if ($contact_form = wpcf7_contact_form($id)) { $contact_form->delete(); } $redirect_to = wpcf7_admin_url(array('message' => 'deleted')); wp_redirect($redirect_to); exit; } elseif (isset($_GET['wpcf7-create-table'])) { check_admin_referer('wpcf7-create-table'); $query = array(); if (!wpcf7_table_exists() && current_user_can('activate_plugins')) { wpcf7_install(); if (wpcf7_table_exists()) { $query['message'] = 'table_created'; } else { $query['message'] = 'table_not_created'; } } wp_redirect(wpcf7_admin_url($query)); exit; } add_menu_page(__('Contact Form 7', 'wpcf7'), __('Contact', 'wpcf7'), WPCF7_ADMIN_READ_CAPABILITY, 'wpcf7', 'wpcf7_admin_management_page'); add_submenu_page('wpcf7', __('Edit Contact Forms', 'wpcf7'), __('Edit', 'wpcf7'), WPCF7_ADMIN_READ_CAPABILITY, 'wpcf7', 'wpcf7_admin_management_page'); }
function wpcf7_admin_add_pages() { if (isset($_POST['wpcf7-save']) && wpcf7_admin_has_edit_cap()) { $id = $_POST['wpcf7-id']; check_admin_referer('wpcf7-save_' . $id); if (!($contact_form = wpcf7_contact_form($id))) { $contact_form = new WPCF7_ContactForm(); $contact_form->initial = true; } $title = trim($_POST['wpcf7-title']); $form = trim($_POST['wpcf7-form']); $mail = array('subject' => trim($_POST['wpcf7-mail-subject']), 'sender' => trim($_POST['wpcf7-mail-sender']), 'body' => trim($_POST['wpcf7-mail-body']), 'recipient' => trim($_POST['wpcf7-mail-recipient']), 'additional_headers' => trim($_POST['wpcf7-mail-additional-headers']), 'attachments' => trim($_POST['wpcf7-mail-attachments']), 'use_html' => 1 == $_POST['wpcf7-mail-use-html'] ? true : false); $mail_2 = array('active' => 1 == $_POST['wpcf7-mail-2-active'] ? true : false, 'subject' => trim($_POST['wpcf7-mail-2-subject']), 'sender' => trim($_POST['wpcf7-mail-2-sender']), 'body' => trim($_POST['wpcf7-mail-2-body']), 'recipient' => trim($_POST['wpcf7-mail-2-recipient']), 'additional_headers' => trim($_POST['wpcf7-mail-2-additional-headers']), 'attachments' => trim($_POST['wpcf7-mail-2-attachments']), 'use_html' => 1 == $_POST['wpcf7-mail-2-use-html'] ? true : false); $messages = array('mail_sent_ok' => trim($_POST['wpcf7-message-mail-sent-ok']), 'mail_sent_ng' => trim($_POST['wpcf7-message-mail-sent-ng']), 'akismet_says_spam' => trim($_POST['wpcf7-message-akismet-says-spam']), 'validation_error' => trim($_POST['wpcf7-message-validation-error']), 'accept_terms' => trim($_POST['wpcf7-message-accept-terms']), 'invalid_email' => trim($_POST['wpcf7-message-invalid-email']), 'invalid_required' => trim($_POST['wpcf7-message-invalid-required']), 'quiz_answer_not_correct' => trim($_POST['wpcf7-message-quiz-answer-not-correct']), 'captcha_not_match' => trim($_POST['wpcf7-message-captcha-not-match']), 'upload_failed' => trim($_POST['wpcf7-message-upload-failed']), 'upload_file_type_invalid' => trim($_POST['wpcf7-message-upload-file-type-invalid']), 'upload_file_too_large' => trim($_POST['wpcf7-message-upload-file-too-large']), 'upload_failed_php_error' => trim($_POST['wpcf7-message-upload-failed-php-error'])); $additional_settings = trim($_POST['wpcf7-additional-settings']); $query = array(); $query['message'] = $contact_form->initial ? 'created' : 'saved'; $contact_form->title = $title; $contact_form->form = $form; $contact_form->mail = $mail; $contact_form->mail_2 = $mail_2; $contact_form->messages = $messages; $contact_form->additional_settings = $additional_settings; $contact_form->save(); $query['contactform'] = $contact_form->id; $redirect_to = wpcf7_admin_url('admin.php', $query); wp_redirect($redirect_to); exit; } elseif (isset($_POST['wpcf7-copy']) && wpcf7_admin_has_edit_cap()) { $id = $_POST['wpcf7-id']; check_admin_referer('wpcf7-copy_' . $id); $query = array(); if ($contact_form = wpcf7_contact_form($id)) { $new_contact_form = $contact_form->copy(); $new_contact_form->save(); $query['contactform'] = $new_contact_form->id; $query['message'] = 'created'; } else { $query['contactform'] = $contact_form->id; } $redirect_to = wpcf7_admin_url('admin.php', $query); wp_redirect($redirect_to); exit; } elseif (isset($_POST['wpcf7-delete']) && wpcf7_admin_has_edit_cap()) { $id = $_POST['wpcf7-id']; check_admin_referer('wpcf7-delete_' . $id); if ($contact_form = wpcf7_contact_form($id)) { $contact_form->delete(); } $redirect_to = wpcf7_admin_url('admin.php', array('message' => 'deleted')); wp_redirect($redirect_to); exit; } elseif (isset($_GET['wpcf7-create-table'])) { check_admin_referer('wpcf7-create-table'); $query = array(); if (!wpcf7_table_exists() && current_user_can('activate_plugins')) { wpcf7_install(); if (wpcf7_table_exists()) { $query['message'] = 'table_created'; } else { $query['message'] = 'table_not_created'; } } wp_redirect(wpcf7_admin_url('admin.php', $query)); exit; } add_menu_page(__('Contact Form 7', 'wpcf7'), __('Contact', 'wpcf7'), WPCF7_ADMIN_READ_CAPABILITY, wpcf7_plugin_path('admin/admin.php'), 'wpcf7_admin_management_page'); wpcf7_add_contact_page(__('Edit Contact Forms', 'wpcf7'), __('Edit', 'wpcf7'), WPCF7_ADMIN_READ_CAPABILITY, wpcf7_plugin_path('admin/admin.php'), 'wpcf7_admin_management_page'); }
function wpcf7_admin_init() { if (!wpcf7_admin_has_edit_cap()) { return; } if (isset($_POST['wpcf7-save'])) { $id = $_POST['post_ID']; check_admin_referer('wpcf7-save_' . $id); if (!($contact_form = wpcf7_contact_form($id))) { $contact_form = new WPCF7_ContactForm(); $contact_form->initial = true; } $contact_form->title = trim($_POST['wpcf7-title']); $form = trim($_POST['wpcf7-form']); $mail = array('subject' => trim($_POST['wpcf7-mail-subject']), 'sender' => trim($_POST['wpcf7-mail-sender']), 'body' => trim($_POST['wpcf7-mail-body']), 'recipient' => trim($_POST['wpcf7-mail-recipient']), 'additional_headers' => trim($_POST['wpcf7-mail-additional-headers']), 'attachments' => trim($_POST['wpcf7-mail-attachments']), 'use_html' => isset($_POST['wpcf7-mail-use-html']) && 1 == $_POST['wpcf7-mail-use-html']); $mail_2 = array('active' => isset($_POST['wpcf7-mail-2-active']) && 1 == $_POST['wpcf7-mail-2-active'], 'subject' => trim($_POST['wpcf7-mail-2-subject']), 'sender' => trim($_POST['wpcf7-mail-2-sender']), 'body' => trim($_POST['wpcf7-mail-2-body']), 'recipient' => trim($_POST['wpcf7-mail-2-recipient']), 'additional_headers' => trim($_POST['wpcf7-mail-2-additional-headers']), 'attachments' => trim($_POST['wpcf7-mail-2-attachments']), 'use_html' => isset($_POST['wpcf7-mail-2-use-html']) && 1 == $_POST['wpcf7-mail-2-use-html']); $messages = isset($contact_form->messages) ? $contact_form->messages : array(); foreach (wpcf7_messages() as $key => $arr) { $field_name = 'wpcf7-message-' . strtr($key, '_', '-'); if (isset($_POST[$field_name])) { $messages[$key] = trim($_POST[$field_name]); } } $additional_settings = trim($_POST['wpcf7-additional-settings']); $props = apply_filters('wpcf7_contact_form_admin_posted_properties', compact('form', 'mail', 'mail_2', 'messages', 'additional_settings')); foreach ((array) $props as $key => $prop) { $contact_form->{$key} = $prop; } $query = array(); $query['message'] = $contact_form->initial ? 'created' : 'saved'; $contact_form->save(); $query['contactform'] = $contact_form->id; $redirect_to = wpcf7_admin_url($query); wp_safe_redirect($redirect_to); exit; } if (isset($_POST['wpcf7-copy'])) { $id = $_POST['post_ID']; check_admin_referer('wpcf7-copy_' . $id); $query = array(); if ($contact_form = wpcf7_contact_form($id)) { $new_contact_form = $contact_form->copy(); $new_contact_form->save(); $query['contactform'] = $new_contact_form->id; $query['message'] = 'created'; } else { $query['contactform'] = $contact_form->id; } $redirect_to = wpcf7_admin_url($query); wp_safe_redirect($redirect_to); exit; } if (isset($_POST['wpcf7-delete'])) { $id = $_POST['post_ID']; check_admin_referer('wpcf7-delete_' . $id); if ($contact_form = wpcf7_contact_form($id)) { $contact_form->delete(); } $redirect_to = wpcf7_admin_url(array('message' => 'deleted')); wp_safe_redirect($redirect_to); exit; } }