/* 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