<?php
require_once ROOT . FOLDER_CORE . '/auth.php';
require_once ROOT . FOLDER_CORE . '/class.php';
require_once ROOT . '/assets/conn/SQLConnex.php';

if($auth == 1) {
    
    $c = new SQLConnex();
    if((isset($_POST['model']) && !empty($_POST['model'])) && (isset($_POST['make']) && !empty($_POST['make']))) {
        $make = Statics::safe($_POST['make']);
        $model = Statics::safe($_POST['model']);
        $stmt = sqlsrv_prepare($c->con, 'SELECT MLOName FROM ModLevOne WHERE MLOMAKCD = ? AND MLOCode = ?', [$make, $model]);
        if(sqlsrv_execute($stmt)) {
            if(sqlsrv_has_rows($stmt)) {
                $rowMain = sqlsrv_fetch_array($stmt);
                $data['model'] = $rowMain['MLOName'];
                $values = [$make, $model];
                $sql = 'SELECT T.TYPNatCode, T.TYPName, T.TYPIMPBEGIN, T.TYPIMPEND, T.TYPHP, T.TYPDoor, T.TYPSeat
                FROM TYPE T
                INNER JOIN ModLevOne M ON M.MLOCode = T.TYPMloCd
                WHERE M.MLOMakCd = ? 
                AND T.TYPMloCd = ?';


                if(isset($_POST['date']) && !empty($_POST['date'])) {
                    $date = Statics::safe($_POST['date']);
                    $data['date'] = $date;
                    $sql .= ' AND TYPIMPBEGIN <= ? AND (TYPIMPEND >= ? OR TYPIMPEND IS NULL)';
                    array_push($values, $date, $date);
                }
                if(isset($_POST['horsepower']) && !empty($_POST['horsepower'])) {
                    $horsepower = Statics::safe($_POST['horsepower']);
                    $data['horsepower'] = $horsepower;
                    $sql .= ' AND TYPHP = ?';
                    array_push($values, $horsepower);
                }
                if(isset($_POST['doors']) && !empty($_POST['doors'])) {
                    $doors = Statics::safe($_POST['doors']);
                    $data['doors'] = $doors;
                    $sql .= ' AND TYPDoor = ?';
                    array_push($values, $doors);
                }
                if(isset($_POST['seats']) && !empty($_POST['seats'])) {
                    $seats = Statics::safe($_POST['seats']);
                    $data['seats'] = $seats;
                    $sql .= ' AND TYPSeat = ?';
                    array_push($values, $seats);
                }


                $stmt = sqlsrv_prepare($c->con, $sql, $values);
                if(sqlsrv_execute($stmt)) {
                    $i = 0;
                    while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
                        $data['cars_type'][$i]['name'] = $row['TYPName'];
                        $data['cars_type'][$i]['eurotax_code'] = str_replace(' ', '', $row['TYPNatCode']);
                        $i++;
                    }
                }
            } else {
                $data['status'] = false;
                $data['request'] = 'Inavlid request';
                $data['message'] = 'Make and model not found';
            }
        }
        sqlsrv_close($c->con);
    } else {
        $data['status'] = false;
        $data['request'] = 'Inavlid request';
        $data['message'] = 'Empty model and make';

    }   
} else {
    $data['code'] = 'unauthorized_client';
    $data['message'] = 'Invalid authorization token';  
}

header("Content-type: application/json; charset=utf-8");
echo json_encode($data);

?>