]> git.llucax.com Git - z.facultad/75.43/tp1.git/commitdiff
Se agrega lib para manejar el archivo de log. Se usa un archivo de log por
authorLeandro Lucarella <llucax@gmail.com>
Wed, 4 May 2005 03:33:40 +0000 (03:33 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Wed, 4 May 2005 03:33:40 +0000 (03:33 +0000)
usuario, ya que siempre se muestra por usuario. Hay primitivas para agregar
datos al log y para recorrerlo.

src/lib/file.log.php [new file with mode: 0644]

diff --git a/src/lib/file.log.php b/src/lib/file.log.php
new file mode 100644 (file)
index 0000000..be05b96
--- /dev/null
@@ -0,0 +1,103 @@
+<?php
+// vim: set binary noeol et sw=4 sts=4 :
+// Grupo 10
+//
+// Lucarella, Schein, Arena
+//
+// Creado: Leandro Lucarella (mar may  3 23:34:43 ART 2005)
+//
+// $Id$
+
+require_once 'lib/file.php';
+
+/**
+ * Obtiene el log de un usuario
+ *
+ * @return array con id, password, email (false si hubo error o no está).
+ */
+function file_log_open($user)
+{
+    return fopen($filename, 'r');
+}
+
+/**
+ * Obtiene el log de un usuario
+ *
+ * @return array con id, password, email (false si hubo error o no está).
+ */
+function file_log_next($fp)
+{
+    return fgetcsv($fp, 4096);
+}
+
+/**
+ * Obtiene el log de un usuario
+ *
+ * @return array con id, password, email (false si hubo error o no está).
+ */
+function file_log_seek($fp, $pos)
+{
+    while (!feof($f) and $pos--) fgetcsv($fp, 4096);
+    return !$pos;
+}
+
+/**
+ * Obtiene el log de un usuario
+ *
+ * @return array con id, password, email (false si hubo error o no está).
+ */
+function file_log_seek_fecha($fp, $fecha_desde)
+{
+    $pos = 0;
+    $seek = ftell($fp);
+    while ($row = fgetcsv($fp, 4096))
+    {
+        if ($row[0] < $fecha_desde)
+        {
+            $seek = ftell($fp);
+            $pos++;
+        }
+        else
+        {
+            fseek($fp, $seek); // Vuelvo al principio del registro.
+        }
+    }
+    return $pos;
+}
+
+/**
+ * Obtiene el log de un usuario
+ *
+ * @return array con id, password, email (false si hubo error o no está).
+ */
+function file_log_close($fp)
+{
+    return fclose($fp);
+}
+
+/**
+ * Obtiene la información de un usuario.
+ *
+ * @return array con id, password, email (false si hubo error o no está).
+ */
+function file_log_count($user, $fecha_desde = null)
+{
+    if (($fp = file_log_open($user)) === false) return false; // error
+    if ($fecha_desde) file_log_seek_fecha($fp, $fecha_desde);
+    $count = 0;
+    while ($row = fgetcsv($fp, 4096)) $count++;
+    file_log_close($fp);
+    return $count;
+}
+
+/**
+ * Guarda un nuevo usuario.
+ *
+ * @return bool false si hay error o ya existe.
+ */
+function file_log_add($user, $msg)
+{
+    return fappendcsv("data/log.$user.csv", array(time(), $msg));
+}
+
+?>
\ No newline at end of file