elsif (exists $params{author}) {
$user = $self->_select("users", author => $params{author});
}
-
if ($user) {
return $self->_create_user_object($user);
}
if (exists $params{uid}) {
$ret = $self->_select("ns_users_config", uid => $params{uid});
return if !$ret;
- return if !@$ret;
+ if (!@$ret) {
+ return $self->_prefs_to_config($params{uid});
+ #return;
+ }
my $configs = $ret->[0]->{configs};
return from_json($configs) || {};
}
return $ret->[0];
}
-sub convert_old_prefs {
+sub _prefs_to_config {
my ($self, $uid) = @_;
my $new_cfg = {};
# for users table
- my $users = $self->select(uid => $uid);
- $new_cfg->{homepage} = defined $users->{homepage} ? $users->{homepage} : "";
- $new_cfg->{signature} = defined $users->{sig} ? $users->{sig} : "";
+ my $rs = $self->_select('users', uid => $uid);
+ if (!$rs || !@$rs) {
+ return {};
+ }
+ my $user = $rs->[0];
+ $new_cfg->{homepage} = defined $user->{homepage} ? $user->{homepage} : "";
+ $new_cfg->{signature} = defined $user->{sig} ? $user->{sig} : "";
- # for users_comments table
+ # for user_comments table
my $mapping = {
nosigs => 'hide_signature',
noscores => 'hide_score',
}
}
- # for users_info table
+ # for user_info table
my $info = $self->select(target => 'info', uid => $uid);
$new_cfg->{realname} = defined $info->{realname} ? $info->{realname} : "";
$new_cfg->{biography} = defined $info->{bio} ? $info->{bio} : "";
- # users_param
+ # user_param
my $old = $self->select(target => 'param', uid => $uid);
$new_cfg->{fold_threshold} = defined $old->{d2_highlightthresh} ? 0 + $old->{d2_highlightthresh} : 1;
$new_cfg->{enable_hotkey} = 1;
}
+ return $new_cfg;
+}
+
+sub convert_old_prefs {
+ my ($self, $uid) = @_;
+ my $new_cfg = $self->_prefs_to_config($uid);
+
# apply configs
- my $cfg = $self->select(target => 'config', uid => $uid);
+ my $cfg = {};
+ my $ret = $self->_select("ns_users_config", uid => $uid);
+ if ($ret && @$ret) {
+ $cfg = from_json($ret->[0]->{configs});
+ }
+ #my $cfg = $self->select(target => 'config', uid => $uid);
$cfg ||= {};
my $updated = 0;
for my $k (keys %$new_cfg) {