function wpcf7_install() { if ($opt = get_option('wpcf7')) { return; } wpcf7_load_textdomain(); wpcf7_register_post_types(); wpcf7_upgrade(); if (get_posts(array('post_type' => 'wpcf7_contact_form'))) { return; } $contact_form = wpcf7_get_contact_form_default_pack(array('title' => sprintf(__('Contact form %d', 'contact-form-7'), 1))); $contact_form->save(); }
function wpcf7_contact_form_default_pack($locale = null) { // For backward compatibility return wpcf7_get_contact_form_default_pack(array('locale' => $locale)); }
function wpcf7_admin_management_page() { $post = null; $unsaved = false; if (!isset($_GET['post'])) { $_GET['post'] = ''; } if ('new' == $_GET['post'] && current_user_can('wpcf7_edit_contact_forms')) { $unsaved = true; $post_id = -1; $post = wpcf7_get_contact_form_default_pack(array('locale' => isset($_GET['locale']) ? $_GET['locale'] : '')); } elseif ($post = wpcf7_contact_form($_GET['post'])) { $post_id = (int) $_GET['post']; } if ($post) { require_once WPCF7_PLUGIN_DIR . '/admin/includes/meta-boxes.php'; require_once WPCF7_PLUGIN_DIR . '/admin/edit-contact-form.php'; return; } $list_table = new WPCF7_Contact_Form_List_Table(); $list_table->prepare_items(); ?> <div class="wrap"> <?php screen_icon(); ?> <h2><?php echo esc_html(__('Contact Form 7', 'wpcf7')); echo ' <a href="#TB_inline?height=300&width=400&inlineId=wpcf7-lang-select-modal" class="add-new-h2 thickbox">' . esc_html(__('Add New', 'wpcf7')) . '</a>'; if (!empty($_REQUEST['s'])) { echo sprintf('<span class="subtitle">' . __('Search results for “%s”', 'wpcf7') . '</span>', esc_html($_REQUEST['s'])); } ?> </h2> <?php do_action('wpcf7_admin_notices'); ?> <form method="get" action=""> <input type="hidden" name="page" value="<?php echo esc_attr($_REQUEST['page']); ?> " /> <?php $list_table->search_box(__('Search Contact Forms', 'wpcf7'), 'wpcf7-contact'); ?> <?php $list_table->display(); ?> </form> </div> <?php wpcf7_admin_lang_select_modal(); }
function wpcf7_contact_form_default_pack($locale = null) { wpcf7_deprecated_function(__FUNCTION__, '3.0', 'wpcf7_get_contact_form_default_pack()'); return wpcf7_get_contact_form_default_pack(array('locale' => $locale)); }
function wpcf7_load_contact_form_admin() { global $wpcf7_contact_form, $plugin_page; $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.', 'contact-form-7')); } if (!($contact_form = wpcf7_contact_form($id))) { $contact_form = new WPCF7_ContactForm(); $contact_form->initial = true; } $contact_form->title = trim($_POST['wpcf7-title']); $contact_form->locale = trim($_POST['wpcf7-locale']); $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.', 'contact-form-7')); } $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.', 'contact-form-7')); } if (!$post->delete()) { wp_die(__('Error in deleting.', 'contact-form-7')); } $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; } $_GET['post'] = isset($_GET['post']) ? $_GET['post'] : ''; $post = null; if ('wpcf7-new' == $plugin_page && isset($_GET['locale'])) { $post = wpcf7_get_contact_form_default_pack(array('locale' => $_GET['locale'])); } elseif (!empty($_GET['post'])) { $post = wpcf7_contact_form($_GET['post']); } if ($post && current_user_can('wpcf7_edit_contact_form', $post->id)) { wpcf7_add_meta_boxes($post->id); } else { $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', 'contact-form-7'), 'default' => 20, 'option' => 'cfseven_contact_forms_per_page')); } $wpcf7_contact_form = $post; }
function wpcf7_admin_management_page() { $contact_forms = get_posts(array('numberposts' => -1, 'orderby' => 'ID', 'order' => 'ASC', 'post_type' => 'wpcf7_contact_form')); $cf = null; $unsaved = false; if (!isset($_GET['contactform'])) { $_GET['contactform'] = ''; } if ('new' == $_GET['contactform'] && wpcf7_admin_has_edit_cap()) { $unsaved = true; $current = -1; $cf = wpcf7_get_contact_form_default_pack(array('locale' => isset($_GET['locale']) ? $_GET['locale'] : '')); } elseif ($cf = wpcf7_contact_form($_GET['contactform'])) { $current = (int) $_GET['contactform']; } else { $first = reset($contact_forms); // Returns first item if ($first) { $current = $first->ID; $cf = wpcf7_contact_form($current); } } require_once WPCF7_PLUGIN_DIR . '/admin/includes/meta-boxes.php'; require_once WPCF7_PLUGIN_DIR . '/admin/edit.php'; }