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 )