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