segundo commit para testar
[LogadorPet.git] / esqc_log.php
blob4c11651be30c314dd7fb704e9b0119a63c425434
1 <?php
2 $ano = $_POST['ano'];
3 $mes = $_POST['mes'];
4 $dia = $_POST['dia'];
5 $hora = $_POST['hora'];
6 $minuto = $_POST['minuto'];
8 // se todos os dados estiverem disponíveis para a informação de quando o usuário saiu e esqueceu logado
9 if (!(empty($ano) OR empty($mes) OR empty($dia) OR empty($hora) OR empty($minuto)))
12 // realiza a conexão com o banco de dados
13 require_once("Globals.php");
14 conecta();
16 // obtém os tempos em segundos do tempo atual e do tempo de saída
17 $logout = "$ano-$mes-$dia $hora:$minuto:00";
18 //$tempo_agora = strtotime("now");
19 //$tempo_logout = strtotime($logout);
21 //consulta abaixo retorna 0 resultados se o solicitante nao estiver logado ou se o final solicitado é anterior ao início do logado
22 $sql = "SELECT id_user FROM historico
23 WHERE
24 id_user = '". $_POST['log'] ."'
25 AND fim is NULL
26 AND inicio < '". $logout ."'
27 AND '". $logout ."' < NOW()";
28 $rs = mysql_query($sql);
30 if(mysql_affected_rows()==0)
32 //houve uma falha -> o solicitante informou que esqueceu logado em um período anterior ao que se logou de fato
33 echo("Data inválida! <br>");
34 echo "<a href='javascript: history.back(-1)'>Voltar</a></body></html>";
35 die();
37 else
38 { //proceder com 'deslogamento'
40 $sql = "SELECT inicio FROM config, historico
41 WHERE
43 (inicio > mes_inicio AND '". $logout ."' > mes_inicio)
45 (inicio < mes_inicio AND '". $logout ."' < mes_inicio)
47 AND id_user = '". $_POST['log'] ."'
48 AND fim is NULL;";
49 $rs = mysql_query($sql); //consulta retorna resultado caso o tempo atual (deslogado) esteja no mes atual
51 if(mysql_num_rows($rs) > 0) //meses iguais para logado e deslogado
52 { //deslogou no mesmo mes em que logou
53 $sql = "UPDATE
54 historico
55 SET
56 fim = '". $logout ."',
57 esq_logado = 1
58 WHERE
59 id_user = '". $_POST['log'] ."'
60 AND fim is NULL";
61 mysql_query($sql);
63 else
65 $sql = "UPDATE
66 historico
67 SET
68 fim = (SELECT (mes_inicio - INTERVAL 1 SECOND) FROM config),
69 esq_logado = 1
70 WHERE
71 id_user = '". $_POST['log'] ."'
72 AND fim is NULL";
73 mysql_query($sql);
74 $sql = "INSERT INTO historico (id_user, inicio, fim, esq_logado) VALUES ('". $_POST['log'] ."', (SELECT mes_inicio FROM config), '". $logout ."', 1)";
75 mysql_query($sql);
79 else // se nem todos os dados estiverem disponíveis para a informação de quando o usuário saiu e esqueceu logado
81 header("Location: index.php");
84 <script type="text/javascript">setTimeout("location.href = 'index.php';", 0);</script>