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