+sub is_problem_private {
+ my $pb = $_[0];
+ return 1 if $db->problem($pb)->private;
+ my $prv = 0;
+ for my $cp ($db->problem($pb)->contest_problems) {
+ $prv = 1;
+ return '' if $cp->contest->start <= time;
+ }
+
+ $prv
+}
+
+sub is_problem_in_contest {
+ my ($pb, $ct) = @_;
+ return 1 if $db->contest_problems->find($ct, $pb);
+ return '' if defined $ct;
+ for my $cp ($db->problem($pb)->contest_problems) {
+ return 1 if $cp->contest->stop >= time;
+ }
+ ''
+}
+