/** * Processing of Upload Photos Form * * @Privilege('generate') * * @param Form $form */ public function uploadPhotosFormSucceded(Form $form) { $values = $form->getValues(); $event = $this->loadItem($values['id']); $calendar = $event->ref('calendar'); $year = $calendar->yearpart === 'podzim' ? $calendar->year : $calendar->year - 1; $date = substr($event->datestart, 0, 4) . substr($event->datestart, 5, 2) . substr($event->datestart, 8, 2); // check if the year dir exist. if not, create one $params = $this->context->parameters; $dirYear = $params['wwwDir'] . $params['chroniclePhotosStorage'] . '/' . $year . ($year + 1) . '/'; // check if the event dir exists. if not, create one $dir = $dirYear . $date . '/'; if (!file_exists($dir)) { mkdir($dir, 0777, TRUE); } \Tracy\Debugger::barDump($dir); // start uploading files $counter = 0; foreach ($values['upload'] as $file) { if ($file->isOK()) { if ($file->isImage()) { do { $counter += 1; //increment counter until you hit empty space for file $filePath = $dir . \Nette\Utils\Strings::padLeft($counter, 4, '0') . '.jpg'; } while (file_exists($filePath)); $image = $file->toImage(); $image->save($filePath, 85, \Nette\Image::JPEG); $this->database->table('chronicle_photos')->insert(['event_id' => $values['id'], 'order' => $counter]); $this->flashMessage("Soubor " . $file->getName() . " byl úspěšně nahrán!"); } else { $form->addError('Soubor' . $file->getName() . ' nebyl rozpoznán jako fotka.'); } } else { $form->addError('Nepodařilo se nahrát soubor:' . $file->getName()); } } //change event visibility if (!array_key_exists('showchronicle', $values)) { //user did not have the sufficient permission $showchronicle = FALSE; } else { $showchronicle = $values['showchronicle'] ? TRUE : FALSE; } $this->events->showChronicle($values['id'], $showchronicle); if (!$form->hasErrors()) { $this->redirect('default'); } }
public function validate(Form $form, $values) { if ($values->login_name != "AB") { $form["login_name"]->addError("Nenapsal jsi AB"); } if ($form->hasErrors()) { $this->presenter->flashMessage("Form has some errors!!", "danger"); } }
public function quickPickFormError(Form $form) { if ($form->hasErrors() && $this->presenter->isAjax()) { $errors = $form->getErrors(); $error = array_shift($errors); $this->presenter->payload->error = true; $this->presenter->payload->message = $error; $this->presenter->sendPayload(); } }
public function validateAddReservationForm(Form $form, $values) { $date = DateTimeUtils::createDbDatetimeFormatFromDateParts($values->year, $values->month, $values->day, "0", "0", "0"); $validDate = DateTimeUtils::createDateTime(DateTimeUtils::DB_DATETIME_FORMAT, $date); if (!$validDate) { $form->addError("Zadej prosím platné datum."); } elseif ($validDate->format(DateTimeUtils::DB_DATE_FORMAT) < DateTimeUtils::getNow()->format(DateTimeUtils::DB_DATE_FORMAT)) { $form->addError("Nemůžeš si zpětně rezervovat zápas."); } if ($form->getPresenter()->isAjax() && $form->hasErrors()) { if ($values->reservationId == 0) { $form->getPresenter()->redrawControl("addReservation"); } else { $form->getPresenter()->redrawControl("editReservation"); } } }
/** * Processing of Add Hlasinek Form * * @Privilege("addall") * * @param Form $form */ public function addHlasinekFormSucceded(Form $form) { $values = $form->getValues(TRUE); $folder = $values['folder']; unset($values['folder']); $month_number = $values['month_number']; unset($values['month_number']); unset($values['send']); $params = $this->context->parameters; $path = $params['wwwDir'] . $params['hlasinekStorage'] . '/' . $folder . '/'; foreach ($values as $key => $file) { if ($file->isOk()) { if ($file->isImage()) { //make sure the file will be GIF $image = $file->toImage(); $filename = 'hlas' . $month_number . mb_substr($key, 0, 2) . '.gif'; $image->save($path . $filename, NULL, \Nette\Image::GIF); $this->flashMessage('Náhled byl úspěšně nahrán.'); } else { //file is PDF $filename = 'hlas' . $month_number . mb_substr($key, 0, 2) . '.' . mb_substr($key, 2, 5); $file->move($path . $filename); $this->flashMessage('Dokument byl úspěšně nahrán.'); } } else { if ($file->getError() != 4) { //no file was selected - not an error $form->addError('Soubor se nepodařilo nahrát. Důvod: ' . $file->getError()); } } } if (!$form->hasErrors()) { $this->redirect('default'); } }