]> git.llucax.com Git - z.facultad/75.43/tp1.git/blob - src/lib/Usuario.php
bugfix (typo).
[z.facultad/75.43/tp1.git] / src / lib / Usuario.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 (sáb abr 30 20:21:30 ART 2005)
8 //
9 // $Id$
10
11 require_once 'lib/file.creditos.php';
12 require_once 'lib/file.admins.php';
13 require_once 'lib/file.users.php';
14
15 /**
16  * XXX detailed description
17  *
18  * @author    XXX
19  * @copyright XXX
20  * @abstract
21  */
22 class Usuario
23 {
24     // Attributes
25     var $_id;
26     var $nombre;
27     var $apellido;
28     var $email;
29
30     function Usuario($id)
31     {
32         $this->_id = $id;
33         $u = file_users_get($id);
34         $this->email = $u[2];
35     }
36
37     // Operations
38    /**
39     *    XXX
40     *    
41     *    @access public 
42     *    @returns string
43     */
44     function toHTML()
45     {
46         return 'FALTA IMPLEMENTAR! Hay que poner la Foto. ID = ' . $this->_id;
47     }
48
49     /**
50      * Valida que la password del usuario sea correcta.
51      * @return bool true si es correcta.
52      * @static
53      */
54     function validar($id, $pass)
55     {
56         $user = file_users_get($id);
57         if (!$user) return false;
58         return $user[1] == $pass;
59     }
60
61     /**
62      * Chequea si existen 2 admins.
63      * @return string true si existen 2 admins, false de otra forma.
64      * @static
65      */
66     function checkAdmins()
67     {
68         $admins = @file('data/admins.txt');
69         if (count($admins) < 2) return false;
70         return true;
71     }
72
73     /**
74      * Asocia a un integrante del grupo.
75      * @return mixed Si hubo error, retorna un string con el error, si no retorna ''.
76      * @static
77      */
78     function asociar($id, $pass, $email, $admin = false)
79     {
80         // TODO lo mismo para asesores
81         if (($f = fopen('data/int_2005.txt', 'r')) === false)
82             return 'Error al abrir archivo de integrantes!';
83         while (!feof($f))
84         {
85             $int = fgetcsv($f, 4096);
86             if ($int[0] == $id) break;
87         }
88         if ($int[0] != $id)
89             return 'El número de registro no existe, ese usuario no se puede asociar al grupo!';
90         if (@file_users_get($id))
91             return 'El usuario ya está registrado!';
92         if (!file_users_add($id, $pass, $email))
93             return 'No se pudo agregar el usuario!';
94         if ($admin)
95         {
96             if (Usuario::checkAdmins())
97                 return 'Ya hay 2 administradores en el sistema!';
98             if (!file_admins_add($id))
99                 return 'No se pudo agregar el usuario a la lista de administradores!';
100         }
101         if (!file_creditos_crear($id))
102             return 'No se pudo crear el archivo de créditos!';
103         return '';
104     }
105
106 }
107
108 ?>