our $PASTEBIN_PROPCOLS = join ", ", @PASTEBIN_PROPS;
our $PASTEBIN_PROPPLACES = join ", ", map "?", @PASTEBIN_PROPS;
+sub check_lang ($) {
+ my ($lang) = @_;
+
+ return unless defined $lang;
+ my $db = open_db;
+ @{$db->selectall_arrayref
+ ("SELECT lang FROM odin_pastebin_lang WHERE lang = ?", undef, $lang)}
+ or fail "unknown language `$lang'";
+}
+
sub new_pastebin (\%) {
my ($new) = @_;
my $tag;
merge_hash %$new, %PASTEBIN_DEFAULTS;
+ check_lang $new->{lang};
xact {
$tag = encode_tag next_seq $db, "odin_pastebin_seq";
insert_record $db, "odin_pastebin",
my $db = open_db;
my $editp = 0;
+ check_lang $new->{lang};
xact {
get_pastebin_check_editkey_or_owner $db, $tag, $editkey, my %old;
for my $p (@PASTEBIN_PROPS) {