ACC SHELL
<?php
if (isset($_POST['id_objednavky']) && !empty($_POST['id_objednavky'])) {
$arr['id'] = $_POST['id_objednavky'];
}
$arr['stav'] = isset($_POST['stav']) ? $_POST['stav'] : false;
$arr['datum_zmeny'] = new DateTime;
if (!isset($arr['id']) || empty($arr['id'])) {
Tools::message('Neznámé id objednávky.', 'ERR');
return false;
} else {
$Objednavka = new Objednavky();
/*
* Zpracovani modifikovane objednavky
*/
if (isset($_GET['modify'])) {
$zakaznik['id'] = $_POST['id_zakaznika'];
$zakaznik['jmeno'] = $_POST['jmeno'];
$zakaznik['prijmeni'] = $_POST['prijmeni'];
dibi::update('users', $zakaznik)->where('id=%i', $zakaznik['id'])->execute();
foreach ($_POST['pocet'] as $key => $val) {
$cena_jedn = str_replace(',', '.', $_POST['cena_jedn'][$key]);
$cena_celkem = $val * $cena_jedn;
dibi::query('UPDATE objednavky_detail SET pocet=%i', $val, ', cena_jedn=' . $cena_jedn .
', cena_celkem=' . $cena_celkem .
' WHERE id_objednavky=%i', $_POST['id_objednavky'], ' AND id_zbozi=%i', $key);
$objednavka['cena_sdph'] += $cena_celkem;
}
$objednavka['cena_bezdph'] = $objednavka['cena_sdph'] / DPH;
dibi::update('objednavky', $objednavka)->where('id=%i', $_POST['id_objednavky'])->execute();
}
//return;
//NDebugger::dump($_POST);NDebugger::dump($arr);exit;
/* End of modify */
$objednavka = $Objednavka->fetchSingle($arr['id']);
$User = new User();
$uzivatel = $User->fetchSingleById($objednavka->id_zakaznika);
//Pokud je stav objednavky z formulare jiny, nez stavajici, odesle se mail
if ((int) $objednavka->stav_value != (int) $arr['stav']) {
//NDebugger::dump($objednavka);NDebugger::dump($arr);exit;
dibi::update('objednavky', $arr)->where('id=%i', $arr['id'])->execute();
$audit['id_objednavky'] = $arr['id'];
$audit['stav'] = $arr['stav'];
$audit['poznamka'] = isset($_POST['zaslany_email']) ? $_POST['zaslany_email'] : false;
$audit['datum'] = new DateTime;
dibi::insert('objednavky_audit', $audit)->execute();
$objednavka = $Objednavka->fetchSingle($arr['id']);
$polozky = $Objednavka->fetchDetail($arr['id']);
//NDebugger::dump($objednavka);NDebugger::dump($uzivatel);NDebugger::dump($audit);exit;
$mail = new NMail;
$mail->setFrom(EMAIL_FROM);
//$mail->addTo(EMAIL_TO);
$mail->addTo($uzivatel->email);
if (MARTIN) {
$mail->addBcc(MARTIN);
}
if (TOMAS) {
$mail->addBcc(TOMAS);
}
//1 - prijata
//2 - upravena
//3 - zpracovana
//4 - pripravena k expedici
//5 - odeslana
//6 - stornovana
//
//Od 21.12. jsou stavy tyto
//1 - prijata
//2 - expedovana
//3 - dokoncena, bez emailu - pouze pro prehlednost
//4 - stornovana
switch ($audit['stav']) {
case 1:
include_once('stav_prijata.php');
break;
// case 2:
// include_once('stav_upravena.php');
// break;
// case 3:
// include_once('stav_zpracovana.php');
// break;
case 2:
include_once('stav_pripravenakexpedici.php');
break;
case 3://Dokoncena, bez emailu
//include_once('stav_odeslana.php');
break;
case 4: //Storno
include_once('stav_stornovana.php');
break;
}
//NDebugger::dump($objednavka);NDebugger::dump($uzivatel);NDebugger::dump($audit);
//NDebugger::dump($mail_text);exit;
}
Tools::message('Úprava objednávky proběhla v pořádku.', 'OK');
}
if (isset($_POST['odeslat_a_zavrit'])) {
Tools::redirect('objednavky.php');
} else {
Tools::redirect("objednavky_edit.php?id=" . $arr['id']);
}
ACC SHELL 2018