function Novo()
 {
     $obj = new clsTopico(false, $this->id_pessoa, $this->cod_grupo, false, false, $this->assunto);
     $cod_topico = $obj->cadastra();
     if ($cod_topico) {
         $obj_grupo = new clsGrupoModerador();
         $lista = $obj_grupo->lista(false, $this->cod_grupo);
         if ($lista) {
             $grupo_pessoas = "";
             foreach ($lista as $moderador) {
                 $obj = $obj = new clsPessoaFisica($moderador['ref_ref_cod_pessoa_fj']);
                 $detalhe = $obj->detalhe();
                 $grupo_pessoas[] = $detalhe['email'];
             }
         }
         $obj_pessoa_criadora = $obj = new clsPessoaFisica($this->id_pessoa);
         $detalhe = $obj->detalhe();
         $nome_criador = $detalhe['nome'];
         $obj = new clsGrupos($this->cod_grupo);
         $detalhe = $obj->detalhe();
         $nome_grupo = $detalhe['nm_grupo'];
         $corpo_email = "<br><table summary=\"\" border=0 cellspacing=3 cellpadding=3><tr><td colspan='2'  style=\"border-bottom: 2px solid #024492\"><span class='titulo'><br><br><b>Novo T�pico Sugerido</b></span><br>\n<br>\n";
         $corpo_email .= "<tr><td><b><br>Grupo: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td>{$nome_grupo}</td></tr><br><tr><td><b><br>Membro: &nbsp;&nbsp;</td><td>{$nome_criador}</td></tr><br><tr><td><b><br>Assunto: &nbsp;&nbsp;</td><td>{$this->assunto}</td></tr></table>";
         $cabecalho = "From: PMI(itajai.com.br)\nReply-To: itajai.com.br";
         $objEmail = new clsEmail($grupo_pessoas, "[OpenTopic] - Novo T�pico", $corpo_email, "email_mailling_topic");
         $objEmail->envia();
         $cod_reuniao = $this->radio;
         if ($cod_reuniao) {
             $objTopicoReuniao = new clsTopicoReuniao($cod_topico, $cod_reuniao);
             $objTopicoReuniao->cadastra();
         }
         if ($_SESSION['pagina']) {
             header("Location: {$_SESSION['pagina']}");
             die;
         } else {
             header("Location: otopic_meus_grupos_det2.php?cod_grupo={$this->cod_grupo}");
             die;
         }
     }
     return false;
 }
Beispiel #2
0
 function MakeAll()
 {
     try {
         $cronometro = new clsCronometro();
         $cronometro->marca('inicio');
         $liberado = TRUE;
         $saida_geral = '';
         if ($this->convidado) {
             @session_start();
             $_SESSION['convidado'] = TRUE;
             $_SESSION['id_pessoa'] = '0';
             session_write_close();
         }
         $controlador = new clsControlador();
         if ($controlador->Logado() && $liberado || $this->convidado) {
             $this->Formular();
             $this->VerificaPermicao();
             $this->CadastraAcesso();
             $saida_geral = $this->MakeHeadHtml();
             if ($this->renderMenu) {
                 $saida_geral .= $this->MakeBody();
             } else {
                 foreach ($this->clsForm as $form) {
                     $saida_geral .= $form->RenderHTML();
                 }
             }
             $saida_geral .= $this->MakeFootHtml();
             if ($_GET['suspenso'] == 1 || $_SESSION['suspenso'] == 1 || $_SESSION["tipo_menu"] == 1) {
                 if ($this->renderMenuSuspenso) {
                     $saida_geral = str_replace("<!-- #&MENUSUSPENSO&# -->", $this->makeMenuSuspenso(), $saida_geral);
                 }
                 if ($_GET['suspenso'] == 1) {
                     @session_start();
                     $_SESSION['suspenso'] = 1;
                     @session_write_close();
                 }
             }
         } elseif (empty($_POST['login']) || empty($_POST['senha']) && $liberado) {
             $saida_geral .= $this->MakeHeadHtml();
             $controlador->Logar(FALSE);
             $saida_geral .= $this->MakeFootHtml();
         } else {
             $controlador->Logar(TRUE);
             if ($controlador->Logado() && $liberado) {
                 $this->Formular();
                 $this->VerificaPermicao();
                 $this->CadastraAcesso();
                 $saida_geral = $this->MakeHeadHtml();
                 $saida_geral .= $this->MakeBody();
                 $saida_geral .= $this->MakeFootHtml();
             } else {
                 $saida_geral = $this->MakeHeadHtml();
                 $controlador->Logar(false);
                 $saida_geral .= $this->MakeFootHtml();
             }
         }
         echo $saida_geral;
         $cronometro->marca('fim');
         $tempoTotal = $cronometro->getTempoTotal();
         $tempoTotal += 0;
         $objConfig = new clsConfig();
         if ($tempoTotal > $objConfig->arrayConfig["intSegundosProcessaPagina"]) {
             $conteudo = "<table border=\"1\" width=\"100%\">";
             $conteudo .= "<tr><td><b>Data</b>:</td><td>" . date("d/m/Y H:i:s", time()) . "</td></tr>";
             $conteudo .= "<tr><td><b>Script</b>:</td><td>{$_SERVER["PHP_SELF"]}</td></tr>";
             $conteudo .= "<tr><td><b>Tempo de processamento</b>:</td><td>{$tempoTotal} segundos</td></tr>";
             $conteudo .= "<tr><td><b>Tempo max permitido</b>:</td><td>{$objConfig->arrayConfig["intSegundosProcessaPagina"]} segundos</td></tr>";
             $conteudo .= "<tr><td><b>URL get</b>:</td><td>{$_SERVER['QUERY_STRING']}</td></tr>";
             $conteudo .= "<tr><td><b>Metodo</b>:</td><td>{$_SERVER["REQUEST_METHOD"]}</td></tr>";
             if ($_SERVER["REQUEST_METHOD"] == "POST") {
                 $conteudo .= "<tr><td><b>POST vars</b>:</td><td>";
                 foreach ($_POST as $var => $val) {
                     $conteudo .= "{$var} => {$val}<br>";
                 }
                 $conteudo .= "</td></tr>";
             } elseif ($_SERVER["REQUEST_METHOD"] == "GET") {
                 $conteudo .= "<tr><td><b>GET vars</b>:</td><td>";
                 foreach ($_GET as $var => $val) {
                     $conteudo .= "{$var} => {$val}<br>";
                 }
                 $conteudo .= "</td></tr>";
             }
             if ($_SERVER['HTTP_REFERER']) {
                 $conteudo .= "<tr><td><b>Referrer</b>:</td><td>{$_SERVER["HTTP_REFERER"]}</td></tr>";
             }
             $conteudo .= "</table>";
             $objMail = new clsEmail($objConfig->arrayConfig['ArrStrEmailsAdministradores'], "[INTRANET - PMI] Desempenho de pagina", $conteudo);
             $objMail->envia();
         }
     } catch (Exception $e) {
         $lastError = error_get_last();
         @session_start();
         $_SESSION['last_error_message'] = $e->getMessage();
         $_SESSION['last_php_error_message'] = $lastError['message'];
         $_SESSION['last_php_error_line'] = $lastError['line'];
         $_SESSION['last_php_error_file'] = $lastError['file'];
         @session_write_close();
         error_log("Erro inesperado (pego em clsBase): " . $e->getMessage());
         NotificationMailer::unexpectedError($e->getMessage());
         die("<script>document.location.href = '/module/Error/unexpected';</script>");
     }
 }
                	// nao envia e-mail para quem tem e-mail da prefeitura (soh se a pessoa selecionou pela outra opcao pra enviar por funcionarios)
                	$email = false;
                }
                */
            }
        }
    }
    if (isset($emails_enviados[$cod_conteudo]["{$email}"])) {
        $email = false;
    } else {
        $emails_enviados[$cod_conteudo]["{$email}"] = true;
    }
    if ($email) {
        $assunto = "[PORTAL ITAJAÍ] - " . $conteudos[$cod_conteudo]["assunto"];
        $email = limpa_acentos($email);
        $objEmail = new clsEmail($email, $assunto, $conteudos[$cod_conteudo]["conteudo"], "email_mailling_secom", $conteudos[$cod_conteudo]["rem_email"], $conteudos[$cod_conteudo]["rem_nome"], $conteudos[$cod_conteudo]["rem_email"], "html", $removeemail);
        $db2->Consulta("UPDATE mailling_fila_envio SET data_envio = NOW() WHERE cod_mailling_fila_envio = {$cod_fila}");
        if ($objEmail->envia()) {
            $enviados++;
            if ($verbose) {
                echo "-";
                if (!($enviados % 50)) {
                    echo "| ( {$enviados} )\n";
                }
            }
        }
    }
}
echo "fim dos envios\n";
if ($enviados) {
    echo "\nCron.Mailler - {$enviados} e-mails enviados.\n";
Beispiel #4
0
                $data_inicio = $compromisso["data_inicio"];
                $cod_agenda_compromisso = $compromisso["cod_agenda_compromisso"];
                $data_fim = $compromisso["data_fim"];
                $titulo = $compromisso["titulo"];
                $descricao = $compromisso["descricao"];
                $hora_inicio = date("H:i", strtotime($data_inicio));
                $hora_fim = date("H:i", strtotime($data_fim));
                if ($titulo) {
                    $disp_titulo = $titulo;
                } else {
                    // se nao tiver titulo pega as X primeiras palavras da descricao ( X = $qtd_tit_copia_desc )
                    $disp_titulo = implode(" ", array_slice(explode(" ", $descricao), 0, $qtd_tit_copia_desc));
                }
                $disp_titulo = "{$hora_inicio} - {$disp_titulo} - {$hora_fim}";
                $conteudo .= "<b>{$disp_titulo}</b><br>\n{$descricao}<br><br>\n\n";
            }
            $objEmail = new clsEmail($email, $assunto, $conteudo);
            $objEmail->envia();
            $enviados++;
            if ($verbose) {
                echo "-";
                if (!($enviados % 50)) {
                    echo "| ( {$enviados} )\n";
                }
            }
        }
    }
}
if ($enviados) {
    echo "\nCron.Agenda - {$enviados} e-mails enviados.\n";
}
 /**
  * Executa uma consulta SQL.
  *
  * @param  string  $consulta    Consulta SQL.
  * @param  bool    $reescrever  (Opcional) SQL é reescrita para transformar
  *   sintaxe MySQL em PostgreSQL.
  * @return bool|resource FALSE em caso de erro ou o identificador da consulta
  *   em caso de sucesso.
  */
 public function Consulta($consulta, $reescrever = true)
 {
     $cronometro = new clsCronometro();
     $cronometro->marca('inicio');
     if (empty($consulta)) {
         return FALSE;
     } else {
         $this->strStringSQL = $consulta;
     }
     $this->strStringSQLOriginal = $this->strStringSQL;
     $this->Conecta();
     if ($this->bDepurar) {
         printf("<br>Depurar: Frase de Consulta = %s<br>\n", $this->strStringSQL);
     }
     // Alterações de padrão MySQL para PostgreSQL
     if ($reescrever) {
         // Altera o Limit
         $this->strStringSQL = eregi_replace("LIMIT[ ]{0,3}([0-9]+)[ ]{0,3},[ ]{0,3}([0-9]+)", "LIMIT \\2 OFFSET \\1", $this->strStringSQL);
         // Altera selects com YEAR( campo ) ou MONTH ou DAY
         $this->strStringSQL = eregi_replace("(YEAR|MONTH|DAY)[(][ ]{0,3}(([a-z]|_|[0-9])+)[ ]{0,3}[)]", "EXTRACT( \\1 FROM \\2 )", $this->strStringSQL);
         // Remove os ORDER BY das querys COUNT()
         // Altera os LIKE para ILIKE (ignore case)
         $this->strStringSQL = eregi_replace(" LIKE ", " ILIKE ", $this->strStringSQL);
         $this->strStringSQL = eregi_replace("([a-z_0-9.]+) +ILIKE +'([^']+)'", "to_ascii(\\1) ILIKE to_ascii('\\2')", $this->strStringSQL);
         $this->strStringSQL = eregi_replace("fcn_upper_nrm", "to_ascii", $this->strStringSQL);
     }
     $temp = explode("'", $this->strStringSQL);
     for ($i = 0; $i < count($temp); $i++) {
         // Ignora o que está entre aspas
         if (!($i % 2)) {
             // Fora das aspas, verifica se há algo errado no SQL
             if (eregi("(--|#|/\\*)", $temp[$i])) {
                 $erroMsg = 'Proteção contra injection: ' . date("Y-m-d H:i:s");
                 echo "<!-- {$this->strStringSQL} -->";
                 $this->Interrompe($erroMsg);
             }
         }
     }
     // Executa a Consulta
     if ($this->executandoEcho) {
         echo $this->strStringSQL . "\n<br>";
     }
     $this->bConsulta_ID = pg_query($this->bLink_ID, $this->strStringSQL);
     $this->strErro = pg_result_error($this->bConsulta_ID);
     $this->bErro_no = $this->strErro == '' ? FALSE : TRUE;
     $this->iLinha = 0;
     if (!$this->bConsulta_ID) {
         if ($this->getThrowException()) {
             $message = $this->bErro_no ? "({$this->bErro_no}) " . $this->strErro : pg_last_error($this->bLink_ID);
             $message .= PHP_EOL . $this->strStringSQL;
             throw new Exception($message);
         } else {
             $erroMsg = "SQL invalido: {$this->strStringSQL}<br>\n";
             die($erroMsg);
             if ($this->transactionBlock) {
                 // Nada.
             }
             $this->Interrompe($erroMsg);
             return FALSE;
         }
     }
     $cronometro->marca('fim');
     $tempoTotal = $cronometro->getTempoTotal();
     $objConfig = new clsConfig();
     if ($tempoTotal > $objConfig->arrayConfig['intSegundosQuerySQL']) {
         $conteudo = "<table border=\"1\" width=\"100%\">";
         $conteudo .= "<tr><td><b>Data</b>:</td><td>" . date("d/m/Y H:i:s", time()) . "</td></tr>";
         $conteudo .= "<tr><td><b>Script</b>:</td><td>{$_SERVER["PHP_SELF"]}</td></tr>";
         $conteudo .= "<tr><td><b>Tempo da query</b>:</td><td>{$tempoTotal} segundos</td></tr>";
         $conteudo .= "<tr><td><b>Tempo max permitido</b>:</td><td>{$objConfig->arrayConfig["intSegundosQuerySQL"]} segundos</td></tr>";
         $conteudo .= "<tr><td><b>SQL Query Original</b>:</td><td>{$this->strStringSQLOriginal}</td></tr>";
         $conteudo .= "<tr><td><b>SQL Query Executado</b>:</td><td>{$this->strStringSQL}</td></tr>";
         $conteudo .= "<tr><td><b>URL get</b>:</td><td>{$_SERVER['QUERY_STRING']}</td></tr>";
         $conteudo .= "<tr><td><b>Metodo</b>:</td><td>{$_SERVER["REQUEST_METHOD"]}</td></tr>";
         if ($_SERVER['REQUEST_METHOD'] == 'POST') {
             $conteudo .= "<tr><td><b>POST vars</b>:</td><td>";
             foreach ($_POST as $var => $val) {
                 $conteudo .= "{$var} => {$val}<br>";
             }
             $conteudo .= "</td></tr>";
         } elseif ($_SERVER['REQUEST_METHOD'] == 'GET') {
             $conteudo .= "<tr><td><b>GET vars</b>:</td><td>";
             foreach ($_GET as $var => $val) {
                 $conteudo .= "{$var} => {$val}<br>";
             }
             $conteudo .= "</td></tr>";
         }
         if ($_SERVER['HTTP_REFERER']) {
             $conteudo .= "<tr><td><b>Referrer</b>:</td><td>{$_SERVER["HTTP_REFERER"]}</td></tr>";
         }
         $conteudo .= "</table>";
         $objEmail = new clsEmail($objConfig->arrayConfig['ArrStrEmailsAdministradores'], "[INTRANET - PMI] Desempenho de query", $conteudo);
         $objEmail->envia();
     }
     return $this->bConsulta_ID;
 }
 function Editar()
 {
     $obj = new clsTopicoReuniao();
     $obj->exclui_todos($this->cod_reuniao);
     $data = $this->data;
     $data2 = $this->data_final;
     $this->data = explode("/", $this->data);
     $data_inicial = "{$this->data[2]}/{$this->data[1]}/{$this->data[0]} {$this->hora_inicial}";
     $this->data_final = explode("/", $this->data_final);
     $data_final = "{$this->data_final[2]}/{$this->data_final[1]}/{$this->data_final[0]} {$this->hora_final}";
     $this->email_enviado = $this->email_enviado ? 1 : "";
     $obj = new clsReuniao($this->cod_reuniao, $this->id_pessoa, $this->cod_grupo, $this->descricao, $this->email_enviado, $data_inicial, $data_final);
     $obj->edita();
     $lista_topicos = "";
     foreach ($_POST as $id => $campo) {
         if (substr($id, 0, 4) == "top_") {
             $cod_topico = substr($id, 4);
             $lista_topicos[] = $cod_topico;
             $obj = new clsTopicoReuniao($cod_topico, $this->cod_reuniao);
             $obj->cadastra();
         }
     }
     if ($this->email_enviado) {
         // Busca Email dos Moderadores e Membros do Grupo
         $obj = new clsGrupoPessoa();
         $lista = $obj->lista(false, $this->cod_grupo);
         if ($lista) {
             $grupo_pessoas = "";
             foreach ($lista as $pessoa) {
                 $obj = new clsPessoaFisica($pessoa['ref_idpes']);
                 $detalhe = $obj->detalhe();
                 if ($detalhe['email']) {
                     $grupo_pessoas[] = $detalhe['email'];
                 }
             }
         }
         $obj = new clsGrupoModerador();
         $lista = $obj->lista(false, $this->cod_grupo);
         if ($lista) {
             $grupo_pessoas = "";
             foreach ($lista as $pessoa) {
                 $obj = new clsPessoaFisica($pessoa['ref_ref_cod_pessoa_fj']);
                 $detalhe = $obj->detalhe();
                 if ($detalhe['email']) {
                     $grupo_pessoas[] = $detalhe['email'];
                 }
             }
         }
         $obj = new clsReuniao($this->cod_reuniao);
         $detalhe_reuniao = $obj->detalhe();
         $corpo_email .= "<br><table summary=\"\" border=0 cellspacing=3 cellpadding=3><tr><td colspan='2'  style=\"border-bottom: 2px solid #024492\"><span class='titulo'><b>Descrição da Reunião</b>.</span><br>\n<br>\n";
         $corpo_email .= "<tr><td><b>{$detalhe_reuniao['descricao']}</b></td><td width=250><br><br></td></tr>";
         if ($data == $data2) {
             $corpo_email .= "<tr><td><b><br>Data: {$data} das {$this->hora_inicial} as {$this->hora_final}</b></td><td width=250><br></td></tr>";
         } else {
             $corpo_email .= "<tr><td><b><br>Data de Inicio: {$data} {$this->hora_inicial} - Data de Fim: {$data2} {$this->hora_final}</b></td><td width=250><br></td></tr>";
         }
         $corpo_email .= "<tr><td><b><span class='titulo'><br>Tópicos</span></b></td><td width=250></td></tr>";
         foreach ($lista_topicos as $topico) {
             $obj = new clsTopico($topico);
             $detalhe = $obj->detalhe();
             $corpo_email .= "<tr><td><br><br>{$detalhe['assunto']}</td></tr></table>";
         }
         $cabecalho = "From: PMI(itajai.com.br)\nReply-To: itajai.com.br";
         $objEmail = new clsEmail($grupo_pessoas, "[OpenTopic] - Nova Reunião", $corpo_email, "email_mailling_topic");
         $objEmail->envia();
     }
     header("Location: otopic_meus_grupos_det2.php?cod_grupo={$this->cod_grupo}");
     return false;
 }
 function Editar()
 {
     global $HTTP_POST_FILES;
     @session_start();
     $this->id_pessoa = @$_SESSION['id_pessoa'];
     session_write_close();
     $db = new clsBanco();
     $db2 = new clsBanco();
     if (!empty($HTTP_POST_FILES['arquivo']['name'])) {
         $data = date("d_m_Y_H_i", time());
         $arquivoSalvar = "arquivos/editais/" . $data . strtolower($HTTP_POST_FILES['arquivo']['name']);
         $extensao = substr($arquivoSalvar, -3);
         $this->arquivo = $HTTP_POST_FILES['arquivo']['tmp_name'];
         if (file_exists($this->arquivo)) {
             // salva o arquivo temporario
             move_uploaded_file($HTTP_POST_FILES['arquivo']['tmp_name'], $arquivoSalvar);
             // pega o total de editais ja cadastrados para esta licitacao
             $versao = $db->CampoUnico("SELECT count(0) FROM compras_editais_editais WHERE ref_cod_compras_licitacoes = '{$this->ref_licitacao}'");
             // verifica se a licitacao esta visivel
             $visivel = $db->CampoUnico("SELECT visivel FROM compras_editais_editais WHERE ref_cod_compras_licitacoes = '{$this->ref_licitacao}' AND versao = {$versao}");
             // versao = total + 1; para gravar no novo registro
             $versao++;
             // insere o novo edital
             $db->Consulta("INSERT INTO compras_editais_editais( ref_cod_compras_licitacoes, versao, data_hora, arquivo, ref_ref_cod_pessoa_fj, motivo_alteracao, visivel ) VALUES( '{$this->ref_licitacao}', '{$versao}', NOW(), '{$arquivoSalvar}', '{$this->id_pessoa}', '{$this->motivo}', {$visivel} )");
             $insertId = $db->InsertId("compras_editais_editais_cod_compras_editais_editais_seq");
             // seleciona todas as empresas que baixaram o edital
             $db->Consulta("SELECT ref_cod_compras_editais_empresa FROM compras_editais_editais_empresas WHERE ref_cod_compras_editais_editais IN ( SELECT cod_compras_editais_editais FROM compras_editais_editais WHERE ref_cod_compras_licitacoes = '{$this->ref_licitacao}' )");
             $lista = array();
             while ($db->ProximoRegistro()) {
                 list($cod_empresa) = $db->Tupla();
                 $email = $db2->CampoUnico("SELECT email FROM compras_editais_empresa WHERE cod_compras_editais_empresa = '{$cod_empresa}'");
                 $lista[$cod_empresa] = $email;
             }
             // se existirem empresas que ja baixaram e o edital estiver visivel
             if (count($email) && $visivel) {
                 $db->Consulta("SELECT numero, nm_modalidade FROM compras_licitacoes, compras_modalidade WHERE cod_compras_licitacoes = '{$this->ref_licitacao}' AND cod_compras_modalidade = ref_cod_compras_modalidade");
                 $db->ProximoRegistro();
                 list($licitacao, $nm_modalidade) = $db->Tupla();
                 // gera conteudo
                 $conteudo = "Informamos por meio desta, que o edital da licitação da modalidade {$nm_modalidade} {$licitacao} foi alterado e possui uma nova versão.<br>\n<br>\n";
                 $conteudo .= "Para obter a nova versão <a href=\"http://www.itajai.sc.gov.br/licitacoes_editais_det.php?cod_edital={$insertId}\" target=\"_blank\">clique aqui</a> ou acesse: http://www.itajai.sc.gov.br/licitacoes.php?cod_edital={$insertId}<br>\n<br>\n";
                 $conteudo .= "O motivo da alteração é:<br>\n{$this->motivo}";
                 // envia o e-mail para as empresas separadamente
                 foreach ($lista as $cod_empresa => $email) {
                     $objEmail = new clsEmail($email, "[PMI] Alteração de Edital", $conteudo);
                     $objEmail->envia();
                 }
             }
             header("location: licitacoes_edital_relatorio.php?edital={$insertId}");
             die;
         }
     }
     return false;
 }