Пример #1
0
 public function cadastrarAction()
 {
     $ct = new Categoria();
     $ut = new Util();
     $user = My_Auth::getInstance('Painel')->getStorage()->read();
     $request = $this->getRequest();
     if ($request->isPost()) {
         $pt = new Postagem();
         $erro = false;
         $msg = '';
         $now = $ut->nowDateSql();
         $pt->setTitulo($request->getPost('titulo'));
         $pt->setPostagem($request->getPost('postagem'));
         $pt->setCagegoriaId($request->getPost('categoria_id'));
         $pt->setUsuarioId($user->id);
         $pt->setPostadoem($now);
         $pt->setTags($request->getPost('tags'));
         $pt->setAlteradoem($now);
         $data = array('titulo' => $pt->getTitulo(), 'postagem' => $pt->getPostagem(), 'categoria_id' => $pt->getCagegoriaId(), 'usuario_id' => $pt->getUsuarioId(), 'postadoem' => $pt->getPostadoem(), 'tags' => $pt->getTags(), 'alteradoem' => $pt->getAlteradoem());
         if ($postagem_id = $pt->savePostagem($data)) {
             if ($request->getPost('image_data')) {
                 $imageName = time() . '_saved.jpg';
                 //$imagem = json_decode($request->getPost('image_data'));
                 $base64 = base64_decode(preg_replace('#^data:image/[^;]+;base64,#', '', $request->getPost('image_data')));
                 //base64_decode(preg_replace('#^data:image/[^;]+;base64,#', '', $_POST['imagem']));
                 // 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;
                 }
             }
         } else {
             $erro = true;
         }
         if ($erro) {
             $msg = 'Ocorreu um erro, tente novamente';
             $this->view->msg = $msg;
         } else {
             $this->_helper->redirector('listar', 'postagens');
         }
     }
     $this->view->categorias = $ct->getAllCategoria();
     $this->render();
 }