<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
require 'user-lib.pl';

# acl_security_form(&amp;options)
# Output HTML for editing security options for the useradmin module
sub acl_security_form
{
local $o = $_[0];

print "&lt;tr&gt; &lt;td valign=top&gt;&lt;b&gt;$text{'acl_uedit'}&lt;/b&gt;&lt;/td&gt; &lt;td colspan=3&gt;\n";
printf "&lt;input type=radio name=uedit_mode value=0 %s&gt; $text{'acl_uedit_all'}&amp;nbsp;&amp;nbsp;\n",
	$o-&gt;{'uedit_mode'} == 0 ? "checked" : "";
printf "&lt;input type=radio name=uedit_mode value=1 %s&gt; $text{'acl_uedit_none'}&amp;nbsp;\n",
	$o-&gt;{'uedit_mode'} == 1 ? "checked" : "";
printf "&lt;input type=radio name=uedit_mode value=6 %s&gt; $text{'acl_uedit_this'}&lt;br&gt;\n",
	$o-&gt;{'uedit_mode'} == 6 ? "checked" : "";
printf "&lt;input type=radio name=uedit_mode value=2 %s&gt; $text{'acl_uedit_only'}\n",
	$o-&gt;{'uedit_mode'} == 2 ? "checked" : "";
printf "&lt;input name=uedit_can size=40 value='%s'&gt; %s&lt;br&gt;\n",
	$o-&gt;{'uedit_mode'} == 2 ? $o-&gt;{'uedit'} : "",
	&amp;user_chooser_button("uedit_can", 1);
printf "&lt;input type=radio name=uedit_mode value=3 %s&gt; $text{'acl_uedit_except'}\n",
	$o-&gt;{'uedit_mode'} == 3 ? "checked" : "";
printf "&lt;input name=uedit_cannot size=40 value='%s'&gt; %s&lt;br&gt;\n",
	$o-&gt;{'uedit_mode'} == 3 ? $o-&gt;{'uedit'} : "",
	&amp;user_chooser_button("uedit_cannot", 1);
printf "&lt;input type=radio name=uedit_mode value=4 %s&gt; $text{'acl_uedit_uid'}\n",
	$o-&gt;{'uedit_mode'} == 4 ? "checked" : "";
printf "&lt;input name=uedit_uid size=6 value='%s'&gt; - \n",
	$o-&gt;{'uedit_mode'} == 4 ? $o-&gt;{'uedit'} : "";
printf "&lt;input name=uedit_uid2 size=6 value='%s'&gt;&lt;br&gt;\n",
	$o-&gt;{'uedit_mode'} == 4 ? $o-&gt;{'uedit2'} : "";
printf "&lt;input type=radio name=uedit_mode value=5 %s&gt; $text{'acl_uedit_group'}\n",
	$o-&gt;{'uedit_mode'} == 5 ? "checked" : "";
printf "&lt;input name=uedit_group size=40 value='%s'&gt; %s&lt;br&gt;\n",
	$o-&gt;{'uedit_mode'} == 5 ?
	 join(" ", map { "".&amp;my_getgrgid($_) } split(/\s+/, $o-&gt;{'uedit'})) :"",
	&amp;group_chooser_button("uedit_group", 1);
printf "%s &lt;input type=checkbox name=uedit_sec value=1 %s&gt; %s&lt;br&gt;\n",
	"&amp;nbsp;" x 5, $o-&gt;{'uedit_sec'} ? 'checked' : '',$text{'acl_uedit_sec'};
printf "&lt;input type=radio name=uedit_mode value=7 %s&gt; $text{'acl_uedit_re'}\n",
	$o-&gt;{'uedit_mode'} == 7 ? "checked" : "";
printf "&lt;input name=uedit_re size=40 value='%s'&gt; %s&lt;br&gt;\n",
	$o-&gt;{'uedit_mode'} == 7 ? $o-&gt;{'uedit_re'} : "";
print "&lt;/td&gt; &lt;/tr&gt;\n";

print "&lt;tr&gt; &lt;td&gt;&lt;b&gt;$text{'acl_ucreate'}&lt;/b&gt;&lt;/td&gt; &lt;td&gt;\n";
printf "&lt;input type=radio name=ucreate value=1 %s&gt; $text{'yes'}\n",
	$o-&gt;{'ucreate'} ? "checked" : "";
printf "&lt;input type=radio name=ucreate value=0 %s&gt; $text{'no'}&lt;/td&gt; &lt;/tr&gt;\n",
	$o-&gt;{'ucreate'} ? "" : "checked";

print "&lt;tr&gt; &lt;td&gt;&lt;b&gt;$text{'acl_batch'}&lt;/b&gt;&lt;/td&gt; &lt;td&gt;\n";
printf "&lt;input type=radio name=batch value=1 %s&gt; $text{'yes'}\n",
	$o-&gt;{'batch'} ? "checked" : "";
printf "&lt;input type=radio name=batch value=0 %s&gt; $text{'no'}&lt;/td&gt; &lt;/tr&gt;\n",
	$o-&gt;{'batch'} ? "" : "checked";

print "&lt;tr&gt; &lt;td&gt;&lt;b&gt;$text{'acl_export'}&lt;/b&gt;&lt;/td&gt; &lt;td colspan=3&gt;\n";
printf "&lt;input type=radio name=export value=2 %s&gt; $text{'yes'}\n",
	$o-&gt;{'export'} == 2 ? "checked" : "";
printf "&lt;input type=radio name=export value=1 %s&gt; $text{'acl_export1'}\n",
	$o-&gt;{'export'} == 1 ? "checked" : "";
printf "&lt;input type=radio name=export value=0 %s&gt; $text{'no'}&lt;/td&gt; &lt;/tr&gt;\n",
	$o-&gt;{'export'} == 0 ? "checked" : "";

print "&lt;tr&gt; &lt;td valign=top&gt;&lt;b&gt;$text{'acl_uid'}&lt;/b&gt;&lt;/td&gt;\n";
print "&lt;td colspan=3&gt;&lt;input name=lowuid size=6 value='$o-&gt;{'lowuid'}'&gt; -\n";
print "&lt;input name=hiuid size=6 value='$o-&gt;{'hiuid'}'&gt;&lt;br&gt;\n";
printf "&lt;input type=checkbox name=autouid value=1 %s&gt; %s&lt;br&gt;\n",
	$o-&gt;{'autouid'} ? "checked" : "", $text{'acl_autouid'};
printf "&lt;input type=checkbox name=calcuid value=1 %s&gt; %s&lt;br&gt;\n",
	$o-&gt;{'calcuid'} ? "checked" : "", $text{'acl_calcuid'};
printf "&lt;input type=checkbox name=useruid value=1 %s&gt; %s&lt;br&gt;\n",
	$o-&gt;{'useruid'} ? "checked" : "", $text{'acl_useruid'};
printf "&lt;input type=checkbox name=umultiple value=1 %s&gt; %s&lt;br&gt;\n",
	$o-&gt;{'umultiple'} ? "checked" : "", $text{'acl_umultiple'};
printf "&lt;input type=checkbox name=uuid value=1 %s&gt; %s&lt;/td&gt; &lt;/tr&gt;\n",
	$o-&gt;{'uuid'} ? "checked" : "", $text{'acl_uuid'};

local $uedit_gmode = defined($o-&gt;{'uedit_gmode'}) ? $o-&gt;{'uedit_gmode'} :
		     $o-&gt;{'ugroups'} eq '*' ? 0 : 2;
print "&lt;tr&gt; &lt;td valign=top&gt;&lt;b&gt;$text{'acl_ugroups'}&lt;/b&gt;&lt;/td&gt; &lt;td colspan=3&gt;\n";
printf "&lt;input type=radio name=uedit_gmode value=0 %s&gt; $text{'acl_gedit_all'}&lt;br&gt;\n",
	$uedit_gmode == 0 ? "checked" : "";
printf "&lt;input type=radio name=uedit_gmode value=2 %s&gt; $text{'acl_gedit_only'}\n",
	$uedit_gmode == 2 ? "checked" : "";
printf "&lt;input name=uedit_gcan size=40 value='%s'&gt; %s&lt;br&gt;\n",
	$uedit_gmode == 2 ? $o-&gt;{'ugroups'} : "",
	&amp;group_chooser_button("uedit_gcan", 1);
printf "&lt;input type=radio name=uedit_gmode value=3 %s&gt; $text{'acl_gedit_except'}\n",
	$uedit_gmode == 3 ? "checked" : "";
printf "&lt;input name=uedit_gcannot size=40 value='%s'&gt; %s&lt;br&gt;\n",
	$uedit_gmode == 3 ? $o-&gt;{'ugroups'} : "",
	&amp;group_chooser_button("uedit_gcannot", 1);
printf "&lt;input type=radio name=uedit_gmode value=4 %s&gt; $text{'acl_gedit_gid'}\n",
	$uedit_gmode == 4 ? "checked" : "";
printf "&lt;input name=uedit_gid size=6 value='%s'&gt; -\n",
	$uedit_gmode == 4 ? $o-&gt;{'ugroups'} : "";
printf "&lt;input name=uedit_gid2 size=6 value='%s'&gt;&lt;/td&gt; &lt;/tr&gt;\n",
	$uedit_gmode == 4 ? $o-&gt;{'ugroups2'} : "";

print "&lt;tr&gt; &lt;td valign=top&gt;&lt;b&gt;$text{'acl_shells'}&lt;/b&gt;&lt;/td&gt; &lt;td colspan=3&gt;\n";
printf "&lt;input type=radio name=shells_def value=1 %s&gt; $text{'acl_any'}\n",
	$o-&gt;{'shells'} eq "*" ? "checked" : "";
printf "&lt;input type=radio name=shells_def value=0 %s&gt; $text{'acl_listed'}&lt;br&gt;\n",
	$o-&gt;{'shells'} eq "*" ? "" : "checked";
print "&lt;textarea name=shells rows=3 cols=40&gt;",
	$o-&gt;{'shells'} eq "*" ? "" : join("\n", split(/\s+/, $o-&gt;{'shells'})),
	"&lt;/textarea&gt;&lt;/td&gt; &lt;/tr&gt;\n";

print "&lt;tr&gt; &lt;td&gt;&lt;b&gt;$text{'acl_epeopt'}&lt;/b&gt;&lt;/td&gt; &lt;td&gt;\n";
printf "&lt;input type=radio name=peopt value=1 %s&gt; $text{'yes'}\n",
	$o-&gt;{'peopt'} ? "checked" : "";
printf "&lt;input type=radio name=peopt value=0 %s&gt; $text{'no'}&lt;/td&gt; &lt;/tr&gt;\n",
	$o-&gt;{'peopt'} ? "" : "checked";

print "&lt;tr&gt; &lt;td valign=top&gt;&lt;b&gt;$text{'acl_home'}&lt;/b&gt;&lt;/td&gt;\n";
printf "&lt;td colspan=3&gt;&lt;input name=home size=40 value='%s'&gt; %s&lt;br&gt;\n",
	$o-&gt;{'home'}, &amp;file_chooser_button("home", 1);
printf "&lt;input type=checkbox name=autohome value=1 %s&gt; %s&lt;/td&gt; &lt;/tr&gt;\n",
	$o-&gt;{'autohome'} ? "checked" : "",
	$text{'acl_autohome'};

print "&lt;tr&gt; &lt;td&gt;&lt;b&gt;$text{'acl_udelete'}&lt;/b&gt;&lt;/td&gt; &lt;td&gt;\n";
printf "&lt;input type=radio name=udelete value=1 %s&gt; $text{'yes'}\n",
	$o-&gt;{'udelete'} ? "checked" : "";
printf "&lt;input type=radio name=udelete value=0 %s&gt; $text{'no'}&lt;/td&gt; &lt;/tr&gt;\n",
	$o-&gt;{'udelete'} ? "" : "checked";

print "&lt;tr&gt; &lt;td&gt;&lt;b&gt;$text{'acl_urename'}&lt;/b&gt;&lt;/td&gt; &lt;td&gt;\n";
printf "&lt;input type=radio name=urename value=1 %s&gt; $text{'yes'}\n",
	$o-&gt;{'urename'} ? "checked" : "";
printf "&lt;input type=radio name=urename value=0 %s&gt; $text{'no'}&lt;/td&gt; &lt;/tr&gt;\n",
	$o-&gt;{'urename'} ? "" : "checked";

print "&lt;tr&gt; &lt;td valign=top&gt;&lt;b&gt;$text{'acl_delhome'}&lt;/b&gt;&lt;/td&gt;\n";
print "&lt;td colspan=3&gt;",&amp;ui_radio("delhome", $o-&gt;{'delhome'},
			  [ [ 2, $text{'acl_option'} ],
			    [ 1, $text{'acl_always'} ],
			    [ 0, $text{'acl_never'} ] ]),"&lt;/td&gt; &lt;/tr&gt;\n";

# 0 = always on, 1 = can edit, 2 = always off
print "&lt;tr&gt; &lt;td valign=top&gt;&lt;b&gt;$text{'acl_saveopts'}&lt;/b&gt;&lt;/td&gt; ",
      "&lt;td colspan=3&gt;&lt;table&gt;\n";
foreach $opt ('chuid', 'chgid', 'movehome', 'mothers',
	      'makehome', 'copy', 'cothers', 'dothers') {
	print "&lt;tr&gt; &lt;td&gt;",$text{"uedit_$opt"},"&lt;/td&gt;\n";
	printf "&lt;td&gt;&lt;input type=radio name=$opt value=1 %s&gt; %s\n",
		$o-&gt;{$opt} == 1 ? "checked" : "", $text{'acl_canedit'};
	printf "&lt;input type=radio name=$opt value=0 %s&gt; %s\n",
		$o-&gt;{$opt} == 0 ? "checked" : "", $text{'acl_on'};
	printf "&lt;input type=radio name=$opt value=2 %s&gt; %s&lt;/td&gt; &lt;/tr&gt;\n",
		$o-&gt;{$opt} == 2 ? "checked" : "", $text{'acl_off'};
	}
print "&lt;/table&gt;&lt;/td&gt; &lt;/tr&gt;\n";

print "&lt;tr&gt; &lt;td colspan=4&gt;&lt;hr&gt;&lt;/td&gt; &lt;/tr&gt;\n";

print "&lt;tr&gt; &lt;td valign=top&gt;&lt;b&gt;$text{'acl_gedit'}&lt;/b&gt;&lt;/td&gt; &lt;td colspan=3&gt;\n";
printf "&lt;input type=radio name=gedit_mode value=0 %s&gt; $text{'acl_gedit_all'}&amp;nbsp;&amp;nbsp;\n",
	$o-&gt;{'gedit_mode'} == 0 ? "checked" : "";
printf "&lt;input type=radio name=gedit_mode value=1 %s&gt; $text{'acl_gedit_none'}&lt;br&gt;\n",
	$o-&gt;{'gedit_mode'} == 1 ? "checked" : "";
printf "&lt;input type=radio name=gedit_mode value=2 %s&gt; $text{'acl_gedit_only'}\n",
	$o-&gt;{'gedit_mode'} == 2 ? "checked" : "";
printf "&lt;input name=gedit_can size=40 value='%s'&gt; %s&lt;br&gt;\n",
	$o-&gt;{'gedit_mode'} == 2 ? $o-&gt;{'gedit'} : "",
	&amp;group_chooser_button("gedit_can", 1);
printf "&lt;input type=radio name=gedit_mode value=3 %s&gt; $text{'acl_gedit_except'}\n",
	$o-&gt;{'gedit_mode'} == 3 ? "checked" : "";
printf "&lt;input name=gedit_cannot size=40 value='%s'&gt; %s&lt;br&gt;\n",
	$o-&gt;{'gedit_mode'} == 3 ? $o-&gt;{'gedit'} : "",
	&amp;group_chooser_button("gedit_cannot", 1);
printf "&lt;input type=radio name=gedit_mode value=4 %s&gt; $text{'acl_gedit_gid'}\n",
	$o-&gt;{'gedit_mode'} == 4 ? "checked" : "";
printf "&lt;input name=gedit_gid size=6 value='%s'&gt; -\n",
	$o-&gt;{'gedit_mode'} == 4 ? $o-&gt;{'gedit'} : "";
printf "&lt;input name=gedit_gid2 size=6 value='%s'&gt;&lt;/td&gt; &lt;/tr&gt;\n",
	$o-&gt;{'gedit_mode'} == 4 ? $o-&gt;{'gedit2'} : "";

print "&lt;tr&gt; &lt;td&gt;&lt;b&gt;$text{'acl_gcreate'}&lt;/b&gt;&lt;/td&gt; &lt;td colspan=3&gt;\n";
printf "&lt;input type=radio name=gcreate value=1 %s&gt; $text{'yes'}\n",
	$o-&gt;{'gcreate'}==1 ? "checked" : "";
printf "&lt;input type=radio name=gcreate value=2 %s&gt; $text{'acl_gnew'}\n",
	$o-&gt;{'gcreate'}==2 ? "checked" : "";
printf "&lt;input type=radio name=gcreate value=0 %s&gt; $text{'no'}&lt;/td&gt; &lt;/tr&gt;\n",
	$o-&gt;{'gcreate'}==0 ? "checked" : "";

print "&lt;tr&gt; &lt;td valign=top&gt;&lt;b&gt;$text{'acl_gid'}&lt;/b&gt;&lt;/td&gt;\n";
print "&lt;td colspan=3&gt;&lt;input name=lowgid size=6 value='$o-&gt;{'lowgid'}'&gt; -\n";
print "&lt;input name=higid size=6 value='$o-&gt;{'higid'}'&gt;&lt;br&gt;\n";
printf "&lt;input type=checkbox name=autogid value=1 %s&gt; %s&lt;br&gt;\n",
	$o-&gt;{'autogid'} ? "checked" : "", $text{'acl_autogid'};
printf "&lt;input type=checkbox name=calcgid value=1 %s&gt; %s&lt;br&gt;\n",
	$o-&gt;{'calcgid'} ? "checked" : "", $text{'acl_calcgid'};
printf "&lt;input type=checkbox name=usergid value=1 %s&gt; %s&lt;br&gt;\n",
	$o-&gt;{'usergid'} ? "checked" : "", $text{'acl_usergid'};
printf "&lt;input type=checkbox name=gmultiple value=1 %s&gt; %s&lt;br&gt;\n",
	$o-&gt;{'gmultiple'} ? "checked" : "", $text{'acl_gmultiple'};
printf "&lt;input type=checkbox name=ggid value=1 %s&gt; %s&lt;/td&gt; &lt;/tr&gt;\n",
	$o-&gt;{'ggid'} ? "checked" : "", $text{'acl_ggid'};

print "&lt;tr&gt; &lt;td&gt;&lt;b&gt;$text{'acl_gdelete'}&lt;/b&gt;&lt;/td&gt; &lt;td&gt;\n";
printf "&lt;input type=radio name=gdelete value=1 %s&gt; $text{'yes'}\n",
	$o-&gt;{'gdelete'} ? "checked" : "";
printf "&lt;input type=radio name=gdelete value=0 %s&gt; $text{'no'}&lt;/td&gt; &lt;/tr&gt;\n",
	$o-&gt;{'gdelete'} ? "" : "checked";

print "&lt;tr&gt; &lt;td colspan=4&gt;&lt;hr&gt;&lt;/td&gt; &lt;/tr&gt;\n";

print "&lt;tr&gt;&lt;td valign=top&gt;&lt;b&gt;$text{'acl_logins'}&lt;/b&gt;&lt;/td&gt; &lt;td colspan=3&gt;\n";
printf "&lt;input type=radio name=logins_mode value=0 %s&gt; $text{'acl_lnone'}&lt;br&gt;\n",
	$o-&gt;{'logins'} ? "" : "checked";
printf "&lt;input type=radio name=logins_mode value=1 %s&gt; $text{'acl_lall'}&lt;br&gt;\n",
	$o-&gt;{'logins'} eq "*" ? "checked" : "";
printf "&lt;input type=radio name=logins_mode value=2 %s&gt;\n",
	$o-&gt;{'logins'} =~ /[^\*]/ ? "checked" : "";
printf "&lt;input name=logins size=40 value='%s'&gt; %s&lt;/td&gt; &lt;/tr&gt;\n",
	$o-&gt;{'logins'} =~ /[^\*]/ ? $o-&gt;{'logins'} : "",
	&amp;user_chooser_button("logins", 1);
}

# acl_security_save(&amp;options)
# Parse the form for security options for the useradmin module
sub acl_security_save
{
$_[0]-&gt;{'lowuid'} = $in{'lowuid'};
$_[0]-&gt;{'hiuid'} = $in{'hiuid'};
$_[0]-&gt;{'autouid'} = $in{'autouid'};
$_[0]-&gt;{'autogid'} = $in{'autogid'};
$_[0]-&gt;{'calcuid'} = $in{'calcuid'};
$_[0]-&gt;{'calcgid'} = $in{'calcgid'};
$_[0]-&gt;{'useruid'} = $in{'useruid'};
$_[0]-&gt;{'usergid'} = $in{'usergid'};
$_[0]-&gt;{'lowgid'} = $in{'lowgid'};
$_[0]-&gt;{'higid'} = $in{'higid'};
$_[0]-&gt;{'uedit_mode'} = $in{'uedit_mode'};
$_[0]-&gt;{'uedit'} = $in{'uedit_mode'} == 2 ? $in{'uedit_can'} :
		   $in{'uedit_mode'} == 3 ? $in{'uedit_cannot'} :
		   $in{'uedit_mode'} == 4 ? $in{'uedit_uid'} :
		   $in{'uedit_mode'} == 5 ?
			join(" ", map { "".&amp;my_getgrnam($_) }
			     split(/\s+/, $in{'uedit_group'})) : "";
$_[0]-&gt;{'uedit2'} = $in{'uedit_mode'} == 4 ? $in{'uedit_uid2'} : undef;
$_[0]-&gt;{'uedit_sec'} = $in{'uedit_mode'} == 5 ? $in{'uedit_sec'} : undef;
$_[0]-&gt;{'uedit_re'} = $in{'uedit_mode'} == 7 ? $in{'uedit_re'} : undef;
$_[0]-&gt;{'gedit_mode'} = $in{'gedit_mode'};
$_[0]-&gt;{'gedit'} = $in{'gedit_mode'} == 2 ? $in{'gedit_can'} :
		   $in{'gedit_mode'} == 3 ? $in{'gedit_cannot'} :
		   $in{'gedit_mode'} == 4 ? $in{'gedit_gid'} : "";
$_[0]-&gt;{'gedit2'} = $in{'gedit_mode'} == 4 ? $in{'gedit_gid2'} : undef;
$_[0]-&gt;{'ucreate'} = $in{'ucreate'};
$_[0]-&gt;{'gcreate'} = $in{'gcreate'};
if ($in{'uedit_gmode'} == 0) {
	delete($_[0]-&gt;{'uedit_gmode'});
	$_[0]-&gt;{'ugroups'} = "*";
	}
elsif ($in{'uedit_gmode'} == 2) {
	delete($_[0]-&gt;{'uedit_gmode'});
	$_[0]-&gt;{'ugroups'} = $in{'uedit_gcan'};
	}
else {
	$_[0]-&gt;{'uedit_gmode'} = $in{'uedit_gmode'};
	$_[0]-&gt;{'ugroups'} = $in{'uedit_gmode'} == 3 ? $in{'uedit_gcannot'} :
			     $in{'uedit_gmode'} == 4 ? $in{'uedit_gid'} : "";
	}
$_[0]-&gt;{'ugroups2'} = $in{'uedit_gmode'} == 4 ? $in{'uedit_gid2'} : undef;

$_[0]-&gt;{'logins'} = $in{'logins_mode'} == 0 ? "" :
		    $in{'logins_mode'} == 1 ? "*" : $in{'logins'};
$_[0]-&gt;{'shells'} = $in{'shells_def'} ? "*"
				      : join(" ", split(/\s+/, $in{'shells'}));
$_[0]-&gt;{'peopt'} = $in{'peopt'};
$_[0]-&gt;{'batch'} = $in{'batch'};
$_[0]-&gt;{'export'} = $in{'export'};
$_[0]-&gt;{'home'} = $in{'home'};
$_[0]-&gt;{'delhome'} = $in{'delhome'};
$_[0]-&gt;{'autohome'} = $in{'autohome'};
$_[0]-&gt;{'umultiple'} = $in{'umultiple'};
$_[0]-&gt;{'uuid'} = $in{'uuid'};
$_[0]-&gt;{'gmultiple'} = $in{'gmultiple'};
$_[0]-&gt;{'ggid'} = $in{'ggid'};
foreach $o ('chuid', 'chgid', 'movehome', 'mothers',
	    'makehome', 'copy', 'cothers', 'dothers') {
	$_[0]-&gt;{$o} = $in{$o};
	}
$_[0]-&gt;{'udelete'} = $in{'udelete'};
$_[0]-&gt;{'urename'} = $in{'urename'};
$_[0]-&gt;{'gdelete'} = $in{'gdelete'};
}

</pre></body></html>