Create New Item
×
Item Type
File
Folder
Item Name
×
Search file in folder and subfolders...
File Manager
/
wp-content
/
plugins
/
contact-form-7
/
includes
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php function wpcf7_is_name($string) { return preg_match('/^[A-Za-z][-A-Za-z0-9_:.]*$/', $string); } function wpcf7_is_email($email) { $result = is_email($email); return apply_filters('wpcf7_is_email', $result, $email); } function wpcf7_is_url($url) { $result = false !== filter_var($url, FILTER_VALIDATE_URL); return apply_filters('wpcf7_is_url', $result, $url); } function wpcf7_is_tel($tel) { $pattern = '%^[+]?' . '(?:\\([0-9]+\\)|[0-9]+)' . '(?:[/ -]*' . '(?:\\([0-9]+\\)|[0-9]+)' . ')*$%'; $result = preg_match($pattern, trim($tel)); return apply_filters('wpcf7_is_tel', $result, $tel); } function wpcf7_is_number($number) { $result = is_numeric($number); return apply_filters('wpcf7_is_number', $result, $number); } function wpcf7_is_date($date) { $result = preg_match('/^([0-9]{4,})-([0-9]{2})-([0-9]{2})$/', $date, $matches); if ($result) { $result = checkdate($matches[2], $matches[3], $matches[1]); } return apply_filters('wpcf7_is_date', $result, $date); } function wpcf7_is_mailbox_list($mailbox_list) { if (!is_array($mailbox_list)) { $mailbox_text = (string) $mailbox_list; $mailbox_text = preg_replace('/\\\\(?:\\"|\')/', 'esc-quote', $mailbox_text); $mailbox_text = preg_replace('/(?:\\".*?\\"|\'.*?\')/', 'quoted-string', $mailbox_text); $mailbox_list = explode(',', $mailbox_text); } $addresses = array(); foreach ($mailbox_list as $mailbox) { if (!is_string($mailbox)) { return false; } $mailbox = trim($mailbox); if ('' === $mailbox) { continue; } if (preg_match('/<(.+)>$/', $mailbox, $matches)) { $addr_spec = $matches[1]; } else { $addr_spec = $mailbox; } if (!wpcf7_is_email($addr_spec)) { return false; } $addresses[] = $addr_spec; } return $addresses; } function wpcf7_is_email_in_domain($email, $domain) { $email_list = wpcf7_is_mailbox_list($email); $domain = strtolower($domain); foreach ($email_list as $email) { $email_domain = substr($email, strrpos($email, '@') + 1); $email_domain = strtolower($email_domain); $domain_parts = explode('.', $domain); do { $site_domain = implode('.', $domain_parts); if ($site_domain == $email_domain) { continue 2; } array_shift($domain_parts); } while ($domain_parts); return false; } return true; } function wpcf7_is_email_in_site_domain($email) { if (wpcf7_is_localhost()) { return true; } $site_domain = strtolower($_SERVER['SERVER_NAME']); if (preg_match('/^[0-9.]+$/', $site_domain)) { return true; } if (wpcf7_is_email_in_domain($email, $site_domain)) { return true; } $home_url = home_url(); if (is_multisite() and function_exists('domain_mapping_siteurl')) { $domain_mapping_siteurl = domain_mapping_siteurl(false); if ($domain_mapping_siteurl) { $home_url = $domain_mapping_siteurl; } } if (preg_match('%^https?://([^/]+)%', $home_url, $matches)) { $site_domain = strtolower($matches[1]); if ($site_domain != strtolower($_SERVER['SERVER_NAME']) and wpcf7_is_email_in_domain($email, $site_domain)) { return true; } } return false; } function wpcf7_is_file_path_in_content_dir($path) { if ($real_path = realpath($path)) { $path = $real_path; } else { return false; } if (0 === strpos($path, realpath(WP_CONTENT_DIR))) { return true; } if (defined('UPLOADS') and 0 === strpos($path, realpath(ABSPATH . UPLOADS))) { return true; } return false; }