ACC SHELL
<?php
include_once('../../config/config.php');
include_once('../../libs/funkcephp.php');
/*
if (!isset($_POST['uploader_count']) || $_POST['uploader_count'] == '0') {
Tools::message('Není co zpracovat, je nutné nahrát soubory na server.', 'INFO');
Tools::redirect($_SERVER['HTTP_REFERER']);
}
*/
include_once('diskografie_ulozit.inc');
//NDebugger::dump($_POST);exit;
$valid = true;
// vytvorim adresar pro skladby, pokud neexistuje
if (!Tools::isDir(MUSIC_PATH, true)) {
TOOLS::message('Nelze založit adresář pro skladby.', 'ERR');
$valid = false;
return false;
}
// Songy zpracuju jen pokud je uploaduju
if (isset($_POST['uploader_count'])) {
for ($i = 0; $i < $_POST['uploader_count']; $i++) {
$pripona = explode(".", $_POST['uploader_' . $i . '_name']);
$nazev_tmp = $_POST['uploader_' . $i . '_tmpname'];
$velikost = filesize(TMP . $nazev_tmp);
$nazev_original = $pripona[0];
//$nazev_souboru = NStrings::webalize($pripona[0]) . '.' . $pripona[1];
$nazev_souboru = NStrings::webalize($pripona[0]);
$pripona = strtolower($pripona[count($pripona) - 1]);
$music = array('mp3', 'wma');
// ogg soubor jen uloz na server, zaznamy se vytvareji pro mp3 soubory
if ($pripona == 'ogg') {
if (!copy(TMP . $nazev_tmp, ROOT . MUSIC_PATH . $nazev_souboru . '.ogg')) {
TOOLS::message('Soubor ' . $nazev_souboru . ' se nepodařilo uložit.', 'ERR');
$valid = false;
}
}
if (in_array($pripona, $music)) {
//$id_kategorie se bere jako id po ulozeni aktualni diskografie
$arr['id_diskografie'] = $id_diskografie;
$arr['nazev'] = $nazev_original;
$arr['file'] = $nazev_souboru;
$arr['pripona'] = $pripona;
$arr['velikost'] = $velikost;
$arr['cena'] = $cena_za_skladbu;
$priorita = dibi::query(
'SELECT max(priorita) FROM skladby WHERE id_diskografie=%i', $arr['id_diskografie'])
->fetchSingle();
$arr['priorita'] = isset($priorita) ? $priorita + 1 : '0';
$result = dibi::query('INSERT INTO [skladby]', $arr);
if ($result) {
$cislo_souboru = dibi::getInsertId();
$jazyk = Language::getLanguage();
foreach ($jazyk as $j) {
//id diskografie, stav datum alt title lang
$arr_popis['id_skladby'] = $cislo_souboru;
$arr_popis['lang'] = $j->id;
dibi::query('INSERT INTO [skladby_popis]', $arr_popis);
}
}
if (!copy(TMP . $nazev_tmp, ROOT . MUSIC_PATH . $nazev_souboru . '.' . $pripona)) {
TOOLS::message('Soubor ' . $pripona[0] . ' se nepodařilo uložit.', 'ERR');
$valid = false;
}
}
}
}
// ulozeni probehlo korektne, vygenerujeme playlist
if ($valid) {
$Diskografie = new Diskografie();
$Diskografie->generatePlaylist($id_diskografie);
Tools::message('Skladby byly úspěšně uloženy.', 'OK');
}
//NDebugger::dump($_POST);exit;
if (isset($_POST['odeslat']) && !empty($_POST['odeslat'])) {
if (isset($id_diskografie) && $id_diskografie != 0) {
Tools::redirect(PROJEKT . '/administrace/diskografie_edit.php?id=' . $id_diskografie);
} else {
Tools::redirect(PROJEKT . '/administrace/diskografie.php');
}
}
if (isset($_POST['odeslat_a_zavrit'])) {
Tools::redirect(PROJEKT . '/administrace/diskografie.php');
}
if (isset($_POST['send'])) {
Tools::redirect($_SERVER['HTTP_REFERER']);
}
if (isset($_POST['send_a_zavrit'])) {
Tools::redirect(PROJEKT . '/administrace/diskografie.php');
}
?>
ACC SHELL 2018