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(); }
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(); } }
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); }