_id = $id; $d = file_users_get($id); $this->_email = $d[2]; if ($this->esAsesor()) $d = file_ase_get($id); else $d = file_int_get($id); $this->_nombre = $d[1]; $this->_apellido = $d[2]; } function getId() { return $this->_id; } function getNombre() { return $this->_nombre; } function getApellido() { return $this->_apellido; } function getEmail() { return $this->_email; } function getCreditos() { // El asesor puede preguntar siempre if ($this->esAsesor()) return 1; $d = file_creditos_get($this->_id); return $d[1]; } function esAdmin() { return file_admins_es_admin($this->_id); } function esAsesor() { return $this->_id{0} == 'A'; } /** * XXX * * @access public * @returns string */ function toHTML() { return 'FALTA IMPLEMENTAR! Hay que poner la Foto. ID = ' . $this->_id; } /** * Valida que la password del usuario sea correcta. * @return bool true si es correcta. * @static */ function validar($id, $pass) { $user = file_users_get($id); if (!$user) return false; return $user[1] == $pass; } /** * Chequea si existen 2 admins. * @return string true si existen 2 admins, false de otra forma. * @static */ function checkAdmins() { $admins = @file('data/admins.txt'); if (count($admins) < 2) return false; return true; } /** * Asocia a un integrante del grupo. * @return mixed Si hubo error, retorna un string con el error, si no retorna ''. * @static */ function asociar($id, $pass, $email, $admin = false) { if (!file_int_get($id) and !($ase = file_ase_get($id))) return 'El número de registro no existe! No se puede asociar al grupo!'; if (@file_users_get($id)) return 'El usuario ya está registrado!'; if (!file_users_add($id, $pass, $email)) return 'No se pudo agregar el usuario!'; if ($admin) { if (Usuario::checkAdmins()) return 'Ya hay 2 administradores en el sistema!'; if (!file_admins_add($id)) return 'No se pudo agregar el usuario a la lista de administradores!'; } if (!$ase) // Si no es asesor, creamos archivo de créditos { if (!file_creditos_crear($id)) return 'No se pudo crear el archivo de créditos!'; } return ''; } } ?>