Example #1
0
 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');
     }
 }
Example #2
0
/**
 * 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();
    }
}
Example #3
0
 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());
     }
 }
Example #4
0
 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');
     }
 }
Example #5
0
 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));
     }
 }
Example #6
0
 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');
     }
 }
Example #7
0
 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));
     }
 }