#!/usr/bin/perl # edit_printer.cgi # Edit or create a printer require './lpadmin-lib.pl'; &ReadParse(); if ($in{'new'}) { $access{'add'} || &error($text{'edit_eadd'}); &ui_print_header(undef, $text{'edit_add'}, ""); $prn{'accepting'}++; $prn{'enabled'}++; $prn{'allow_all'}++; $prn{'dev'} = $device_files[0]; $prn{'ctype'} = [ "postscript" ]; } else { &can_edit_printer($in{'name'}) || &error($text{'edit_eedit'}); &ui_print_header(undef, $text{'edit_edit'}, ""); local $prn = &get_printer($in{'name'}); $prn || &error(&text('save_egone', $in{'name'})); %prn = %$prn; } print "<form action=save_printer.cgi method=post>\n"; print "<table border width=100%>\n"; print "<tr $tb> <td><b>$text{'edit_conf'}</b></td> </tr>\n"; print "<tr $cb> <td><table width=100%>\n"; print "<tr> <td><b>$text{'edit_name'}</b></td>\n"; if ($in{'new'}) { print "<td><input name=name size=15></td>\n"; print "<input type=hidden name=new value=1>\n"; } else { print "<td>$prn{'name'}</td>\n"; print "<input type=hidden name=name value=\"$prn{'name'}\">\n"; } print "<td align=right><b>$text{'edit_acc'}</b></td>\n"; printf "<td><input type=radio name=accepting value=1 %s> $text{'yes'}\n", $prn{'accepting'} ? "checked" : ""; if (&printer_support('why')) { printf "<input type=radio name=accepting value=0 %s> %s\n", $prn{'accepting'} ? "" : "checked", $text{'edit_why'}; printf "<input name=accepting_why size=15 value=\"%s\"></td> </tr>\n", $prn{'accepting_why'}; } else { printf "<input type=radio name=accepting value=0 %s> $text{'no'}\n", $prn{'accepting'} ? "" : "checked"; } if (&printer_support('desc')) { print "<tr> <td><b>$text{'edit_desc'}</b></td>\n"; print "<td><input name=desc size=20 value=\"", &html_escape($prn{'desc'}),"\"></td>\n"; } else { print "<tr> <td colspan=2></td>\n"; } print "<td align=right><b>$text{'edit_ena'}</b></td>\n"; printf "<td><input type=radio name=enabled value=1 %s> $text{'yes'}\n", $prn{'enabled'} ? "checked" : ""; if (&printer_support('why')) { printf "<input type=radio name=enabled value=0 %s> %s\n", $prn{'enabled'} ? "" : "checked", $text{'edit_why'}; printf "<input name=enabled_why size=15 value=\"%s\"></td> </tr>\n", $prn{'enabled_why'}; } else { printf "<input type=radio name=enabled value=0 %s> $text{'no'}\n", $prn{'enabled'} ? "" : "checked"; } if (&printer_support('allow')) { print "<tr> <td valign=top><b>$text{'edit_acl'}</b></td>\n"; print "<td colspan=3><table><tr><td valign=top>\n"; printf "<input type=radio name=access value=0 %s> %s<br>\n", $prn{'allow_all'} ? "checked" : "", $text{'edit_allow'}; printf "<input type=radio name=access value=1 %s> %s<br>\n", $prn{'deny_all'} ? "checked" : "", $text{'edit_deny'}; printf "<input type=radio name=access value=2 %s> %s<br>\n", $prn{'allow'} ? "checked" : "", $text{'edit_allowu'}; printf "<input type=radio name=access value=3 %s> %s\n", $prn{'deny'} ? "checked" : "", $text{'edit_denyu'}; print "</td> <td valign=top>\n"; print "<textarea wrap=auto name=users rows=5 cols=30>", join(" ", (@{$prn{'allow'}}, @{$prn{'deny'}})), "</textarea></td>\n"; print "<td valign=top>",&user_chooser_button("users",1),"</td>\n"; print "</tr></table></td> </tr>\n"; } if (&printer_support('banner')) { print "<tr> <td valign=top><b>$text{'edit_banner'}</b></td> ", "<td valign=top>\n"; printf "<input type=radio name=prbanner value=1 %s> $text{'yes'}\n", $prn{'banner'} ? "checked" : ""; printf "<input type=radio name=prbanner value=0 %s> %s</td>\n", $prn{'banner'} ? "" : "checked", $text{'edit_opt'}; } else { print "<tr>\n"; } if (&printer_support('default')) { print "<td align=right><b>$text{'edit_default'}</b></td> <td>\n"; if (!$prn{'default'}) { printf "<input type=radio name=default value=1 %s> $text{'yes'}\n", $prn{'default'} ? "checked" : ""; printf "<input type=radio name=default value=0 %s> $text{'no'}</td></tr>\n", $prn{'default'} ? "" : "checked"; } else { print "<i>$text{'edit_already'}</i> </td> </tr>\n"; } } elsif (&printer_support('msize')) { print "<td align=right><b>$text{'edit_max'}</b></td> <td>\n"; printf "<input type=radio name=msize_def value=1 %s> %s\n", defined($prn{'msize'}) ? "" : "checked", $text{'default'}; printf "<input type=radio name=msize_def value=2 %s> %s\n", $prn{'msize'} eq '0' ? "checked" : "", $text{'edit_unlimited'}; printf "<input type=radio name=msize_def value=0 %s>\n", $prn{'msize'} ? "checked" : ""; printf "<input name=msize size=6 value=\"%s\"> %s</td> </tr>\n", $prn{'msize'} ? $prn{'msize'} : "", $text{'blocks'}; } else { print "<td colspan=2></tr>\n"; } if (&printer_support('ctype')) { @ctype = @{$prn{'ctype'}}; print "<tr> <td><b>$text{'edit_dacc'}</b></td> <td colspan=3>\n"; printf "<input type=checkbox name=ctype_simple %s> %s \n", &indexof("simple", @ctype) < 0 ? "" : "checked", $text{'edit_dtext'}; printf "<input type=checkbox name=ctype_postscript %s> %s \n", &indexof("postscript", @ctype) < 0 ? "" : "checked", $text{'edit_dpost'}; @ctypeo = grep { !/^(simple|postscript)$/ } @ctype; printf "<input type=checkbox name=ctype_other %s> %s\n", @ctypeo ? "checked" : "", $text{'edit_dother'}; printf "<input name=ctype_olist size=20 value=\"%s\">\n", join(' ', @ctypeo); print "</td> </tr>\n"; } if (&printer_support('alias')) { @alias = @{$prn{'alias'}}; print "<tr> <td><b>$text{'edit_alt'}</b></td> <td colspan=3>\n"; printf "<input name=alias size=40 value=\"%s\"></td> </tr>\n", join(' ', @alias); } print "</table></td></tr></table><p>\n"; if ($in{'new'} || &printer_support('editdest')) { print "<table border width=100%>\n"; print "<tr $tb> <td><b>$text{'edit_dest'}</b></td> </tr>\n"; print "<tr $cb> <td><table>\n"; $isdev = &indexof($prn{'dev'}, @device_files) >= 0; if (!$webmin_windows_driver) { $wdrv = &is_webmin_windows_driver($prn{'iface'}, \%prn); $webmin++ if ($wdrv); } $wdrv = &is_windows_driver($prn{'iface'}, \%prn) if (!$wdrv); $hdrv = &is_hpnp_driver($prn{'iface'}, \%prn); if ($wdrv) { $prn{'iface'} = $wdrv->{'program'}; } elsif ($hdrv) { $prn{'iface'} = $hdrv->{'program'}; } printf "<tr> <td><input type=radio name=dest value=0 %s> %s</td>\n", $prn{'dev'} && $isdev && !$wdrv && !$hdrv ? "checked" : "", $text{'edit_dev'}; print "<td><select name=dev>\n"; for($i=0; $i<@device_files; $i++) { $d = $device_files[$i]; printf "<option value=\"$d\" %s>$device_names[$i]\n", $d eq $prn{'dev'} ? "selected" : ""; } print "</select></td> </tr>\n"; printf "<tr> <td><input type=radio name=dest value=1 %s> %s</td>\n", $prn{'dev'} && !$isdev && !$wdrv && !$hdrv ? "checked" : "", $text{'edit_file'}; printf "<td><input name=file size=25 value=\"%s\"></td> </tr>\n", $isdev || $wdrv || $hdrv ? "" : $prn{'dev'}; printf "<tr> <td><input type=radio name=dest value=2 %s>\n", $prn{'rhost'} ? "checked" : ""; print "$text{'edit_remote'}</td>\n"; print "<td><input name=rhost size=25 value=\"$prn{'rhost'}\"></td>\n"; print "<td>$text{'edit_rqueue'} ", "<input name=rqueue size=15 value=\"$prn{'rqueue'}\">\n"; if (defined(&remote_printer_types)) { @rtypes = &remote_printer_types(); } elsif (&printer_support('sysv')) { @rtypes = ( [ 'bsd', 'BSD' ], [ 's5', 'SysV' ] ); } elsif (&printer_support('ipp')) { @rtypes = ( [ 'bsd', 'BSD' ], [ 'ipp', 'IPP' ] ); } if (@rtypes) { print "$text{'edit_type'} <select name=rtype>\n"; foreach $t (@rtypes) { printf "<option value=%s %s>%s\n", $t->[0], $prn{'rtype'} eq $t->[0] ? "selected" : "", $t->[1]; } print "</select>\n"; } print "</td> </tr>\n"; if (&printer_support("direct")) { printf "<tr> <td><input type=radio name=dest value=5 %s>\n", $prn{'dhost'} ? "checked" : ""; print "$text{'edit_direct'}</td>\n"; print "<td><input name=dhost size=25 ", "value=\"$prn{'dhost'}\"></td>\n"; print "<td>$text{'edit_dport'} ", "<input name=dport size=5 value=\"$prn{'dport'}\">\n"; print "</td> </tr>\n"; } if (&has_smbclient()) { printf "<tr> <td><input type=radio name=dest value=3 %s>\n", $wdrv ? "checked" : ""; printf "$text{'edit_smb'}</td> ". "<td><input name=server size=25 value=\"%s\"></td>\n", $wdrv->{'server'}; printf "<td>$text{'edit_share'} ". "<input name=share size=15 value=\"%s\"></td>\n", $wdrv->{'share'}; print "</tr><tr> <td align=right>$text{'edit_user'}</td>\n"; printf "<td colspan=2><input name=suser size=10 value='%s'>\n", $wdrv->{'user'}; printf "$text{'edit_pass'} ". "<input type=password name=spass size=10 value='%s'>\n", $wdrv->{'pass'}; printf "$text{'edit_wgroup'} ". "<input name=wgroup size=10 value=\"%s\">\n", $wdrv->{'workgroup'}; print "</td> </tr>\n"; } if (&has_hpnp()) { printf "<tr> <td><input type=radio name=dest value=4 %s>\n", $hdrv ? "checked" : ""; print "$text{'edit_hpnp'}</td>\n"; printf "<td><input name=hpnp size=25 value=\"%s\"></td>\n", $hdrv->{'server'}; printf "<td>$text{'edit_port'} ". "<input name=port size=15 value=\"%s\"></td> </tr>\n", $hdrv->{'port'}; } print "<tr> <td> ", "<input type=checkbox name=check value=1> ", "$text{'edit_check'}</td> </tr>\n"; print "</table></td></tr></table><p>\n"; print "<table border width=100%>\n"; print "<tr $tb> <td><b>$text{'edit_driver'}</b></td> </tr>\n"; print "<tr $cb> <td><table width=100%>\n"; if (!$webmin_print_driver) { $drv = &is_webmin_driver($prn{'iface'}, \%prn); } if ($drv->{'mode'} != 0 && $drv->{'mode'} != 2 || $webmin) { $webmin++; $after = &webmin_driver_input(\%prn, $drv); } else { $drv = &is_driver($prn{'iface'}, \%prn); $after = &driver_input(\%prn, $drv); } print "</table></td></tr></table><p>\n"; } print "<input type=hidden name=webmin value=\"$webmin\">\n"; if ($in{'new'}) { print "<input type=submit value=\"$text{'create'}\"><p>\n"; } else { print "<table width=100%><tr>\n"; print "<td><input type=submit value=\"$text{'save'}\"></td>\n"; if ($access{'delete'}) { print "<td align=right><input type=submit name=delete ", "value=\"$text{'delete'}\"></td>\n"; } print "</tr></table>\n"; } print "</form>\n"; print $after; &ui_print_footer("", $text{'index_return'});
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
CHANGELOG | File | 1.16 KB | 0644 |
|
acl_security.pl | File | 4.4 KB | 0755 |
|
aix-lib.pl | File | 9.45 KB | 0755 |
|
ascii.txt | File | 4.19 KB | 0644 |
|
base_coas_driver | File | 560 B | 0755 |
|
bw.fig | File | 2.75 KB | 0644 |
|
bw.ps | File | 6.46 KB | 0644 |
|
caldera-driver.pl | File | 12.31 KB | 0755 |
|
cancel_all.cgi | File | 535 B | 0755 |
|
catalog.devices | File | 12.34 KB | 0644 |
|
cgi_args.pl | File | 284 B | 0755 |
|
cluster.cgi | File | 2.06 KB | 0755 |
|
cluster_add.cgi | File | 2.13 KB | 0755 |
|
cluster_delete.cgi | File | 529 B | 0755 |
|
colour.fig | File | 2.91 KB | 0644 |
|
colour.ps | File | 6.63 KB | 0644 |
|
config-AlmaLinux-7.0-ALL | File | 323 B | 0644 |
|
config-Amazon-Linux-2-ALL | File | 323 B | 0644 |
|
config-CentOS-Linux-7.0-ALL | File | 323 B | 0644 |
|
config-CentOS-Stream-Linux-8.0-ALL | File | 323 B | 0644 |
|
config-CloudLinux-8.0-ALL | File | 323 B | 0644 |
|
config-Oracle-Linux-8.0-ALL | File | 323 B | 0644 |
|
config-Redhat-Enterprise-Linux-7.0-ALL | File | 323 B | 0644 |
|
config-Rocky-Linux-7.0-ALL | File | 323 B | 0644 |
|
config-Scientific-Linux-7.0-ALL | File | 323 B | 0644 |
|
config-aix | File | 281 B | 0644 |
|
config-coherent-linux | File | 323 B | 0644 |
|
config-corel-linux | File | 228 B | 0644 |
|
config-debian-linux | File | 228 B | 0644 |
|
config-debian-linux-3.1-3.9 | File | 327 B | 0644 |
|
config-debian-linux-4.0-ALL | File | 333 B | 0644 |
|
config-freebsd | File | 230 B | 0644 |
|
config-generic-linux | File | 228 B | 0644 |
|
config-gentoo-linux | File | 248 B | 0644 |
|
config-hpux | File | 323 B | 0644 |
|
config-irix | File | 213 B | 0644 |
|
config-macos | File | 230 B | 0644 |
|
config-mandrake-linux | File | 245 B | 0644 |
|
config-mandrake-linux-8.0-ALL | File | 276 B | 0644 |
|
config-msc-linux | File | 228 B | 0644 |
|
config-netbsd | File | 230 B | 0644 |
|
config-open-linux | File | 309 B | 0644 |
|
config-open-linux-3.1e | File | 239 B | 0644 |
|
config-openSUSE-Linux-15.0-ALL | File | 318 B | 0644 |
|
config-openbsd | File | 230 B | 0644 |
|
config-openmamba-linux | File | 229 B | 0644 |
|
config-pardus-linux | File | 228 B | 0644 |
|
config-redhat-linux | File | 228 B | 0644 |
|
config-redhat-linux-24.0-ALL | File | 339 B | 0644 |
|
config-redhat-linux-7.0 | File | 283 B | 0644 |
|
config-redhat-linux-7.1 | File | 286 B | 0644 |
|
config-redhat-linux-7.2-8.1 | File | 394 B | 0644 |
|
config-redhat-linux-9.0-23.0 | File | 337 B | 0644 |
|
config-slackware-linux | File | 228 B | 0644 |
|
config-slackware-linux-8.1-ALL | File | 246 B | 0644 |
|
config-solaris | File | 304 B | 0644 |
|
config-solaris-10-ALL | File | 330 B | 0644 |
|
config-solaris-9 | File | 296 B | 0644 |
|
config-suse-linux | File | 226 B | 0644 |
|
config-suse-linux-8.2-ALL | File | 322 B | 0644 |
|
config-trustix-linux | File | 313 B | 0644 |
|
config-turbo-linux | File | 228 B | 0644 |
|
config-united-linux | File | 322 B | 0644 |
|
config-unixware | File | 302 B | 0644 |
|
config.info | File | 1.31 KB | 0644 |
|
config.info.ca | File | 1.53 KB | 0644 |
|
config.info.cs | File | 1.25 KB | 0644 |
|
config.info.de | File | 1.43 KB | 0644 |
|
config.info.es | File | 1.17 KB | 0644 |
|
config.info.fr | File | 1.63 KB | 0644 |
|
config.info.hu | File | 707 B | 0644 |
|
config.info.ja | File | 823 B | 0644 |
|
config.info.nl | File | 1.41 KB | 0644 |
|
config.info.no | File | 1.37 KB | 0644 |
|
config.info.pl | File | 1.45 KB | 0644 |
|
config.info.pt_BR | File | 1.58 KB | 0644 |
|
config.info.ru | File | 1.74 KB | 0644 |
|
config.info.sv | File | 651 B | 0644 |
|
config.info.tr | File | 1.39 KB | 0644 |
|
config.info.uk | File | 1.81 KB | 0644 |
|
config.info.zh | File | 573 B | 0644 |
|
config.info.zh_TW | File | 539 B | 0644 |
|
cups-driver.pl | File | 6.37 KB | 0755 |
|
cups-lib.pl | File | 8.67 KB | 0755 |
|
defaultacl | File | 73 B | 0644 |
|
delete_printer.cgi | File | 690 B | 0755 |
|
delete_printers.cgi | File | 839 B | 0755 |
|
drivers | File | 18.34 KB | 0644 |
|
edit_printer.cgi | File | 10.08 KB | 0755 |
|
freebsd-lib.pl | File | 7.26 KB | 0755 |
|
hpux-driver.pl | File | 3.13 KB | 0755 |
|
hpux-lib.pl | File | 9.83 KB | 0755 |
|
index.cgi | File | 5.83 KB | 0755 |
|
irix-driver.pl | File | 3.13 KB | 0755 |
|
irix-lib.pl | File | 10.68 KB | 0755 |
|
linux-lib.pl | File | 8.97 KB | 0755 |
|
list_jobs.cgi | File | 2.25 KB | 0755 |
|
log_parser.pl | File | 1021 B | 0755 |
|
lpadmin-lib.pl | File | 19.89 KB | 0755 |
|
lprng-lib.pl | File | 10.26 KB | 0755 |
|
module.info | File | 494 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 159 B | 0644 |
|
module.info.ar | File | 0 B | 0644 |
|
module.info.ar.auto | File | 223 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 290 B | 0644 |
|
module.info.bg | File | 0 B | 0644 |
|
module.info.bg.auto | File | 306 B | 0644 |
|
module.info.ca | File | 167 B | 0644 |
|
module.info.ca.auto | File | 16 B | 0644 |
|
module.info.cs | File | 31 B | 0644 |
|
module.info.cs.auto | File | 155 B | 0644 |
|
module.info.da | File | 0 B | 0644 |
|
module.info.da.auto | File | 168 B | 0644 |
|
module.info.de | File | 148 B | 0644 |
|
module.info.de.auto | File | 16 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 362 B | 0644 |
|
module.info.es | File | 38 B | 0644 |
|
module.info.es.auto | File | 157 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 217 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 246 B | 0644 |
|
module.info.fi | File | 0 B | 0644 |
|
module.info.fi.auto | File | 168 B | 0644 |
|
module.info.fr | File | 39 B | 0644 |
|
module.info.fr.auto | File | 176 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 205 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 188 B | 0644 |
|
module.info.hu | File | 19 B | 0644 |
|
module.info.hu.auto | File | 173 B | 0644 |
|
module.info.it | File | 0 B | 0644 |
|
module.info.it.auto | File | 177 B | 0644 |
|
module.info.ja | File | 27 B | 0644 |
|
module.info.ja.auto | File | 213 B | 0644 |
|
module.info.ko | File | 25 B | 0644 |
|
module.info.ko.auto | File | 176 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 219 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 189 B | 0644 |
|
module.info.ms | File | 152 B | 0644 |
|
module.info.ms.auto | File | 16 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 196 B | 0644 |
|
module.info.nl | File | 33 B | 0644 |
|
module.info.nl.auto | File | 133 B | 0644 |
|
module.info.no | File | 31 B | 0644 |
|
module.info.no.auto | File | 137 B | 0644 |
|
module.info.pl | File | 160 B | 0644 |
|
module.info.pl.auto | File | 16 B | 0644 |
|
module.info.pt | File | 39 B | 0644 |
|
module.info.pt.auto | File | 149 B | 0644 |
|
module.info.pt_BR | File | 42 B | 0644 |
|
module.info.pt_BR.auto | File | 155 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 199 B | 0644 |
|
module.info.ru | File | 25 B | 0644 |
|
module.info.ru.auto | File | 245 B | 0644 |
|
module.info.sk | File | 0 B | 0644 |
|
module.info.sk.auto | File | 184 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 192 B | 0644 |
|
module.info.sv | File | 30 B | 0644 |
|
module.info.sv.auto | File | 141 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 393 B | 0644 |
|
module.info.tr | File | 27 B | 0644 |
|
module.info.tr.auto | File | 166 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 281 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 304 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 189 B | 0644 |
|
module.info.zh | File | 24 B | 0644 |
|
module.info.zh.auto | File | 136 B | 0644 |
|
module.info.zh_TW | File | 30 B | 0644 |
|
module.info.zh_TW.auto | File | 142 B | 0644 |
|
old-caldera-driver.pl | File | 9.74 KB | 0755 |
|
openbsd-lib.pl | File | 7.26 KB | 0755 |
|
prefs.info | File | 40 B | 0644 |
|
printconf-driver.pl | File | 9.52 KB | 0755 |
|
rbac-mapping | File | 248 B | 0644 |
|
redhat-driver.pl | File | 12.42 KB | 0755 |
|
restart.cgi | File | 301 B | 0755 |
|
save_printer.cgi | File | 5.85 KB | 0755 |
|
solaris-driver.pl | File | 4.03 KB | 0755 |
|
solaris-lib.pl | File | 12.17 KB | 0755 |
|
sortdrivers-by-drv.pl | File | 222 B | 0755 |
|
sortdrivers.pl | File | 242 B | 0755 |
|
start.cgi | File | 377 B | 0755 |
|
stop.cgi | File | 374 B | 0755 |
|
stp | File | 2.45 KB | 0644 |
|
suse-driver.pl | File | 10.62 KB | 0755 |
|
test_form.cgi | File | 887 B | 0755 |
|
test_print.cgi | File | 1.19 KB | 0755 |
|
unixware-lib.pl | File | 7.81 KB | 0755 |
|
view_job.cgi | File | 909 B | 0755 |
|
webmin-driver.pl | File | 1.04 KB | 0755 |
|