#!/usr/bin/perl # Shows hosts on which Usermin is installed require './cluster-usermin-lib.pl'; &ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1); # Display hosts on which modules will be installed print &ui_subheading($text{'index_hosts'}); @servers = &list_servers(); @hosts = &list_usermin_hosts(); if ($config{'sort_mode'} == 1) { @hosts = sort { my ($as) = grep { $_->{'id'} == $a->{'id'} } @servers; my ($bs) = grep { $_->{'id'} == $b->{'id'} } @servers; lc($as->{'host'}) cmp lc($bs->{'host'}) } @hosts; } elsif ($config{'sort_mode'} == 2) { @hosts = sort { my ($as) = grep { $_->{'id'} == $a->{'id'} } @servers; my ($bs) = grep { $_->{'id'} == $b->{'id'} } @servers; lc(&server_name($as)) cmp lc(&server_name($bs)) }@hosts; } $formno = 0; foreach $h (@hosts) { local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers; next if (!$s); push(@titles, &server_name($s)."<br>". &text('index_version', $h->{'version'})); push(@links, "edit_host.cgi?id=$h->{'id'}"); push(@icons, "@{[&get_webprefix()]}/servers/images/$s->{'type'}.svg"); $gothost{$h->{'id'}}++; } if (@links) { if ($config{'table_mode'}) { # Show as table print &ui_columns_start([ $text{'index_thost'}, $text{'index_tdesc'}, $text{'index_tver'}, $text{'index_ttype'} ]); foreach $h (@hosts) { local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers; next if (!$s); local ($type) = grep { $_->[0] eq $s->{'type'} } @servers::server_types; print &ui_columns_row([ &ui_link("edit_host.cgi?id=$h->{'id'}",($s->{'host'} || &get_system_hostname())), $s->{'desc'}, $h->{'version'}, $type->[1], ]); } print &ui_columns_end(); } else { # Show as icons &icons_table(\@links, \@titles, \@icons); } } else { print "<b>$text{'index_nohosts'}</b><p>\n"; } # Build common selectors @wgroups = &all_groups(\@hosts); $modsel2 = $modsel = "<select name=mod>\n"; $modsel2 .= "<option value=''>$text{'index_gacl'}</option>\n"; foreach $m (&all_modules(\@hosts)) { $modsel .= "<option value=$m->{'dir'}>$m->{'desc'}</option>\n"; $modsel2 .= "<option value=$m->{'dir'}>$m->{'desc'}</option>\n"; } $modsel .= "</select>\n"; $modsel2 .= "</select>\n"; $themesel = "<select name=theme>\n"; foreach $t (&all_themes(\@hosts)) { $themesel .= "<option value=$t->{'dir'}>$t->{'desc'}</option>\n"; } $themesel .= "</select>\n"; # Show button for adding server print "<table data-post-icon-row-submit width=100%><tr>\n"; @addservers = grep { !$gothost{$_->{'id'}} } @servers; if (@addservers) { print "<td><form action=add.cgi>\n"; print "<input type=submit name=add value='$text{'index_add'}'>\n"; print "<select name=server>\n"; foreach $s (@addservers) { print "<option value=$s->{'id'}>",&server_name($s),"</option>\n"; } print "</select>\n"; print "</td></form>\n"; $formno++; } else { print "<td></td>\n"; } # Show button for adding server group @groups = &servers::list_all_groups(\@servers); if (@groups) { print "<td align=right><form action=add.cgi>\n"; print "<input type=submit name=gadd value='$text{'index_gadd'}'>\n"; print "<select name=group>\n"; foreach $g (@groups) { print "<option>$g->{'name'}</option>\n"; } print "</select>\n"; print "</form></td>\n"; $formno++; } else { print "<td></td>\n"; } print "</tr></table>\n"; if (@hosts) { # Display modules lists and new module form print &ui_hr(); print &ui_subheading($text{'index_modules'}); print "<table width=100%><tr>\n"; print "<td><form action=edit_mod.cgi>\n"; print "<input type=submit value=\"$text{'index_edit'}\">\n"; print $modsel; print "<input type=submit name=tedit value=\"$text{'index_tedit'}\">\n"; print $themesel; print "</form></td></tr>\n"; $formno++; print "<tr> <td align=left colspan=2><form action=refresh.cgi>\n"; print "<input type=submit value='$text{'index_refresh'}'>\n"; &create_on_input(undef, 1, 1); print "</form></td>\n"; $formno++; print "</table><p>\n"; print "<form action=install.cgi method=post ", "enctype=multipart/form-data>\n"; print "$text{'index_installmsg'}<p>\n"; print "<input type=radio name=source value=0 checked> $text{'index_local'}\n"; print "<input name=local size=50>\n"; print &file_chooser_button("local", 0, $formno); print "<br>\n"; print "<input type=radio name=source value=1> $text{'index_uploaded'}\n"; print "<input type=file name=upload size=20><br>\n"; print "<input type=radio name=source value=2> $text{'index_ftp'}\n"; print "<input name=url size=50><br>\n"; print " " x 5,"<input type=checkbox name=down value=1> ", "$text{'index_down'}<p>\n"; print "<input type=checkbox name=nodeps value=1> ", "$text{'index_nodeps'}<br>\n"; print "$text{'index_installon'}\n"; &create_on_input(); print "<p>\n"; print "<input type=submit value=\"$text{'index_installok'}\">\n"; print "</form>\n"; $formno++; # Display upgrade form &foreign_require("webmin", "webmin-lib.pl"); print &ui_hr(); print &ui_subheading($text{'index_upgrade'}); print "$text{'index_updesc'}<p>\n"; # what kind of install is the local system? $mode = &usermin::get_install_type(); print "<form action=upgrade.cgi method=post enctype=multipart/form-data>\n"; print "<input type=hidden name=mode value='$mode'>\n"; print "<input type=radio name=source value=0> $text{'index_local'}\n"; print "<input name=file size=40>\n"; print &file_chooser_button("file", 0, $formno),"<br>\n"; print "<input type=radio name=source value=1> $text{'index_uploaded'}\n"; print "<input name=upload type=file size=30><br>\n"; print "<input type=radio name=source value=5> $text{'index_ftp'}\n"; print "<input name=url size=40><br>\n"; if ($in{'mode'} eq 'rpm' || !$in{'mode'}) { print "<input type=radio name=source value=2 checked> $webmin::text{'upgrade_ftp'}<br>\n"; } print "<p>\n"; print "<input type=checkbox name=delete value=1> ", "$webmin::text{'upgrade_delete'}<br>\n"; print "$text{'index_upgradeon'}\n"; &create_on_input(); print "<input type=submit value=\"$usermin::text{'upgrade_ok'}\">\n"; print "</form>\n"; $formno++; } &ui_print_footer("/", $text{'index'});
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
CHANGELOG | File | 319 B | 0644 |
|
add.cgi | File | 2.04 KB | 0755 |
|
cluster-usermin-lib.pl | File | 7.14 KB | 0755 |
|
config | File | 25 B | 0644 |
|
config.info | File | 108 B | 0644 |
|
config.info.ca | File | 133 B | 0644 |
|
config.info.cs | File | 79 B | 0644 |
|
config.info.de | File | 125 B | 0644 |
|
config.info.es | File | 63 B | 0644 |
|
config.info.fr | File | 134 B | 0644 |
|
config.info.hr | File | 0 B | 0644 |
|
config.info.hu | File | 0 B | 0644 |
|
config.info.ms | File | 131 B | 0644 |
|
config.info.nl | File | 129 B | 0644 |
|
config.info.no | File | 127 B | 0644 |
|
config.info.pl | File | 122 B | 0644 |
|
delete_host.cgi | File | 251 B | 0755 |
|
delete_mod.cgi | File | 3.89 KB | 0755 |
|
edit_acl.cgi | File | 4.2 KB | 0755 |
|
edit_host.cgi | File | 3.37 KB | 0755 |
|
edit_mod.cgi | File | 5.42 KB | 0755 |
|
index.cgi | File | 6.02 KB | 0755 |
|
install.cgi | File | 7.5 KB | 0755 |
|
module.info | File | 211 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 141 B | 0644 |
|
module.info.ar | File | 0 B | 0644 |
|
module.info.ar.auto | File | 196 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 213 B | 0644 |
|
module.info.bg | File | 0 B | 0644 |
|
module.info.bg.auto | File | 213 B | 0644 |
|
module.info.ca | File | 131 B | 0644 |
|
module.info.ca.auto | File | 24 B | 0644 |
|
module.info.cs | File | 34 B | 0644 |
|
module.info.cs.auto | File | 105 B | 0644 |
|
module.info.da | File | 0 B | 0644 |
|
module.info.da.auto | File | 148 B | 0644 |
|
module.info.de | File | 125 B | 0644 |
|
module.info.de.auto | File | 24 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 258 B | 0644 |
|
module.info.es | File | 42 B | 0644 |
|
module.info.es.auto | File | 109 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 162 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 190 B | 0644 |
|
module.info.fi | File | 0 B | 0644 |
|
module.info.fi.auto | File | 142 B | 0644 |
|
module.info.fr | File | 36 B | 0644 |
|
module.info.fr.auto | File | 115 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 166 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 157 B | 0644 |
|
module.info.hu | File | 34 B | 0644 |
|
module.info.hu.auto | File | 116 B | 0644 |
|
module.info.it | File | 0 B | 0644 |
|
module.info.it.auto | File | 125 B | 0644 |
|
module.info.ja | File | 0 B | 0644 |
|
module.info.ja.auto | File | 195 B | 0644 |
|
module.info.ko | File | 0 B | 0644 |
|
module.info.ko.auto | File | 158 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 160 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 145 B | 0644 |
|
module.info.ms | File | 112 B | 0644 |
|
module.info.ms.auto | File | 24 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 145 B | 0644 |
|
module.info.nl | File | 32 B | 0644 |
|
module.info.nl.auto | File | 105 B | 0644 |
|
module.info.no | File | 33 B | 0644 |
|
module.info.no.auto | File | 115 B | 0644 |
|
module.info.pl | File | 125 B | 0644 |
|
module.info.pl.auto | File | 28 B | 0644 |
|
module.info.pt | File | 0 B | 0644 |
|
module.info.pt.auto | File | 145 B | 0644 |
|
module.info.pt_BR | File | 0 B | 0644 |
|
module.info.pt_BR.auto | File | 154 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 141 B | 0644 |
|
module.info.ru | File | 0 B | 0644 |
|
module.info.ru.auto | File | 219 B | 0644 |
|
module.info.sk | File | 0 B | 0644 |
|
module.info.sk.auto | File | 142 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 140 B | 0644 |
|
module.info.sv | File | 0 B | 0644 |
|
module.info.sv.auto | File | 138 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 282 B | 0644 |
|
module.info.tr | File | 0 B | 0644 |
|
module.info.tr.auto | File | 146 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 227 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 216 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 158 B | 0644 |
|
module.info.zh | File | 0 B | 0644 |
|
module.info.zh.auto | File | 126 B | 0644 |
|
module.info.zh_TW | File | 0 B | 0644 |
|
module.info.zh_TW.auto | File | 135 B | 0644 |
|
prefs.info | File | 28 B | 0644 |
|
refresh.cgi | File | 3.36 KB | 0755 |
|
save_acl.cgi | File | 3.28 KB | 0755 |
|
sync.cgi | File | 3.94 KB | 0755 |
|
sync_form.cgi | File | 1.78 KB | 0755 |
|
update.cgi | File | 4.1 KB | 0755 |
|
upgrade.cgi | File | 12.87 KB | 0755 |
|