示例#1
0
文件: Mapper.php 项目: rtsantos/mais
 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();
 }
示例#2
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();
     }
 }
示例#3
0
文件: User.php 项目: rtsantos/mais
 public function getNameFormat($empresa = true, $filial = true, $primeiroUltimo = false)
 {
     $_usuario = new Auth_Model_Usuario_Mapper();
     return $_usuario->setId($this->getId())->retrieve()->getNomeFormatado($empresa, $filial, $primeiroUltimo);
 }