Handle hostnames with upper-case letters
[webmin.git] / webmin / save_categories.cgi
1 #!/usr/local/bin/perl
2 # save_categories.cgi
3
4 require './webmin-lib.pl';
5 &ReadParse();
6 &error_setup($text{'categories_err'});
7
8 # Save built-in categories
9 foreach $t (keys %text) {
10         $t =~ s/^category_// || next;
11         if (!$in{"def_$t"}) {
12                 $in{"desc_$t"} ||
13                         &error(&text('categories_edesc', $t ? $t : 'other'));
14                 $catnames{$t} = $in{"desc_$t"};
15                 }
16         }
17
18 # Save custom categories
19 for($i=0; defined($in{"cat_$i"}); $i++) {
20         if ($in{"cat_$i"} && $in{"desc_$i"}) {
21                 $realcat{$in{"cat_$i"}} &&
22                         &error(&text('categories_ecat', $in{"cat_$i"}));
23                 $catnames{$in{"cat_$i"}} = $in{"desc_$i"};
24                 }
25         }
26
27 # Write out the file
28 $file = "$config_directory/webmin.catnames";
29 $file .= ".".$in{'lang'} if ($in{'lang'});
30 &lock_file($file);
31 &write_file($file, \%catnames);
32 &unlock_file($file);
33 &webmin_log("categories", undef, $in{'lang'}, \%in);
34 &flush_webmin_caches();
35 &redirect("index.cgi?refresh=1");