Ol� para todos.
Navegando na internet pesquisando algum sistema de extrato online, achei um bastante interessante, desenvolvido pelo Wagner Quedi. Eu e a minha equipe instalamos em dois servidores de testes, sendo: Conectiva 9 e Conectiva 10 rc1.
O interessante desse script desenvolvido em PHP pelo Wagner, � que ele usa o protocolo POP3 para poder autenticar os usu�rios e depois disponibilizar o seu extrato de conex�o.
No Conectiva 9, tudo funcionou muito bem e os usu�rios se autenticam corretamente no POP3 e apresenta o extrato. J� no Conectiva 10 rc1, onde fizemos testes somente para nos acostumar com a futura vers�o da distribui��o que a gente utiliza, o usu�rio n�o consegue autenticar de forma alguma.
Em ambos os servidores, o servi�o POP3 � provido pelo courier-imap e foram compilados no mesmo dia e com os mesmos par�metros e funcionam corretamente, permitindo ao usu�rio se autenticar atrav�s de testes realizados com telnet e clientes de email.
Estou em d�vida se no Conectiva 10 houve alguma altera��o na compila��o do PHP que possa estar influenciando o funcionamento do script.
Algu�m sabe algo a respeito?
Obrigada.
Aline
----
Scripts da autentica��o via pop3:
index.php:
<? include("config.inc.php"); ?>
<html>
<head>
<title><? echo $TITULO_SITE; ?></title>
<link rel="stylesheet" href="estilo.css" type="text/css">
</head>
<body>
<form name="aut" method="post" action="extrato.php">
<span class="texto">Login:
<input type="text" name="login" size="8" maxlength="20">
<br>
Senha:
<input type="password" name="senha" size="8" maxlength="20">
<br>
<?
$date = getdate();
$curmes = $date["mon"];
$curano = $date["year"];
$dataa = date("Ym");
$meses = array( " ", "Janeiro", "Fevereiro", "Mar�o", "Abril",
"Maio", "Junho", "Julho", "Agosto",
"Setembro", "Outubro", "Novembro", "Dezembro");
?>
<select name="extmes" size="1" class="edit">
<option selected value="<? echo $dataa; ?>">
<? echo "$meses[$curmes] / $curano"; ?>
</option>
<?
for ($i = 1; $i <= 11; $i++) {
$curmes = ($curmes - 1) % 12;
if ($curmes == 0) {
$curmes = 12;
$curano--;
}
$mes = sprintf("%04d%02d", $curano, $curmes);
echo("<option value=\"$mes\">$meses[$curmes] / $curano </option>\n");
}
?>
</select>
</span> <br>
<input type="submit" name="Acessar" value="Acessar" class="texto">
</form>
</body>extrato.php
<? include("config.inc.php"); ?>
<html>
<head>
<title><? echo $TITULO_SITE; ?></title>
<link rel="stylesheet" href="estilo.css" type="text/css">
</head>
<body>
<?
//Usado para iniciar a autentica��o
$dsn = "{" . $IP_AUTENTICA ."/pop:110}";//func��o que ir� verificar se a senha � valida ou nao ..
function authenticate($dsn, $username, $password)
{
$imap = @imap_open($dsn, $username ,$password, OP_HALFOPEN);
if ($imap) {
@imap_close($imap);
return true;
}
@imap_close($imap);
return false;
}//recebe o login, senha e manda autenticar
if (authenticate($dsn,$login,$senha)) {
// Usu�rio autenticado...
$dataa = date("Ym");
$meis = date("m") . "-" . date("Y");
$arq = $PASTA_EXTRATO . $extmes . "/" . $login;
$log = "$login";
if (file_exists($arq)) {
$fp = file($arq);
} else {
echo "<span class='descricao'>" . $MSG_ERRO_NO_EXTRATO . "<BR></span>";
}
//// INICIO DO EXTRATO RESUMIDO
$total_acessos = count($fp)-7;
$total_horas = substr($fp[count($fp)-3],14,8);
$dia_horas = substr($fp[count($fp)-2],23,8);
$semana_horas = substr($fp[count($fp)-2],42,8); $ttmp = explode(":",$fp[count($fp)-1]);
$ttmp2 = explode("/",$ttmp[1]);
$total_trafego_ent = $ttmp2[0];
$total_trafego_sai = $ttmp2[1];?>
<table width="750" border="0" cellspacing="0" cellpadding="0" class="caixa-cinza-rhallado" align="center">
<tr>
<td class="texto"> > <? echo $MSG_RESUMIDO_EXTRATO; ?></td>
</tr>
<tr><td><span class="texto"> .: Total de Horas Utilizadas:</span><span class="dadocen"> <? echo $total_horas; ?></span></td></tr>
<tr><td><span class="texto"> .: Média de Horas Utilizadas por Dia:</span><span class="dadocen"> <? echo $dia_horas; ?></span></td></tr>
<tr><td><span class="texto"> .: Média de Horas Utilizadas por Semana:</span><span class="dadocen"> <? echo $semana_horas; ?></span></td></tr>
<tr><td><span class="texto"> .: Total de Dados Trafegados ( Uploads ):</span><span class="dadocen"> <? echo $total_trafego_ent; ?></span></td></tr>
<tr><td><span class="texto"> .: Total de Dados Trafegados ( Downloads ):</span><span class="dadocen"> <? echo $total_trafego_sai; ?></span></td></tr>
<tr><td><span class="texto"> .: Total de Acessos:</span><span class="dadocen"> <? echo $total_acessos; ?></span></td></tr>
</table>
<?
include("extrato.inc.php");
tabelainit($login, $extmes);
for($i2=2; $i2 < count($fp)-4; $i2++) {
// filtra os dados da tabela.
$dados[0] = substr($fp[$i2],0,10);
$dados[1] = substr($fp[$i2],11,8);
$dados[2] = substr($fp[$i2],20,8);
$dados[3] = substr($fp[$i2],29,7);
$dados[4] = substr($fp[$i2],38,4);
$dados[5] = substr($fp[$i2],58,7);
$dados[6] = substr($fp[$i2],51,10);
if (substr($dados[0],0,8) == "Multiple") {
$i2++;
$dados[0] = substr($fp[$i2],0,10);
$dados[1] = substr($fp[$i2],11,8);
$dados[2] = substr($fp[$i2],20,8);
$dados[3] = substr($fp[$i2],29,7);
$dados[4] = substr($fp[$i2],38,4);
$dados[5] = substr($fp[$i2],58,7);
$dados[6] = substr($fp[$i2],51,10);
echo "<td colspan='100%' width='100%' bgcolor='white' valign='top' align='left'><font face=\"verdana\" size=\"-1\" color=\"navy\"><b>Acesso Simult�neo Detectado:</b></font></td>";
tabelaloop("<B>$dados[0]</b>", "<B>$dados[1]</b>", "<B>$dados[2]</b>", "<B>$dados[3]</b>", "<B>$dados[4]</b>", "<B>$dados[5]</b>", "<B>$dados[6]</b>");
}
elseif ($dados[0] == "----------") { }
else {
tabelaloop($dados[0], $dados[1], $dados[2], $dados[3], $dados[4], $dados[5], $dados[6]);
}
}
echo "</table>";
echo "<table border=0 cellpadding=0 cellspacing=1 width=750 bgcolor=gray align=center>";
echo "<tr bgcolor=gray valign=top align=left><td bgcolor=#fefefe>";
echo "<font face=verdana size=-1 color=navy>";
$i2++;
echo "$fp[$i2]";
echo "</font></td></tr>";
tabelafim();
} else {
// Usu�rio ou senha inv�lido
echo "<center><font face=verdana size=2>$MSG_ERRO_LOGIN</font></center>";
}
?>
</body>
</html>
--------------------------------------------------------------------------- Esta lista � patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br
Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br Regras de utiliza��o da lista: http://linux-br.conectiva.com.br FAQ: http://www.zago.eti.br/menu.html
