diff options
Diffstat (limited to 'lib/VNDB/DB/Users.pm')
-rw-r--r-- | lib/VNDB/DB/Users.pm | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/VNDB/DB/Users.pm b/lib/VNDB/DB/Users.pm new file mode 100644 index 00000000..9e83ea2b --- /dev/null +++ b/lib/VNDB/DB/Users.pm @@ -0,0 +1,44 @@ + +package VNDB::DB::Users; + +use Exporter 'import'; + +our @EXPORT = 'dbUserGet'; + + +# %options->{ username passwd order uid results page } +sub dbUserGet { + my $s = shift; + my %o = ( + order => 'username ASC', + page => 1, + results => 10, + what => '', + @_ + ); + + my %where = ( + $o{username} ? ( + 'username = ?' => $o{username} ) : (), + $o{passwd} ? ( + 'passwd = decode(?, \'hex\')' => $o{passwd} ) : (), + $o{uid} ? ( + 'id = ?' => $o{uid} ) : (), + !$o{uid} && !$o{username} ? ( + 'id > 0' => 1 ) : (), + ); + + my($r, $np) = $s->dbPage(\%o, q| + SELECT * + FROM users u + !W + ORDER BY !s|, + \%where, + $o{order} + ); + + return wantarray ? ($r, $np) : $r; +} + + +1; |