2 // vim: set binary noeol et sw=4 sts=4 :
5 // Lucarella, Schein, Arena
7 // Creado: Leandro Lucarella (sáb abr 30 20:21:30 ART 2005)
11 require_once 'lib/file.creditos.php';
12 require_once 'lib/file.admins.php';
13 require_once 'lib/file.users.php';
14 require_once 'lib/file.int.php';
15 require_once 'lib/file.ase.php';
18 * XXX detailed description
35 $d = file_users_get($id);
36 $this->_email = $d[2];
37 if ($this->esAsesor()) $d = file_ase_get($id);
38 else $d = file_int_get($id);
39 $this->_nombre = $d[1];
40 $this->_apellido = $d[2];
50 return $this->_nombre;
53 function getApellido()
55 return $this->_apellido;
63 function getCreditos()
65 // El asesor puede preguntar siempre
66 if ($this->esAsesor()) return 1;
67 $d = file_creditos_get($this->_id);
71 function getFotoFilename()
73 return 'fotos/'.$this->_id;
78 return file_admins_es_admin($this->_id);
83 return $this->_id{0} == 'A';
94 return sprintf('<img src="%s" alt="Foto de %s" align="middle" /> %s',
95 $this->getFotoFilename(), $this->getNombre(), $this->getNombre());
99 * Valida que la password del usuario sea correcta.
100 * @return bool true si es correcta.
103 function validar($id, $pass)
105 $user = file_users_get($id);
106 if (!$user) return false;
107 return $user[1] == $pass;
111 * Chequea si existen 2 admins.
112 * @return string true si existen 2 admins, false de otra forma.
115 function checkAdmins()
117 $admins = @file('data/admins.txt');
118 if (count($admins) < 2) return false;
123 * Asocia a un integrante del grupo.
124 * @return mixed Si hubo error, retorna un string con el error, si no retorna ''.
127 function asociar($id, $pass, $email, $foto, $admin = false)
130 if (!file_int_get($id) and !($ase = file_ase_get($id)))
131 return 'El número de registro no existe! No se puede asociar al grupo!';
132 if (@file_users_get($id))
133 return 'El usuario ya está registrado!';
134 if (!file_users_add($id, $pass, $email))
135 return 'No se pudo agregar el usuario!';
138 if (Usuario::checkAdmins())
139 return 'Ya hay 2 administradores en el sistema!';
140 if (!file_admins_add($id))
141 return 'No se pudo agregar el usuario a la lista de administradores!';
143 if (!$ase) // Si no es asesor, creamos archivo de créditos
145 if (!file_creditos_crear($id))
146 return 'No se pudo crear el archivo de créditos!';
148 if (!copy($foto, "fotos/$id")) return 'No se pudo copiar la foto!';