Esempio n. 1
0
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();
}
Esempio n. 2
0
function wpcf7_contact_form_default_pack($locale = null)
{
    // For backward compatibility
    return wpcf7_get_contact_form_default_pack(array('locale' => $locale));
}
Esempio n. 3
0
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 &#8220;%s&#8221;', '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));
}
Esempio n. 5
0
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;
}
Esempio n. 6
-1
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';
}