/* Boxinfo 1.0.12 - walidacja jakości danych w formularzu dodawania wizytówki */ if (!function_exists('boxinfo_validate_listing_phone')) { function boxinfo_validate_listing_text($text, $min_letters, $max_len, $allow_digits = false) { $text = trim((string) $text); if ($text === '' || mb_strlen($text) > $max_len) { return false; } if (!$allow_digits && preg_match('/\d/u', $text)) { return false; } if (!preg_match_all('/[\pL]/u', $text, $m) || count($m[0]) < $min_letters) { return false; } $plain = preg_replace('/\s+/u', '', mb_strtolower($text)); return !(mb_strlen($plain) >= 5 && preg_match('/(.)\1{4,}/u', $plain)); } function boxinfo_validate_listing_phone($phone) { $digits = preg_replace('/\D+/', '', (string) $phone); if (strpos($digits, '0048') === 0) { $digits = substr($digits, 4); } elseif (strpos($digits, '48') === 0 && strlen($digits) === 11) { $digits = substr($digits, 2); } return strlen($digits) === 9 && !preg_match('/^(\d)\1{8}$/', $digits); } function boxinfo_validate_listing_form_quality() { if (($_POST['action'] ?? '') !== 'boxinfo_submit_listing') { return; } $name = sanitize_text_field(wp_unslash($_POST['boxinfo_name'] ?? '')); $city = sanitize_text_field(wp_unslash($_POST['boxinfo_city'] ?? '')); $person = sanitize_text_field(wp_unslash($_POST['boxinfo_contact_person'] ?? '')); $phone = sanitize_text_field(wp_unslash($_POST['boxinfo_phone'] ?? '')); $desc = sanitize_textarea_field(wp_unslash($_POST['boxinfo_description'] ?? '')); $words = preg_match_all('/[\pL]{2,}/u', $desc, $wm); if (!boxinfo_validate_listing_text($name, 3, 120, true) || !boxinfo_validate_listing_text($city, 2, 100) || !boxinfo_validate_listing_text($person, 4, 120) || !boxinfo_validate_listing_phone($phone) || mb_strlen(trim($desc)) < 20 || $words < 3) { wp_safe_redirect(add_query_arg(array('boxinfo_blad' => 'invalid_fields'), wp_get_referer() ?: home_url('/dodaj-usluge/'))); exit; } } add_action('admin_post_nopriv_boxinfo_submit_listing', 'boxinfo_validate_listing_form_quality', 0); add_action('admin_post_boxinfo_submit_listing', 'boxinfo_validate_listing_form_quality', 0); function boxinfo_listing_form_quality_message() { if (is_admin() || ($_GET['boxinfo_blad'] ?? '') !== 'invalid_fields') { return; } echo ''; } add_action('wp_footer', 'boxinfo_listing_form_quality_message', 40); } https://boxinfo.pl/post-sitemap.xml 2019-02-03T23:33:22+00:00 https://boxinfo.pl/page-sitemap.xml 2026-08-04T21:02:15+00:00 https://boxinfo.pl/listing-sitemap.xml 2026-08-20T21:33:29+00:00 https://boxinfo.pl/event-sitemap.xml 2018-10-19T19:45:29+00:00 https://boxinfo.pl/testimonial-sitemap.xml 2017-09-08T08:28:38+00:00 https://boxinfo.pl/pricing-sitemap.xml 2024-04-16T13:58:20+00:00 https://boxinfo.pl/event-pricing-sitemap.xml 2017-10-02T02:20:32+00:00 https://boxinfo.pl/review-sitemap.xml 2017-09-26T17:10:39+00:00 https://boxinfo.pl/wiloke-menu-sitemap.xml 2017-09-08T18:26:55+00:00 https://boxinfo.pl/category-sitemap.xml 2019-02-03T23:33:22+00:00