public function formSucceeded(Form $form, $values) { // priprava managera pro praci s kategoriemi $category_manager = new Model\Category($this->database); if ($this->id == null) { // pridavam novou kategorii $category_manager->add($values); $form->getPresenter()->flashMessage('Nová kategorie byla přidána.'); } else { $category = $this->database->findById('category', $this->id); if ($form['btnedit']->isSubmittedBy()) { // upravuji kategorii if ($category) { $category_manager->edit($values, $category); $form->getPresenter()->flashMessage('Kategorie byla upravena'); } else { $form->getPresenter()->flashMessage('Kategorii nebylo možno upravit, pravděpodobně ji někdo smazal.'); } } else { // mazu kategorii if ($category) { $category_manager->delete($category); $form->getPresenter()->flashMessage('Kategorie byla smazána'); } else { $form->getPresenter()->flashMessage('Kategorii nebylo možno smazat, pravděpodobně ji někdo smazal.'); } } } $form->getPresenter()->redirect('Admin:categories'); }
public function formSucceeded(Form $form, $values) { // priprava managera pro praci s dobami $auction_manager = new Model\Auction($this->database); if ($this->id == null) { // pridavam novou dobu $auction_manager->addDur($values); $form->getPresenter()->flashMessage('Nová doba trvání aukce byla přidána.'); } else { $dur = $this->database->findById('duration_auction', $this->id); if ($form['btnedit']->isSubmittedBy()) { // upravuji dobu if ($dur) { $auction_manager->editDur($values, $dur); $form->getPresenter()->flashMessage('Doba trvání aukce byla upravena'); } else { $form->getPresenter()->flashMessage('Dobu trvání aukce nebylo možno upravit, pravděpodobně ji někdo smazal.'); } } else { // mazu dobu if ($dur) { $auction_manager->deleteDur($dur); $form->getPresenter()->flashMessage('Doba trvání aukce byla smazána'); } else { $form->getPresenter()->flashMessage('Dobu trvání aukce nebylo možno smazat, pravděpodobně ji někdo smazal.'); } } } $form->getPresenter()->redirect('Admin:durations'); }
public function update($values, $id) { $product = $this->database->findById('product', $id); if ($product) { // pokud existuje produkt if ($product->related('bid.id_product')->count() <= 0) { // a jeste k nemu nikdo neprihodil // pak jeste umozni zmenu nastaveni $duration = $this->database->findById('duration_auction', $values['id_duration_auction']); $duration_diff = $duration->duration_days - $product->duration_auction->duration_days; if ($duration_diff >= 0) { // stejny nebo prodluzuji cas $values['expire'] = date('Y-m-d H', strtotime($product->expire . ' + ' . $duration_diff . ' day')); } else { // kratim cas $duration_diff = -1 * $duration_diff; $values['expire'] = date('Y-m-d H', strtotime($product->expire . ' - ' . $duration_diff . ' day')); } $product->update($values); } else { $this->error = 'Produkt nelze upravovat. O produkt již nějaký uživatel projevil zájem.'; } } else { $this->error = 'Produkt nebyl nalezen. Pravděpodobně jej někdo smazal.'; } return $this->error; }
public function homeFormSucceeded($button) { $values = $button->getForm()->getValues(true); $this->database->findById('contact', 1)->update($values); $this->flashMessage('Informace na domovské stránce byly upraveny.'); $this->redirect('Homepage:default'); }
public function prihozFormSucceeded($button) { $id = (int) $this->getParameter('id'); $values = $button->getForm()->getValues(true); $values['datum_vkladu'] = date('Y-m-d H:i:s'); if ($values['pocet'] == $this->database->findAll('drazba')->where('id_nemovitost', $values['id_nemovitost'])->count('*')) { // pokud se shoduji pocty prihozu pri nacteni a tesne pred prihozenim, pak vse ok unset($values['pocet']); // priprava promennych pro poslani emailu o prehozeni $nemovitost = $this->database->findById('nemovitost', $id); $prihozy = $this->database->findAll('drazba')->where('id_nemovitost', $id); $drazba = $this->drazba->vyhodnotDrazbu($id, $prihozy); if ($drazba["email"] != null || $drazba["email"] != "") { // nastaveni parametru pro latte emailu $latte = new Nette\Latte\Engine(); $params = array('nemovitost' => $nemovitost, 'uzivatel' => $drazba["jmeno"], 'cena' => $drazba["cena"] + $values["vkladana_castka"]); // nastaveni mailu $mail = new Nette\Mail\Message(); $mail->setFrom('*****@*****.**')->addTo($drazba["email"])->setHtmlBody($latte->renderToString(__DIR__ . '/../templates/Aukce/email.latte', $params)); // poslani mailu $mailer = new Nette\Mail\SmtpMailer(array('host' => 'smtp.seznam.cz', 'username' => '*****@*****.**', 'password' => 'pps2015', 'secure' => 'ssl')); $mailer->send($mail); } // prihozeni $this->database->insert('drazba', $values); $this->flashMessage('Přihodil(a) jste ' . number_format($values['vkladana_castka']) . ' Kč.'); $this->redirect('Nemovitosti:detailNemovitosti', $values['id_nemovitost']); } else { $this->flashMessage('Znovu zvažte přihození, někdo před Vámi ještě navýšil cenu.'); $this->redirect('Aukce:prihodit', $values['id_nemovitost']); } }
public function formSucceeded(Form $form, $values) { $product = $this->database->findById('product', $this->id_product); if ($product) { if ($product->related('bid.id_product')->count() <= 0) { $photo_manager = new Model\Photo($this->database); $photo_manager->deleteAllProductPhotos($this->id_product); // smazu fotky produktu $product->delete(); // smazu produkt } else { $form->addError('Produkt nelze smazat. O produkt již nějaký uživatel projevil zájem.'); } } else { $form->addError('Produkt nebyl nalezen. Pravděpodobně jej někdo smazal.'); } }
/** * @return Form */ public function create($id_product = null, $id_user = null) { // nacteni privatnich promennych $this->product = $this->database->findById('product', $id_product); $this->id_user = $id_user; // form $form = new Form(); $form->getElementPrototype()->class('ajax form'); if ($this->product->id_type_auction != 1) { $form->addText('deposit', 'Přihazovaná částka:')->setType('number')->setRequired('Prosím vložte částku, o kterou chcete navýšit současnou cenu.')->setAttribute('placeholder', 'Nevyplněno')->setAttribute('class', 'form-control')->addRule(Form::RANGE, 'Přihazovaná částka musí být vyšší nebo rovna ' . number_format($this->product->min_bid) . ' Kč.', array($this->product->min_bid, null)); } // uchovani kvuli pozdejsimu presmerovani $form->addText('id_product')->setValue($id_product); $form->addSubmit('send', 'Koupit')->setAttribute('class', 'btn btn-primary'); $form->onSuccess[] = array($this, 'formSucceeded'); $form->onError[] = array($this, 'formNotSucceeded'); return $form; }
public function handleActivateMyPoster($id) { $poster = $this->database->findById('poster', $id); $data['expire'] = date('Y-m-d', strtotime(date("Y-m-d", time()) . " + 30 day")); // pokud uzivatel bude chtit inzerat dodatecne prodlouzit tak, uz jen o mesic $poster->update($data); if ($this->isAjax()) { $this->redrawControl('myposters'); } }
public function formSucceeded(Form $form, $values) { $product = $this->database->findById('product', $this->id_product); if ($product) { if ($product->related('bid.id_product')->count() <= 0) { if ($this->photos != null) { $photo_manager = new Model\Photo($this->database); $photo_manager->deleteProductPhotos($values, $this->photos); // presmerovani $form->getPresenter()->flashMessage('Vybrané fotografie byly smazány.'); $form->getPresenter()->redirect('Homepage:product', $this->id_product); } } else { $form->addError('Fotografie nelze smazat. O produkt již nějaký uživatel projevil zájem.'); } } else { $form->addError('Produkt nebyl nalezen. Pravděpodobně jej někdo smazal.'); } }
public function deleteNemovitostFormSucceeded() { $id = (int) $this->getParameter('id'); // smazu vsechny fotky z adresare if (is_dir(WWW_DIR . "/images/auction/" . $id . "/")) { $this->deleteDir(WWW_DIR . "/images/auction/" . $id . "/"); } // smazu vsechny soubory z adresare if (is_dir(WWW_DIR . "/files/auction/" . $id . "/")) { $this->deleteDir(WWW_DIR . "/files/auction/" . $id . "/"); } $this->database->findById('nemovitost', $id)->delete(); $this->flashMessage('Nemovitost byla smazána.'); $this->redirect('Homepage:default'); }
public function setMainPhotoFormSucceeded($button) { $values = $button->getForm()->getValues(true); // priprava pomocnyh prom $id = (int) $this->getParameter('id'); $photos = $this->database->findAll('photo')->where('id_property', $id); $selected_main_photo = null; $prev_main_photo = null; // projdu vsechny fotky k dane udalosti foreach ($photos as $photo) { // najdu predchozi hlavni a nastavim ji na 0 if ($photo->order == 1) { $prev_main_photo = $photo->id; } // vyberu kterou vybral uzivatel a nastavim ji jako hlavni (1) if ($values["{$photo->id}"] == true) { $selected_main_photo = $photo->id; } } // uprava stare hlavni fotky if ($prev_main_photo != null) { // pokud vubec mame nejakou vybranou starou fotku $photo = $this->database->findById('photo', $prev_main_photo); if ($photo && $photo->id_property == $id) { // pokud ji tedy mam v db // tak ji odoznacime jako hlavni fotku $upArr["order"] = 0; $photo->update($upArr); } } // uprava nove hlavni fotky if ($selected_main_photo != null) { // pokud vubec mame nejakou vybranou novou fotku $photo = $this->database->findById('photo', $selected_main_photo); if ($photo && $photo->id_property == $id) { // pokud ji tedy mam v db // tak ji oznacime jako hlavni fotku $upArr["order"] = 1; $photo->update($upArr); } } // informace pro uzivatele + presmerovani $this->flashMessage('Hlavni fotografie byla upravena.'); $this->redirect('Nemovitosti:detailNemovitosti', $id); }
public function deleteFileFormSucceeded($button) { $values = $button->getForm()->getValues(true); // nactu id z url $id = (int) $this->getParameter('id'); $file_id = (int) $this->getParameter('file_id'); // pripravim si promennou pro jmena mazaneho souboru pro vypsani $tmp_name = null; // vyberu soubor z db $file = $this->database->findById('file', $file_id); if ($file) { $tmp_name = $file->name; unlink(WWW_DIR . "/files/auction/" . $file->id_property . "/" . $file->hid_name . "-" . $file->timestamp . "." . $file->type); // smazu ve slozce $file->delete(); // smazu v db } $this->flashMessage('Soubor "' . $tmp_name . '" byl smazán.'); $this->redirect('File:vypis', $id); }
public function setMainPhoto($values, $photos) { $selected_main_photo = null; // nova hlavni fotka $prev_main_photo = null; // stara hlavni fotka // projdu vsechny fotky k dane udalosti foreach ($photos as $photo) { // najdu predchozi hlavni if ($photo->order == 1) { $prev_main_photo = $photo->id; } // najdu novou hlavni if ($values["{$photo->id}"] == true) { $selected_main_photo = $photo->id; } } // uprava stare hlavni fotky if ($prev_main_photo != null) { // pokud vubec mame nejakou vybranou starou fotku $photo = $this->database->findById('image', $prev_main_photo); if ($photo) { // pokud ji tedy mam v db // tak ji odoznacime jako hlavni fotku $val['order'] = 0; $photo->update($val); } } // uprava nove hlavni fotky if ($selected_main_photo != null) { // pokud vubec mame nejakou vybranou novou fotku $photo = $this->database->findById('image', $selected_main_photo); if ($photo) { // pokud ji tedy mam v db // tak ji oznacime jako hlavni fotku $val['order'] = 1; $photo->update($val); } } }
public function passEditFormSucceeded($button) { $values = $button->getForm()->getValues(); $user = $this->database->findById('uzivatel', $this->user->id); $old_pw = $this->authenticator->generateHash($values['oldpassword'], $user->heslo); if ($user->heslo == $old_pw) { if ($values['newpassword'] == $values['newpassword2']) { unset($values['oldpassword']); unset($values['newpassword2']); $values['heslo'] = $this->authenticator->generateHash($values['newpassword']); unset($values['newpassword']); $user->update($values); $this->flashMessage('Heslo bylo úspěšně změněno.'); $this->redirect('Uzivatele:zmenitHeslo'); } else { $this->flashMessage('Heslo nebylo změněno. Zopakujte prosím správně nové heslo.'); $this->redirect('Uzivatele:zmenitHeslo'); } } else { $this->flashMessage('Heslo nebylo změněno. Zadejte prosím správně staré heslo.'); $this->redirect('Uzivatele:zmenitHeslo'); } }
public function formSucceeded(Form $form, $values) { if ($this->id == null) { try { $userManager = new Model\UserManager($this->user, $this->database); try { $new_user = $userManager->register($values); if (!$new_user) { $form->addError('Registrace z neznámého důvodu selhala. Zkuste se prosím zaregistrovat znovu a pokud problémy přetrvají, kontaktujete helpdesk.'); } } catch (\PDOException $e) { if ($e->getCode() == 23000) { $form->addError('Zájemce s tímto nickem už je zaregistrován, zvolte prosím jiný nick.'); } else { $form->addError($e->getMessage()); } } } catch (Nette\Security\AuthenticationException $e) { $form->addError($e->getMessage()); } if ($form->getPresenter()->isAjax()) { $form->getPresenter()->redrawControl('registration'); } } else { $database = new Model\Database($this->database); $user = $database->findById('user', $this->id); if ($user) { $user->update($values); $this->user->identity->name = $values->name; } else { $form->addError('Uživatel, kterého se snažíte upravit, neexistuje. Je možné, že ho někdo smazal.'); } if ($form->getPresenter()->isAjax()) { $form->getPresenter()->redrawControl('profile'); } } }