/** Akcia pre editaciu informacii o dokumente * @param int $id Id dokumentu na editaciu */ public function actionEdit($id) { if (($this->dokument = $this->dokumenty->find($id)) === FALSE) { return $this->error(sprintf("Pre zadané id som nenašiel prílohu! id=' %s'!", $id)); } $this["dokumentEditForm"]->setDefaults($this->dokument); }
public function handleShowInText($id) { $priloha = $this->dokumenty->find($id); $priloha->update(['zobraz_v_texte' => 1 - $priloha->zobraz_v_texte]); if (!$this->presenter->isAjax()) { $this->redirect('this'); } else { $this->redrawControl(''); } }
{ $values = $button->getForm()->getValues(); //Nacitanie hodnot formulara try { $uloz = ['id_hlavne_menu' => $values->id_hlavne_menu, 'id_user_profiles' => $this->id_user_profiles, 'id_registracia' => $values->id_registracia, 'popis' => isset($values->popis) && strlen($values->popis) > 2 ? $values->popis : NULL, 'zmena' => StrFTime("%Y-%m-%d %H:%M:%S", Time())]; $nazov = isset($values->nazov) ? $values->nazov : ""; if ($values->priloha && $values->priloha->name != "") { $priloha_info = $this->_uploadPriloha($values); $uloz = array_merge($uloz, ['nazov' => strlen($nazov) > 2 ? $nazov : $priloha_info['finalFileName'], 'spec_nazov' => Strings::webalize($priloha_info['finalFileName']), 'pripona' => $priloha_info['pripona'], 'subor' => $this->prilohy_adresar . $priloha_info['finalFileName'], 'thumb' => $priloha_info['thumb']]); } else { $uloz = array_merge($uloz, ['nazov' => strlen($nazov) > 2 ? $nazov : ""]); } $vysledok = $this->dokumenty->uloz($uloz, $values->id); if (!empty($vysledok) && isset($priloha_info['is_image']) && $priloha_info['is_image']) { $this->dokumenty->oprav($vysledok['id'], ['znacka' => '#I-' . $vysledok['id'] . '#']); } } catch (Database\DriverException $e) { $button->addError($e->getMessage()); } } /** * Upload prilohy * @param \Nette\Http\FileUpload $values * @return array */ private function _uploadPriloha($values) { $pr = $this->dokumenty->find($values->id); //Zmazanie starej prílohy if ($pr !== FALSE) { if (is_file($pr->subor)) { unlink($this->wwwDir . "/" . $pr->subor); } if (in_array(strtolower($pr->pripona), ['png', 'gif', 'jpg']) && is_file($pr->thumb)) { unlink($this->wwwDir . "/" . $pr->thumb); } } $fileName = $values->priloha->getSanitizedName(); $pi = pathinfo($fileName); $file = $pi['filename']; $ext = $pi['extension']; $additionalToken = 0; //Najdi meno suboru if (file_exists($this->prilohy_adresar . $fileName)) {
/** Funkcia pre spracovanie signálu vymazavania * @param int $id Id polozky v hlavnom menu * @param string $druh Blizsia specifikacia, kde je to potrebne */ function confirmedDelete($id, $druh = "") { //Vstupna kontrola if (!(isset($id) && $id)) { $this->error("Id položky nie je nastavené!"); } if ($druh != 'priloha') { $hl_m = $this->hlavne_menu_lang->findOneBy(["id_hlavne_menu" => $id, "id_lang" => 1]); if ($hl_m === FALSE) { $this->error("Položka s id = " . $id . " sa nenašla!"); } $presenter = $hl_m->hlavne_menu->druh->presenter; } if ($druh == 'avatar') { $hl = $this->hlavne_menu->find($id); $this->vymazSubor("www/" . $this->avatar_path . $hl->avatar); $uloz = $this->hlavne_menu->uloz(["avatar" => NULL], $id); $this->_ifMessage($uloz !== FALSE ? TRUE : FALSE, 'Titulný obrázok bol vymazaný!', 'Došlo k chybe a titulný obrázok nebol vymazaný!'); $this->redirect($presenter . ':', $id); } elseif ($druh == 'priloha') { //Poziadavka na zmazanie prilohy $pr = $this->dokumenty->find($id); //najdenie prislusnej polozky menu, ku ktorej priloha patri if ($pr !== FALSE) { $id_nadradenej = $pr->id_hlavne_menu; //Nechcem smerovat na nadradeny clanok, len na seba $vysledok = $this->vymazSubor($pr->subor) ? in_array(strtolower($pr->pripona), ['png', 'gif', 'jpg']) ? $this->vymazSubor($pr->thumb) : TRUE : FALSE; $this->_ifMessage($vysledok ? $pr->delete() : FALSE, 'Príloha bola vymazaná!', 'Došlo k chybe a príloha nebola vymazaná!'); } else { $this->flashRedirect("Homepage:", 'Došlo k chybe a príloha nebola vymazaná!', 'danger'); } } elseif ($druh == "") { $id_nadradenej = $hl_m->hlavne_menu->id_nadradenej == NULL ? -1 * $hl_m->hlavne_menu->id_hlavne_menu_cast : $hl_m->hlavne_menu->id_nadradenej; if ($presenter == "Clanky") { //Mazanie clanku $this->_ifMessage($this->_delClanok($id), 'Článok bol úspešne vymazaný!', 'Došlo k chybe a článok nebol vymazaný!'); //Poziadavka na zmazanie clanku } elseif ($presenter == "Menu") { $this->_ifMessage($id_nadradenej = $this->_delHlMenu($id), 'Položka menu bola úspešne vymazaná!', 'Došlo k chybe a položka menu nebola vymazaná!'); } if ($id_nadradenej < 0) { $this->redirect('Homepage:', ["id" => $id_nadradenej]); } else { if (($nadr = $this->hlavne_menu->find($id_nadradenej)) !== FALSE) { $this->redirect($nadr->druh->presenter . ':', $nadr->id); } } } }