File "admin.php"
Full path: /home/kosmetik/public_html/wp-content/plugins/contact-form-7/admin/admin.php
File
size: 16.8 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
require_once WPCF7_PLUGIN_DIR . '/admin/includes/admin-functions.php';
require_once WPCF7_PLUGIN_DIR . '/admin/includes/help-tabs.php';
require_once WPCF7_PLUGIN_DIR . '/admin/includes/tag-generator.php';
require_once WPCF7_PLUGIN_DIR . '/admin/includes/welcome-panel.php';
require_once WPCF7_PLUGIN_DIR . '/admin/includes/config-validator.php';
add_action('admin_init', function () {
do_action('wpcf7_admin_init');
}, 10, 0);
add_action('admin_menu', 'wpcf7_admin_menu', 9, 0);
function wpcf7_admin_menu()
{
do_action('wpcf7_admin_menu');
add_menu_page(__('Contact Form 7', 'contact-form-7'), __('Contact', 'contact-form-7') . wpcf7_admin_menu_change_notice(), 'wpcf7_read_contact_forms', 'wpcf7', 'wpcf7_admin_management_page', 'dashicons-email', 30);
$edit = add_submenu_page('wpcf7', __('Edit Contact Form', 'contact-form-7'), __('Contact Forms', 'contact-form-7') . wpcf7_admin_menu_change_notice('wpcf7'), 'wpcf7_read_contact_forms', 'wpcf7', 'wpcf7_admin_management_page');
add_action('load-' . $edit, 'wpcf7_load_contact_form_admin', 10, 0);
$addnew = add_submenu_page('wpcf7', __('Add New Contact Form', 'contact-form-7'), __('Add New', 'contact-form-7') . wpcf7_admin_menu_change_notice('wpcf7-new'), 'wpcf7_edit_contact_forms', 'wpcf7-new', 'wpcf7_admin_add_new_page');
add_action('load-' . $addnew, 'wpcf7_load_contact_form_admin', 10, 0);
$integration = WPCF7_Integration::get_instance();
if ($integration->service_exists()) {
$integration = add_submenu_page('wpcf7', __('Integration with External API', 'contact-form-7'), __('Integration', 'contact-form-7') . wpcf7_admin_menu_change_notice('wpcf7-integration'), 'wpcf7_manage_integration', 'wpcf7-integration', 'wpcf7_admin_integration_page');
add_action('load-' . $integration, 'wpcf7_load_integration_page', 10, 0);
}
}
function wpcf7_admin_menu_change_notice($menu_slug = '')
{
$counts = apply_filters('wpcf7_admin_menu_change_notice', array('wpcf7' => 0, 'wpcf7-new' => 0, 'wpcf7-integration' => 0));
if (empty($menu_slug)) {
$count = absint(array_sum($counts));
} elseif (isset($counts[$menu_slug])) {
$count = absint($counts[$menu_slug]);
} else {
$count = 0;
}
if ($count) {
return sprintf(' <span class="update-plugins %1$d"><span class="plugin-count">%2$s</span></span>', $count, esc_html(number_format_i18n($count)));
}
return '';
}
add_action('admin_enqueue_scripts', 'wpcf7_admin_enqueue_scripts', 10, 1);
function wpcf7_admin_enqueue_scripts($hook_suffix)
{
if (false === strpos($hook_suffix, 'wpcf7')) {
return;
}
wp_enqueue_style('contact-form-7-admin', wpcf7_plugin_url('admin/css/styles.css'), array(), WPCF7_VERSION, 'all');
if (wpcf7_is_rtl()) {
wp_enqueue_style('contact-form-7-admin-rtl', wpcf7_plugin_url('admin/css/styles-rtl.css'), array(), WPCF7_VERSION, 'all');
}
wp_enqueue_script('wpcf7-admin', wpcf7_plugin_url('admin/js/scripts.js'), array('jquery', 'jquery-ui-tabs'), WPCF7_VERSION, true);
$args = array('apiSettings' => array('root' => esc_url_raw(rest_url('contact-form-7/v1')), 'namespace' => 'contact-form-7/v1', 'nonce' => wp_installing() && !is_multisite() ? '' : wp_create_nonce('wp_rest')), 'pluginUrl' => wpcf7_plugin_url(), 'saveAlert' => __("The changes you made will be lost if you navigate away from this page.", 'contact-form-7'), 'activeTab' => isset($_GET['active-tab']) ? (int) $_GET['active-tab'] : 0, 'configValidator' => array('errors' => array(), 'howToCorrect' => __("How to resolve?", 'contact-form-7'), 'oneError' => __('1 configuration error detected', 'contact-form-7'), 'manyErrors' => __('%d configuration errors detected', 'contact-form-7'), 'oneErrorInTab' => __('1 configuration error detected in this tab panel', 'contact-form-7'), 'manyErrorsInTab' => __('%d configuration errors detected in this tab panel', 'contact-form-7'), 'docUrl' => WPCF7_ConfigValidator::get_doc_link(), 'iconAlt' => __('(configuration error)', 'contact-form-7')));
if ($post = wpcf7_get_current_contact_form() and current_user_can('wpcf7_edit_contact_form', $post->id()) and wpcf7_validate_configuration()) {
$config_validator = new WPCF7_ConfigValidator($post);
$config_validator->restore();
$args['configValidator']['errors'] = $config_validator->collect_error_messages();
}
wp_localize_script('wpcf7-admin', 'wpcf7', $args);
add_thickbox();
wp_enqueue_script('wpcf7-admin-taggenerator', wpcf7_plugin_url('admin/js/tag-generator.js'), array('jquery', 'thickbox', 'wpcf7-admin'), WPCF7_VERSION, true);
}
add_filter('set_screen_option_wpcf7_contact_forms_per_page', function ($result, $option, $value) {
$wpcf7_screens = array('wpcf7_contact_forms_per_page');
if (in_array($option, $wpcf7_screens)) {
$result = $value;
}
return $result;
}, 10, 3);
function wpcf7_load_contact_form_admin()
{
global $plugin_page;
$action = wpcf7_current_action();
do_action('wpcf7_admin_load', isset($_GET['page']) ? trim($_GET['page']) : '', $action);
if ('save' == $action) {
$id = isset($_POST['post_ID']) ? $_POST['post_ID'] : '-1';
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'));
}
$args = $_REQUEST;
$args['id'] = $id;
$args['title'] = isset($_POST['post_title']) ? $_POST['post_title'] : null;
$args['locale'] = isset($_POST['wpcf7-locale']) ? $_POST['wpcf7-locale'] : null;
$args['form'] = isset($_POST['wpcf7-form']) ? $_POST['wpcf7-form'] : '';
$args['mail'] = isset($_POST['wpcf7-mail']) ? $_POST['wpcf7-mail'] : array();
$args['mail_2'] = isset($_POST['wpcf7-mail-2']) ? $_POST['wpcf7-mail-2'] : array();
$args['messages'] = isset($_POST['wpcf7-messages']) ? $_POST['wpcf7-messages'] : array();
$args['additional_settings'] = isset($_POST['wpcf7-additional-settings']) ? $_POST['wpcf7-additional-settings'] : '';
$contact_form = wpcf7_save_contact_form($args);
if ($contact_form and wpcf7_validate_configuration()) {
$config_validator = new WPCF7_ConfigValidator($contact_form);
$config_validator->validate();
$config_validator->save();
}
$query = array('post' => $contact_form ? $contact_form->id() : 0, 'active-tab' => isset($_POST['active-tab']) ? (int) $_POST['active-tab'] : 0);
if (!$contact_form) {
$query['message'] = 'failed';
} elseif (-1 == $id) {
$query['message'] = 'created';
} else {
$query['message'] = 'saved';
}
$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';
}
$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 = WPCF7_ContactForm::get_instance($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;
}
$post = null;
if ('wpcf7-new' == $plugin_page) {
$post = WPCF7_ContactForm::get_template(array('locale' => isset($_GET['locale']) ? $_GET['locale'] : null));
} elseif (!empty($_GET['post'])) {
$post = WPCF7_ContactForm::get_instance($_GET['post']);
}
$current_screen = get_current_screen();
$help_tabs = new WPCF7_Help_Tabs($current_screen);
if ($post and current_user_can('wpcf7_edit_contact_form', $post->id())) {
$help_tabs->set_help_tabs('edit');
} else {
$help_tabs->set_help_tabs('list');
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'), 10, 0);
add_screen_option('per_page', array('default' => 20, 'option' => 'wpcf7_contact_forms_per_page'));
}
}
function wpcf7_admin_management_page()
{
if ($post = wpcf7_get_current_contact_form()) {
$post_id = $post->initial() ? -1 : $post->id();
require_once WPCF7_PLUGIN_DIR . '/admin/includes/editor.php';
require_once WPCF7_PLUGIN_DIR . '/admin/edit-contact-form.php';
return;
}
if ('validate' == wpcf7_current_action() and wpcf7_validate_configuration() and current_user_can('wpcf7_edit_contact_forms')) {
wpcf7_admin_bulk_validate_page();
return;
}
$list_table = new WPCF7_Contact_Form_List_Table();
$list_table->prepare_items();
?>
<div class="wrap" id="wpcf7-contact-form-list-table">
<h1 class="wp-heading-inline"><?php
echo esc_html(__('Contact Forms', 'contact-form-7'));
?></h1>
<?php
if (current_user_can('wpcf7_edit_contact_forms')) {
echo wpcf7_link(menu_page_url('wpcf7-new', false), __('Add New', 'contact-form-7'), array('class' => 'page-title-action'));
}
if (!empty($_REQUEST['s'])) {
echo sprintf('<span class="subtitle">' . __('Search results for “%s”', 'contact-form-7') . '</span>', esc_html($_REQUEST['s']));
}
?>
<hr class="wp-header-end">
<?php
do_action('wpcf7_admin_warnings', 'wpcf7', wpcf7_current_action(), null);
wpcf7_welcome_panel();
do_action('wpcf7_admin_notices', 'wpcf7', wpcf7_current_action(), null);
?>
<form method="get" action="">
<input type="hidden" name="page" value="<?php
echo esc_attr($_REQUEST['page']);
?>" />
<?php
$list_table->search_box(__('Search Contact Forms', 'contact-form-7'), 'wpcf7-contact');
?>
<?php
$list_table->display();
?>
</form>
</div>
<?php
}
function wpcf7_admin_add_new_page()
{
$post = wpcf7_get_current_contact_form();
if (!$post) {
$post = WPCF7_ContactForm::get_template();
}
$post_id = -1;
require_once WPCF7_PLUGIN_DIR . '/admin/includes/editor.php';
require_once WPCF7_PLUGIN_DIR . '/admin/edit-contact-form.php';
}
function wpcf7_load_integration_page()
{
do_action('wpcf7_admin_load', isset($_GET['page']) ? trim($_GET['page']) : '', wpcf7_current_action());
$integration = WPCF7_Integration::get_instance();
if (isset($_REQUEST['service']) and $integration->service_exists($_REQUEST['service'])) {
$service = $integration->get_service($_REQUEST['service']);
$service->load(wpcf7_current_action());
}
$help_tabs = new WPCF7_Help_Tabs(get_current_screen());
$help_tabs->set_help_tabs('integration');
}
function wpcf7_admin_integration_page()
{
$integration = WPCF7_Integration::get_instance();
$service = isset($_REQUEST['service']) ? $integration->get_service($_REQUEST['service']) : null;
?>
<div class="wrap" id="wpcf7-integration">
<h1><?php
echo esc_html(__('Integration with External API', 'contact-form-7'));
?></h1>
<p><?php
echo sprintf(esc_html(__("You can expand the possibilities of your contact forms by integrating them with external services. For details, see %s.", 'contact-form-7')), wpcf7_link(__('https://contactform7.com/integration-with-external-apis/', 'contact-form-7'), __('Integration with external APIs', 'contact-form-7')));
?></p>
<?php
do_action('wpcf7_admin_warnings', 'wpcf7-integration', wpcf7_current_action(), $service);
do_action('wpcf7_admin_notices', 'wpcf7-integration', wpcf7_current_action(), $service);
if ($service) {
$message = isset($_REQUEST['message']) ? $_REQUEST['message'] : '';
$service->admin_notice($message);
$integration->list_services(array('include' => $_REQUEST['service']));
} else {
$integration->list_services();
}
?>
</div>
<?php
}
add_action('wpcf7_admin_notices', 'wpcf7_admin_updated_message', 10, 3);
function wpcf7_admin_updated_message($page, $action, $object)
{
if (!in_array($page, array('wpcf7', 'wpcf7-new'))) {
return;
}
if (empty($_REQUEST['message'])) {
return;
}
if ('created' == $_REQUEST['message']) {
$updated_message = __("Contact form created.", 'contact-form-7');
} elseif ('saved' == $_REQUEST['message']) {
$updated_message = __("Contact form saved.", 'contact-form-7');
} elseif ('deleted' == $_REQUEST['message']) {
$updated_message = __("Contact form deleted.", 'contact-form-7');
}
if (!empty($updated_message)) {
echo sprintf('<div id="message" class="notice notice-success"><p>%s</p></div>', esc_html($updated_message));
return;
}
if ('failed' == $_REQUEST['message']) {
$updated_message = __("There was an error saving the contact form.", 'contact-form-7');
echo sprintf('<div id="message" class="notice notice-error"><p>%s</p></div>', esc_html($updated_message));
return;
}
if ('validated' == $_REQUEST['message']) {
$bulk_validate = WPCF7::get_option('bulk_validate', array());
$count_invalid = isset($bulk_validate['count_invalid']) ? absint($bulk_validate['count_invalid']) : 0;
if ($count_invalid) {
$updated_message = sprintf(_n("Configuration validation completed. %s invalid contact form was found.", "Configuration validation completed. %s invalid contact forms were found.", $count_invalid, 'contact-form-7'), number_format_i18n($count_invalid));
echo sprintf('<div id="message" class="notice notice-warning"><p>%s</p></div>', esc_html($updated_message));
} else {
$updated_message = __("Configuration validation completed. No invalid contact form was found.", 'contact-form-7');
echo sprintf('<div id="message" class="notice notice-success"><p>%s</p></div>', esc_html($updated_message));
}
return;
}
}
add_filter('plugin_action_links', 'wpcf7_plugin_action_links', 10, 2);
function wpcf7_plugin_action_links($links, $file)
{
if ($file != WPCF7_PLUGIN_BASENAME) {
return $links;
}
if (!current_user_can('wpcf7_read_contact_forms')) {
return $links;
}
$settings_link = wpcf7_link(menu_page_url('wpcf7', false), __('Settings', 'contact-form-7'));
array_unshift($links, $settings_link);
return $links;
}
add_action('wpcf7_admin_warnings', 'wpcf7_old_wp_version_error', 10, 3);
function wpcf7_old_wp_version_error($page, $action, $object)
{
$wp_version = get_bloginfo('version');
if (!version_compare($wp_version, WPCF7_REQUIRED_WP_VERSION, '<')) {
return;
}
?>
<div class="notice notice-warning">
<p><?php
echo sprintf(__('<strong>Contact Form 7 %1$s requires WordPress %2$s or higher.</strong> Please <a href="%3$s">update WordPress</a> first.', 'contact-form-7'), WPCF7_VERSION, WPCF7_REQUIRED_WP_VERSION, admin_url('update-core.php'));
?></p>
</div>
<?php
}
add_action('wpcf7_admin_warnings', 'wpcf7_not_allowed_to_edit', 10, 3);
function wpcf7_not_allowed_to_edit($page, $action, $object)
{
if ($object instanceof WPCF7_ContactForm) {
$contact_form = $object;
} else {
return;
}
if (current_user_can('wpcf7_edit_contact_form', $contact_form->id())) {
return;
}
$message = __("You are not allowed to edit this contact form.", 'contact-form-7');
echo sprintf('<div class="notice notice-warning"><p>%s</p></div>', esc_html($message));
}