예제 #1
0
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');
}
예제 #2
0
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 WPCF8_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']));
        $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'), WPCF8_ADMIN_READ_CAPABILITY, __FILE__, 'wpcf7_admin_management_page');
    add_submenu_page(__FILE__, __('Edit Contact Forms', 'wpcf7'), __('Edit', 'wpcf7'), WPCF8_ADMIN_READ_CAPABILITY, __FILE__, 'wpcf7_admin_management_page');
}