CGI-OptimalQuery

 view release on metacpan or  search on metacpan

lib/CGI/OptimalQuery/InteractiveQuery.pm  view on Meta::CPAN

  }

  $doc .= "
<tr><td colspan=2><button type='reset'>reset</button> <button type=button onclick=\"this.form.method='GET';this.form.submit();\">submit</button></td></tr></table>

<a name='OQtop'></a>

<div id='OQupdatedUidInfo'>".
(($$o{q}->param('updated_uid') eq '')?"":
  "UID: ".$o->escape_html($$o{q}->param('updated_uid'))." updated")."
</div>


<div id='OQformTop'>$opts{OQformTop}</div>

<table id='OQhead'>
<tr>
<td id='OQtitle'>".$o->escape_html($o->get_title)."</td>
<td id='OQsummary'>Result(s) (".$o->commify($o->get_lo_rec)." - ".$o->commify($o->get_hi_rec).") of ".$o->commify($o->get_count)."</td>
<td id='OQcmds'>";

  if (ref($opts{buildNewLink}) eq 'CODE') {
    my $link = $opts{buildNewLink}->($o, \%opts); 
    if ($link ne '') {
      $doc .= "<button type='button' class='OQnewButton' onclick=\"OQopwin('$link','_blank','resizable,scrollbars',$$o{schema}{options}{'CGI::OptimalQuery::InteractiveQuery'}{WindowWidth},$$o{schema}{options}{'CGI::OptimalQuery::InteractiveQuery'}{Wi...
    }
  }
  elsif (exists $opts{buildNewLink} && $opts{buildNewLink} eq '') {}
  elsif ($opts{editLink} ne '') {
    my $link = $opts{editLink}.(($opts{editLink} =~ /\?/)?'&':'?')."on_update=OQrefresh&act=new";
    if ($link ne '') {
      $doc .= "<button type='button' class='OQnewButton' onclick=\"OQopwin('$link','_blank','resizable,scrollbars',$$o{schema}{options}{'CGI::OptimalQuery::InteractiveQuery'}{WindowWidth},$$o{schema}{options}{'CGI::OptimalQuery::InteractiveQuery'}{Wi...
    }
  }

  $doc .= "<button type='button' class='OQrefreshButton' onclick=\"OQrefresh();\">refresh</button>";
  $doc .= "<button type='button' onclick=\"toogleCmdOptions('savedSearchesOptions'); 
if (document.getElementById('savedSearchesOptions').style.display != 'none') this.form.OQsaveSearchTitle.focus();
\">saved searches</button>" if $$o{schema}{savedSearchUserID};
  $doc .= "<button type='button' onclick=\"toogleCmdOptions('exportOptions');\">export</button>
</td>
</tr>
</table>

<div id='cmdOptions'>
  <button type='button' class='closeButton' onclick=\"hideCmdOptions();\" title='close'>&times;</button>

<div id='exportOptions'>
  <h1>select download file type</h1>
  <input type='radio' name='exportModule' checked = 'checked'/>Printer Friendly
  <br />
  <input type='radio' name='exportModule' />CSV <span class='note'>comma separated values (use in Microsoft Excel)</span>
  <br />
  <input type='radio' name='exportModule' />XML ";

  if ($$o{rows_page} ne 'All') {
    $doc .= " <br /> <input type='checkbox' name='exportAll' />export all results"
  }
  $doc .= "
  <br />
  <button type='button' onclick=\" hideCmdOptions(); var f = this.form; if (f.exportModule[0].checked) { f.module.value = 'PrinterFriendly'; f.target = '_blank'; } else if (f.exportModule[1].checked) f.module.value = 'CSV'; else if (f.exportModule[2]...
</div>

<div id='savedSearchesOptions'>
";

  
  # if saved searches are enabled ..
  if ($$o{schema}{savedSearchUserID}) {
    local $$o{dbh}->{LongReadLen};
    $doc .= "
  <h1>save search</h1>
  name <input type=text name='OQsaveSearchTitle' value='' /><button type='button' title='save search' onclick=\"OQrefresh();\">save</button><br /> <br />";

    if ($$o{dbh}{Driver}{Name} eq 'Oracle') {
      my ($readLen) = $$o{dbh}->selectrow_array("SELECT max(dbms_lob.getlength(params)) FROM oq_saved_search WHERE user_id = ?", undef, $$o{schema}{savedSearchUserID});
      $$o{dbh}->{LongReadLen} = $readLen if $readLen > $$o{dbh}->{LongReadLen};
    }

    my $sth = $$o{dbh}->prepare("
      SELECT id, user_title, params
      FROM oq_saved_search
      WHERE user_id = ? 
      AND upper(uri) = upper(?)
      AND oq_title = ?");
    $sth->execute($$o{schema}{savedSearchUserID}, $$o{schema}{URI},$$o{schema}{title});

    my $buffer = '';
    while (my ($id, $title, $params) = $sth->fetchrow_array()) {

      my $stateArgs = '';
      if ($params ne '') {
        $params = eval '{'.$params.'}';
        if (ref($params) eq 'HASH') {
          delete $$params{show};
          delete $$params{rows_page};
          delete $$params{page};
          delete $$params{hiddenFilter};
          delete $$params{filter};
          delete $$params{queryDescr};
          delete $$params{sort};
          while (my ($k,$v) = each %$params) {
            $stateArgs .= "&amp;$k=";
            $stateArgs .= (ref($v) eq 'ARRAY') ? 
              CGI::escape($$v[0]) : CGI::escape($v);
          }
        }
      }

      $buffer .= "<a href=# onclick=\"window.location='$$o{schema}{URI}?OQLoadSavedSearch=$id".$stateArgs."#OQtop';\">".$o->escape_html($title)."</a><br />"; 
    }
    $doc .= "<h1>load search</h1>$buffer" if $buffer;
  }

  $doc .= "
</div>
</div>
<table id='OQinfo' style=\"border-bottom: 1px solid #666666;\">";

  if (!( $opts{disable_select} && $opts{disable_sort} && $opts{disable_filter} )) {
    $doc .= "



( run in 0.687 second using v1.01-cache-2.11-cpan-39bf76dae61 )