ACC SHELL
<?php
/**
*
* @version 1.0
* @copyright 2012
* @name Modul Platebni metody
*/
class PlatebniMetody {
/**
* Constructor
*/
function __construct() {
}
/**
*
* @param type $id v adminu id kategorie, na vystupu seo-url
* @param type $lang id jazyka
* @param type $admin jedna se o hledani na frontendu(false) nebo backendu (true) ?
* @return array
*/
public function fetchSingle($id, $lang = false, $admin = true) {
$id = intval($id);
$lang = intval($lang) == 1 ? $lang : $_SESSION['jazyk'];
$query = "SELECT
a.id, a.hloubka, a.parent_id, a.lft, a.rgt,
b.nazev AS nazev, b.id as id_popisu, b.stav AS stav, b.datum,
b.obsah,b.obrazek,
j.kod
FROM platba a
LEFT JOIN platba_popis b ON a.id = b.main_id
LEFT JOIN jazyk j ON b.lang = j.id
WHERE b.lang =". $lang;
$query .= isset($admin) ? " AND b.id = $id" : " AND b.seo_url = $id";
$query .= " LIMIT 1";
return dibi::query($query)->fetch();
}
/**
*
* @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 platba a
LEFT JOIN platba_popis b ON a.id = b.main_id
LEFT JOIN jazyk j ON b.lang = j.id
WHERE b.lang = '" . $lang . "'
$active
ORDER BY a.lft ASC";
return dibi::query($query)->fetchAll();
}
public function getAdminTable() {
$result = $this->fetchAll();
//NDebugger::dump($result);
if (!$result) {
return false;
}
//Zjisteni minimalni a maximalni hodnoty pro kazdou kategorii
$query = "SELECT parent_id, min(lft) lft, max(rgt) rgt FROM platba group by parent_id";
$test = mysql_query($query);
while ($test1 = mysql_fetch_assoc($test)) {
$showMove[$test1['parent_id']]['lft'] = $test1['lft'];
$showMove[$test1['parent_id']]['rgt'] = $test1['rgt'];
}
foreach ($result as $row) {
echo '<tr>';
echo '<td><input type="checkbox" name="checkbox[]" value="' . $row->id . '" id="" ></td>';
echo '<td>';
/*
if ($row->obrazek != null) {
$foto_small = DISKOGRAFIE_F_M_PATH . $row->obrazek;
$foto_large = DISKOGRAFIE_F_L_PATH . $row->obrazek;
echo '<a href="#"><img class="vypis_nahled" src="' . $foto_small . '" alt="" title="' . $row->nazev . '" /></a>';
}
*
*/
echo '</td>';
echo '<td><a href="platebnimetody_edit.php?id=' . $row->id . '">' . $row->nazev . '</a><br />';
$query = "SELECT kp.lang, j.nazev, j.obrazek, j.kod
FROM platba_popis kp
LEFT JOIN jazyk j ON j.id = kp.lang
WHERE kp.main_id = $row->id
ORDER BY j.id";
$langs = dibi::query($query)->fetchAll();
// jazykove mutace
$flags = Query::getLanguageFlags($row['id'], 'platba');
echo "<td>";
foreach ($flags as $f) {
echo "<img class=\"vypis_jazyky\" src=\"images/flags/$f->obrazek\" alt=\"$f->nazev\" title=\"$f->nazev\" />";
}
echo "</td>";
// end of jazykove mutace
$stav = $row['stav'] == '1' ? "Ano" : "Ne";
echo '<td><a href="?platba&id=' . $row->id . '&stav=' . $stav . '">' . $stav . '</a></td>';
echo '<td>' . datum($row['datum']) . '</td>';
echo '<td>';
if ($showMove[$row['parent_id']]['lft'] != $row['lft']) {
echo '<a href="?platba&up=' . $row->id . '" title="Posun nahoru"><img src="images/iko/up.png" alt="Posun nahoru" /></a>';
}
if ($showMove[$row['parent_id']]['rgt'] != $row['rgt']) {
echo '<a href="?platba&down=' . $row->id . '" title="Posun dolů"><img src="images/iko/down.png" alt="Posun dolů" /></a>';
}
echo '</td>';
echo '<td>';
echo '<a href="platebnimetody_edit.php?id=' . $row->id . '" title="Editovat"><img src="images/iko/note_edit.png" alt="Editovat" /></a>';
echo '<a href="?platba&smazat=' . $row->id . '" class="potvrzujiciLink" title="Smazat"><img src="images/iko/remove.png" alt="Smazat" /></a></td>';
echo '</tr>';
}
return true;
}
/**
*
* @param type $id id dopravy
* @param type $lang id jazyka //TODO
* @return pole plateb, ktere jsou svazany s konkretni dopravou
*/
public function getPrirazenePlatby($id=false, $lang=1) {
if (!$id) {
return false;
} else {
$query = "SELECT *
FROM platba_prirazeni a
WHERE a.id_dopravy = '" . $id . "'";
return dibi::query($query)->fetchAll();
}
}
/**
*
* @param type $id id platebni metody, kterou chceme zrusit z konkretni dopravy
*/
public function zrusitPrirazeni($id_dopravy, $id_platby) {
dibi::query('DELETE FROM platba_prirazeni WHERE id_dopravy=%i', $id_dopravy, ' AND id_platby=%i', $id_platby);
}
/*
public function smazatFotku($id) {
$obrazek = dibi::select('obrazek')->from('platba_popis')->where('main_id=%i', $id)->fetchSingle();
if ($obrazek == null) {
return true;
}
if (dibi::query('UPDATE platba_popis SET obrazek=NULL where main_id=%i', $id)) {
unlink(ROOT . platba_F_L_PATH . $obrazek);
unlink(ROOT . platba_F_M_PATH . $obrazek);
return true;
} else {
return false;
}
}
public function smazatSkladbu($id) {
$row = dibi::query('SELECT file, priorita, id_diskografie FROM skladby WHERE id=%i', $id, ' LIMIT 1')->fetch();
if (dibi::query('DELETE FROM skladby WHERE id=%i', $id)) {
dibi::query('DELETE FROM skladby_popis WHERE id_skladby=%i', $id);
unlink(ROOT . MUSIC_PATH . $row->file . '.ogg');
unlink(ROOT . MUSIC_PATH . $row->file . '.mp3');
unlink(ROOT . MUSIC_PATH . $row->file . '.wmv');
$this->nastavPrioritu($row->priorita, $row->id_diskografie);
return true;
} else {
return false;
}
}
*
*/
}
ACC SHELL 2018