Net-DirectConnect

 view release on metacpan or  search on metacpan

lib/Net/DirectConnect/pslib/psweb.pm  view on Meta::CPAN

              )
            : ''
            ),
            'title="', lang('style'), ' ', $_, '">', lang($_), '</span>'
            for $work{'style'}, sort grep { !$config{$_}{'hide'} and $_ ne $work{'style'} } @{ $config{'styles'} };
        }
      };
      $config{'out'}{'html'}{'view-select'} ||= sub {
        my ( $param, $table ) = @_;
        part( 'lang-select',  $param, $table );
        part( 'cp-select',    $param, $table );
        part( 'style-select', $param, $table );
        part( 'mode-select',  $param, $table );
      };
      $config{'out'}{'html'}{'search-form-input'} ||= sub {
        my ( $param, $table ) = @_;
        print '<input type="hidden" name="', $_, '" ', value( $param->{$_} ), ' />'
          for ( @{ $config{'user_param_hidden'} }, @{ $config{'user_param_save_hidden'} }, qw(distinct live live_mode) );
        part( 'one-query', $param, $table, { 'hide_link' => 1 } );
        print '</div>';    # opened in one-query, advanced search - hidden
      };
      $config{'out'}{'html'}{'pre-search-form'} ||= sub {
        my ( $param, $table ) = @_;
        #print "z";
        part( 'form-links',  $param, $table );
        part( 'form-adjust', $param, $table );
        part( 'view-select', $param, $table );
      };
      $config{'out'}{'html'}{'similar-query'} ||= sub {
        my ( $param, $table, $fparam ) = @_;
        local $_ = $param->{'q'};
        s/\s*\S+:\S+\s*//g;
        return unless $_;
#printlog( "WH:", $static{'db'}->where( { %$param, 'query' => $param->{'q'}, 'query_mode' => '!' }, undef, $config{'sql_tquerystat'} ));
        local $param->{'page'} = undef;
        local $param->{'q'}    = scalar cp_trans( $work{'codepage'}, $config{'cp_db'}, $param->{'q'}, );
        local $work{'query'}   = {};
        local $work{'word'}    = {};
        #printlog('dev', "qstat", Dumper($param));
        part(
          'query',
          { %$param, 'order' => '', },
          $config{'sql_tquerystat'}, {
            'where' => $static{'db'}->where( {
                %$param,
                'query' => $param->{'q'},
                #'query'  => scalar cp_trans( $work{'codepage'}, $config{'cp_db'}, $param->{'q'}, ),
                'query_mode' => '!'
              },
              undef,
              $config{'sql_tquerystat'}
            ),
            'no_desc' => 1,
            'desc'    => lang('similar requests') . ': '
          }
        );
      };
      $config{'out'}{'html'}{'result_error'} ||= sub {
        my ( $param, $table, $error ) = @_;
        print ucfirst lang('sorry');
        if   ( $error eq 'timeout' ) { print ', ', lang('the database is busy right now'); }
        else                         { print ', ', lang('database error'); }
        print '. <a href="javascript:location.reload()">', lang('reload the page'), '</a>, ',
          lang('change your query or try again later'), '.';
      };
      $config{'out'}{'html'}{'result_head'} ||= sub {
        my ( $param, $table, $row ) = @_;
        psmisc::printall( \$config{'html_result_header_top'}, $param ) unless $param->{'no_result_header'};
        $work{'n'} = $static{'db'}->{'limit_offset'};
        print '<table class="result-table" ';
        psmisc::printall( \$config{'html_result-table_param'}, $param );
        print '>';
        return if $param->{'no_result_header'};
        if ( $config{'one_string'} and keys %{ $work{'one'} } ) {
          local $work{'n'} = -1;
          my (%string) = (%$param);
          delete $string{$_} for grep ( ( $work{'one'}{$_} != 1 ), keys %string );
          $string{'full'} = join_url( \%string );
          local $work{'one'}                = ();
          local $config{'allow_vote'}       = 0;
          local $config{'no_dir_word'}      = 1;
          local $config{'allow_pinger'}     = 0;
          local $config{'no_rel_path_link'} = 0;
          part( 'result_string_pre',  $param, $table, \%string, { 'no_cont' => 1 } );
          part( 'result_string',      $param, $table, \%string, { 'no_cont' => 1 } );
          part( 'result_string_post', $param, $table, \%string, { 'no_cont' => 1 } );
        }
        print '<tr class="result-head"><td>N</td>';
        if ( $param->{'distinct'} ) { print '<td>', $param->{'distinct'}, '</td>'; }
        else {
          #print "HI";
          my %ord_param_hash = get_param_hash( $param, ( 'order', 'order_mode', 'page' ) ) unless $config{'destroy_link_sort'};
          #for my $rown ( sort keys %{ $config{'sql'}{'table'}{$table} } ) {
          for my $rown ( sort { $config{'sql'}{'table'}{$table}{$b}{'order'} <=> $config{'sql'}{'table'}{$table}{$a}{'order'} }
            grep { $config{'sql'}{'table'}{$table}{$_} and !$config{'sql'}{'table'}{$table}{$_}{'hide'} } keys %$row )
          {
            print '<td>';
            #print "zz";
            psweb::sorter( $param, { 'order' => $rown }, \%ord_param_hash );
            print '</td>';
          }
          print '</tr>';
        }
      };
      $config{'out'}{'html'}{'result_string'} ||= sub {
        my ( $param, $table, $row ) = @_;
        $row->{'n'} = ++$work{'n'};
        print "<tr><td>$row->{'n'}</td>";
        for my $rown ( sort { $config{'sql'}{'table'}{$table}{$b}{'order'} <=> $config{'sql'}{'table'}{$table}{$a}{'order'} }
          grep { $config{'sql'}{'table'}{$table}{$_} and !$config{'sql'}{'table'}{$table}{$_}{'hide'} } keys %$row )
        {
          print '<td>';
          $config{'sql'}{'table'}{$table}{$rown}{'show'}
            ? psmisc::printall( $config{'sql'}{'table'}{$table}{$rown}{'show'}, $row->{$rown} )
            : print mylink(
            $row->{$rown}, {
              $rown => $row->{$rown},
              #'size_mode' => 'e'
            }, {
              #'title' => "$row->{'size'} bytes",
              ( $row->{$rown} == $param->{$rown} ? ( 'class' => 'hilight1' ) : () ),



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