ACC SHELL

Path : /srv/www/vhosts/centrumlb/administrace/include/objednavky/
File Upload :
Current File : /srv/www/vhosts/centrumlb/administrace/include/objednavky/objednavky_ulozit.php

<?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