PMLTQ-CGI
view release on metacpan or search on metacpan
lib/PMLTQ/CGI.pm view on Meta::CPAN
push @ret,' ... ';
}
push @ret, $cgi->a({href=>sprintf($href_format,$first+$max),%$a_opts},'>'),' ' if $first+$max<=$count;
push @ret, $cgi->a({href=>sprintf($href_format,$count-$max+1),%$a_opts},'>>'),' ';
return @ret;
}
sub _param_form {
my ($cgi,$type)=@_;
return (
$cgi->start_form(
{ -method => 'POST',
-name => 'qf',
-action => $URL_BASE.'form'}),
$cgi->input({name=>'format',value=>'html',type=>'hidden'}),
$cgi->input({name=>'back_to',value=>$type,type=>'hidden'}),
($type eq 'past_queries'
? $cgi->input({name=>'first',value=>scalar($cgi->param('first')),type=>'hidden'})
: ()
),
(map {
$cgi->input({
name => $_,
value => scalar($cgi->param($_)),
type => 'hidden',
})
} grep {
!/^(query_submit|back_to|_.*|first|format)$/
} $cgi->param()),
$cgi->end_form,
);
}
sub _start_query_form {
my ($cgi)=@_;
return (
$cgi->start_form(-method => 'POST',
-name => 'qf',
-onSubmit=>"show_loading(); return true",
-action => $URL_BASE.'query'),
$cgi->input({name=>'format',value=>'html',type=>'hidden'}),
$cgi->input({name=>'row_limit',value=>'limit',type=>'hidden'}),
$cgi->input({name=>'back_to',value=>'form',type=>'hidden'}),
(map {
$cgi->input({
name => $_,
value => scalar($cgi->param($_)),
type => 'hidden',
})
} grep {!/^(query|back_to|first|format|limit|timeout|_.*|query_submit)$/} $cgi->param()),
$cgi->start_div({-class => 'query'}),
);
}
sub _query_textarea {
my ($cgi)=@_;
return
$cgi->div({-style=>'width:99%', -class=>'qmenubar'},
$cgi->div(
{-style=>'float:right'},
'Limit: '.$cgi->popup_menu(-name=>"limit",
-default=>(scalar($cgi->param('limit'))||100),
-values => [1,10,100,1000,10000]),
'Timeout: '.$cgi->popup_menu(-name=>"timeout",
-default=>(scalar($cgi->param('timeout'))||30),
-values => [20,30,45,60,90,120,200,300])
).
$cgi->start_div({-id => 'qm'}).$cgi->end_div()
).
# $cgi->pre({-id => 'qp', -style=>'width:99%'},'foo').
$cgi->fieldset({style=>'clear:both'},
$cgi->div({-class => 'query-area'},
$cgi->textarea(
-id => 'queryTA',
-name => 'query',
-default => "# Enter your query here\n",
-style => 'font-size: 7pt',
-rows => 2,
-accesskey => 'e',
-onFocus => 'this.rows=12;this.style.fontSize="10pt"; return true;',
-onBlur => <<'EOJS',
var t=this;
setTimeout(
function(){
if (t) {
if (isMenuButtonActive()) {
setOnDeactivate( function(inserting){ if (t && !inserting) t.rows=2; t.style.fontSize="7pt"; } )
} else { t.rows=2; t.style.fontSize="7pt"; }
}
} ,200);
return true;
EOJS
# -columns => 80,
)));
}
sub _end_query_form {
my ($cgi)=@_;
return (
# $cgi->end_div(),
$cgi->endform(),
);
}
sub _query_form {
my ($cgi,$text)=@_;
return (
_start_query_form($cgi),
_toolbar_text($cgi,$text),
_end_query_form($cgi),
)
}
{
my $evaluator;
sub init_evaluator {
unless ($evaluator) {
$evaluator = PMLTQ::SQLEvaluator->new(undef,{
connect => $conf,
debug=>$DEBUG,
});
$evaluator->connect();
}
return $evaluator;
}
( run in 0.762 second using v1.01-cache-2.11-cpan-364913b4093 )