public function fileUploadSuccess(AppForm $form) { try { foreach ($form->values->image as $image) { $file = new \File(); $d = $image->getImageSize(); if ($d[0] < 300 && $d[1] < 300) { throw new InvalidArgumentException('Obrázek je příliš malý. Musí mít minimálně jeden rozměr vyšší než 300px. Nahrajte prosím větší obrázek.'); } if ($d[0] > 3000 || $d[1] > 3000) { throw new InvalidArgumentException('Obrázek je až zbytečně veliký. Žádný rozměr by neměl být vyšší než 3000px. Nahrajte prosím menší obrázek.'); } $file->file_prefix = ""; $file->file_sufix = "_u" . $this->context->user->id . "_" . substr(sha1(time()), 0, 4); $file->user_id = $this->context->user->id; $file->insertUploaded($image, FILESTORAGE_DIR); $file->visible = 1; // automaticka publikace $file->save(); if ($form->values->type == "event") { dibi::query('INSERT INTO event_x_file', array('event_id' => $form->values->id, 'file_id' => $file->id)); $res = dibi::select('*')->from('event_x_file')->where('first', '=', 1)->where('event_id', '=', $form->values->id); if (count($res) == 0) { $res = dibi::select('*')->from('event_x_file')->where('event_id', '=', $form->values->id)->fetch(); dibi::query('UPDATE event_x_file SET ', array('first' => 1), 'WHERE event_id = ', $res->event_id, 'AND file_id =', $res->file_id); } } elseif ($form->values->type == "place") { dibi::query('INSERT INTO subject_x_file', array('subject_id' => $form->values->id, 'file_id' => $file->id)); $res = dibi::select('*')->from('subject_x_file')->where('first', '=', 1)->where('subject_id', '=', $form->values->id); if (count($res) == 0) { $res = dibi::select('*')->from('subject_x_file')->where('subject_id', '=', $form->values->id)->fetch(); dibi::query('UPDATE subject_x_file SET ', array('first' => 1), 'WHERE subject_id = ', $res->subject_id, 'AND file_id =', $res->file_id); } } } } catch (Exception $e) { $form->addError($e->getMessage()); } if ($form->isSuccess()) { $cache = new \Nette\Caching\Cache($this->context->cacheStorage); $cache->clean(array('files', 'images', 'file', 'image', $form->values->type, $form->values->type . 's')); $this->presenter->flashMessage('Dobrá zpráva, fotografie se podařilo vložit!', 'success'); $this->redirect('this'); } }
/** * Files */ function files() { dibi::activate('old'); $res = dibi::query(' SELECT [id_picture] as [id], [basename] as [code], [mime] as [mimetype], [titulek] as [description], [popisek] as [name] FROM [picture] ')->fetchAll(); //dump($res); dibi::activate('new'); dibi::query('DELETE FROM [file] WHERE id < 3000'); //dibi::query('TRUNCATE TABLE [file]'); try { foreach ($res as $n => $r) { $ext = getExtensionForMime($r['mimetype']); $filepath = FILESTORAGE_DIR . "/imported/" . $r['code'] . "-orig." . $ext; if (!file_exists($filepath)) { $filepath = FILESTORAGE_DIR . "/imported/" . $r['code'] . "." . $ext; } echo $filepath . "<br>"; if (file_exists($filepath)) { $values = array('id' => $r['id'], 'name' => $r['code'] . "." . $ext, 'type' => $r['mimetype'], 'size' => filesize($filepath), 'tmp_name' => $filepath, 'error' => UPLOAD_ERR_OK); // dump($values); $file = new \Nette\Http\FileUpload($values); $ff = new \File(); //$ff->simulation = TRUE; $ff->force = TRUE; $ff->created = filemtime($filepath); $ff->changed = filectime($filepath); $ff->id = $r['id']; $ff->name = $r['name']; $ff->description = $r['description']; $ff->filename = $r['code']; try { $ff->insertUploaded($file, FILESTORAGE_DIR); $ff->save(); echo ' - File is uploaded and saved.<br/>'; } catch (\DibiException $e) { echo get_class($e) . ': ' . $e->getMessage() . "<br><br>"; if ($e->getCode() !== 0) { $ff->unlink(FILESTORAGE_DIR); } } catch (\Exception $e) { echo get_class($e) . ': ' . $e->getMessage() . "<br><br>"; } } else { echo " - Not found!<br/><br/>"; } } echo "Files OK.<br/><br/>"; } catch (DibiException $e) { echo get_class($e) . ': ' . $e->getMessage(); } }
public function saveFile(\Nette\Application\UI\Form $form) { $ff = new \File(); try { $ff->file_prefix = ""; $ff->file_sufix = "_u" . $this->user->id . "_" . substr(sha1(time()), 0, 4); $ff->user_id = $this->user->id; $ff->insertUploaded($form->getValues()->file, FILESTORAGE_DIR); $ff->save(); $this->flashMessage('File is uploaded and saved.', 'ok'); $this->redirect('edit', array('id' => $ff->id)); } catch (\DibiException $e) { $this->flashMessage($e->getMessage()); if ($e->getCode() !== 0) { $ff->unlink(FILESTORAGE_DIR); } } catch (\Exception $e) { $this->flashMessage($e->getMessage()); } }
public function fileUploadSuccess(MyForm $form) { try { foreach ($form->values->image as $image) { $file = new \File(); $file->file_prefix = ""; $file->file_sufix = "_u" . $this->context->user->id . "_" . substr(sha1(time()), 0, 8); $file->user_id = $this->context->user->id; $file->insertUploaded($image, FILESTORAGE_DIR); $file->visible = 1; // automaticka publikace $file->save(); } } catch (Exception $e) { $form->addError($e->getMessage()); } if ($form->isSuccess()) { $this->cc(); $this->presenter->flashMessage('Dobrá zpráva, soubory se podařilo vložit. Sukces!', 'success'); $this->redirect('Files:default'); } }
public function fileUploadSuccess(AppForm $form) { try { foreach ($form->values->image as $key => $image) { $file = new \File(); $d = $image->getImageSize(); if ($d[0] < 300 && $d[1] < 300) { throw new Exception('Obrázek je příliš malý. Musí mít minimálně jeden rozměr vyšší než 300px. Nahrajte prosím větší obrázek.'); } if ($d[0] > 3000 || $d[1] > 3000) { throw new Exception('Obrázek je až zbytečně veliký. Žádný rozměr by neměl být vyšší než 3000px. Nahrajte prosím menší obrázek.'); } $file->file_prefix = ""; $file->file_sufix = "_u" . $this->user->id . "_" . substr(sha1(time()), 0, 4); $file->user_id = $this->user->id; $file->insertUploaded($image, FILESTORAGE_DIR); $file->save(); dibi::query('INSERT INTO event_x_file', array('event_id' => $form->values->event_id, 'file_id' => $file->id)); } } catch (Exception $e) { $form->addError($e->getMessage()); } catch (DibiException $e) { $form->addError($e->getMessage()); } if ($form->isSuccess()) { $this->cleanCache('subjects', 'subject', 'files', 'images', 'file', 'image'); $this->flashMessage('Successfully saved.', 'ok'); $this->redirect('thx', array('event_id' => $form->values->event_id)); } }
public function fileUploadSuccess(AppForm $form) { try { foreach ($form->values->image as $key => $image) { $file = new File(); $file->file_prefix = "user" . $this->user->id . "_"; $file->insertUploaded($image, FILESTORAGE_DIR); $file->save(); dibi::query('INSERT INTO subject_x_file', array('subject_id' => $this->getParameter('subject_id'), 'file_id' => $file->id)); } } catch (Exception $e) { $form->addError($e->getMessage()); } catch (DibiException $e) { $form->addError($e->getMessage()); } if ($form->isSuccess()) { $this->cleanCache('subjects', 'subject', 'files', 'images', 'file', 'image'); $this->flashMessage('Successfully saved.', 'ok'); $this->redirect('default'); } }
public function fileUploadSuccess(AppForm $form) { try { foreach ($form->values->image as $key => $image) { $file = new \File(); $file->file_prefix = "user" . $this->user->id . "_"; $file->insertUploaded($image, FILESTORAGE_DIR); //$file->simulation = true; $file->visible = 1; $file->user_id = $this->user->id; $file->save(); switch ($this->getParameter('module')) { case "subject": \dibi::query('INSERT INTO subject_x_file', array('subject_id' => $this->getParameter('item_id'), 'file_id' => $file->id)); break; case "event": \dibi::query('INSERT INTO event_x_file', array('event_id' => $this->getParameter('item_id'), 'file_id' => $file->id)); break; } } } catch (Exception $e) { $form->addError($e->getMessage()); } catch (DibiException $e) { $form->addError($e->getMessage()); } if ($form->isSuccess()) { $this->cleanCache('subjects', 'subject', 'files', 'images', 'file', 'image'); $this->flashMessage('Successfully saved.', 'ok'); $this->redirect('default', array('item_id' => $form->values->item_id, 'module' => $form->values->module)); } }