sub
new {
my
(
$class
,
@args
) =
@_
;
return
bless
$class
->SUPER::new(
@args
),
$class
;
}
sub
delete
{
my
(
$self
,
@args
) =
@_
;
my
$table
=
$self
->parms();
foreach
my
$arg
(
@args
) {
delete
$table
->{
$arg
};
}
}
sub
delete_all {
my
$self
=
shift
;
my
$table
=
$self
->parms();
my
@args
=
keys
%$table
;
foreach
my
$arg
(
@args
) {
delete
$table
->{
$arg
};
}
}
sub
cookie {
my
(
$self
,
@args
) =
@_
;
if
(
$#args
== 0) {
my
$cookies
= Apache::Cookie->fetch();
if
(
$cookies
&&
$cookies
->{
$args
[0]} ) {
return
$cookies
->{
$args
[0]}->value;
}
else
{
return
;
}
}
else
{
return
Apache::Cookie->new(
$self
,
@args
);
}
}
sub
Dump {
my
$self
=
shift
;
my
(
$param
,
$value
,
@result
);
return
'<ul></ul>'
unless
$self
->param;
push
(
@result
,
"<ul>"
);
foreach
$param
(
$self
->param) {
my
$name
=
$self
->escapeHTML(
$param
);
push
(
@result
,
"<li><strong>$name</strong></li>"
);
push
(
@result
,
"<ul>"
);
foreach
$value
(
$self
->param(
$param
)) {
$value
=
$self
->escapeHTML(
$value
);
push
(
@result
,
"<li>$value</li>"
);
}
push
(
@result
,
"</ul>"
);
}
push
(
@result
,
"</ul>"
);
return
join
(
"\n"
,
@result
);
}
sub
Vars {
my
$self
=
shift
;
my
@params
=
$self
->param();
my
%Vars
= ();
foreach
my
$param
(
@params
) {
my
@values
=
$self
->param(
$param
);
if
(
scalar
@values
== 1 ) {
$Vars
{
$param
} =
$values
[0];
}
else
{
$Vars
{
$param
} = \
@values
;
}
}
if
(
wantarray
) {
return
%Vars
;
}
else
{
return
\
%Vars
;
}
}
sub
escapeHTML {
my
(
$self
,
$value
) =
@_
;
$value
= HTML::GenerateUtil::escape_html(
$value
,
(
$HTML::GenerateUtil::EH_LFTOBR
|
$HTML::GenerateUtil::EH_SPTONBSP
|
$HTML::GenerateUtil::EH_LEAVEKNOWN
)
);
return
$value
;
}
sub
upload {
my
(
$self
,
$file
) =
@_
;
if
(
$file
) {
my
$upload
=
$self
->SUPER::upload(
$file
);
if
(
$upload
) {
return
$upload
->fh();
}
else
{
return
;
}
}
else
{
my
@files
=
$self
->SUPER::upload();
@files
=
map
{
$self
->SUPER::upload(
$_
)->fh() }
@files
;
return
@files
;
}
}
1;