2 header ("Pragma: no-cache"); // sempre carregar página (não vai ser armazenada no cache http 1,0
3 header("Cache-Control: no-cache, must-revalidate"); // idem http 1,1
4 include("Pessoa.class.php");
5 include("ListaPessoas.class.php");
6 require_once("Globals.php");
10 $starttime = microtime();
11 $startarray = explode(" ", $starttime);
12 $starttime = $startarray[1] +
$startarray[0];
14 <!-- Programa Principal
do Logador (index
.php
)
15 1. Mostra a tabela com os dados de todos os usuá
rios (logados ou não
)
16 2. Permite o link para submissão de pendentes
17 3. Permite o link para entrar na área
do administrador
18 4. Permite links para Login
/Logout e Esqueci Logado
23 // inclui as funções necessárias para o trabalho com o logador
24 include("calctemp.php");
26 // verifica se o acesso atual encontra-se em uma nova semana petiana
27 // caso estiver, atualiza dado referente ao início da semana e atualiza o banco de dados
30 // verifica se o acesso atual encontra-se em um novo mês petiano
31 // caso estiver, atualiza dado referente ao início do mês e atualiza o banco de dados
37 <!DOCTYPE HTML
PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
40 <title
>Logador PET
- Computação
</title
>
41 <link rel
="stylesheet" type
="text/css" href
="estilo.css">
42 <script type
="text/javascript">setTimeout("location.href = 'index.php';", 30000);</script
>
44 function mostra(evt
, url
, nome
){
45 if(navigator
.appName
== 'Netscape'){ x
=(evt
.layerX
); y
=(evt
.layerY
);}
46 else { x
= (evt
.x
); y
= (evt
.y
);}
47 var obj
= document
.getElementById('title');
48 var obj2
= document
.getElementById('title2');
51 obj
.style
.visibility
= 'visible';
54 obj
.innerHTML
= "<img src='"+url+
"' name='image' width=100% height=100%>";
56 if(obj2
!= undefined
){
57 obj2
.style
.visibility
= 'visible';
60 obj2
.innerHTML
= "<h5 align=center>"+nome+
"</h5>";
65 var obj
= document
.getElementById('title');
66 var obj2
= document
.getElementById('title2');
69 obj
.style
.visibility
= 'visible';
72 obj
.innerHTML
= "<img src='fotos/pet.jpg' name='image' width=100% height=100%>";
74 if(obj2
!= undefined
){
75 obj2
.style
.visibility
= 'visible';
78 obj2
.innerHTML
= "<h5 align=center>PET</h5>";
80 obj
.style
.visibility
= 'hidden';
84 function petianomes(url
,nome
){
85 var obj
= document
.getElementById('petiano');
86 var obj2
= document
.getElementById('petiano2');
89 //obj.style.visibility = 'visible';
91 obj
.style
.left
= document
.body
.offsetWidth
- 220;
92 obj
.innerHTML
= "<img src='"+url+
"' name='image' width=100% height=100%>";
95 if(obj2
!= undefined
){
96 //obj2.style.visibility = 'visible';
98 obj2
.style
.left
= (document
.body
.offsetWidth
- 220) +
'px';
99 obj2
.innerHTML
= "<h5 align=center>PETIANO (OU NÃO) do Mês - "+nome+
"</h5>";
106 window
.open(link
,'page','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=500,height=300');
117 /* background: #FFFF99;
128 /* background: #FFFF99;
154 // abre conexão com banco de dados
157 $mes_inicio = getInicioMes();
158 $prox_mes = getProxMes();
159 $mes_anterior = getInicioMesAnterior();
160 $semana_inicio = getInicioSemana();
163 usuario.id_user as userId,
164 usuario.login AS nome,
169 (SELECT id_user, sec_to_time(sum(time_to_sec(timediff(fim, inicio)))) AS tempoMes FROM `historico`
170 WHERE fim is not NULL
172 ( (inicio > FROM_UNIXTIME(". $mes_anterior .")) AND (inicio < FROM_UNIXTIME(". $mes_inicio .")) )
174 ( (fim < FROM_UNIXTIME(". $mes_inicio .")) AND (fim > FROM_UNIXTIME(". $mes_anterior .")) )
177 ORDER BY tempoMes DESC
178 LIMIT 1) AS petianoMes
184 ON (dados.id = usuario.id_user)
186 ON (dados.id = petianoMes.id_user)
190 $pesq_petiano_mes = mysql_query($sql) or die(mysql_error());
191 $linha_petiano_mes = mysql_fetch_array($pesq_petiano_mes);
194 <body onLoad
="tira(); petianomes('<?php echo PATH_FOTO.$linha_petiano_mes['foto']."','".$linha_petiano_mes['nome']."'";?>)" onResize="petianomes('<?php
echo PATH_FOTO
.$linha_petiano_mes['foto']."','".$linha_petiano_mes['nome']."'";?
>)">
195 <div id='petiano2'></div>
196 <div id='petiano'></div>
197 <div id='title2'></div>
198 <div id='title'></div>
205 <a href="http
://pet-server:8000/trac">!- TRAC -!</a>
210 <table align
="center" border
=1 class="bordasimples">
211 <tr bgcolor
="#990033" style
="color: #fff;" align
="center">
212 <td width
="200" align
="left">Nome
</td
>
213 <td width
="80">Horas
</td
>
214 <td width
="80">Semana
</td
>
215 <td width
="80">Mês
</td
>
216 <td width
="70">Pendentes
</td
>
217 <td width
="50">Login
</td
>
218 <td
>Esqueci Logado
</td
>
223 $before_time = microtime();
224 $before_array = explode(" ", $before_time);
225 $before_time = $before_array[1] +
$before_array[0];
228 $sql = "SELECT id_user AS userId,
232 IF( mensagensNaoLidas.id_to is NULL, FALSE, TRUE) AS hasUnreadMessage,
233 IF( mensagensLidas.id_to is NULL, FALSE, TRUE) AS hasMessage,
234 IF( tempoPendentes is NOT NULL, TIME_FORMAT(tempoPendentes, '%Hh %imin'), tempoPendentes) AS pendentes,
235 IF( isLogado is NULL, 0, isLogado) AS isLogado,
236 IF( tempoLogado is NULL, '00h 00min', TIME_FORMAT(tempoLogado, '%Hh %imin')) AS atual_logado,
237 IF( tempoSem is NULL, '00h 00min', TIME_FORMAT(tempoSem, '%Hh %imin')) AS semana_logado,
238 IF( tempoMes is NULL, '00h 00min', TIME_FORMAT(tempoMes, '%Hh %imin')) AS mes_logado
242 (SELECT usuario.id_user, dados.foto, usuario.faltas, usuario.login
244 usuario LEFT JOIN dados ON (usuario.id_user = dados.id)
248 SELECT DISTINCT id_to FROM mensagem WHERE lido = 0
249 ) AS mensagensNaoLidas
250 ON (dados.id_user = mensagensNaoLidas.id_to)
253 SELECT DISTINCT id_to FROM mensagem WHERE lido = 1
255 ON (dados.id_user = mensagensLidas.id_to)
263 (SELECT id_user, sec_to_time(SUM(secTempoMes)) AS tempoMes, SUM(isLogado) AS isLogado
265 ((SELECT id_user, sum(time_to_sec(timediff(fim, inicio))) AS secTempoMes, FALSE AS isLogado FROM `historico`
266 WHERE fim is not NULL
268 ( (inicio >= FROM_UNIXTIME(". $mes_inicio .")) AND (inicio < FROM_UNIXTIME(". $prox_mes .")) )
270 ( (fim < FROM_UNIXTIME(". $prox_mes .")) AND (fim > FROM_UNIXTIME(". $mes_inicio .")) )
274 (SELECT id_user, sum(time_to_sec(timediff(NOW(), inicio))) AS secTempoMes, TRUE AS isLogado FROM `historico`
276 GROUP BY id_user)) AS tableHorasMes
277 GROUP BY id_user) AS tableHorasMes
279 (SELECT id_user, sec_to_time(SUM(secTempoSem)) AS tempoSem, SUM(isLogado) AS isLogado
281 ((SELECT id_user, sum(time_to_sec(timediff(fim, inicio))) AS secTempoSem, FALSE AS isLogado FROM `historico`
282 WHERE fim is not NULL
284 ( (inicio >= FROM_UNIXTIME(". $semana_inicio .")) AND (inicio < FROM_UNIXTIME(". $semana_inicio ."+". UMA_SEMANA_SEC
.")) )
286 ( (fim < FROM_UNIXTIME(". $semana_inicio ."+". UMA_SEMANA_SEC
.")) AND (fim > FROM_UNIXTIME(". $semana_inicio .")) )
290 (SELECT id_user, sum(time_to_sec(timediff(NOW(), inicio))) AS secTempoSem, TRUE AS isLogado FROM `historico`
292 GROUP BY id_user)) AS tableHorasSem
293 GROUP BY id_user) AS tableHorasSem
294 USING (id_user, isLogado)
296 ) RIGHT JOIN (SELECT id_user FROM usuario) AS allUsers
299 (SELECT id_user, sec_to_time(tempoPendentes) AS tempoPendentes
301 (SELECT id_user, sum(time_to_sec(timediff(fim, inicio))) AS tempoPendentes
303 GROUP BY id_user) AS tablePendentes
308 (SELECT id_user, timediff(NOW(), inicio) AS tempoLogado FROM `historico`
318 $pesq_usuario = mysql_query($sql) or die("<br><br><br><br>erro ao procurar pelos usuarios<br>".mysql_error());
320 $Listagem = new ListaPessoas();
322 while ($usuario = mysql_fetch_array($pesq_usuario))
324 $pessoa = new Pessoa
;
325 $pessoa->setId($usuario['userId']);
326 $pessoa->setNome($usuario['nome']);
327 $pessoa->setFoto(PATH_FOTO
.$usuario['foto']);
329 $pessoa->setLogado($usuario['isLogado']);
331 $atual_logado = ($usuario['isLogado']) ?
$usuario['atual_logado'] : '';
332 $pessoa->setNow($atual_logado);
333 $pessoa->setSemana($usuario['semana_logado']);
334 $pessoa->setMes($usuario['mes_logado']);
336 $faltas = ($usuario['faltas']==0) ?
'' : $usuario['faltas'];
337 $pessoa->setFaltas($faltas);
339 $pendentes = ($usuario['pendentes']==NULL) ?
'' : $usuario['pendentes'];
340 $pessoa->setPendente($pendentes);
342 if($usuario['hasUnreadMessage'])
344 $pessoa->setUnreadMessage();
346 if($usuario['hasMessage'])
348 $pessoa->setMessage();
350 $Listagem->addPerson($pessoa);
353 $Listagem->printList();
359 <table border
="2" class='bordasimples' align
="center">
362 <a href
="submeter_p.php" id
="formulario">
369 <a href
="enviar_mensagem.php">
377 Área
do Administrador