Beispiel #1
0
 /**
  * Retorna o valor antigo do registro antes de realizar a atualização
  *
  * @return Cms_Model_Categoria_Mapper
  */
 public function getValueOld()
 {
     if (!$this->_dataOld instanceof Cms_Model_Categoria_Mapper) {
         $this->_dataOld = new Cms_Model_Categoria_Mapper();
         $this->_dataOld->setId($this->getId());
         $this->_dataOld->retrive();
     }
     return $this->_dataOld;
 }
Beispiel #2
0
 private function _parentKey($id)
 {
     $_categoria = new Cms_Model_Categoria_Mapper();
     $_categoria->setId($id)->retrieve();
     $result[] = $_categoria->getDescricao(true)->get();
     $parent = $_categoria->getIdCategoriaPai(true)->toPhp();
     $recursive = array();
     if ($parent) {
         $recursive = $this->_parentKey($parent);
     }
     return array_merge($result, $recursive);
 }
Beispiel #3
0
 public static function get($idUsuario = '', $format = true)
 {
     if (!$idUsuario) {
         $idUsuario = Auth_Session_User::getInstance()->getId();
     }
     $_notificacao = new Cms_DataView_Notificacao_MapperView();
     $_notificacao->setIdUsuario($idUsuario)->findAll(null, '*');
     if ($format) {
         $notificacoes = array();
         $_conteudo = new Cms_Model_Conteudo_Mapper();
         $_categoria = new Cms_Model_Categoria_Mapper();
         $_categoriaPai = new Cms_Model_Categoria_Mapper();
         while ($_notificacao->fetch()) {
             $_conteudo->setId($_notificacao->getIdConteudo())->retrieve();
             $_categoria->setId($_conteudo->getIdCategoria())->retrieve();
             $conteudo = $_conteudo->getTitulo()->get();
             if (strlen($conteudo) > 10) {
                 $conteudo = substr($conteudo, 1, 10) . "...";
             }
             $titulo = $_categoria->getDescricao()->get() . " (" . $conteudo . ")";
             if ($_categoria->getIdCategoriaPai()->get()) {
                 $_categoriaPai->setId($_categoria->getIdCategoriaPai())->retrieve();
                 $titulo = $_categoriaPai->getDescricao()->get() . " - " . $titulo;
             }
             $url = Cms_Model_Conteudo_Mapper::getUrlView($_conteudo->getId()->get(), $_categoria->getIdByDescricao("Para você"));
             $notificacoes[] = array('id' => $_conteudo->getId()->get(), 'titulo' => $titulo, 'url' => $url);
         }
         return $_notificacao->_getLayout($notificacoes);
     }
     return $_notificacao;
 }
Beispiel #4
0
 public function insert($idConteudo = '')
 {
     if ($idConteudo) {
         $_conteudo = new Cms_Model_Conteudo_Mapper();
         $_conteudo->setId($idConteudo)->retrieve();
         $_conteudoPai = new Cms_Model_Conteudo_Mapper();
         $idCategoria = $_conteudo->getIdCategoria(true);
         $idCategoriaLike = $_conteudo->getIdCategoriaByDesc('like');
         if ($idCategoria->get() != $idCategoriaLike->get()) {
             /* Se houver um conteúdo pai, considera o ID da categoria deste */
             $idConteudoPai = $_conteudo->getIdConteudoPai(true)->get();
             if ($idConteudoPai) {
                 $_conteudoPai->setId($idConteudoPai)->retrieve();
                 if ($_conteudoPai->getId(true)->get()) {
                     $idCategoria = $_conteudoPai->getIdCategoria(true)->get();
                 }
             }
             /* Busca a categoria pai, caso exista */
             $_categoria = new Cms_Model_Categoria_Mapper();
             $_categoria->setId($idCategoria)->retrieve();
             $_categoriaPai = new Cms_Model_Categoria_Mapper();
             if ($_categoria->getIdCategoriaPai(true)->get()) {
                 $_categoriaPai->setId($_categoria->getIdCategoriaPai(true))->retrieve();
             }
             $_usuario = new Auth_Model_Usuario_Mapper();
             $usuarios = $this->_getPrivileges($idConteudo, $idConteudoPai);
             #var_dump($usuarios);die;
             /*$usuarios = array_merge($usuarios, array(
                   array('id_usuario' => '16524', 'email_usuario' => '*****@*****.**', 'env_email' => 'S'),
                   array('id_usuario' => '391', 'email_usuario' => '*****@*****.**', 'env_email' => 'S'),
                   array('id_usuario' => '27705', 'email_usuario' => '*****@*****.**', 'env_email' => 'S'),
                   array('id_usuario' => '6253', 'email_usuario' => '*****@*****.**', 'env_email' => 'S')
               ));*/
             foreach ($usuarios as $usuario) {
                 $idMailList = NULL;
                 if ($usuario['env_email'] == 'S') {
                     if (!$usuario['email_usuario']) {
                         continue;
                     }
                     $mail = new ZendT_Mail();
                     $mail->addTo($usuario['email_usuario']);
                     $_usuarioInc = new Auth_Model_Usuario_Mapper();
                     $_usuarioInc->setId($_conteudo->getIdUsuarioInc(true)->get())->retrieve();
                     if ($_usuarioInc->getId(true)->get() == 1) {
                         $mail->addFrom('*****@*****.**', 'Transportadora Americana');
                     } else {
                         $mail->addFrom($_usuarioInc->getEmail(true)->get(), $_usuarioInc->getNome(true)->get());
                     }
                     $tituloEmail = '';
                     if ($_categoriaPai->getId(true)->get()) {
                         $tituloEmail = $_categoriaPai->getDescricao()->get() . ' - ';
                     }
                     $tituloEmail .= $_categoria->getDescricao()->get();
                     $tituloEmail .= " ({$idConteudo})";
                     $mail->setTitle($tituloEmail)->setSubject($tituloEmail);
                     $url = Cms_Model_Conteudo_Mapper::getUrlView($idConteudo, false, true);
                     $titulo = '';
                     if (!$_conteudo->getIdConteudoPai(true)->get()) {
                         $titulo = $_conteudo->getTitulo()->get();
                     } else {
                         $titulo = $_conteudoPai->getTitulo(true)->get();
                     }
                     if ($titulo) {
                         $titulo .= '<br/><br/>';
                     }
                     //$remetente = $_conteudo->getSubTitulo()->get();
                     $comment = $titulo . 'Para acessar esse conteúdo, clique <a href = "' . $url . '">aqui</a>';
                     $mail->setComment($comment);
                     $body = $_conteudo->getCorpo()->get();
                     if ($_conteudoPai->getId(true)->get()) {
                         $body .= "<br/><hr/>" . $_conteudoPai->getCorpo()->get();
                     }
                     if ($body) {
                         $body .= "<br/></hr>";
                     } else {
                         $body = " ";
                     }
                     $mail->setBody($body);
                     $idMailList = $mail->save();
                 }
                 /* @todo: Remover - IF temporário */
                 if ($usuario['env_email'] == 'S') {
                     $this->setIdConteudo($idConteudo);
                     $this->setIdUsuario($usuario['id_usuario']);
                     if ($this->exists() && $idMailList) {
                         $this->delete();
                     }
                     $this->setIdMaillist($idMailList);
                     if (!$this->exists()) {
                         $this->insert();
                     }
                     $this->getModel()->getAdapter()->commit();
                 }
             }
         }
     } else {
         parent::insert();
     }
 }
Beispiel #5
0
 protected function _getIdCategoria($value)
 {
     if (!is_numeric($value)) {
         $_categoria = new Cms_Model_Categoria_Mapper();
         $_categoria->setChave($value)->retrieve();
         $value = $_categoria->getId();
     }
     return $value;
 }
Beispiel #6
0
 public function viewAction()
 {
     $this->_defineLayout();
     $id = $this->getRequest()->getParam('id');
     $key = $this->getRequest()->getParam('key');
     $list = $this->getRequest()->getParam('list');
     $chaveCategoria = $this->getRequest()->getParam('chave_categoria');
     $select = $this->getRequest()->getParam('select');
     $sub = $this->getRequest()->getParam('sub');
     $edit = $this->getRequest()->getParam('edit');
     $editDisabled = $this->getRequest()->getParam('edit_disabled');
     $conteudo = $this->getRequest()->getParam('conteudo');
     $categoria = $this->getRequest()->getParam('categoria');
     $restringirUsuario = $this->getRequest()->getParam('ru');
     if ($restringirUsuario) {
         $idUsuario = Zend_Auth::getInstance()->getStorage()->read()->getId();
         $this->getRequest()->setParam('cms_conteudo-id_usuario_inc', $idUsuario);
     }
     $_conteudo = $this->getMapper();
     if (!$id) {
         $id = $conteudo;
     }
     if ($id && !is_numeric($id)) {
         $id = $_conteudo->newRow()->setChave($id)->retrieve()->getId(true)->toPhp();
         $_conteudo->newRow();
     }
     if ($key && !$id) {
         $id = $_conteudo->newRow()->setChave($key)->retrieve()->getId(true)->toPhp();
         $_conteudo->newRow();
     }
     $idCategoriaAtual = "";
     $_where = new ZendT_Db_Where();
     $_where->addFilter("cms_conteudo.id", $id);
     $data = $_conteudo->findAll($_where)->fetch();
     if ($data) {
         $_conteudo->setId($id)->retrieve();
         $_fileSystem = new Ged_Model_Arquivo_FileSystem();
         $thumbnail = $_conteudo->getThumbnail()->toPhp();
         if ($thumbnail) {
             $imgUrl = $_fileSystem->getDirectoryAdress($thumbnail);
             $this->view->img = $imgUrl;
         }
         $this->view->banner = $_conteudo->getBanner()->toPhp();
         if ($this->view->banner) {
             $this->view->banner = $_fileSystem->getDirectoryAdress($this->view->banner);
         }
         $this->view->id = $id;
         $this->view->titulo = $_conteudo->getTitulo()->get();
         $this->view->subtitulo = $_conteudo->getSubtitulo()->get();
         $this->view->corpo = $_conteudo->getCorpo()->get();
         $this->view->corpoUrl = $_conteudo->getCorpoUrl()->get();
         $this->view->viewPdf = $this->getRequest()->getParam('pdf');
         $this->view->arquivo = $_conteudo->getArquivo(true)->toPhp();
         $_arquivo = $_conteudo->getArquivo(true);
         if ($_arquivo->toPhp() && !$this->view->viewPdf) {
             $name = $_arquivo->getFile()->getName();
             if (strpos(strtolower($name), '.pdf')) {
                 $this->view->viewPdf = 1;
             } else {
                 $this->view->urlDownload = $_arquivo->getFile()->toUrlDownload(false);
             }
         }
         $_categoria = new Cms_DataView_Categoria_MapperView();
         $_categoria->setId($_conteudo->getIdCategoria()->toPhp());
         $_categoria->retrieve();
         $idCategoriaPai = $_categoria->getIdCategoriaPai()->toPhp();
         if ($sub) {
             $_categoria = new Cms_DataView_Categoria_MapperView();
             $_categoria->setId($idCategoriaPai);
             $_categoria->retrieve();
             $idCategoriaPai = $_categoria->getIdCategoriaPai()->toPhp();
         }
         $idCategoriaAtual = $_conteudo->getIdCategoria()->toPhp();
         /* Painel da direita */
         $conteudosCategoria = $_conteudo->getContents($_conteudo->getIdCategoria()->toPhp());
         if ($conteudosCategoria) {
             foreach ($conteudosCategoria as $index => $conteudo) {
                 if ($conteudo['id'] == $id || !isset($conteudo['id'])) {
                     unset($conteudosCategoria[$index]);
                 }
             }
             $this->view->painelDireita = $conteudosCategoria;
         }
         /* Painel central */
         $this->view->painelCentral = '';
         $this->view->editPermissao = false;
         if (!$editDisabled) {
             $_conteudoMapperView = new Cms_DataView_Conteudo_MapperView();
             $this->view->editPermissao = $_conteudoMapperView->setId($id)->isEditEnabled();
             if ($edit) {
                 $this->getRequest()->setParam('edit', $this->view->editPermissao);
             }
             $edit = $this->getRequest()->getParam('edit');
         }
         if ($edit && $this->view->editPermissao) {
             $_conteudoForm = new Cms_Form_Conteudo_Edit();
             $_conteudoForm->loadElements();
             $_profile = ZendT_Profile::get('Cms_Form_Conteudo_Edit', '', 'analise');
             $_conteudoForm->loadProfile($_profile);
             $_conteudoForm->loadButtons();
             $_mapper = new Cms_DataView_Conteudo_MapperView();
             $row = $_mapper->setId($id)->getDataEdicao();
             if (count($row)) {
                 $_conteudoForm->populate($row);
                 $this->view->corpo = $_conteudoForm;
             }
         }
         $this->view->comments = Cms_Helper_Comments::comments($id);
         if (!$this->view->corpoUrl && !$edit) {
             $this->view->commentsForm = Cms_Helper_Comments::form($id);
         }
         $this->view->likes = Cms_Helper_Likes::button($id);
         $_notificacao = new Cms_Model_Notificacao_Mapper();
         $_notificacao->remove($id);
     } else {
         if ($list) {
             $this->gridAction();
             $this->getGrid()->setBeforeRequest("function(){\n                                                    \$.gridResize({\n                                                        idGrid: '" . $this->getGrid()->getID() . "'\n                                                       ,width: function(){ return calcWidthGrid(); }\n                                                     /*,height: function(){ return calcHeightGrid(); }*/\n                                                    });\n                                                    \$(window).resize(function(){\n                                                        \$.gridResize({\n                                                            idGrid: '" . $this->getGrid()->getID() . "'\n                                                           ,width: function(){ return calcWidthGrid(); }\n                                                         /*,height: function(){ return calcHeightGrid(); }*/\n                                                        });\n                                                    });\n                                                }");
         } else {
             $this->view->msg = "Conteúdo não disponível ou requer autenticação!";
         }
     }
     /* Painel da esquerda */
     $this->view->painelEsquerda = '';
     if ($categoria) {
         if (!is_numeric($categoria)) {
             $_categoria = new Cms_Model_Categoria_Mapper();
             $_categoria->setChave($categoria)->retrieve();
             $categoria = $_categoria->getId(true)->toPhp();
         }
         if ($chaveCategoria) {
             $_categoria = new Cms_Model_Categoria_Mapper();
             $_categoria->setChave($chaveCategoria)->retrieve();
             $idCategoriaAtual = $_categoria->getId(true)->toPhp();
         }
         if ($select) {
             $_categoria = new Cms_Model_Categoria_Mapper();
             $_categoria->setChave($select)->retrieve();
             $idCategoriaAtual = $_categoria->getId(true)->toPhp();
         }
         $_sideBar = new Cms_DataView_Sidebar_MapperView();
         //$_sideBarHelper = new Cms_Helper_Sidebar();
         //$html = $_sideBarHelper->sidebar($_sideBar->getSidebar($categoria), $idCategoriaAtual);
         $this->view->categoria = $categoria;
         $this->view->painelEsquerda = $this->view->sidebar($_sideBar->getSidebar($categoria), 'menu-' . $idCategoriaAtual);
     }
 }