Beispiel #1
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;
 }