Exemple #1
0
function tzs_validate_pr_search_parameters()
{
    $errors = array();
    $res = array();
    // Проверим защиту nonce
    if (isset($_POST['type_id_nonce']) && wp_verify_nonce($_POST['type_id_nonce'], 'type_id')) {
        // get parameters from _POST
        $form_type = get_param_def('form_type', '');
        $type_id = get_param_def('type_id', '0');
        $cur_type_id = get_param_def('cur_type_id', '0');
        $rootcategory = get_param_def('rootcategory', '0');
        $sale_or_purchase = get_param_def('sale_or_purchase', '0');
        $fixed_or_tender = get_param_def('fixed_or_tender', '0');
        $payment = get_param_def('payment', '0');
        $nds = get_param_def('nds', '0');
        $country_from = get_param_def('country_from', '0');
        $region_from = get_param_def('region_from', '0');
        $cityname_from = get_param('cityname_from');
        $pr_title = get_param('pr_title');
        $price_from = get_param_def('price_from', '0');
        $price_to = get_param_def('price_to', '0');
        $data_from = get_param_def('data_from', null);
        $data_to = get_param_def('data_to', null);
        $auction_type = get_param_def('auction_type', '0');
        $rate_from = get_param_def('rate_from', '0');
        $rate_to = get_param_def('rate_to', '0');
        // validate and parse parameters
        if (is_valid_num_zero($country_from)) {
            // use float not int because ID can be long
            $country_from = floatval($country_from);
        } else {
            array_push($errors, "Неверно выбрана страна");
        }
        if (is_valid_num_zero($region_from)) {
            // use float not int because ID can be long
            $region_from = floatval($region_from);
        } else {
            array_push($errors, "Неверно выбран регион");
        }
        if (is_valid_num_zero($price_from)) {
            $price_from = floatval($price_from);
        } else {
            array_push($errors, "Неверно указано начальное значение стоимости");
        }
        if (is_valid_num_zero($price_to)) {
            $price_to = floatval($price_to);
        } else {
            array_push($errors, "Неверно указано конечное значение стоимости");
        }
        if (is_valid_num_zero($rate_from)) {
            $rate_from = floatval($rate_from);
        } else {
            array_push($errors, "Неверно указано начальное значение ставки");
        }
        if (is_valid_num_zero($rate_to)) {
            $rate_to = floatval($rate_to);
        } else {
            array_push($errors, "Неверно указано конечное значение ставки");
        }
        if (is_valid_num_zero($type_id)) {
            $type_id = intval($type_id);
        } else {
            array_push($errors, "Неверно выбрана категория");
        }
        if (is_valid_num_zero($cur_type_id)) {
            $cur_type_id = intval($cur_type_id);
        } else {
            array_push($errors, "Неверно выбрана категория");
        }
        if (is_valid_num_zero($rootcategory)) {
            $rootcategory = intval($rootcategory);
        } else {
            array_push($errors, "Неверно выбрана категория");
        }
        if (is_valid_num_zero($auction_type)) {
            $auction_type = intval($auction_type);
        } else {
            array_push($errors, "Неверно выбран тип тендера");
        }
        if (is_valid_num_zero($sale_or_purchase)) {
            $sale_or_purchase = intval($sale_or_purchase);
        } else {
            array_push($errors, "Неверно выбран тип заявки");
        }
        if (is_valid_num_zero($fixed_or_tender)) {
            $fixed_or_tender = intval($fixed_or_tender);
        } else {
            array_push($errors, "Неверно выбран тип тендера");
        }
        if (is_valid_num_zero($payment)) {
            $payment = intval($payment);
        } else {
            array_push($errors, "Неверно выбран форма оплаты");
        }
        if (is_valid_num_zero($nds)) {
            $nds = intval($nds);
        } else {
            array_push($errors, "Неверно выбран НДС");
        }
        if ($cityname_from != null && strlen($cityname_from) == 0) {
            $cityname_from = null;
        }
        if ($pr_title != null && strlen($pr_title) == 0) {
            $pr_title = null;
        }
        if ($data_from != null && strlen($data_from) > 0) {
            $data_from = is_valid_date($data_from);
            if ($data_from == null) {
                array_push($errors, "Неверный формат даты (с)");
            }
        } else {
            $data_from = null;
        }
        if ($data_to != null && strlen($data_to) > 0) {
            $data_to = is_valid_date($data_to);
            if ($data_to == null) {
                array_push($errors, "Неверный формат даты (по)");
            }
        } else {
            $data_to = null;
        }
        $cityname_from_ids = null;
        if ($cityname_from != null && count($errors) == 0) {
            $r = tzs_city_to_ids($cityname_from, 0, 0);
            if (isset($r['error'])) {
                array_push($errors, $r['error']);
            } else {
                $cityname_from_ids = isset($r['ids']) ? $r['ids'] : null;
            }
        }
        // Если нет ошибок - то заполняем результирующий массив
        if (count($errors) == 0) {
            if ($country_from > 0) {
                $res['country_from'] = $country_from;
            }
            if ($region_from > 0) {
                $res['region_from'] = $region_from;
            }
            if ($cityname_from != null) {
                $res['cityname_from'] = $cityname_from;
            }
            if ($pr_title != null) {
                $res['pr_title'] = $pr_title;
            }
            if ($data_from != null) {
                $res['data_from'] = $data_from;
                $res['data_from_str'] = get_param('data_from');
            }
            if ($data_to != null) {
                $res['data_to'] = $data_to;
                $res['data_to_str'] = get_param('data_to');
            }
            if ($price_from > 0) {
                $res['price_from'] = $price_from;
            }
            if ($price_to > 0) {
                $res['price_to'] = $price_to;
            }
            if ($rate_from > 0) {
                $res['rate_from'] = $rate_from;
            }
            if ($rate_to > 0) {
                $res['rate_to'] = $rate_to;
            }
            if ($auction_type > 0) {
                $res['auction_type'] = $auction_type;
            }
            if ($type_id > 0) {
                $res['type_id'] = $type_id;
            }
            if ($cur_type_id > 0) {
                $res['cur_type_id'] = $cur_type_id;
            }
            if ($rootcategory > 0) {
                $res['rootcategory'] = $rootcategory;
            }
            if ($sale_or_purchase > 0) {
                $res['sale_or_purchase'] = $sale_or_purchase;
            }
            if ($fixed_or_tender > 0) {
                $res['fixed_or_tender'] = $fixed_or_tender;
            }
            if ($payment > 0) {
                $res['payment'] = $payment;
            }
            if ($nds > 0) {
                $res['nds'] = $nds;
            }
            if ($cityname_from_ids != null) {
                $res['cityname_from_ids'] = $cityname_from_ids;
            }
        }
    } else {
        array_push($errors, "Проверка формы не пройдена. Свяжитесь, пожалуйста, с администрацией сайта.");
    }
    $res['errors'] = $errors;
    return $res;
}
Exemple #2
0
function tzs_validate_search_parameters()
{
    $errors = array();
    $res = array();
    // get parameters from _POST
    $country_from = get_param_def('country_from', '0');
    $country_to = get_param_def('country_to', '0');
    $region_from = get_param_def('region_from', '0');
    $region_to = get_param_def('region_to', '0');
    $cargo_city_from = isset($_POST['cargo_city_from']);
    $cargo_city_to = isset($_POST['cargo_city_to']);
    $cargo_cityname_from = $cargo_city_from ? get_param('cargo_cityname_from') : null;
    $cargo_cityname_to = $cargo_city_to ? get_param('cargo_cityname_to') : null;
    $data_from = get_param_def('data_from', null);
    $data_to = get_param_def('data_to', null);
    $weight_from = get_param_def('weight_from', '0');
    $weight_to = get_param_def('weight_to', '0');
    $volume_from = get_param_def('volume_from', '0');
    $volume_to = get_param_def('volume_to', '0');
    $trans_type = get_param_def('trans_type', '0');
    $sh_type = get_param_def('sh_type', '0');
    $cargo_city_from_radius_check = isset($_POST['cargo_city_from_radius_check']);
    $cargo_city_from_radius_value = get_param_def('cargo_city_from_radius_value', 0);
    $price_from = get_param_def('price_from', '0');
    $price_to = get_param_def('price_to', '0');
    $price_km_from = get_param_def('price_km_from', '0');
    $price_km_to = get_param_def('price_km_to', '0');
    $sh_descr = get_param('sh_descr');
    // validate and parse parameters
    if (is_valid_num_zero($cargo_city_from_radius_value)) {
        $cargo_city_from_radius_value = intval($cargo_city_from_radius_value);
    } else {
        array_push($errors, "Неверно выбран радиус");
    }
    if (is_valid_num_zero($country_from)) {
        // use float not int because ID can be long
        $country_from = floatval($country_from);
    } else {
        array_push($errors, "Неверно выбрана страна погрузки");
    }
    if (is_valid_num_zero($country_to)) {
        // use float not int because ID can be long
        $country_to = floatval($country_to);
    } else {
        array_push($errors, "Неверно выбрана страна выгрузки");
    }
    if (is_valid_num_zero($region_from)) {
        // use float not int because ID can be long
        $region_from = floatval($region_from);
    } else {
        array_push($errors, "Неверно выбран регион погрузки");
    }
    if (is_valid_num_zero($region_to)) {
        // use float not int because ID can be long
        $region_to = floatval($region_to);
    } else {
        array_push($errors, "Неверно выбран регион выгрузки");
    }
    if ($cargo_cityname_from != null && strlen($cargo_cityname_from) == 0) {
        $cargo_cityname_from = null;
    }
    if ($cargo_cityname_to != null && strlen($cargo_cityname_to) == 0) {
        $cargo_cityname_to = null;
    }
    if ($data_from != null && strlen($data_from) > 0) {
        $data_from = is_valid_date($data_from);
        if ($data_from == null) {
            array_push($errors, "Неверный формат даты (с)");
        }
    } else {
        $data_from = null;
    }
    if ($data_to != null && strlen($data_to) > 0) {
        $data_to = is_valid_date($data_to);
        if ($data_to == null) {
            array_push($errors, "Неверный формат даты (по)");
        }
    } else {
        $data_to = null;
    }
    if (is_valid_num_zero($weight_from)) {
        $weight_from = intval($weight_from);
    } else {
        array_push($errors, "Неверно выбрана масса (от)");
    }
    if (is_valid_num_zero($weight_to)) {
        $weight_to = intval($weight_to);
    } else {
        array_push($errors, "Неверно выбрана масса (до)");
    }
    if (is_valid_num_zero($volume_from)) {
        $volume_from = intval($volume_from);
    } else {
        array_push($errors, "Неверно выбран объем (от)");
    }
    if (is_valid_num_zero($volume_to)) {
        $volume_to = intval($volume_to);
    } else {
        array_push($errors, "Неверно выбран объем (до)");
    }
    if (is_valid_num_zero($trans_type)) {
        $trans_type = intval($trans_type);
    } else {
        array_push($errors, "Неверно выбран тип транспорта");
    }
    if (is_valid_num_zero($sh_type)) {
        $sh_type = intval($sh_type);
    } else {
        array_push($errors, "Неверно выбран тип груза");
    }
    $cargo_cityname_from_ids = null;
    if ($cargo_cityname_from != null && count($errors) == 0) {
        $r = tzs_city_to_ids($cargo_cityname_from, $region_from, $country_from);
        if (isset($r['error'])) {
            array_push($errors, $r['error']);
        } else {
            $cargo_cityname_from_ids = isset($r['ids']) ? $r['ids'] : null;
        }
    }
    if (is_valid_num_zero($price_from)) {
        $price_from = intval($price_from);
    } else {
        array_push($errors, "Неверно выбрана стоимость (от)");
    }
    if (is_valid_num_zero($price_to)) {
        $price_to = intval($price_to);
    } else {
        array_push($errors, "Неверно выбрана стоимость (до)");
    }
    if (is_valid_num_zero($price_km_from)) {
        $price_km_from = intval($price_km_from);
    } else {
        array_push($errors, "Неверно выбрана цена 1 км (от)");
    }
    if (is_valid_num_zero($price_km_to)) {
        $price_km_to = intval($price_km_to);
    } else {
        array_push($errors, "Неверно выбрана цена 1 км (до)");
    }
    // KSK - добавляем выбор ids для городов в радиусе
    $cargo_city_from_radius_ids = null;
    if ($cargo_city_from_radius_check && $cargo_cityname_from != null && count($errors) == 0) {
        $r = tzs_city_from_radius_to_ids($cargo_cityname_from, $region_from, $country_from, $cargo_city_from_radius_value);
        if (isset($r['error'])) {
            array_push($errors, $r['error']);
        } else {
            $cargo_city_from_radius_ids = isset($r['ids']) ? $r['ids'] : null;
        }
    }
    $cargo_cityname_to_ids = null;
    if ($cargo_cityname_to != null && count($errors) == 0) {
        $r = tzs_city_to_ids($cargo_cityname_to, $region_to, $country_to);
        if (isset($r['error'])) {
            array_push($errors, $r['error']);
        } else {
            $cargo_cityname_to_ids = isset($r['ids']) ? $r['ids'] : null;
        }
    }
    if ($sh_descr != null && strlen($sh_descr) == 0) {
        $sh_descr = null;
    }
    if (count($errors) == 0) {
        if ($country_from > 0) {
            $res['country_from'] = $country_from;
        }
        if ($country_to > 0) {
            $res['country_to'] = $country_to;
        }
        if ($region_from > 0) {
            $res['region_from'] = $region_from;
        }
        if ($region_to > 0) {
            $res['region_to'] = $region_to;
        }
        if ($cargo_cityname_from != null) {
            $res['cargo_cityname_from'] = $cargo_cityname_from;
        }
        if ($cargo_cityname_to != null) {
            $res['cargo_cityname_to'] = $cargo_cityname_to;
        }
        if ($data_from != null) {
            $res['data_from'] = $data_from;
            $res['data_from_str'] = get_param('data_from');
        }
        if ($data_to != null) {
            $res['data_to'] = $data_to;
            $res['data_to_str'] = get_param('data_to');
        }
        if ($weight_from > 0) {
            $res['weight_from'] = $weight_from;
        }
        if ($weight_to > 0) {
            $res['weight_to'] = $weight_to;
        }
        if ($volume_from > 0) {
            $res['volume_from'] = $volume_from;
        }
        if ($volume_to > 0) {
            $res['volume_to'] = $volume_to;
        }
        if ($trans_type > 0) {
            $res['trans_type'] = $trans_type;
        }
        if ($sh_type > 0) {
            $res['sh_type'] = $sh_type;
        }
        if ($cargo_cityname_from_ids != null) {
            $res['cargo_cityname_from_ids'] = $cargo_cityname_from_ids;
        }
        if ($cargo_cityname_to_ids != null) {
            $res['cargo_cityname_to_ids'] = $cargo_cityname_to_ids;
        }
        if ($cargo_city_from_radius_ids != null) {
            $res['cargo_city_from_radius_ids'] = $cargo_city_from_radius_ids;
        }
        if ($cargo_city_from_radius_value != null) {
            $res['cargo_city_from_radius_value'] = $cargo_city_from_radius_value;
        }
        if ($price_from > 0) {
            $res['price_from'] = $price_from;
        }
        if ($price_to > 0) {
            $res['price_to'] = $price_to;
        }
        if ($price_km_from > 0) {
            $res['price_km_from'] = $price_km_from;
        }
        if ($price_km_to > 0) {
            $res['price_km_to'] = $price_km_to;
        }
        if ($sh_descr != null) {
            $res['sh_descr'] = $sh_descr;
        }
    }
    $res['errors'] = $errors;
    return $res;
}