File "contact-form-functions.php"
Full path: /home/kosmetik/public_html/wp-content/plugins/contact-form-7/includes/contact-form-functions.php
File
size: 6.81 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
function wpcf7_contact_form($id)
{
return WPCF7_ContactForm::get_instance($id);
}
function wpcf7_get_contact_form_by_old_id($old_id)
{
global $wpdb;
$q = "SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key = '_old_cf7_unit_id'" . $wpdb->prepare(" AND meta_value = %d", $old_id);
if ($new_id = $wpdb->get_var($q)) {
return wpcf7_contact_form($new_id);
}
}
function wpcf7_get_contact_form_by_title($title)
{
$page = get_page_by_title($title, OBJECT, WPCF7_ContactForm::post_type);
if ($page) {
return wpcf7_contact_form($page->ID);
}
return null;
}
function wpcf7_get_current_contact_form()
{
if ($current = WPCF7_ContactForm::get_current()) {
return $current;
}
}
function wpcf7_is_posted()
{
if (!($contact_form = wpcf7_get_current_contact_form())) {
return false;
}
return $contact_form->is_posted();
}
function wpcf7_get_hangover($name, $default = null)
{
if (!wpcf7_is_posted()) {
return $default;
}
$submission = WPCF7_Submission::get_instance();
if (!$submission or $submission->is('mail_sent')) {
return $default;
}
return isset($_POST[$name]) ? wp_unslash($_POST[$name]) : $default;
}
function wpcf7_get_validation_error($name)
{
if (!($contact_form = wpcf7_get_current_contact_form())) {
return '';
}
return $contact_form->validation_error($name);
}
function wpcf7_get_validation_error_reference($name)
{
$contact_form = wpcf7_get_current_contact_form();
if ($contact_form and $contact_form->validation_error($name)) {
return sprintf('%1$s-ve-%2$s', $contact_form->unit_tag(), $name);
}
}
function wpcf7_get_message($status)
{
if (!($contact_form = wpcf7_get_current_contact_form())) {
return '';
}
return $contact_form->message($status);
}
function wpcf7_form_controls_class($type, $default = '')
{
$type = trim($type);
$default = array_filter(explode(' ', $default));
$classes = array_merge(array('wpcf7-form-control'), $default);
$typebase = rtrim($type, '*');
$required = '*' == substr($type, -1);
$classes[] = 'wpcf7-' . $typebase;
if ($required) {
$classes[] = 'wpcf7-validates-as-required';
}
$classes = array_unique($classes);
return implode(' ', $classes);
}
function wpcf7_contact_form_tag_func($atts, $content = null, $code = '')
{
if (is_feed()) {
return '[contact-form-7]';
}
if ('contact-form-7' == $code) {
$atts = shortcode_atts(array('id' => 0, 'title' => '', 'html_id' => '', 'html_name' => '', 'html_class' => '', 'output' => 'form'), $atts, 'wpcf7');
$id = (int) $atts['id'];
$title = trim($atts['title']);
if (!($contact_form = wpcf7_contact_form($id))) {
$contact_form = wpcf7_get_contact_form_by_title($title);
}
} else {
if (is_string($atts)) {
$atts = explode(' ', $atts, 2);
}
$id = (int) array_shift($atts);
$contact_form = wpcf7_get_contact_form_by_old_id($id);
}
if (!$contact_form) {
return sprintf('[contact-form-7 404 "%s"]', esc_html(__('Not Found', 'contact-form-7')));
}
return $contact_form->form_html($atts);
}
function wpcf7_save_contact_form($args = '', $context = 'save')
{
$args = wp_parse_args($args, array('id' => -1, 'title' => null, 'locale' => null, 'form' => null, 'mail' => null, 'mail_2' => null, 'messages' => null, 'additional_settings' => null));
$args = wp_unslash($args);
$args['id'] = (int) $args['id'];
if (-1 == $args['id']) {
$contact_form = WPCF7_ContactForm::get_template();
} else {
$contact_form = wpcf7_contact_form($args['id']);
}
if (empty($contact_form)) {
return false;
}
if (null !== $args['title']) {
$contact_form->set_title($args['title']);
}
if (null !== $args['locale']) {
$contact_form->set_locale($args['locale']);
}
$properties = array();
if (null !== $args['form']) {
$properties['form'] = wpcf7_sanitize_form($args['form']);
}
if (null !== $args['mail']) {
$properties['mail'] = wpcf7_sanitize_mail($args['mail']);
$properties['mail']['active'] = true;
}
if (null !== $args['mail_2']) {
$properties['mail_2'] = wpcf7_sanitize_mail($args['mail_2']);
}
if (null !== $args['messages']) {
$properties['messages'] = wpcf7_sanitize_messages($args['messages']);
}
if (null !== $args['additional_settings']) {
$properties['additional_settings'] = wpcf7_sanitize_additional_settings($args['additional_settings']);
}
$contact_form->set_properties($properties);
do_action('wpcf7_save_contact_form', $contact_form, $args, $context);
if ('save' == $context) {
$contact_form->save();
}
return $contact_form;
}
function wpcf7_sanitize_form($input, $default = '')
{
if (null === $input) {
return $default;
}
$output = trim($input);
if (!current_user_can('unfiltered_html')) {
$output = wpcf7_kses($output, 'form');
}
return $output;
}
function wpcf7_sanitize_mail($input, $defaults = array())
{
$input = wp_parse_args($input, array('active' => false, 'subject' => '', 'sender' => '', 'recipient' => '', 'body' => '', 'additional_headers' => '', 'attachments' => '', 'use_html' => false, 'exclude_blank' => false));
$input = wp_parse_args($input, $defaults);
$output = array();
$output['active'] = (bool) $input['active'];
$output['subject'] = trim($input['subject']);
$output['sender'] = trim($input['sender']);
$output['recipient'] = trim($input['recipient']);
$output['body'] = trim($input['body']);
if (!current_user_can('unfiltered_html')) {
$output['body'] = wpcf7_kses($output['body'], 'mail');
}
$output['additional_headers'] = '';
$headers = str_replace("\r\n", "\n", $input['additional_headers']);
$headers = explode("\n", $headers);
foreach ($headers as $header) {
$header = trim($header);
if ('' !== $header) {
$output['additional_headers'] .= $header . "\n";
}
}
$output['additional_headers'] = trim($output['additional_headers']);
$output['attachments'] = trim($input['attachments']);
$output['use_html'] = (bool) $input['use_html'];
$output['exclude_blank'] = (bool) $input['exclude_blank'];
return $output;
}
function wpcf7_sanitize_messages($input, $defaults = array())
{
$output = array();
foreach (wpcf7_messages() as $key => $val) {
if (isset($input[$key])) {
$output[$key] = trim($input[$key]);
} elseif (isset($defaults[$key])) {
$output[$key] = $defaults[$key];
}
}
return $output;
}
function wpcf7_sanitize_additional_settings($input, $default = '')
{
if (null === $input) {
return $default;
}
$output = trim($input);
return $output;
}