Handle hostnames with upper-case letters
[webmin.git] / squid / edit_smem.cgi
1 #!/usr/local/bin/perl
2 # edit_smem.cgi
3 # A form for editing simple memory and disk usage options
4
5 require './squid-lib.pl';
6 $access{'musage'} || &error($text{'emem_ecannot'});
7 &ui_print_header(undef, $text{'emem_dheader'}, "", "", 0, 0, 0, &restart_button());
8 $conf = &get_config();
9
10 print "<form action=save_smem.cgi>\n";
11 print "<table border width=100%>\n";
12 print "<tr $tb> <td><b>$text{'emem_maduo'}</b></td> </tr>\n";
13 print "<tr $cb> <td><table width=100%>\n";
14
15 print "<tr>\n";
16 if ($squid_version < 2) {
17         print &opt_input($text{'emem_mul'}, "cache_mem", $conf,
18                          $text{'default'}, 6, $text{'emem_mb'});
19         print &opt_input($text{'emem_dul'}, "cache_swap",
20                          $conf, $text{'default'}, 6, $text{'emem_mb'});
21         }
22 else {
23         print &opt_bytes_input($text{'emem_mul'}, "cache_mem", $conf,
24                                $text{'default'}, 6);
25         print &opt_input($text{'emem_fcs'}, "fqdncache_size", $conf,
26                          $text{'default'}, 8);
27         }
28 print "</tr>\n";
29
30 print "<tr>\n";
31 if ($squid_version < 2) {
32         print &opt_input($text{'emem_mcos'}, "maximum_object_size",
33                          $conf, $text{'default'}, 8, $text{'emem_kb'});
34         }
35 else {
36         print &opt_bytes_input($text{'emem_mcos'},
37                                "maximum_object_size", $conf, $text{'default'}, 6);
38         }
39 print &opt_input($text{'emem_iacs'}, "ipcache_size", $conf,
40                  $text{'default'}, 6, $text{'emem_e'});
41 print "</tr>\n";
42
43 print "<tr> <td colspan=4><hr></td> </tr>\n";
44
45 print "<tr>\n";
46 @dirs = &find_config("cache_dir", $conf);
47 print "<td valign=top><b>$text{'ec_cdirs'}</b></td> <td colspan=3>\n";
48 printf "<input type=radio name=cache_dir_def value=1 %s>$text{'ec_default'}\n",
49         @dirs ? "" : "checked";
50 printf "<input type=radio name=cache_dir_def value=0 %s>$text{'ec_listed'}<br>\n",
51         @dirs ? "checked" : "";
52 print "<table border>\n";
53 if ($squid_version >= 2) {
54         print "<tr $tb> <td><b>$text{'ec_directory'}</b></td>\n";
55         if ($squid_version >= 2.3) {
56                 print "<td><b>$text{'ec_type'}</b></td>\n";
57                 }
58         print "<td><b>$text{'ec_size'}</b></td>\n";
59         print "<td><b>$text{'ec_1dirs'}</b></td>\n";
60         print "<td><b>$text{'ec_2dirs'}</b></td>\n";
61         if ($squid_version >= 2.4) {
62                 print "<td><b>$text{'ec_opts'}</b></td>\n";
63                 }
64         print "</tr>\n";
65         }
66 for($i=0; $i<=@dirs; $i++) {
67         @dv = $i<@dirs ? @{$dirs[$i]->{'values'}} : ();
68         print "<tr $cb>\n";
69         if ($squid_version >= 2.4) {
70                 print "<td><input name=cache_dir_$i size=30 ",
71                       "value=\"$dv[1]\"></td>\n";
72                 print "<td><select name=cache_type_$i>\n";
73                 printf "<option value=ufs %s>$text{'ec_u'}\n",
74                         $dv[0] eq 'ufs' ? 'selected' : '';
75                 printf "<option value=diskd %s>$text{'ec_diskd'}\n",
76                         $dv[0] eq 'diskd' ? 'selected' : '';
77                 printf "<option value=aufs %s>$text{'ec_ua'}\n",
78                         $dv[0] eq 'aufs' ? 'selected' : '';
79                 print "</select></td>\n";
80                 print "<td><input name=cache_size_$i size=8 ",
81                       "value=\"$dv[2]\"></td>\n";
82                 print "<td><input name=cache_lv1_$i size=8 ",
83                       "value=\"$dv[3]\"></td>\n";
84                 print "<td><input name=cache_lv2_$i size=8 ",
85                       "value=\"$dv[4]\"></td>\n";
86                 print "<td><input name=cache_opts_$i size=10 ",
87                       "value=\"",join(" ",@dv[5..$#dv]),"\"></td>\n";
88                 }
89         elsif ($squid_version >= 2.3) {
90                 print "<td><input name=cache_dir_$i size=30 ",
91                       "value=\"$dv[1]\"></td>\n";
92                 print "<td><select name=cache_type_$i>\n";
93                 printf "<option value=ufs %s>$text{'ec_u'}\n",
94                         $dv[0] eq 'ufs' ? 'selected' : '';
95                 printf "<option value=asyncufs %s>$text{'ec_ua'}\n",
96                         $dv[0] eq 'asyncufs' ? 'selected' : '';
97                 print "</select></td>\n";
98                 print "<td><input name=cache_size_$i size=8 ",
99                       "value=\"$dv[2]\"></td>\n";
100                 print "<td><input name=cache_lv1_$i size=8 ",
101                       "value=\"$dv[3]\"></td>\n";
102                 print "<td><input name=cache_lv2_$i size=8 ",
103                       "value=\"$dv[4]\"></td>\n";
104                 }
105         elsif ($squid_version >= 2) {
106                 print "<td><input name=cache_dir_$i size=30 ",
107                       "value=\"$dv[0]\"></td>\n";
108                 print "<td><input name=cache_size_$i size=8 ",
109                       "value=\"$dv[1]\"></td>\n";
110                 print "<td><input name=cache_lv1_$i size=8 ",
111                       "value=\"$dv[2]\"></td>\n";
112                 print "<td><input name=cache_lv2_$i size=8 ",
113                       "value=\"$dv[3]\"></td>\n";
114                 }
115         else {
116                 print "<td><input name=cache_dir_$i size=30 ",
117                       "value=\"$dv[0]\"></td>\n";
118                 }
119         print "</tr>\n";
120         }
121 print "</table></td> </tr>\n";
122
123 if ($squid_version < 2) {
124         print "<tr>\n";
125         print &opt_input($text{'ec_1dirs1'}, "swap_level1_dirs", $conf,
126                          $text{'ec_default'}, 6);
127         print &opt_input($text{'ec_2dirs2'}, "swap_level2_dirs", $conf,
128                          $text{'ec_default'}, 6);
129         print "</tr>\n";
130         }
131
132 print "<tr>\n";
133 if ($squid_version < 2) {
134         print &opt_input($text{'ec_aos'}, "store_avg_object_size", $conf,
135                          $text{'ec_default'}, 6, $text{'ec_kb'});
136         }
137 else {
138         print &opt_bytes_input($text{'ec_aos'}, "store_avg_object_size",
139                                $conf, $text{'ec_default'}, 6);
140         }
141 print &opt_input($text{'ec_opb'}, "store_objects_per_bucket", $conf,
142                  $text{'ec_default'}, 6);
143 print "</tr>\n";
144
145
146
147 print "</table></td></tr></table>\n";
148 print "<input type=submit value='$text{'buttsave'}'></form>\n";
149
150 &ui_print_footer("", $text{'emem_return'});
151