/** * Carrega as colunas com suas configurações */ protected function _loadColumns() { $this->_columns = new ZendT_Db_Column_View('Profile_DataView_Job_Users', $this->_getSettingsDefault()); $_view = new Profile_Model_ObjectView_Mapper(); $_usuario = new Auth_Model_Usuario_Mapper(); $this->_columns->addExpression('uri_token', "gettokenforurlportal(usuario.login)", new ZendT_Type_String(), ZendT_Lib::translate('Token URI'), 'String', '%?%'); $this->_columns->add('id', 'profile_job', 'id', $this->getModel()->getMapperName(), ZendT_Lib::translate('profile_job.id'), 'String', '%?%'); $this->_columns->add('id_profile', 'profile_object_view', 'id', $_view->getId(true), ZendT_Lib::translate('Identificação da Visão'), 'String', '%?%'); $this->_columns->add('observacao', 'profile_object_view', 'observacao', $_view->getObservacao(true), ZendT_Lib::translate('Observação da Visão'), 'String', '%?%'); $this->_columns->add('uri', 'profile_object_view', 'uri', $_view->getUri(true), ZendT_Lib::translate('URI da Visão'), 'String', '%?%'); $this->_columns->add('objeto', 'profile_object_view', 'objeto', $_view->getUri(true), ZendT_Lib::translate('Objeto da Visão'), 'String', '%?%'); $this->_columns->add('nome', 'profile_object_view', 'nome', $_view->getNome(true), ZendT_Lib::translate('Nome da Visão'), 'String', '%?%'); $this->_columns->add('id_usuario', 'usuario', 'id', $_usuario->getId(true), ZendT_Lib::translate('ID do Usuário'), 'Number', '='); $this->_columns->add('nome_usuario', 'usuario', 'nome', $_usuario->getNome(true), ZendT_Lib::translate('Nome do Usuário'), 'String', '?%'); $this->_columns->add('email_usuario', 'usuario', 'email', $_usuario->getEmail(true), ZendT_Lib::translate('E-Mail do Usuário'), 'String', '?%'); $this->_columns->add('id_papel', 'profile_job_dest', 'id_papel', $_view->getId(true), ZendT_Lib::translate('Identificação do Papel'), 'String', '%?%'); $this->_columns->add('nome_papel', 'papel_usu', 'nome', $_view->getId(true), ZendT_Lib::translate('Nome do Papel'), 'String', '%?%'); }
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(); } }