IOrdy has asked for the wisdom of the Perl Monks concerning the following question:
# # Apache::Request Buffer Module # package iXML::Buffer::Apache; use strict; use Apache; use Apache::Request; use Apache::Debug; use CGI::Carp qw(fatalsToBrowser); sub new { my $proto = shift; my $class = ref($proto) || $proto; my $self = { 'r' => Apache->request, 'html' => undef, 'redir' => undef, }; bless($self, $class); $self->{apr} = Apache::Request->new( $self->{r}, ); return $self; } sub html { my ($self, $html) = @_; $self->{html} = $html; } sub redir { my ($self, $redir) = @_; $self->{redir} = $redir; } sub output { my $self = shift; if ($self->{redir}) { $self->{apr}->status(302); $self->{apr}->header_out('Location', $self->{redir}); $self->{apr}->send_http_header('text/html'); $self->{apr}->print($self->{html}); }else{ $self->{apr}->send_http_header('text/html'); $self->{apr}->print($self->{html}); } } sub param { my ($self) = shift; return $self->{apr}->param; } sub debug { my ($self) = shift; Apache::Debug::dump($self->{r}, 'SERVER RESPONSE'); } 1;
# # Code that calls the buffer and requests params; # use strict; use iXML::Buffer::Apache; $Buffer = iXML::Buffer::Apache->new(); $Params = $Buffer->param;
# # Sample form code (my script uses HTML::Template # but I filled in the stuff that counts. # <form method="post" action="admin.pl?cmd=save&file=foobar" enctype="mu +ltipart/form-data"> <table width="100%" border="0" cellspacing="1" cellpadding="0" class +="aplBodyC"> <tr> <td colspan="2" class="apeHeadingCTS"><!-- tmpl_var name="headin +g" --></td> </tr> <tr> <td nowrap class="apeListTitlesCTS" valign="top">page name</td> <td nowrap class="apeBodyCTS" width="100%" valign="top"> <input type="text" name="page" class="apeFormObjectCTS" size=" +60" maxlength="60" value="<!-- tmpl_var escape=html name="frm_page" - +->"> </td> </tr> <tr> <td class="apeListTitlesCTS">save</td> <td class="apeBodyCTS" valign="top"><input type="submit" name="S +ubmit" value="save changes" class="apeFormButtonCTS"></td> </tr> </table> </form>
|
|---|