+my @category;
+my $category_table;
+unless ( $opt{'nocat'} ) {
+ ( $category_table = $table ) =~ s/class/category/ or die;
+ @category = qsearch($category_table, { 'disabled' => '' });
+}
+
+my $fields = [ 'classname',
+ (scalar(@category)
+ ? { field => 'categorynum',
+ type => 'select-table',
+ table => $category_table,
+ hashref => { 'disabled' => '' },
+ name_col => 'categoryname',
+ empty_label => '(none)',
+ }
+ : { field=>'categorynum', type=>'hidden' }
+ ),
+ { field=>'disabled', type=>'checkbox', value=>'Y', },
+ ];
+push @$fields, @{ $opt{'addl_fields'} } if $opt{'addl_fields'};
+
+my %addl_labels = ();
+%addl_labels = %{ $opt{'addl_labels'} } if $opt{'addl_labels'};
+