#!/usr/local/bin/perl # Shows all zones, with links to add more require './zones-lib.pl'; do 'forms-lib.pl'; $p = new Webmin::Page(undef, $module_info{'desc'}, "intro", 1, 1); $zn = &get_current_zone(); if (!&has_command("zoneadm")) { $p->set_errormsg(&text('index_ecmd', "zoneadm")); } elsif ($zn ne "global") { $p->set_errormsg(&text('index_eglobal', "$zn")); } else { # Create the table &ReadParse(); @zones = sort { $a->{'name'} cmp $b->{'name'} } &list_zones(); $form = new Webmin::Form(); $form->set_input(\%in); $p->add_form($form); $table = new Webmin::Table([ $text{'list_name'}, $text{'list_id'}, $text{'list_path'}, $text{'list_status'}, $text{'list_actions'} ], "100%"); $form->add_section($table); foreach $z (@zones) { local ($a, @actions); foreach $a (&zone_status_actions($z)) { push(@actions, new Webmin::TableAction("save_zone.cgi", $a->[1], [ [ "zone", $z->{'name'} ], [ $a->[0], 1 ], [ "list", 1 ] ])); } $table->add_row([ "$z->{'name'}", $z->{'id'}, $z->{'zonepath'}, &nice_status($z->{'status'}), \@actions ]); } $table->set_emptymsg($text{'index_none'}); $table->add_link("create_form.cgi", $text{'index_add'}); $p->add_footer("/", $text{'index'}); } $p->print();