| Viewing file:  edit_target.cgi (2.09 KB)      -rwxr-xr-x Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
#!/usr/bin/perl# Show a form to edit or create a target
 
 use strict;
 use warnings;
 require './iscsi-server-lib.pl';
 our (%text, %in);
 my $conf = &get_iscsi_config();
 &ReadParse();
 
 # Get the target, or create a new one
 my $target;
 if ($in{'new'}) {
 &ui_print_header(undef, $text{'target_create'}, "");
 $target = { 'num' => &find_free_num($conf, 'target'),
 'type' => 'target',
 'flags' => 'rw',
 'network' => '192.168.1.0/24' };
 }
 else {
 $target = &find($conf, "target", $in{'num'});
 $target || &text('target_egone', $in{'num'});
 &ui_print_header(undef, $text{'target_edit'}, "");
 }
 
 # Show editing form
 print &ui_form_start("save_target.cgi", "post");
 print &ui_hidden("new", $in{'new'});
 print &ui_hidden("num", $in{'num'});
 print &ui_table_start($text{'target_header'}, undef, 2);
 
 # Target name/number
 print &ui_table_row($text{'target_name'},
 $target->{'type'}.$target->{'num'});
 
 # Extent or device to share
 my @poss = map { [ $_->{'type'}.$_->{'num'}, &describe_object($_) ] }
 ( &find($conf, 'extent'), &find($conf, 'device') );
 print &ui_table_row($text{'target_export'},
 &ui_select("export", $target->{'export'}, \@poss, 1, 0,
 !$in{'new'}));
 
 # Sharing mode
 print &ui_table_row($text{'target_flags'},
 &ui_select("flags", $target->{'flags'},
 [ [ 'ro', $text{'targets_flags_ro'} ],
 [ 'rw', $text{'targets_flags_rw'} ] ]));
 
 # Client network
 my $all = $target->{'network'} eq 'any' ||
 $target->{'network'} eq 'all' ||
 $target->{'network'} =~ /^0(\.0)*\/0$/ ? 1 : 0;
 my ($net, $mask) = $all ? ( "", "" ) : split(/\//, $target->{'network'});
 print &ui_table_row($text{'target_network'},
 &ui_radio("network_def", $all,
 [ [ 1, $text{'target_network_all'} ],
 [ 0, $text{'target_network_net'} ] ])." ".
 &ui_textbox("network", $net, 15)." / ".
 &ui_textbox("mask", $mask, 15));
 
 print &ui_table_end();
 if ($in{'new'}) {
 print &ui_form_end([ [ undef, $text{'create'} ] ]);
 }
 else {
 print &ui_form_end([ [ undef, $text{'save'} ],
 [ 'delete', $text{'delete'} ] ]);
 }
 
 &ui_print_footer("list_targets.cgi", $text{'targets_return'});
 
 |