コード例 #1
0
ファイル: IndexController.php プロジェクト: rtsantos/mais
 public function _getContent($key)
 {
     $this->_conteudo->newRow()->setChave($key)->retrieve();
     $result = array();
     $result['titulo'] = $this->_conteudo->getTitulo(true)->get();
     $result['corpo'] = $this->_conteudo->getCorpo(true)->get();
     return $result;
 }
コード例 #2
0
ファイル: Mapper.php プロジェクト: rtsantos/mais
 /**
  * Retorna o valor antigo do registro antes de realizar a atualização
  *
  * @return Cms_Model_Conteudo_Mapper
  */
 public function getValueOld()
 {
     if (!$this->_dataOld instanceof Cms_Model_Conteudo_Mapper) {
         $this->_dataOld = new Cms_Model_Conteudo_Mapper();
         $this->_dataOld->setId($this->getId());
         $this->_dataOld->retrive();
     }
     return $this->_dataOld;
 }
コード例 #3
0
ファイル: Edit.php プロジェクト: rtsantos/mais
 /**
  * Carrega os elementos no formulário para serem renderizado
  * @return void
  */
 public function loadElements($action = 'insert', $newAction = '')
 {
     parent::loadElements($action);
     $this->setName($this->_formNome);
     if ($newAction) {
         $this->setAction(ZendT_Url::getUri(true) . "/" . $newAction);
     }
     $filterJson = Zend_Controller_Front::getInstance()->getRequest()->getParam('filter_json');
     if ($filterJson) {
         $where = ZendT_Db_Where::fromJson($filterJson);
         $filter = $where->getFilter('id');
         $_mapper = new Cms_Model_Conteudo_Mapper();
         $_mapper->setId($filter['value'][0])->retrive();
         $row = $_mapper->getData();
         unset($row['thumbnail']);
         unset($row['banner']);
         unset($row['arquivo']);
         $this->populate($row);
     }
     $this->loadButtons();
 }
コード例 #4
0
ファイル: MapperView.php プロジェクト: rtsantos/mais
 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;
 }
コード例 #5
0
ファイル: Mapper.php プロジェクト: rtsantos/mais
 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();
     }
 }
コード例 #6
0
ファイル: MapperView.php プロジェクト: rtsantos/mais
 /**
  * 
  * @param string|int $categoria
  * @param string $orderBy
  * @return array
  */
 protected function _list($categoria, $idConteudoPai = '', $orderBy = '')
 {
     $this->_removeLob = false;
     $_fileSystem = new Ged_Model_Arquivo_FileSystem();
     $idUsuario = Auth_Session_User::getInstance()->getId();
     $_auth = new Auth_Model_Usuario_Mapper();
     $_auth->setLogin('GUEST')->retrieve();
     $avatarGuest = $_auth->getAvatar(true)->toPhp();
     /**
      * caso seja uma string retorna o id
      */
     $idCategoria = $this->_getIdCategoria($categoria);
     if (!$orderBy) {
         $orderBy = 'cms_conteudo.dh_ini_pub';
     }
     $_whereGroup = new ZendT_Db_Where_Group('AND');
     $_where = new ZendT_Db_Where();
     $_where->addFilter("cms_conteudo.id_categoria", $idCategoria);
     if ($idConteudoPai) {
         $_where->addFilter("cms_conteudo.id_conteudo_pai", $idConteudoPai);
     }
     $_where->addFilter("cms_conteudo.dh_ini_pub", ZendT_Type_Date::nowDateTime(), "<=");
     $_where->addFilter("status.acao", "A");
     $_whereGroup->addWhere($_where);
     $_where = new ZendT_Db_Where('OR');
     $_where->addFilter("cms_conteudo.dh_fim_pub", ZendT_Type_Date::nowDateTime(), ">=");
     $_where->addFilter("cms_conteudo.dh_fim_pub", "", "NULL");
     $_whereGroup->addWhere($_where);
     //($where, $retrieve = false, $found = false, $orderBy='1')
     $_recordset = $this->recordset($_whereGroup, false, false, $orderBy);
     $data = array();
     $result = array();
     while ($data = $_recordset->getRow()) {
         $data['url'] = ZendT_Url::getBaseUrl() . '/cms/conteudo/view/id/' . $data['id']->toPhp();
         $thumbnail = $data['thumbnail']->toPhp();
         if (!$thumbnail) {
             $_conteudo = new Cms_Model_Conteudo_Mapper();
             $_conteudo->setChave('generic')->retrieve();
             $thumbnail = $_conteudo->getThumbnail(true)->toPhp();
         }
         $data['thumbnail'] = $_fileSystem->getDirectoryAdress($thumbnail);
         $data['banner'] = $_fileSystem->getDirectoryAdress($data['banner']->toPhp());
         $avatar = $data['avatar_usuario_inc']->toPhp();
         if (!$avatar) {
             $avatar = $avatarGuest;
             //avatar genérico
         }
         $data['avatar_usuario_inc'] = $_fileSystem->getDirectoryAdress($avatar);
         $data['html_like'] = Cms_Helper_Likes::button($data['id']);
         $data['html_comment'] = Cms_Helper_Feeds::button($data['id']);
         if ($data['id_usuario_inc']->toPhp() == $idUsuario) {
             $data['nome_usuario_inc'] = 'Você';
         }
         $result[] = $data;
     }
     return $result;
 }
コード例 #7
0
ファイル: Mapper.php プロジェクト: rtsantos/mais
 public function setCurrentChave()
 {
     if (!$this->_currentChave) {
         $idCategoria = $this->getIdCategoria(true)->toPhp();
         if (!$idCategoria) {
             $_conteudo = new Cms_Model_Conteudo_Mapper();
             $_conteudo->setId($this->getId())->retrieve();
             $idCategoria = $_conteudo->getIdCategoria();
         }
         $_categoria = new Cms_Model_Categoria_Mapper();
         $_categoria->setId($idCategoria)->retrieve();
         $this->_currentChave = $_categoria->getChave()->toPhp();
     }
 }