public static function editar()
 {
     $cracha = new Cracha();
     $cracha->selecionarPorId($_GET['id']);
     if (!empty($_POST)) {
         $nomeCracha = $_POST['nome'];
         $idParticipante = $_POST['idParticipante'];
         $funcao = $_POST['funcao'];
         if (!empty($_FILES["foto_cracha"]["name"])) {
             $nomeFoto = $idParticipante . '-' . Util::substituiCaracteres($nomeCracha) . '.' . pathinfo($_FILES['foto_cracha']['name'], PATHINFO_EXTENSION);
             $foto = WideImage::loadFromUpload('foto_cracha');
             $imagem = $foto->crop($_POST['foto_x'], $_POST['foto_y'], $_POST['foto_w'], $_POST['foto_h']);
             @unlink('../fotosParticipantes/' . $nomeFoto);
             $imagem->saveToFile('../fotosParticipantes/' . $nomeFoto);
             $cracha->foto = $nomeFoto;
         }
         $cracha->nome = $nomeCracha;
         $cracha->funcao = $funcao;
         $cracha->fk_participante = $idParticipante;
         $cracha->salvar();
         self::redirecionar(Configuracao::$baseUrl . 'cracha/listar' . Configuracao::$extensaoPadrao);
     }
     self::$variaveis = array('cracha' => $cracha);
     self::$corpo = "editar";
     self::renderizar(self::$viewController);
 }
Exemple #2
0
 public function addAction()
 {
     $config = Config::getInstance();
     $config = $config->getConfig();
     $Cars = new Cars();
     $this->view->data = $Cars->getCategory();
     $model = $this->request->getPost('model');
     $marka = $this->request->getPost('marka_id');
     $opis = $this->request->getPost('opis');
     $zdjecie = $this->request->getFiles('zdjecie');
     if ($model == NULL && $marka == NULL && $opis == NULL && $zdjecie == NULL) {
         $this->view->display('add');
     } else {
         if ($model == NULL || $marka == NULL || $opis == NULL || $zdjecie == NULL) {
             echo "Uzupelnij wszystkie pola";
         } else {
             $podpis = date("Y-m-d G:i:s", time());
             $zdjecie = WideImage::loadFromUpload('zdjecie');
             $zdjecie->saveToFile($config['DOC_ROOT'] . $config['CUSTOM_IMG_DIR'] . $podpis . '.png');
             $Car = new Cars();
             $Car->saveCar($model, $marka, $opis, $podpis);
             header('location: ' . Url::getUrl('car', 'list', array('status' => 8)));
         }
     }
 }
 /**
  * Handle candidate photo uploads
  * 
  * @throws Exception when an error occurs
  * @return null
  */
 public function handleUpload()
 {
     $mimeTypes = array('image/jpeg', 'image/png');
     if (wp_verify_nonce($_POST['graphic_material_upload_photo_nonce'], 'graphic_material_upload_photo') && isset($_FILES['photo'])) {
         if (!$_FILES['photo']['error'] && in_array($_FILES['photo']['type'], $mimeTypes)) {
             $img = WideImage::loadFromUpload('photo');
             if ($img->getWidth() < $this->minWidth || $img->getHeight() < $this->minHeight) {
                 $this->error = "Atenção: a imagem deve ter no mínimo {$this->minWidth}x{$this->minHeight} pixels para garantir a qualidade da impressão. A imagem enviada possui {$img->getWidth()}x{$img->getHeight()} pixels. Por favor envie outra imagem maior.";
             } else {
                 delete_option('photo-position-' . $this->fileName);
                 $filePath = GRAPHIC_MATERIAL_DIR . $this->fileName;
                 // override uploaded image with resized version with dimensions close to minWidth and minHeight (300 dpi)
                 $img = $img->resize($this->minWidth, $this->minHeight, 'outside');
                 $img->saveToFile($filePath);
                 // generate low resolution image to send to the browser (75 dpi)
                 $lowRes = $img->resize($this->screenWidth, $this->screenHeight, 'outside');
                 $lowRes->saveToFile(GRAPHIC_MATERIAL_DIR . $this->screenFileName);
                 $this->loadImage();
                 $this->crop();
             }
         } else {
             if (!$_FILES['photo']['error'] && !in_array($_FILES['photo']['type'], $mimeTypes)) {
                 $this->error = "Tipo de arquivo inválido, o arquivo deve ser dos tipos .png ou .jpg";
             } else {
                 $this->error = $this->handleUploadError($_FILES['photo']['error']);
             }
         }
     }
 }
Exemple #4
0
 public function updateCar($new_model, $new_marka, $new_opis, $is_photo, $id)
 {
     $query = "SELECT * FROM samochody WHERE samochody_id=:id";
     $sth = $this->db->prepare($query);
     $sth->bindParam(':id', $id);
     $sth->execute();
     $car = $sth->fetch();
     if (empty($new_model)) {
         $model = $car['model'];
     } else {
         $model = $new_model;
     }
     if (empty($new_marka)) {
         $marka = $car['marka_id'];
     } else {
         $marka = $new_marka;
     }
     if (empty($new_opis)) {
         $opis = $car['opis'];
     } else {
         $opis = $new_opis;
     }
     if ($is_photo['error'] == 4) {
         $podpis = $car['podpis'];
     } else {
         $zdjecie = WideImage::loadFromUpload('zdjecie');
         $config = Config::getInstance();
         $config = $config->getConfig();
         $old_podpis = $config['IMG_DIR'] . $car['podpis'] . '.png';
         unlink($old_podpis);
         $podpis = date("Y-m-d G:i:s", time());
         $zdjecie->saveToFile($config['DOC_ROOT'] . $config['CUSTOM_IMG_DIR'] . $podpis . '.png');
     }
     $update_query = "UPDATE samochody SET marka_id=:marka, model=:model, opis=:opis, podpis=:podpis WHERE samochody_id=:id";
     $up = $this->db->prepare($update_query);
     $up->bindParam(':marka', $marka);
     $up->bindParam(':model', $model);
     $up->bindParam(':opis', $opis);
     $up->bindParam(':podpis', $podpis);
     $up->bindParam(':id', $id);
     $up->execute();
 }
Exemple #5
0
 /**
  * @expectedException WideImage_InvalidImageSourceException
  */
 function testInvalidImageUploadField()
 {
     WideImage::loadFromUpload('xyz');
 }
Exemple #6
0
 /**
  * [adesivar description]
  * @return [type] [description]
  */
 public static function adesivar($photo)
 {
     $option = self::getOption('adesive');
     // se um dia tiver mais de um adesivo é só enviar o $index pelo post
     $index = 0;
     $adesive_filename = self::getAdesiveFilename($index);
     if ($adesive_filename) {
         $adesivo = WideImage::load($adesive_filename);
         $uploaded = WideImage::loadFromUpload($photo);
         $uploaded = $uploaded->resize(250, null);
         $new = $uploaded->merge($adesivo, 'right', 'bottom');
         header('Content-disposition: attachment; filename=foto.jpg');
         header('Content-type: image/jpeg');
         $new->output('jpg', 100);
         die;
     }
 }
 private function ajaxCallbackForUpload()
 {
     $json['message'] = $this->executeFormValidation();
     if ($json['message']) {
         return $json;
     }
     // Recupera logo da empresa para marca d'agua
     if ($_POST['watermark']) {
         $watermark = WideImage::load(Config::read('path.template') . Config::read(SYSTEM . '.theme') . "/img/watermark.png");
     }
     // Carrega imagem para o servidor
     $image = WideImage::loadFromUpload("file");
     // Recupera extensão da imagem
     $extension = strtolower(strrchr($_FILES['file']['name'], "."));
     // Gera URL única para o arquivo
     $photoUrl = md5(uniqid(time())) . $extension;
     foreach (json_decode($_POST['thumbnails']) as $description => $thumbnail) {
         // Redimensiona a imagem
         $resized = $image->resize($thumbnail[0], $thumbnail[1], 'outside');
         // Corta no tamanho especifico
         $resized = $resized->crop('center', 'center', $thumbnail[0], $thumbnail[1]);
         // Verifica se a marca d'água deve ser inserida na imagem carregada
         if ($_POST['watermark']) {
             // A logomarca deve ser inserida com 1/3 do tamanho da foto
             $logoSize = round($thumbnail[0] / 3);
             $watermarkResized = $watermark->resize($logoSize);
             // Posiciona a marca d'água no canto inferior direito da foto
             $resized = $resized->merge($watermarkResized, "right - 10%", "bottom - 10%");
         }
         $fileToSave = Config::read('path.photos') . '/' . $_POST['album'] . '/' . $description . '-' . $photoUrl;
         // Grava arquivo no diretório
         $resized->saveToFile($fileToSave);
     }
     $data = new stdClass();
     $data->album = $_POST['album'];
     $data->url = $photoUrl;
     $data->vertical = (int) ($image->getWidth() < $image->getHeight());
     // Grava referência no banco de dados
     $data->id = $this->myModel->insert($data);
     if ($data->id) {
         // Atualiza lista de fotos
         $this->myView->data = new stdClass();
         $this->myView->data->photos[] = $data;
         $json['photos'] = $this->myView->createPhotosForm();
     } else {
         // Retorna mensagem de erro do Banco de Dados
         $message = $this->myModel->getMessage();
         $json['message'] = $message['text'];
     }
     return $json;
 }