/Vector/User.pm
use Vector::DB;
use Vector::Config qw/$webroot/;
use strict;
{
my ($class, $username) = @_;
my $dbh = Vector::DB::connect;
my $self = $dbh->selectrow_hashref('SELECT user_id, joined, email FROM users WHERE username = ?', undef, $username);
if ($self) {
$self->{ } = $username;
return bless $self, $class;
} else {
return Vector::User->create($username);
}
}
{
my ($class, $user_id) = @_;
my $dbh = Vector::DB::connect;
my $self = $dbh->selectrow_hashref('SELECT username, joined, email FROM users WHERE user_id = ?', undef, $user_id);
if ($self) {
$self->{ } = $user_id;
return bless $self, $class;
}
}
{
my ($class, $username) = @_;
my $dbh = Vector::DB::connect;
$dbh->do('INSERT INTO users (username, joined) VALUES (?, NOW())', undef, $username);
my $self = {
username => $username,
email => undef
};
($self->{ }, $self->{ }) = $dbh->selectrow_array('SELECT user_id, joined FROM users WHERE username = ?', undef, $username);
return bless $self, $class;
}
{
my ($self) = @_;
my $dbh = Vector::DB::connect;
$dbh->do('UPDATE users SET email = ? WHERE user_id = ?', undef, $self->{ }, $self->{ });
}
{
my ($self) = @_;
my $username = $self->{ };
$username =~ s'://'/';
return "${webroot}user/$username";
}
1;