sub check_privacy { my ($t, $k) = @_; $k = -1 unless (defined($k)); if ($USER == -1 && $t->{private} > 0) { return 0; } if ($t->{private} < 2) { return 1; } if ($t->{username} eq $USER->{username}) { return 1; } if (check_key($t->{allowed}, $USER->{id})) { return 1; } if ($USER->{ulevel} == 3) # A:.H:. { return 1; } if ($k != -1) { if ($k->{owner} eq $USER->{username}) { return 1; } if ($k->{public} == 1 && $t->{private} != 2) { return 1; } if (check_key($k->{ops}, $USER->{id})) { return 1; } } return 0; } sub check_participation { my ($files, $comments) = @_; foreach my $f (@$files) { return 2 if ($f->{username} eq $USER->{username}); } foreach my $c (@$comments) { return 1 if ($c->{username} eq $USER->{username}); } return 0; } sub check_keyword { my ($k) = @_; if ($k != -1) { print "keyword: $k->{keyword}
owner: $k->{owner}
" if ($DEBUG); print "ops: $k->{ops}
" if ($DEBUG); print "public: $k->{public}
" if ($DEBUG); if ($k->{public} == 1) { return 1; } return 0 if ($USER == -1); if ($k->{owner} eq $USER->{username}) { return 1; } if (check_key($k->{ops}, $USER->{id})) { return 1; } } return 0; } sub check_op { my ($k) = @_; if ($k != -1) { print "keyword: $k->{keyword}
owner: $k->{owner}
" if ($DEBUG); print "ops: $k->{ops}
" if ($DEBUG); print "public: $k->{public}
" if ($DEBUG); if ($k->{owner} eq $USER->{username}) { return 1; } if (check_key($k->{ops}, $USER->{id})) { return 1; } if ($k->{public} == 1) { return 0; } } return 0; } sub user_checkerboard { my ($selected, $skip, $owner) = @_; my $users = get_all_users((time - 2*28*24*3600)); my $i = 0; my $j = 0; my $r = 0; print qq!!; foreach my $duder (sort { $a->{username} cmp $b->{username} } @$users) { next if (check_key($skip, $duder->{id})); $checked = check_key($selected, $duder->{id}); print qq[\n] if ($j == 0); print qq[\n]; print qq[\n] if ($j == 3); $r = $r ? 0 : 1; $r = $j == 3 ? int(!$r) : $r; $j = $j == 3 ? 0 : $j+1; $i++; $checked = 0; } print "
]; print qq[ $duder->{username}]; print qq[
\n"; } sub update_whitelist { my $whitelist = make_whitelist(); if ($whitelist eq " ") { print "whitelist cleared
"; } else { print "new whitelist: $whitelist
"; } switch_whitelist($id, $whitelist); return $whitelist; } sub make_whitelist { my $whitelist = " "; foreach my $name (corral($input, "user")) { my $nextid = get_uid($name); $whitelist .= $nextid." "; } return $whitelist; } 1;