ACC SHELL
<?php
//objednavku zpracuju jen pokud se nejedna o step 3 tzn dokoncenou objednavku
if ($_SESSION['objednavka']['step'] != 2) {
Tools::redirect('this');
}
/*
if ($_SESSION['objednavka']['jmeno'] == null) {
return false;
} else {
$zakaznik['jmeno'] = $_SESSION['objednavka']['jmeno'];
}
*/
$zakaznik['id'] = isset($_SESSION['user']['id']) ? $_SESSION['user']['id'] : null;
$zakaznik['id_login'] = isset($_SESSION['user']['id_login']) ? $_SESSION['user']['id_login'] : null;
$zakaznik['jmeno'] = $_SESSION['objednavka']['jmeno'];
$zakaznik['prijmeni'] = $_SESSION['objednavka']['prijmeni'];
$zakaznik['ulice'] = $_SESSION['objednavka']['ulice'];
$zakaznik['obec'] = $_SESSION['objednavka']['obec'];
$zakaznik['psc'] = $_SESSION['objednavka']['psc'];
$zakaznik['email'] = $_SESSION['objednavka']['email'];
$zakaznik['telefon'] = $_SESSION['objednavka']['telefon'];
$zakaznik['nazev_firmy'] = $_SESSION['objednavka']['firma'];
$zakaznik['ico'] = $_SESSION['objednavka']['ico'];
$zakaznik['dic'] = $_SESSION['objednavka']['dic'];
//Dodaci udaje
$zakaznik['jmeno_dodaci'] = isset($_SESSION['objednavka']['jmenododaci']) ? $_SESSION['objednavka']['jmenododaci'] : $zakaznik['jmeno'];
$zakaznik['prijmeni_dodaci'] = isset($_SESSION['objednavka']['prijmenidodaci']) ? $_SESSION['objednavka']['prijmenidodaci'] : $zakaznik['prijmeni'];
$zakaznik['ulice_dodaci'] = isset($_SESSION['objednavka']['ulicedodaci']) ? $_SESSION['objednavka']['ulicedodaci'] : $zakaznik['ulice'];
$zakaznik['psc_dodaci'] = isset($_SESSION['objednavka']['pscdodaci']) ? $_SESSION['objednavka']['pscdodaci'] : $zakaznik['psc'];
$zakaznik['obec_dodaci'] = isset($_SESSION['objednavka']['obecdodaci']) ? $_SESSION['objednavka']['obecdodaci'] : $zakaznik['obec'];
$zakaznik['nazev_firmy_dodaci'] = isset($_SESSION['objednavka']['firmadodaci']) ? $_SESSION['objednavka']['firmadodaci'] : $zakaznik['nazev_firmy'];
$zakaznik['ucet'] = isset($_SESSION['objednavka']['ucet']) ? $_SESSION['objednavka']['ucet'] : false;
$zakaznik['aktivni'] = '1';
//NDebugger::dump($_POST['poznámka']);NDebugger::dump(strip_tags($_POST['poznámka']));
//NDebugger::dump($_SESSION);NDebugger::dump($zakaznik);NDebugger::dump($polozky);exit;
if ($zakaznik) {
//pokud neni zakaznik registrovany, jeho udaje ulozim
if (!isset($_SESSION['user']['id'])) {
dibi::query('INSERT INTO users', $zakaznik);
$objednavka['id_zakaznika'] = dibi::insertId();
} else {
$objednavka['id_zakaznika'] = $zakaznik['id'];
}
$objednavka['doprava'] = $_SESSION['objednavka']['doprava'];
$objednavka['platba'] = $_SESSION['objednavka']['platba'];
$objednavka['postovne'] = isset($_SESSION['objednavka']['postovne']) ? $_SESSION['objednavka']['postovne'] : 0;
$objednavka['datum_vytvoreni'] = new DateTime();
$objednavka['poznamka'] = isset($_SESSION['objednavka']['poznamka']) ? strip_tags($_SESSION['objednavka']['poznamka']) : '';
if (isset($_COOKIE["TRADEDOUBLER"]) && !empty($_COOKIE["TRADEDOUBLER"])) {
$aff = new Affiliate();
$objednavka['affiliate'] = $aff->getAffiliateByName('TRADEDOUBLER');
}
dibi::query('INSERT INTO objednavky', $objednavka);
$objednavka['id'] = dibi::insertId();
$_SESSION['heureka']['produkty'] = $polozky = $jcart->get_contents();
$_SESSION['heureka']['id_objednavky'] = $objednavka['id'];
$_SESSION['heureka']['email'] = $zakaznik['email'];
//$objednavka['cena_sdph'] = 0;
$cena['cena_sdph'] = 0;
$cena['cena_bezdph'] = 0;
foreach ($polozky as $polozka) {
$obj_polozky['id_objednavky'] = $objednavka['id'];
$obj_polozky['id_zbozi'] = $polozka['id'];
$obj_polozky['pocet'] = $polozka['qty'];
$obj_polozky['cena_jedn'] = $polozka['price'];
$obj_polozky['cena_celkem'] = $polozka['subtotal'];
$cena['cena_sdph'] += $obj_polozky['cena_celkem'];
$cena['cena_bezdph'] += round($obj_polozky['cena_celkem'] / 1.21, 2);
dibi::query('INSERT INTO objednavky_detail', $obj_polozky);
$idProduktu = dibi::select('id_produktu')->from('katalog_popis')->where('id = %i', $polozka['id'])->fetchSingle();
//Snizim skladovou zasobu u varianty
dibi::query('UPDATE katalog_popis SET prodej=prodej+1, sklad=sklad-1 WHERE id=' . $polozka['id']);
//Snizim skladovou zasobu u masterProduktu
dibi::query('UPDATE katalog_popis SET prodej=prodej+1, sklad=sklad-1 WHERE id=%i', $idProduktu);
$google_i = "'" . $objednavka['id'] . "',";
$google_i .= "'" . $polozka['id'] . "',";
$google_i .= "'" . $polozka['name'] . "',";
$google_i .= "'" . $polozka['name'] . "',";
$google_i .= "'" . round($polozka['price'] / 1.21, 2) . "',";
$google_i .= "'" . $polozka['qty'] . "',";
$google_item[] = $google_i;
}
//session heureka se pouziva i v modulu Lyoness versnostniho systemu !!
$_SESSION['heureka']['cena_celkem'] = $cena['cena_sdph'];
//dibi::update('objednavky', 'cena_sdph=%i', $objednavka['cena_sdph'])->where('id=%i', $objednavka['id'])->execute();
dibi::update('objednavky', $cena)->where('id=%i', $objednavka['id'])->execute();
$mail = new NMail;
$mail->setFrom(EMAIL_FROM);
$mail->addTo($zakaznik['email']);
$mail->addBcc(EMAIL_TO);
if (MARTIN) {
$mail->addBcc(MARTIN);
}
if (TOMAS) {
$mail->addBcc(TOMAS);
}
$mail->setSubject(SERVER_NAME . ' - Objednávka č. ' . $objednavka['id'] . ' byla přijata');
$mail_text = 'OBJEDNÁVKA BYLA PŘIJATA<br />';
$mail_text .= '============================<br /><br />';
$mail_text .= 'Dobrý den,<br /><br />';
$mail_text .= 'Vaše objednávka č. ' . $objednavka['id'] . ' na ' . SERVER_NAME . ' byla přijata, níže uvádíme výpis této objednávky.<br /><br />';
$mail_text .= '-------------------------------------------<br /><br />';
$mail_text .= 'Odběratel:<br /><br />';
$mail_text .= $zakaznik['jmeno'] . ' ' . $zakaznik['prijmeni'] . '<br />';
$mail_text .= $zakaznik['ulice'] . '<br />';
$mail_text .= $zakaznik['psc'] . ' ' . $zakaznik['obec'] . '<br /><br />';
$mail_text .= $zakaznik['telefon'] . '<br />';
$mail_text .= $zakaznik['email'] . '<br /><br />';
if (isset($zakaznik['nazev_firmy'])) {
$mail_text .= $zakaznik['nazev_firmy'] . '<br />';
}
if (isset($zakaznik['ico'])) {
$mail_text .= $zakaznik['ico'] . '<br />';
}
if (isset($zakaznik['dic'])) {
$mail_text .= $zakaznik['dic'] . '<br /><br />';
}
$mail_text .= '-------------------------------------------<br /><br />';
$mail_text .= 'Doručovací adresa:<br /><br />';
$mail_text .= $zakaznik['jmeno_dodaci'] . ' ' . $zakaznik['prijmeni_dodaci'] . '<br />';
$mail_text .= $zakaznik['ulice_dodaci'] . '<br />';
$mail_text .= $zakaznik['psc_dodaci'] . ' ' . $zakaznik['obec_dodaci'] . '<br /><br />';
$doprava = dibi::query('SELECT nazev, obsah FROM doprava_popis WHERE main_id=%i', $objednavka['doprava'], ' AND lang=%i', LANGUAGE)->fetch();
$platba = dibi::query('SELECT nazev, obsah FROM platba_popis WHERE main_id=%i', $objednavka['platba'], ' AND lang=%i', LANGUAGE)->fetch();
$mail_text .= '-------------------------------------------<br /><br />';
$mail_text .= tr('Způsob dopravy') . ': ' . $doprava->nazev . '<br />';
$mail_text .= tr('Způsob platby') . ': ' . $platba->nazev;
if (isset($platba->obsah) && !empty($platba->obsah)) {
$mail_text .= ' (' . html_entity_decode($platba->obsah) . ')';
}
$mail_text .= '<br />-------------------------------------------<br /><br />';
foreach ($polozky as $polozka) {
$mail_text .= 'kat.č. ' . $polozka['id'] . ' - ';
$mail_text .= $polozka['qty'] . ' ks - ';
$mail_text .= 'název: ' . $polozka['name'] . ' - ';
$mail_text .= 'cena/ks: ' . money($polozka['price']) . ' - ';
$mail_text .= 'cena bez DPH ' . money($polozka['price'] / 1.21) . ' Kč - ';
$mail_text .= 'cena vč. DPH ' . money($polozka['subtotal']) . ' Kč';
$mail_text .= '<br /><br />';
}
$mail_text .= '-------------------------------------------<br /><br />';
$mail_text .= 'Cena celkem bez DPH: ' . money($cena['cena_sdph'] / 1.21) . ' Kč<br /><br />';
$mail_text .= 'Cena celkem vč. DPH: ' . money($cena['cena_sdph']) . ' Kč<br /><br />';
$mail_text .= '-------------------------------------------<br /><br />';
$mail_text .= 'Poštovné: ' . money($objednavka['postovne']) . ' Kč<br /><br />';
$mail_text .= 'Celkem k úhradě: ' . money($objednavka['postovne'] + $cena['cena_sdph']) . ' Kč';
$mail_text .= '<br /><br />';
$mail_text .= '-------------------------------------------<br /><br />';
$mail_text .= 'Poznámka zákazníka: ' . $objednavka['poznamka'] . '<br /><br />';
$mail_text .= 'Pokud jste přesvědčení, že jste si od nás nic neobjednali, ozvěte se prosím na ' . EMAIL_TO . '.<br /><br />';
$mail_text .= 'Děkujeme za Váš nákup a přejeme hezký den<br /><br />';
$mail_text .= SERVER_NAME . '<br /><br />';
$mail->setHTMLBody($mail_text);
$mail->send();
$cenaBezDPH = round($cena['cena_sdph']);
$cena_DPH = round($cena['cena_sdph'] - $cenaBezDPH, 3);
//addTransaction
$google = "_gaq.push(['_addTrans',";
$google .="'" . $objednavka['id'] . "',"; // Identifikátor objednávky
$google .="'" . $doprava_nazev . "',"; // affiliation or store name
$google .="'" . $cenaBezDPH . "',"; // Částka vypočítané DPH
$google .="'" . $cena_DPH . "',"; // Částka vypočítané DPH
$google .="'" . money($objednavka['postovne']) . "',"; // Cena dopravy
$google .="'" . $zakaznik['obec'] . "',"; // Město uvedené v objednávce
$google .="'',"; // Stát (např. Texas – v ČR nemá význam)
$google .="'Czech republic'"; // Země (psáno anglicky)
$google .="]);";
//addItem
foreach ($google_item as $gitem) {
$google .= "_gaq.push(['_addItem',";
$google .= $gitem;
$google .= "]);"; // Identifikátor zboží
}
$google .= "_gaq.push(['_trackTrans']);"; //submits transaction to the Analytics servers
$_SESSION['google'] = $google;
unset($_SESSION['objednavka']);
unset($_SESSION['jcart']);
$_SESSION['objednavka']['step'] = '3';
Tools::redirect('this');
} else {
Tools::message('Problém při uložení do databáze.', 'ERR');
}
?>
ACC SHELL 2018