<?php

header('Content-type:application/json');
require_once __DIR__ . '/src/fanCourier.php';
require_once __DIR__ . '/src/Plugin/csv/csvItem.php';
require_once __DIR__ . '/src/Endpoint/awbGenerator.php';
use FanCourier\fanCourier;
use FanCourier\Plugin\csv\csvItem;
function generate_awb()
{
    try {
        $params = ['username' => $_REQUEST['username'], 'user_pass' => $_REQUEST['password'], 'client_id' => $_REQUEST['id_client']];
        $fc = new fanCourier();
        $endpoint = $fc->getEndpoint('awbGenerator');
        $endpoint->createFile();
        if ($_REQUEST['tip_expeditie'] == 'plic') {
            $nr = 'nr_plic';
        }
        if ($_REQUEST['tip_expeditie'] == 'colet') {
            $nr = 'nr_colet';
        }
        $item1 = csvItem::newItem();
        $item1->setItem('tip', $_REQUEST['serviciu']);
        $item1->setItems(['localitate' => $_REQUEST['localitate'], 'judet' => $_REQUEST['judet'], 'strada' => $_REQUEST['adresa']]);
        $item1->setItems(['telefon' => $_REQUEST['telefon']]);
        $item1->setItems(['nume_destinatar' => $_REQUEST['nume_destinatar'], 'persoana_contact' => $_REQUEST['persoana_contact'], 'plata_expeditii' => $_REQUEST['platitor'], 'plata_ramburs_la' => $_REQUEST['plata_ramburs']]);
        $item1->setItems(['greutate' => $_REQUEST['greutate'], $nr => $_REQUEST['nr_colete'], 'lungime_pachet' => $_REQUEST['lungime'], 'latime_pachet' => $_REQUEST['latime'], 'inaltime_pachet' => $_REQUEST['inaltime'], 'ramburs' => $_REQUEST['ramburs']]);
        $item1->setItems(['continut' => $_REQUEST['continut'], 'optiuni' => $_REQUEST['livrare_collectpoint'] . $_REQUEST['deschidere_la_livrare'] . $_REQUEST['livrare_sambata'] . $_REQUEST['epod_opod'], 'observatii' => $_REQUEST['obs']]);
        $endpoint->addNewItem($item1);
        $params['fisier'] = $endpoint->getFile();
        $endpoint->setParams($params);
        $result = $endpoint->getResult();
        foreach ($result as $key => $value) {
            $resawb = str_getcsv($value);
            if ($resawb[2]) {
                $awb_id = $resawb[2];
            }
        }
        echo $awb_id;
    } catch (Exception $exc) {
        echo $exc->getMessage();
    }
}
function get_tarif()
{
    $params = array('username' => $_REQUEST['username'], 'user_pass' => $_REQUEST['password'], 'client_id' => $_REQUEST['id_client'], 'serviciu' => $_REQUEST['serviciu'], 'plata_la' => $_REQUEST['platitor'], 'localitate_dest' => $_REQUEST['localitate'], 'judet_dest' => $_REQUEST['judet'], 'plicuri' => $_REQUEST['nr_plicuri'], 'colete' => $_REQUEST['nr_colete'], 'greutate' => $_REQUEST['greutate'], 'lungime' => $_REQUEST['lungime'], 'latime' => $_REQUEST['latime'], 'inaltime' => $_REQUEST['inaltime'], 'val_decl' => $_REQUEST['val_decl'], 'plata_ramburs' => $_REQUEST['plata_ramburs']);
    $data = json_encode($params);
    $url = 'https://www.selfawb.ro/tarif.php';
    $c = curl_init($url);
    curl_setopt($c, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_HTTPHEADERS, array('Content-Type: multipart/form-data'));
    curl_setopt($c, CURLOPT_POSTFIELDS, $params);
    curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
    $run = curl_exec($c);
    curl_close($c);
    $date_awb = array('cost_transport' => $run);
    $data = json_encode($date_awb);
    return $data;
}
if ($_SERVER["REQUEST_METHOD"] == "POST" && $_SERVER["CONTENT_TYPE"] == "application/json") {
    $data = trim(file_get_contents("php://input"));
    $json = json_decode($data, true);
    var_dump($data);
    exit;
    if (is_array($json)) {
        $_REQUEST = $json + $_REQUEST;
    }
    echo generate_awb();
} else {
    http_response_code(405);
}