function column_title($item)
 {
     $url = admin_url('admin.php?page=wpcf7&post=' . absint($item->id()));
     $edit_link = add_query_arg(array('action' => 'edit'), $url);
     $output = sprintf('<a class="row-title" href="%1$s" title="%2$s">%3$s</a>', esc_url($edit_link), esc_attr(sprintf(__('Edit &#8220;%s&#8221;', 'contact-form-7'), $item->title())), esc_html($item->title()));
     $output = sprintf('<strong>%s</strong>', $output);
     if (wpcf7_validate_configuration() && current_user_can('wpcf7_edit_contact_form', $item->id())) {
         $config_validator = new WPCF7_ConfigValidator($item);
         if ($count_errors = $config_validator->count_errors()) {
             $error_notice = sprintf(_n('%s configuration error found', '%s configuration errors found', $count_errors, 'contact-form-7'), number_format_i18n($count_errors));
             $output .= sprintf('<div class="config-error">%s</div>', $error_notice);
         }
     }
     $actions = array('edit' => sprintf('<a href="%1$s">%2$s</a>', esc_url($edit_link), esc_html(__('Edit', 'contact-form-7'))));
     if (current_user_can('wpcf7_edit_contact_form', $item->id())) {
         $copy_link = wp_nonce_url(add_query_arg(array('action' => 'copy'), $url), 'wpcf7-copy-contact-form_' . absint($item->id()));
         $actions = array_merge($actions, array('copy' => sprintf('<a href="%1$s">%2$s</a>', esc_url($copy_link), esc_html(__('Duplicate', 'contact-form-7')))));
     }
     $output .= $this->row_actions($actions);
     return $output;
 }
示例#2
0
function wpcf7_notice_config_errors()
{
    if (!($contact_form = wpcf7_get_current_contact_form())) {
        return;
    }
    if (!wpcf7_validate_configuration() || !current_user_can('wpcf7_edit_contact_form', $contact_form->id())) {
        return;
    }
    $config_validator = new WPCF7_ConfigValidator($contact_form);
    if ($count_errors = $config_validator->count_errors()) {
        $message = sprintf(_n('%s configuration error found', '%s configuration errors found', $count_errors, 'contact-form-7'), number_format_i18n($count_errors));
        $link = wpcf7_link(__('http://contactform7.com/configuration-validator-faq/', 'contact-form-7'), __("What's this?", 'contact-form-7'), array('class' => 'external'));
        echo sprintf('<div class="misc-pub-section warning">%1$s<br />%2$s</div>', $message, $link);
    }
}
function wpcf7_save_contact_form($post_id = -1)
{
    if (-1 != $post_id) {
        $contact_form = wpcf7_contact_form($post_id);
    }
    if (empty($contact_form)) {
        $contact_form = WPCF7_ContactForm::get_template();
    }
    if (isset($_POST['post_title'])) {
        $contact_form->set_title($_POST['post_title']);
    }
    if (isset($_POST['wpcf7-locale'])) {
        $locale = trim($_POST['wpcf7-locale']);
        if (wpcf7_is_valid_locale($locale)) {
            $contact_form->locale = $locale;
        }
    }
    $properties = $contact_form->get_properties();
    if (isset($_POST['wpcf7-form'])) {
        $properties['form'] = trim($_POST['wpcf7-form']);
    }
    $mail = $properties['mail'];
    if (isset($_POST['wpcf7-mail-subject'])) {
        $mail['subject'] = trim($_POST['wpcf7-mail-subject']);
    }
    if (isset($_POST['wpcf7-mail-sender'])) {
        $mail['sender'] = trim($_POST['wpcf7-mail-sender']);
    }
    if (isset($_POST['wpcf7-mail-body'])) {
        $mail['body'] = trim($_POST['wpcf7-mail-body']);
    }
    if (isset($_POST['wpcf7-mail-recipient'])) {
        $mail['recipient'] = trim($_POST['wpcf7-mail-recipient']);
    }
    if (isset($_POST['wpcf7-mail-additional-headers'])) {
        $headers = '';
        $tempheaders = str_replace("\r\n", "\n", $_POST['wpcf7-mail-additional-headers']);
        $tempheaders = explode("\n", $tempheaders);
        foreach ($tempheaders as $header) {
            $header = trim($header);
            if ('' !== $header) {
                $headers .= $header . "\n";
            }
        }
        $mail['additional_headers'] = trim($headers);
    }
    if (isset($_POST['wpcf7-mail-attachments'])) {
        $mail['attachments'] = trim($_POST['wpcf7-mail-attachments']);
    }
    $mail['use_html'] = !empty($_POST['wpcf7-mail-use-html']);
    $mail['exclude_blank'] = !empty($_POST['wpcf7-mail-exclude-blank']);
    $properties['mail'] = $mail;
    $mail_2 = $properties['mail_2'];
    $mail_2['active'] = !empty($_POST['wpcf7-mail-2-active']);
    if (isset($_POST['wpcf7-mail-2-subject'])) {
        $mail_2['subject'] = trim($_POST['wpcf7-mail-2-subject']);
    }
    if (isset($_POST['wpcf7-mail-2-sender'])) {
        $mail_2['sender'] = trim($_POST['wpcf7-mail-2-sender']);
    }
    if (isset($_POST['wpcf7-mail-2-body'])) {
        $mail_2['body'] = trim($_POST['wpcf7-mail-2-body']);
    }
    if (isset($_POST['wpcf7-mail-2-recipient'])) {
        $mail_2['recipient'] = trim($_POST['wpcf7-mail-2-recipient']);
    }
    if (isset($_POST['wpcf7-mail-2-additional-headers'])) {
        $headers = '';
        $tempheaders = str_replace("\r\n", "\n", $_POST['wpcf7-mail-2-additional-headers']);
        $tempheaders = explode("\n", $tempheaders);
        foreach ($tempheaders as $header) {
            $header = trim($header);
            if ('' !== $header) {
                $headers .= $header . "\n";
            }
        }
        $mail_2['additional_headers'] = trim($headers);
    }
    if (isset($_POST['wpcf7-mail-2-attachments'])) {
        $mail_2['attachments'] = trim($_POST['wpcf7-mail-2-attachments']);
    }
    $mail_2['use_html'] = !empty($_POST['wpcf7-mail-2-use-html']);
    $mail_2['exclude_blank'] = !empty($_POST['wpcf7-mail-2-exclude-blank']);
    $properties['mail_2'] = $mail_2;
    foreach (wpcf7_messages() as $key => $arr) {
        $field_name = 'wpcf7-message-' . strtr($key, '_', '-');
        if (isset($_POST[$field_name])) {
            $properties['messages'][$key] = trim($_POST[$field_name]);
        }
    }
    if (isset($_POST['wpcf7-additional-settings'])) {
        $properties['additional_settings'] = trim($_POST['wpcf7-additional-settings']);
    }
    $contact_form->set_properties($properties);
    do_action('wpcf7_save_contact_form', $contact_form);
    $post_id = $contact_form->save();
    if (wpcf7_validate_configuration()) {
        $config_validator = new WPCF7_ConfigValidator($contact_form);
        $config_validator->validate();
    }
    return $post_id;
}