DTA-CAB

 view release on metacpan or  search on metacpan

CAB/Client/CGIWrapper.pm  view on Meta::CPAN

    );
}

## @html = html_begin_content($h1_title_text)
sub html_begin_content {
  my $wr = shift;
  return
    (openTag('div',{id=>'outer'}),
     div({id=>'headers'}, h1(@_ ? @_ : 'DTA::CAB Client Wrapper')),
     openTag('div',{id=>'content'}),
    );
}

## @html = $wr->html_footer()
sub html_footer {
  my $wr = shift;
  my $q = $wr->{q};
  return
    (
     closeTag('div',{id=>'content'}),
     '<div id="footers">',
     "<tt>$wr->{sysid}</tt>", $q->br,
     '<address><a href="mailto:moocow@cpan.org">moocow@cpan.org</a></address>',
     '</div>',
     closeTag('div',{id=>'outer'}),
     $q->end_html,
    );
}

## @html = $wr->html_vars()
sub html_vars {
  my $wr = shift;
  local $Data::Dumper::Indent = 2;
  return $wr->{q}->pre(Data::Dumper->Dump([$wr->{qv}],['vars']));
}

## @html = $wr->html_qform()
sub html_qform {
  my $wr = shift;
  my $q = $wr->{q};

  ##-- get analyzer list
  if (!defined($wr->{analyzers})) {
    my @a = $wr->analyzers();
    return $wr->set_error("could get analyzer list: ".$a[0]->value) if (!@a || ref($a[0]));
    $wr->{analyzers} = \@a;
  }

  return
    (
     div({id=>'section'},
	 #h2('Query'),
	 start_form(-method=>'GET', -id=>'queryForm'),
	 table({class=>'sep'},
	       tbody(
		     Tr(td({id=>'searchLabel'}, "Query:"),
			td({colspan=>3}, textfield(-name=>'q',-size=>64,-id=>'searchText')),
		       ),
		     ##
		     Tr(td({id=>'searchLabel'}, "Analyzer:"),
			td(popup_menu({-name=>'analyzer',
				       -values=>[ @{$wr->{analyzers}} ],
				       -default=>($wr->{analyzers}[0] || 'dta.cab.default')
				      }))),
		     ##
		     Tr(
			td({id=>'searchLabelE'}, "Format:"),
			td(popup_menu({-name=>'format',
				       -values=>[ map {$_->{key}} @{$wr->{fmts}} ],
				       -default=>$wr->{defaultFmt},
				       -labels => { map {($_->{key}=>$_->{label})} @{$wr->{fmts}} },
				      }))),
		     ##
		     Tr(
			td({id=>'searchLabelE'}, "Debug:"),
			td(checkbox(-name=>'debug',
				    -checked=>($wr->{autoClean} || !$wr->{debug} ? 0 : 1),
				    -value=>1,
				    -label=>'',
				    ($wr->{autoClean} ? (-disabled=>1) : qw()))),
		       ),
		     ##
		     Tr(td(),
			td(submit(-name=>'submit',-value=>'submit')),
		       ),
		    )),
	 end_form,
	),
    );
}

##==============================================================================
## Functions: utils

sub htmlesc {
  my $str = shift;
  $str =~ s/\&/&amp;/g;
  $str =~ s/\</&lt;/g;
  $str =~ s/\>/&gt;/g;
  $str =~ s/\"/&quot;/g;
  $str =~ s/\'/&apos;/g;
  return $str;
}
sub openTag {
  my ($name,$attrs) = @_;
  return "<$name".join('', map {" $_=\"".htmlesc($attrs->{$_})."\""} sort keys %$attrs).">";
}
sub closeTag {
  my $name = shift;
  return "</$name>";
}
sub elt {
  my ($name,$attrs,@content) = @_;
  return (openTag($name,$attrs), @content, closeTag($name));
}
sub mydiv { return elt('div',@_); }
sub mytable { return elt('table',@_); }
sub mytbody { return elt('tbody',@_); }
sub mytr { return elt('tr',@_); }
sub mytd { return elt('td',@_); }
sub myth { return elt('th',@_); }
sub myspan { return elt('span',@_); }
sub mya { return elt('a',@_); }

1; ##-- be happy

__END__



( run in 1.715 second using v1.01-cache-2.11-cpan-364913b4093 )