use List::Util qw/sum/;
use SQL::Abstract;
-use constant CONTEST_PUBLIC_COLUMNS => [qw/id name description start stop owner/];
use constant PROBLEM_PUBLIC_COLUMNS => [qw/id author writer level name owner private timeout olimit value/];
-use constant USER_PUBLIC_COLUMNS => [qw/id admin name town university country level/];
use constant JOBS_PER_PAGE => 50;
my %statements = (
job_full_sth => 'SELECT * FROM jobs WHERE id = ?',
);
-my $db;
+our $db;
sub init {
$db = DBIx::Simple->new(@_);
$el
}
-sub user_list { scalar query('user_list_sth')->hashes }
+sub user_list { +{us => scalar query('user_list_sth')->hashes} }
sub user_entry {
my ($id) = @_;
}
sub problem_entry {
- my ($id, $contest, $user) = @_;
- $contest &&= contest_entry $contest;
+ my ($id, $contest) = @_;
+ $contest &&= contest_entry ($contest);
my $ret = add_names query(problem_entry_sth => $id)->hash;
my $limits = query(limits_sth => $id)->hashes;
$ret->{limits} = $limits if @$limits;
if ($contest) {
$ret->{contest_start} = $contest->{start};
$ret->{contest_stop} = $contest->{stop};
+ delete $ret->{solution}
}
$ret