ACC SHELL
<?php
include_once('../../config/config.php');
//include_once('../../libs/images.class.php');
include_once('../../libs/funkcephp.php');
//phpinfo();
//echo "<pre>";print_r($_POST);echo "</pre>";
if ($_POST['uploader_count'] == '0') {
Tools::message('Není co zpracovat, nahrajte dokumenty na server.', 'INFO');
Tools::redirect($_SERVER['HTTP_REFERER']);
}
for ($i = 0; $i < $_POST['uploader_count']; $i++) {
$pripona = explode(".", $_POST['uploader_' . $i . '_name']);
$nazev_original = $pripona[0];
$nazev_souboru = NStrings::webalize($pripona[0]);
$pripona = strtolower($pripona[count($pripona) - 1]);
$obrazky = array("jpg", "png", "gif");
//$obrazky = '';
$soubory = array("doc", "xls", "pdf", "zip", "mp3");
$tmp = ROOT . "/tmp/";
$velikost = filesize($tmp . $_POST['uploader_' . $i . '_tmpname']);
$Uploaded_file = (TMP . $_POST['uploader_' . $i . '_tmpname']);
$popis = isset($_POST['popis']) ? $_POST['popis'] : '';
switch ($pripona) {
case in_array($pripona, $soubory):
$query = "INSERT INTO dokumenty (nazev, pripona, velikost, datum)
VALUES('" . $nazev_original . "', '" . $pripona . "','" . $velikost . "', now())";
//echo $query;
$result = dibi::query($query);
if (!$result) {
Tools::message('Problém s uložením do databaze. Soubory nebyly uloženy.', 'ERR');
Tools::redirect($_SERVER['HTTP_REFERER']);
} else {
$cislo_souboru = dibi::insertId();
$query = "UPDATE dokumenty set seo_nazev = '" . $cislo_souboru . "_" . $nazev_souboru . "', priorita = '" . $cislo_souboru . "' WHERE id = '$cislo_souboru'";
dibi::query($query);
if ($_POST['kategorie'] != 'default' && isset($_POST['kategorie'])) {
$query = "INSERT INTO dokumenty_prirazeni (id_dokumentu, id_kategorie) VALUES('$cislo_souboru', '" . intval($_POST['kategorie']) . "')";
dibi::query($query);
}
$what = $tmp . $_POST['uploader_' . $i . '_tmpname'];
$where = ROOT . DOKUMENTY_PATH . $cislo_souboru . "_" . $nazev_souboru . "." . $pripona;
//NDebugger::dump($what);NDebugger::dump($where);exit;
//$result = move_uploaded_file($what, $where);
$result = copy($what, $where);
if (!$result) {
dibi::query('DELETE FROM dokumenty WHERE id = %i', $cislo_souboru);
Tools::message('Problém s uložením na server. Soubory nebyly uloženy.', 'ERR');
Tools::message('What - ' . $what, 'ERR');
Tools::message('Where - ' . $where, 'ERR');
Tools::redirect($_SERVER['HTTP_REFERER']);
} else {
Tools::message('Soubory byly úspěšně uloženy.', 'OK');
}
}
break;
case in_array($pripona, $obrazky):
$query = "INSERT INTO dokumenty (nazev, pripona, velikost, datum, obrazek)
VALUES('" . $nazev_original . "', '" . $pripona . "','" . $velikost . "', now(), 1)";
//echo $query;
$result = dibi::query($query);
if (!$result) {
Tools::message('Problém s uložením do databaze. Soubory nebyly uloženy.', 'ERR');
Tools::redirect($_SERVER['HTTP_REFERER']);
} else {
$cislo_souboru = dibi::insertId();
$query = "UPDATE dokumenty set seo_nazev = '" . $cislo_souboru . "_" . $nazev_souboru . "', priorita = '" . $cislo_souboru . "', popis = '" . $popis . "' WHERE id = '$cislo_souboru'";
dibi::query($query);
if ($_POST['kategorie'] != 'default' && isset($_POST['kategorie'])) {
$query = "INSERT INTO dokumenty_prirazeni (id_dokumentu, id_kategorie) VALUES('$cislo_souboru', '" . intval($_POST['kategorie']) . "')";
dibi::query($query);
}
$what = $tmp . $_POST['uploader_' . $i . '_tmpname'];
/** Zpracovani fotky pro ADMIN vypis* */
if (Tools::isDir(DOCS_F_L_PATH, true)) {
$image_admin = NImage::fromFile($Uploaded_file);
$image_admin->resizeMedium(ADMIN_VYPIS_WIDTH, ADMIN_VYPIS_HEIGHT, NImage::SHRINK_ONLY);
$target_path = ROOT . DOCS_ADMIN_PATH . $cislo_souboru . "." . $pripona;
$image_admin->save($target_path, 100);
}
/** Konec zpracovani fotky pro ADMIN vypis* */
/** Zpracovani LARGE fotky * */
if (Tools::isDir(DOCS_F_L_PATH, true)) {
$image_large = NImage::fromFile($Uploaded_file);
if ($image_large->getWidth() > $image_large->getHeight()) {
$image_large->resize(FOTO_F_L_WIDTH, NULL, NImage::SHRINK_ONLY);
} else {
$image_large->resize(NULL, FOTO_F_L_HEIGHT, NImage::SHRINK_ONLY);
}
$target_path = ROOT . DOCS_F_L_PATH . $cislo_souboru . "." . $pripona;
$image_large->save($target_path, 100);
/** Konec zpracovani LARGE fotky * */
Tools::message('Soubory byly úspěšně uloženy.', 'OK');
}
}
break;
default :
Tools::message('Nepovolená koncovka souboru.', 'ERR');
break;
}
}
if (isset($_POST['odeslat'])) {
Tools::redirect('/administrace/dokumenty_upload.php');
}
if (isset($_POST['odeslat_a_zavrit'])) {
Tools::redirect('/administrace/dokumenty.php');
}
?>
ACC SHELL 2018