UserManager.pm 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package OpenSim::UserServer::UserManager;
  2. use strict;
  3. use Carp;
  4. use OpenSim::Utility;
  5. use OpenSim::UserServer::Config;
  6. sub getUserByName {
  7. my ($first, $last) = @_;
  8. my $res = &OpenSim::Utility::getSimpleResult($OpenSim::UserServer::Config::SYS_SQL{select_user_by_name}, $first, $last);
  9. my $count = @$res;
  10. my %user = ();
  11. if ($count == 1) {
  12. my $user_row = $res->[0];
  13. foreach (@OpenSim::UserServer::Config::USERS_COLUMNS) {
  14. $user{$_} = $user_row->{$_} || "";
  15. }
  16. } else {
  17. Carp::croak("user not found");
  18. }
  19. return \%user;
  20. }
  21. sub getUserByUUID {
  22. my ($uuid) = @_;
  23. my $res = &OpenSim::Utility::getSimpleResult($OpenSim::UserServer::Config::SYS_SQL{select_user_by_uuid}, $uuid);
  24. my $count = @$res;
  25. my %user = ();
  26. if ($count == 1) {
  27. my $user_row = $res->[0];
  28. foreach (@OpenSim::UserServer::Config::USERS_COLUMNS) {
  29. $user{$_} = $user_row->{$_} || "";
  30. }
  31. } else {
  32. Carp::croak("user not found");
  33. }
  34. return \%user;
  35. }
  36. sub createUser {
  37. my $user = shift;
  38. my @params = ();
  39. foreach (@OpenSim::UserServer::Config::USERS_COLUMNS) {
  40. push @params, $user->{$_};
  41. }
  42. my $res = &OpenSim::Utility::getSimpleResult($OpenSim::UserServer::Config::SYS_SQL{create_user}, @params);
  43. }
  44. 1;