Пример #1
0
 public function editarAction()
 {
     $request = $this->getRequest();
     $id = $request->getParam('id');
     $user = My_Auth::getInstance('Painel')->getStorage()->read();
     $pt = new Postagem();
     $ct = new Categoria();
     $postagem = $pt->getPostagemById($id);
     if ($request->isPost()) {
         $erro = false;
         $msg = '';
         $date = new Zend_Date();
         $now = $date->toString('YYYY-MM-dd HH:mm:ss');
         $pt->setTitulo($request->getPost('titulo'));
         $pt->setPostagem($request->getPost('postagem'));
         $pt->setCagegoriaId($request->getPost('categoria_id'));
         $pt->setUsuarioId($user->id);
         $pt->setTags($request->getPost('tags'));
         $pt->setAlteradoem($now);
         $data = array('titulo' => $pt->getTitulo(), 'postagem' => $pt->getPostagem(), 'categoria_id' => $pt->getCagegoriaId(), 'usuario_id' => $pt->getUsuarioId(), 'tags' => $pt->getTags(), 'alteradoem' => $pt->getAlteradoem());
         $pt->savePostagem($data, $id);
         if ($request->getPost('imagem')) {
             $imageName = time() . '_saved.jpg';
             $imagem = json_decode($request->getPost('imagem'));
             $base64 = base64_decode(preg_replace('#^data:image/[^;]+;base64,#', '', $imagem->image));
             // create image
             $source = imagecreatefromstring($base64);
             if (!file_exists(ROOT_DIR . DS . 'site' . DS . 'images' . DS . 'blog' . DS . $postagem_id)) {
                 mkdir(ROOT_DIR . DS . 'site' . DS . 'images' . DS . 'blog' . DS . $postagem_id, 0777, true);
             }
             $url = ROOT_DIR . DS . 'site' . DS . 'images' . DS . 'blog' . DS . $postagem_id . DS . $imageName;
             imagejpeg($source, $url, 100);
             $pt->setImagem($imageName);
             $data = array('imagem' => $pt->getImagem());
             if (!$pt->savePostagem($data, $postagem_id)) {
                 $erro = true;
             }
         }
         if ($erro) {
             $msg = 'Ocorreu um erro, tente novamente';
             $this->view->msg = $msg;
         } else {
             $this->_helper->redirector('listar', 'postagens');
         }
     }
     $this->view->postagem = $postagem;
     $this->view->categorias = $ct->getAllCategoria();
     $this->render();
 }