return { error => 0, uid => $uid, password => $passwd };
}
+=head2 clearRookie($uid, $time)
+
+clear Rookie flag.
+
+=over 4
+
+=item Return value
+
+1/0
+
+=back
+
+=cut
+
+sub clearRookie {
+ my ($self, $uid, $time) = @_;
+ return if !$uid || $uid == 1; # uid 1 is anonymous
+
+ my $dbh = $self->connect_db;
+
+ if ($time) {
+ my $sql = <<"EOSQL";
+UPDATE users_class SET rookie = 0, rookie_cleared = NOW() WHERE uid = ?
+EOSQL
+ my $rs = $dbh->do($sql, undef, $uid);
+ return if !$rs;
+ }
+ else {
+ my $sql = <<"EOSQL";
+UPDATE users_class SET rookie = 0, rookie_cleared = ? WHERE uid = ?
+EOSQL
+ my $rs = $dbh->do($sql, undef,$time, $uid);
+ return if !$rs;
+ }
+ return 1;
+}
+
#========================================================================
=head2 update
return $self->_update_users_info_add($uid, $params{field}, $params{add});
}
}
+ elsif ($params{target} eq 'class') {
+ if (exists $params{field} && exists $params{value}) {
+ return $self->_update_users_class($uid, $params{field}, $params{value});
+ }
+ elsif (exists $params{field} && $params{now}) {
+ return $self->_update_users_class_now($uid, $params{field});
+ }
+ }
return;
}
+sub _update_users_class_now {
+ my ($self, $uid, $column) = @_;
+ my $sql = "UPDATE users_class SET ? = NOW() WHERE uid = ?";
+ my $dbh = $self->connect_db();
+ my $rs = $dbh->do($sql, undef, $column, $uid);
+ if (!$rs) {
+ return;
+ }
+ $dbh->disconnect;
+ return 1;
+}
+
+sub _update_users_class {
+ my ($self, $uid, $column, $value) = @_;
+ my $sql = "UPDATE users_class SET ? = ? WHERE uid = ?";
+ my $dbh = $self->connect_db();
+ my $rs = $dbh->do($sql, undef, $column, $value, $uid);
+ if (!$rs) {
+ return;
+ }
+ $dbh->disconnect;
+ return 1;
+}
sub _update_users_info_add {
my ($self, $uid, $field, $value) = @_;