/**
 * Hakee tietokannasta kaikki ostoskorissa olevat tuotteet.
 * @param DByhteys $db
 * @param Ostoskori $cart
 * @return array
 */
function get_products_in_shopping_cart(DByhteys $db, Ostoskori $cart)
{
    $products = array();
    //Tarkistetaan, että tuotteiden ID:t on haettu ostoskorissa, ja jos ei, niin tehdään se.
    if ($cart->cart_mode != 1) {
        $cart->hae_ostoskorin_sisalto($db, TRUE);
    }
    if (!empty($cart->tuotteet)) {
        $ids = array_keys($cart->tuotteet);
        $placeholders = str_repeat('?, ', count($cart->tuotteet) - 1) . '?';
        $sql = "SELECT\tid, articleNo, brandNo, tuotekoodi, hinta_ilman_alv, varastosaldo, minimimyyntiera, \n\t\t\t\t\talennusera_kpl, alennusera_prosentti, \n\t\t\t\t\t(hinta_ilman_alv * (1+ALV_kanta.prosentti)) AS hinta, ALV_kanta.prosentti AS alv_prosentti\n\t\t\t\tFROM\ttuote\n\t\t\t\tLEFT JOIN ALV_kanta\n\t\t\t\t\tON tuote.ALV_kanta = ALV_kanta.kanta\n\t\t\t\tWHERE \ttuote.id IN ( {$placeholders} )";
        $rows = $db->query($sql, $ids, FETCH_ALL);
        foreach ($rows as $row) {
            $row->cartCount = $cart->tuotteet[$row->id]->kpl_maara;
            $products[] = $row;
        }
        //Haetaan tuotteille tarkemmat tiedot tecdocista
        get_basic_product_info($products);
    }
    return $products;
}
    exit;
}
require "luokat/db_yhteys_luokka.class.php";
$db = parse_ini_file("../src/tietokanta/db-config.ini.php");
$db = new DByhteys($db['user'], $db['pass'], $db['name'], $db['host']);
/**
 * @var String <p> Tuloksen palauttamista JSON-muodossa. Jokaisessa requestissa haluttu
 * tulos laitetaan tähän muuttujaan, joka sitten tulostetaan JSON-muodossa takaisin vastauksena.
 */
$result = NULL;
/**
 * Ostoskorin toimintaa varten
 */
if (isset($_POST['ostoskori_toiminto'])) {
    require "luokat/ostoskori.class.php";
    $cart = new Ostoskori($db, $_SESSION['yritys_id'], 0);
    $result = $cart->lisaa_tuote($db, $_POST['tuote_id'], $_POST['kpl_maara']);
    if ($result) {
        $result = ['success' => true, 'tuotteet_kpl' => $cart->hae_tuotteiden_maara(), 'yhteensa_kpl' => $cart->hae_kaikkien_tuotteiden_kappalemaara()];
    }
} elseif (!empty($_POST['tuote_ostopyynto'])) {
    $sql = "INSERT INTO tuote_ostopyynto (tuote_id, kayttaja_id )\n\t\t\tVALUES ( ?, ? )";
    $result = $db->query($sql, [$_POST['tuote_ostopyynto'], $_SESSION['id']]);
} elseif (!empty($_POST['tuote_hankintapyynto'])) {
    $sql = "INSERT INTO tuote_hankintapyynto (articleNo, valmistaja, tuotteen_nimi, selitys, korvaava_okey, kayttaja_id)\n\t\t\tVALUES ( ?, ?, ?, ?, ?, ? )";
    $result = $db->query($sql, [$_POST['articleNo'], $_POST['valmistaja'], $_POST['tuotteen_nimi'], $_POST['selitys'], $_POST['korvaava_okey'], $_SESSION['id']]);
} elseif (!empty($_POST['eula_vahvista'])) {
    $sql = "UPDATE kayttaja SET vahvista_eula = '0' WHERE id = ?";
    $result = $db->query($sql, [$_POST['user_id']]);
} elseif (!empty($_POST['hankintapaikan_ostotilauskirjat'])) {
    $sql = "SELECT id, tunniste FROM ostotilauskirja WHERE hankintapaikka_id = ?";