ACC SHELL

Path : /srv/www/vhosts/centrumlb/administrace/libs/
File Upload :
Current File : /srv/www/vhosts/centrumlb/administrace/libs/objednavky.class.php

<?php

/**
 *
 * @version 1.0
 * @copyright 2012
 * @name Modul objednavky
 */
class Objednavky
{

    public $currentpage = "";
    public $totalpages = "";
    public $pagesize = "25";

    /**
     * Constructor
     */
    function __construct()
    {
	
    }

    /**
     *
     * @param type $id v adminu id objednavky
     * @return array
     */
    public function fetchSingle($id)
    {
	$id = intval($id);
	$query = "SELECT
		    a.id, a.id_zakaznika, b.nazev as doprava, c.nazev as platba, a.stav, a.stav + 0 as stav_value , a.datum_vytvoreni, a.datum_zmeny, a.poznamka,
		    a.cena_sdph, a.cena_bezdph, a.postovne, a.sleva_mnozstevni, a.sleva_zakaznicka, a.voucher
                FROM objednavky a
                LEFT JOIN doprava_popis b ON a.doprava = b.main_id
                LEFT JOIN platba_popis c ON a.platba = c.main_id
                WHERE a.id = $id AND b.lang=1 AND c.lang=1 LIMIT 1
	";
	return dibi::query($query)->fetch();
    }

    /**
     *
     * @param type $id v adminu id objednavky
     * @return array
     */
    public function fetchAudit($id)
    {
	$id = intval($id);
	$query = "SELECT a.stav, a.poznamka, a.datum
                FROM objednavky_audit a
                WHERE a.id_objednavky = $id ORDER BY a.datum";
	return dibi::query($query)->fetchAll();
    }

    /**
     *
     * @param type $id detail objednavky
     * @return pole polozek
     */
    public function fetchDetail($id)
    {
	$id = intval($id);
	$query = "SELECT a.*, b.*
		    FROM objednavky_detail a
			LEFT JOIN katalog_popis b ON a.id_zbozi = b.id
		    WHERE a.id_objednavky
			AND id_objednavky = $id";
	return dibi::query($query)->fetchAll();
    }

    /**
     *
     * @param type $lang id jazykove verze
     * @param type $onlyActive true pokud chci jen aktivni
     * @return type
     */
    public function fetchAll($lang = false, $onlyActive = false)
    {
	if (!$lang) {
	    $lang = $_SESSION['jazyk'];
	}

	$active = $onlyActive == true ? 'AND b.stav = 1' : '';

	$query = "SELECT a.id, a.hloubka, b.nazev AS nazev, b.stav AS stav, b.datum, b.obsah, j.kod,
	    a.lft, a.rgt, a.parent_id, a.hloubka
                FROM doprava a
                LEFT JOIN doprava_popis b ON a.id = b.main_id
                LEFT JOIN jazyk j ON b.lang = j.id
                WHERE b.lang  = '" . $lang . "'
                $active
                ORDER BY b.datum, id DESC";

	return dibi::query($query)->fetchAll();
    }

    public function getAdminTable()
    {

	if (isset($_SESSION['listuj']))
	    $this->pagesize = $_SESSION['listuj'];

	if (isset($_GET['recordstart'])) {
	    $recordstart = (isset($_GET['recordstart'])) ? (int) $_GET['recordstart'] : 0;
	}
	else
	    $recordstart = 0;

	$query = "SELECT * FROM objednavky";
	$numRows = dibi::query($query)->count();
	if (!$numRows)
	    return false;

	$query .= " ORDER BY datum_vytvoreni DESC";
	if ($numRows > $this->pagesize) {
	    $query .= " LIMIT $recordstart, $this->pagesize";
	    $this->totalpages = ceil($numRows / $this->pagesize);
	    $this->currentpage = ($recordstart / $this->pagesize) + 1;
	}

	$objednavky = dibi::query($query)->fetchAll();


	$dopravy = dibi::query('SELECT id, nazev FROM doprava_popis')->fetchPairs();
	$platby = dibi::query('SELECT id, nazev FROM platba_popis')->fetchPairs();

	$affiliate = new Affiliate();
	foreach ($objednavky as $obj) {
	    //NDebugger::dump($obj);
	    $zakaznik = dibi::query('SELECT * FROM users WHERE id=%i', $obj->id_zakaznika)->fetch();
	    $zakaznik = dibi::query('SELECT * FROM users WHERE id=%i', $obj->id_zakaznika)->fetch();



	    echo '<tr>';
	    echo '<td><input type="checkbox" name="checkbox[]" value="' . $obj->id . '" id="" ></td>';

	    /*
	     * id objednavky, reg nebo nereg zakaznik
	     */
	    echo '<td><a href="objednavky_edit.php?id=' . $obj->id . '">' . $obj->id . '</a><br />';
	    echo '</td>';

	    /*
	     * jmeno zakaznika, detaily
	     */
	    echo '<td><a href="uzivatele_edit.php?id=' . $zakaznik->id . '">' . $zakaznik->jmeno . ' ' . $zakaznik->prijmeni . '</a>';
	    echo $zakaznik->registrovany == 0 ? '' : '(reg)';
	    //echo '<br />' . $zakaznik->email . '</td>';
	    echo '</td>';

	    /*
	     * stav objednavky, datum prijeti a vyrizeni
	     */
	    echo '<td>' . datum_i_cas($obj->datum_vytvoreni) . '</td>';
	    echo '<td>' . $obj->stav . '</td>';

	    /*
	     * Affiliate program
	     */
	    echo '<td>' . $affiliate->getAffiliateByNumber($obj->affiliate) . '</td>';

	    /*
	     * způsob platby / dopravy
	     */
	    echo '<td>';
	    echo $dopravy[$obj->doprava] . ' / ';
	    echo $platby[$obj->platba];
	    echo '</td>';

	    /*
	     * vypis objednavky
	     */
	    //echo '<td>';echo '</td>';

	    /*
	     * castka
	     */
//	    echo '<td style="text-align: right">';
	    echo '<td>';
	    echo money($obj->cena_sdph) . ' s DPH<br />';
	    echo '</td>';

	    // akce
	    echo '<td>';
	    echo '<a href="objednavky_edit.php?id=' . $obj->id . '" title="Editovat"><img src="images/iko/note_edit.png" alt="Editovat" /></a>';
	    echo '<a href="?smazat=' . $obj->id . '" class="potvrzujiciLink"  title="Smazat"><img src="images/iko/remove.png" alt="Smazat" /></a></td>';
	    echo '</tr>';
	}
	return true;
    }

    /**
     *
     * @param type $id id objednavky to remove
     */
    public function delete($id)
    {
	if (dibi::delete('objednavky')->where('id=%i', intval($id))->execute()) {
	    return true;
	}
	return false;
    }

}

ACC SHELL 2018