public function editAction() { $this->assecoAction(); $this->_helper->layout->setLayout('administrator'); $form = new Application_Form_Produto(); $this->view->form = $form; if ($this->getRequest()->isPost()) { $formData = $this->getRequest()->getPost(); if ($form->isValid($formData)) { $id = (int) $form->getValue('id'); $foto = $form->getValue('foto'); $foto1 = $form->getValue('foto_images'); $locationFile = $form->foto_images->getFileName(); //the hidden field $fotoantigo = $form->getElement('foto')->getValue(); if (file_exists($this->_file_foto . $fotoantigo)) { $form->getElement('foto')->setIgnore(true); $nameFile = $fotoantigo; } else { try { $this->removeImages($_POST['foto'], $id); $currentMicroTime = sha1(uniqid(rand(), true)); $nameFile = $currentMicroTime . '.jpg'; $fullPathNameFile = $this->_file_foto . $nameFile; $filterRename = new Zend_Filter_File_Rename(array('target' => $fullPathNameFile, 'overwrite' => true)); $filterRename->filter($locationFile); $imageAdapter = new Zend_File_Transfer_Adapter_Http(); $imageAdapter->setDestination($this->_file_foto); if ($imageAdapter->receive()) { echo 'Upload efetuado com sucesso'; } else { echo 'Ops! Ocorreu um erro ao enviar o arquivo'; } } catch (Zend_File_Transfer_Exception $e) { $e->getMessage(); } } $this->produto->updates($id, $form->getValue('grupo_id'), $form->getValue('marca_id'), $form->getValue('modelo_id'), $form->getValue('unidade_id'), $form->getValue('codBarras'), $form->getValue('nome'), $form->getValue('refFabricante'), $form->getValue('refAuxiliar'), $form->getValue('icmsc'), $form->getValue('icmsv'), $form->getValue('ipiVenda'), $form->getValue('cst'), $form->getValue('margenLucro'), $form->getValue('precoCusto'), $form->getValue('precoVenda'), $form->getValue('margenDesconto'), $form->getValue('tipi'), $form->getValue('ncm'), $form->getValue('genero_id'), $form->getValue('cor_id'), $nameFile); if ($this->produto) { $this->_helper->flashMessenger->addMessage(array('successo' => 'Registro alterado com sucesso')); $this->_helper->redirector('sucesso'); } } else { $form->populate($formData); } } else { $id = $this->_getParam('id', 0); if ($id > 0) { $form->populate($this->produto->getId($id)); } } }
public function editarAction() { $form = new Application_Form_Produto(); $form->setAction($this->_helper->url('editar')); $request = $this->getRequest(); $dados = $this->getRequest()->getParams(); $id = $this->getRequest()->getParam('id'); $dados = $this->getRequest()->getParams(); $form->setAction($this->_helper->url('editar/id/' . $id)); /* Obtem um unico usuário através do id passado */ $produto = $this->_produto->find($id)->current(); $imagens = $this->_imagens->fetchAll("pro_id_fk='{$id}'", "ima_id DESC"); $produto->pro_tamanhos = json_decode($produto->pro_tamanhos); $this->view->categoria = $produto->cat_id_fk; $this->view->imagens = $imagens; $produto->pro_valor = number_format($produto->pro_valor, 2, ',', '.'); $form->populate($produto->toArray()); if ($request->isPost() && $form->isValid($request->getPost())) { try { $numeros = $dados["pro_tamanhos"]; foreach ($numeros as $key => $value) { $numeracao[] = $value; } $json = json_encode($numeracao); $valor = str_replace('.', '', $dados["pro_valor"]); $valor = str_replace(',', '.', $valor); $produto->pro_nome = $dados["pro_nome"]; $produto->pro_identificador = $dados["pro_identificador"]; $produto->pro_descricao = $dados["pro_descricao"]; $produto->pro_valor = $valor; $produto->cat_id_fk = $dados["select_categoria"]; $produto->pro_tamanhos = $json; $produto->pro_pontos = $dados["pro_pontos"]; $produto->save(); /** Faz o upload das imagens **/ $dir = "./uploads/produtos/"; $adapter = new Zend_File_Transfer_Adapter_Http(); try { $this->_imagens = new Application_Model_ImagensProdutos(); $form->getElement('imagens')->setDestination("{$dir}"); foreach ($adapter->getFileInfo() as $file => $info) { if ($adapter->isUploaded($file)) { $name = $adapter->getFileName($file); require_once APPLICATION_PATH . '/../library/Tokem/Functions/functions.php'; $fileName = removeAcentos($info['name']); $newFileName = strtolower(str_replace(' ', '', $fileName)); $img_nome = md5(microtime()) . '_' . $newFileName; $fname = $dir . "/" . $img_nome; $caminho = ltrim($dir, "."); $image = array("ima_nome" => "{$img_nome}", "pro_id_fk" => $id); $imagem = $this->_imagens->fetchRow("pro_id_fk='{$id}'"); if (!empty($imagem)) { unlink("../public/uploads/produtos/" . $imagem->ima_nome); $imagem->ima_nome = $img_nome; $imagem->save(); } else { $this->_imagens->insert($image); } /** * Let's inject the renaming filter */ $adapter->addFilter(new Zend_Filter_File_Rename(array('target' => $fname, 'overwrite' => true)), null, $file); /** * And then we call receive manually */ $adapter->receive($file); } } $flashMessenger = $this->_helper->FlashMessenger; $flashMessenger->addMessage(' <div class="alert alert-success alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button> <strong>Sucesso</strong> - Tudo ocorreu bem! </div> '); $this->_helper->redirector('index'); exit; } catch (Exception $e) { echo $e->getMessage(); exit; $flashMessenger = $this->_helper->FlashMessenger; $flashMessenger->addMessage('<div class="alert alert-danger alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button> <strong>ERRO</strong> - Ocorreu um erro inesperado! se persistir entre em contato com o suporte! </div>'); $this->_helper->redirector('index'); exit; } /** fim do upload de imagens **/ $flashMessenger = $this->_helper->FlashMessenger; $flashMessenger->addMessage(' <div class="alert alert-success alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button> <strong>Sucesso</strong> - Tudo ocorreu bem! </div> '); } catch (Zend_Db_Exception $e) { echo $e->getMessage(); exit; $flashMessenger = $this->_helper->FlashMessenger; $flashMessenger->addMessage('<div class="alert alert-danger alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button> <strong>ERRO</strong> - Ocorreu um erro inesperado! se persistir entre em contato com o suporte! </div>'); } $this->_helper->redirector('index'); exit; } $this->view->form = $form; }