+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', 'empty_label'=>'(none)', 'table'=>$category_table, 'name_col'=>'categoryname' }
+ : { 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'};
+