]> git.llucax.com Git - z.facultad/75.43/tp1.git/blob - src/lib/file.log.php
bugfix
[z.facultad/75.43/tp1.git] / src / lib / file.log.php
1 <?php
2 // vim: set binary noeol et sw=4 sts=4 :
3 // Grupo 10
4 //
5 // Lucarella, Schein, Arena
6 //
7 // Creado: Leandro Lucarella (mar may  3 23:34:43 ART 2005)
8 //
9 // $Id$
10
11 require_once 'lib/file.php';
12
13 /**
14  * Obtiene el log de un usuario
15  *
16  * @return array con id, password, email (false si hubo error o no está).
17  */
18 function file_log_open($user)
19 {
20     return fopen($filename, 'r');
21 }
22
23 /**
24  * Obtiene el log de un usuario
25  *
26  * @return array con id, password, email (false si hubo error o no está).
27  */
28 function file_log_next($fp)
29 {
30     return fgetcsv($fp, 4096);
31 }
32
33 /**
34  * Obtiene el log de un usuario
35  *
36  * @return array con id, password, email (false si hubo error o no está).
37  */
38 function file_log_seek($fp, $pos)
39 {
40     while (!feof($f) and $pos--) fgetcsv($fp, 4096);
41     return !$pos;
42 }
43
44 /**
45  * Obtiene el log de un usuario
46  *
47  * @return array con id, password, email (false si hubo error o no está).
48  */
49 function file_log_seek_fecha($fp, $fecha_desde)
50 {
51     $pos = 0;
52     $seek = ftell($fp);
53     while ($row = fgetcsv($fp, 4096))
54     {
55         if ($row[0] < $fecha_desde)
56         {
57             $seek = ftell($fp);
58             $pos++;
59         }
60         else
61         {
62             fseek($fp, $seek); // Vuelvo al principio del registro.
63         }
64     }
65     return $pos;
66 }
67
68 /**
69  * Obtiene el log de un usuario
70  *
71  * @return array con id, password, email (false si hubo error o no está).
72  */
73 function file_log_close($fp)
74 {
75     return fclose($fp);
76 }
77
78 /**
79  * Obtiene la información de un usuario.
80  *
81  * @return array con id, password, email (false si hubo error o no está).
82  */
83 function file_log_count($user, $fecha_desde = null)
84 {
85     if (($fp = file_log_open($user)) === false) return false; // error
86     if ($fecha_desde) file_log_seek_fecha($fp, $fecha_desde);
87     $count = 0;
88     while ($row = fgetcsv($fp, 4096)) $count++;
89     file_log_close($fp);
90     return $count;
91 }
92
93 /**
94  * Guarda un nuevo usuario.
95  *
96  * @return bool false si hay error o ya existe.
97  */
98 function file_log_add($user, $msg)
99 {
100     return fappendcsv("data/log.$user.csv", array(time(), $msg));
101 }
102
103 ?>