Exemplo n.º 1
0
 /**
  * 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', '%?%');
 }
Exemplo n.º 2
0
 protected function _loadColumns()
 {
     $_view = new Profile_Model_ObjectView_Mapper();
     $_papel = new Auth_Model_Conta_Mapper();
     $_privilegio = new Profile_Model_ObjectViewPriv_Mapper();
     $_usuario = new Auth_Model_Usuario_Mapper();
     $_empresa = new Ca_Model_Empresa_Mapper();
     $_filial = new Ca_Model_Filial_Mapper();
     $this->_columns = new ZendT_Db_Column_View('Profile_DataView_ObjectViewPriv_Usuarios', $this->_getSettingsDefault());
     $this->_columns->add('id_visao', 'base', 'id_visao', $_view->getId(true), 'Id. da Visão', '', '=');
     $this->_columns->add('nome_visao', 'base', 'nome_visao', $_view->getNome(true), 'Nome da Visão', '', '?%');
     $this->_columns->add('objeto_visao', 'base', 'objeto_visao', $_view->getObjeto(true), 'Objeto da Visão', '', '?%');
     $this->_columns->add('grupo_liberado', 'base', 'grupo_liberado', $_papel->getNome(true), 'Grupo Liberado', '', '?%');
     $this->_columns->add('tipo_privilegio', 'base', 'tipo_privilegio', $_privilegio->getTipo(true), 'Tipo da Liberação', '', '=');
     $this->_columns->add('nome_usuario', 'base', 'nome_usuario', $_usuario->getNome(true), 'Nome do Usuário', '', '?%');
     $this->_columns->add('email_usuario', 'base', 'email_usuario', $_usuario->getEmail(true), 'E-Mail do Usuário', '', '?%');
     $this->_columns->add('empresa_usuario', 'base', 'empresa_usuario', $_empresa->getSigla(true), 'Empresa do Usuário', '', '?%');
     $this->_columns->add('filial_usuario', 'base', 'filial_usuario', $_filial->getSigla(true), 'Filial do Usuário', '', '?%');
     $this->_columns->add('grupo_usuario', 'base', 'grupo_usuario', $_papel->getNome(true), 'Grupo do Usuário', '', '?%');
     $this->_columns->add('nome_cliente_usuario', 'base', 'nome_cliente_usuario', $_usuario->getNome(true), 'Nome do Cliente do Usuário', '', '?%');
     $this->_columns->add('cnpj_cliente_usuario', 'base', 'cnpj_cliente_usuario', $_usuario->getNome(true), 'CNPJ do Cliente do Usuário', '', '?%');
 }
Exemplo n.º 3
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();
     }
 }
Exemplo n.º 4
0
 protected function _beforeSave()
 {
     parent::_beforeSave();
     if ($this->_action == 'insert') {
         /*if (!$this->getIdStatus(true)->toPhp()) {
               $this->setIdStatus(1);
           }*/
         if (!$this->getChaveMacro(true)->toPhp()) {
             $this->setChaveMacro('{dh_ini_pub}_{titulo}');
         }
         if (!$this->getIdUsuarioInc(true)->toPhp()) {
             $idUsuario = Zend_Auth::getInstance()->getStorage()->read()->getId();
             $this->setIdUsuarioInc($idUsuario);
         }
         if (!$this->getDhIniPub(true)->toPhp()) {
             $this->setDhIniPub('SYSDATE');
         }
         if (!$this->getPublico(true)->toPhp()) {
             $this->setPublico('S');
         }
         if (!$this->getTitulo(true)->toPhp()) {
             $titulo = html_entity_decode(substr(strip_tags(str_replace("\n", " ", $this->getCorpo(true)->get())), 0, 40)) . "...";
             $this->setTitulo($titulo);
         }
         if (!$this->getIdFilial(true)->toPhp()) {
             $idFilial = $_SESSION['logon']['filial']['id'];
             $this->setIdFilial($idFilial);
         }
         $now = ZendT_Type_Date::nowDateTime();
         $_categoria = new Cms_Model_Categoria_Mapper();
         $_categoria->setId($this->getIdCategoria(true)->toPhp())->retrieve();
         $chaveCategoria = $_categoria->getChave(true)->toPhp();
         if (strpos($chaveCategoria, 'fale-com-a-diretoria') !== false) {
             $_usuario = new Auth_Model_Usuario_Mapper();
             $_usuario->setId($this->getIdUsuarioInc())->retrieve();
             if (trim(strtolower($_usuario->getEmail()->toPhp())) != trim(strtolower($this->getSubTitulo()->toPhp()))) {
                 $this->setIdUsuarioInc(1);
             }
         }
     }
     if ($this->_action != 'delete') {
         $dh_fim_pub = $this->getDhFimPub(true)->toPhp();
         if ($dh_fim_pub && $dh_fim_pub < $this->getDhIniPub()->toPhp()) {
             throw new ZendT_Exception("Data/Hora fim da publicação deve ser maior ou igual a data/hora início da publicação!");
         }
         $this->setCorpoUrl($this->getCorpoUrl(true)->get());
         $uri = $this->getCorpoUrl(true)->get();
         //$uri = filter_var($uri, FILTER_VALIDATE_URL);
         if (strlen($uri) >= 10) {
             $sub = "&";
             if (strpos($uri, "?") === false) {
                 $sub = "?";
             }
             $uri .= $sub . "no_location=1&__idUserToken__=7148540&__codeToken__=102122";
             $uri = ZendT_Url::formatUrl('{host}' . $uri);
             $client = new Zend_Http_Client($uri, array('timeout' => '60'));
             $response = $client->request();
             $corpo = $response->getBody();
             $this->setCorpo($corpo);
         } else {
             $this->setCorpoUrl(NULL);
         }
         $chaveMacro = $this->getChaveMacro(true)->get();
         if ($chaveMacro) {
             $data = $this->getData();
             $_categoria = new Cms_Model_Categoria_Mapper();
             $_categoria->setId($this->getIdCategoria()->toPhp())->retrieve();
             $data['chave_categoria'] = $_categoria->getChave();
             preg_match_all("/\\{(.*?)\\}/", $chaveMacro, $replace);
             foreach ($replace[1] as $field) {
                 $field = trim($field);
                 $valueField = $data[$field]->get();
                 $chaveMacro = str_replace('{' . $field . '}', $valueField, $chaveMacro);
             }
             $chave = str_replace(array('/', '\\', '|', ' '), '-', $chaveMacro);
             $this->setChave($chave);
         }
         $_status = new Cms_Model_Status_Mapper();
         $_status->setId($this->getIdStatus(true))->retrieve();
         $acao = $_status->getAcao(true)->toPhp();
         if ($acao == 'C' || $acao == 'F') {
             $this->setDhFimPub('SYSDATE');
         }
     }
     $this->setCurrentChave();
 }