/** * * * @since 1.1.3 * */ static function get_equipment_line_item($price, $unit, $start_timestamp, $end_timestamp) { switch ($unit) { case "per_day": $diff = STDate::timestamp_diff_day($start_timestamp, $end_timestamp); if (!$diff) { $diff = 1; } return (double) $unit * $diff; break; case "per_hour": $diff = STDate::timestamp_diff($start_timestamp, $end_timestamp); if (!$diff) { $diff = 1; } return (double) $price * $diff; break; default: return (double) $price; break; } }
function st_price_cars_func() { $price_total_item = $_REQUEST['price_total_item']; $form_data = STInput::request('form_data'); $selected_equipments = $form_data['selected_equipments']; $check_in_timestamp = $form_data['check_in_timestamp']; $check_out_timestamp = $form_data['check_out_timestamp']; $car_item = $form_data['item_id']; $info_price = STCars::get_info_price($car_item); $cars_price = $info_price['price']; $price_total = self::get_rental_price($cars_price, $check_in_timestamp, $check_out_timestamp); $total_equipment_price = 0; //Equipment Caculator $selected_equipments = json_decode($selected_equipments); if (!empty($selected_equipments) and is_array($selected_equipments)) { foreach ($selected_equipments as $key => $value) { switch ($value['price_unit']) { case "per_day": $diff = STDate::timestamp_diff_day($check_in_timestamp, $check_out_timestamp); if (!$diff) { $diff = 1; } $total_equipment_price += (double) $value['price'] * $diff; break; case "per_hour": $diff = STDate::timestamp_diff($check_in_timestamp, $check_out_timestamp); if (!$diff) { $diff = 1; } $total_equipment_price += (double) $value['price'] * $diff; break; default: $total_equipment_price += (double) $value['price']; break; } } } $price_total += $total_equipment_price; echo json_encode(array('price_total_number' => $price_total, 'price_total_text' => TravelHelper::format_money($price_total), 'price_total_item_number' => $total_equipment_price, 'price_total_item_text' => TravelHelper::format_money($total_equipment_price))); die; }