Diff for /loncom/interface/lonsearchcat.pm between versions 1.286 and 1.289

version 1.286, 2007/05/02 01:33:49 version 1.289, 2008/02/12 18:48:03
Line 138  sub handler { Line 138  sub handler {
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
              ['catalogmode','launch','acts','mode','form','element','pause',               ['catalogmode','launch','acts','mode','form','element','pause',
               'phase','persistent_db_id','table','start','show',                'phase','persistent_db_id','table','start','show',
               'cleargroupsort','titleelement','area']);                'cleargroupsort','titleelement','area','inhibitmenu']);
     ##      ##
     ## The following is a trick - we wait a few seconds if asked to so      ## The following is a trick - we wait a few seconds if asked to so
     ##     the daemon running the search can get ahead of the daemon      ##     the daemon running the search can get ahead of the daemon
Line 190  sub handler { Line 190  sub handler {
     }      }
     &Apache::lonhtmlcommon::add_breadcrumb      &Apache::lonhtmlcommon::add_breadcrumb
        ({href=>'/adm/searchcat?'.         ({href=>'/adm/searchcat?'.
                'catalogmode='.$env{'form.catalogmode'}.         &Apache::loncommon::inhibit_menu_check().
                  '&catalogmode='.$env{'form.catalogmode'}.
                '&launch='.$env{'form.launch'}.                 '&launch='.$env{'form.launch'}.
                '&mode='.$env{'form.mode'},                 '&mode='.$env{'form.mode'},
               text=>"$crumb_text",                text=>"$crumb_text",
Line 258  sub handler { Line 259  sub handler {
     if (exists($env{'form.area'})) {      if (exists($env{'form.area'})) {
         $hidden_fields .= &hidden_field('area');          $hidden_fields .= &hidden_field('area');
     }      }
       if (exists($env{'form.inhibitmenu'})) {
           $hidden_fields .= &hidden_field('inhibitmenu');
       }
     ##      ##
     ## Configure dynamic components of interface      ## Configure dynamic components of interface
     ##      ##
Line 308  END Line 312  END
             $srchtype = 'Portfolio';              $srchtype = 'Portfolio';
         }          }
         &Apache::lonhtmlcommon::add_breadcrumb          &Apache::lonhtmlcommon::add_breadcrumb
             ({href=>'/adm/searchcat?phase=disp_adv&'.              ({href=>'/adm/searchcat?'.&Apache::loncommon::inhibit_menu_check().
                   'catalogmode='.$env{'form.catalogmode'}.    '&phase=disp_adv'.
                     '&catalogmode='.$env{'form.catalogmode'}.
                   '&launch='.$env{'form.launch'}.                    '&launch='.$env{'form.launch'}.
                   '&mode='.$env{'form.mode'},                    '&mode='.$env{'form.mode'},
                   text=>"Advanced $srchtype Search",                    text=>"Advanced $srchtype Search",
                   bug=>'Searching',});                    bug=>'Searching',});
     } elsif ($env{'form.searchmode'} eq 'course search') {      } elsif ($env{'form.searchmode'} eq 'course search') {
         &Apache::lonhtmlcommon::add_breadcrumb          &Apache::lonhtmlcommon::add_breadcrumb
             ({href=>'/adm/searchcat?phase=disp_adv&'.              ({href=>'/adm/searchcat?'.&Apache::loncommon::inhibit_menu_check().
     '&phase=disp_adv'.
                   'catalogmode='.$env{'form.catalogmode'}.                    'catalogmode='.$env{'form.catalogmode'}.
                   '&launch='.$env{'form.launch'}.                    '&launch='.$env{'form.launch'}.
                   '&mode='.$env{'form.mode'},                    '&mode='.$env{'form.mode'},
Line 759  sub setup_basic_search { Line 765  sub setup_basic_search {
                   '</label>';                    '</label>';
     }      }
     $adv_search_link = '<a href="/adm/searchcat?'.      $adv_search_link = '<a href="/adm/searchcat?'.
                        'phase=disp_adv&'.                 &Apache::loncommon::inhibit_menu_check().
                        'catalogmode='.$env{'form.catalogmode'}.         '&phase=disp_adv'.
                          '&catalogmode='.$env{'form.catalogmode'}.
                        '&launch='.$env{'form.launch'}.                         '&launch='.$env{'form.launch'}.
                        '&mode='.$env{'form.mode'}.                         '&mode='.$env{'form.mode'}.
                        '&area='.$area.                         '&area='.$area.
Line 861  ENDHEADER Line 868  ENDHEADER
         '<input type="hidden" name="phase" value="adv_search" />';          '<input type="hidden" name="phase" value="adv_search" />';
     my %fields=&Apache::lonmeta::fieldnames();      my %fields=&Apache::lonmeta::fieldnames();
     #      #
     $scrout .= '<h3>'.&mt('Standard [_1] Metadata',$srchtype).'</h3>';      $scrout .= '<h3>'.&mt("Standard $srchtype Metadata").'</h3>';
     $scrout .= "<table>\n";      $scrout .= "<table>\n";
     $scrout .= '<tr><td>&nbsp;</td><td colspan="2"><font size="-1">'.      $scrout .= '<tr><td>&nbsp;</td><td colspan="2"><font size="-1">'.
         ('&nbsp;'x2).&searchhelp()."</font></td></tr>\n";          ('&nbsp;'x2).&searchhelp()."</font></td></tr>\n";
Line 892  ENDHEADER Line 899  ENDHEADER
                                           $env{'form.'.$field.'_related'},                                            $env{'form.'.$field.'_related'},
                                           50);                                            50);
         if ($related_word_search{$field}) {          if ($related_word_search{$field}) {
             $scrout .= 'related words';              $scrout .= &mt('related words');
         } else {          } else {
             $scrout .= '</td><td>&nbsp;';              $scrout .= '</td><td>&nbsp;';
         }          }
Line 2265  END Line 2272  END
 #    }  #    }
 #    $result.="</select>\n";  #    $result.="</select>\n";
     my $revise = &revise_button();      my $revise = &revise_button();
     $result.=<<END;      $result.='<p>'
 <p>              .&mt('There are [_1] matches to your query.',$total_results)
 There are $total_results matches to your query. $revise              .' '.$revise.'</p>'
 </p><p>              .'<p>'.&mt('Search: ').$pretty_query_string
 Search: $pretty_query_string              .'</p></form>';
 </p>  
 </form>  
 END  
     $r->print($result.&Apache::loncommon::end_page());      $r->print($result.&Apache::loncommon::end_page());
     return;      return;
 }  }
Line 2444  Returns: html string for a 'revise searc Line 2448  Returns: html string for a 'revise searc
 ######################################################################  ######################################################################
 ######################################################################  ######################################################################
 sub revise_button {  sub revise_button {
       my $revisetext = &mt('Revise search');
     my $revise_phase = 'disp_basic';      my $revise_phase = 'disp_basic';
     $revise_phase = 'disp_adv' if ($env{'form.searchmode'} eq 'advanced');      $revise_phase = 'disp_adv' if ($env{'form.searchmode'} eq 'advanced');
     my $newloc = '/adm/searchcat'.      my $newloc = '/adm/searchcat'.
         '?persistent_db_id='.$env{'form.persistent_db_id'}.          '?persistent_db_id='.$env{'form.persistent_db_id'}.
             '&cleargroupsort=1'.              '&cleargroupsort=1'.
             '&phase='.$revise_phase;              '&phase='.$revise_phase;
     my $result = qq{<input type="button" value="Revise search" name="revise"} .      my $result = qq{<input type="button" value="$revisetext" name="revise"} .
         qq{ onClick="parent.location='$newloc';" /> };          qq{ onClick="parent.location='$newloc';" /> };
     return $result;      return $result;
 }  }
Line 2997  sub catalogmode_output { Line 3002  sub catalogmode_output {
         $title=~ s/\'/\\\'/g;          $title=~ s/\'/\\\'/g;
         if ($env{'form.catalogmode'} eq 'interactive') {          if ($env{'form.catalogmode'} eq 'interactive') {
             $output.=<<END               $output.=<<END 
 <font size='-1'><INPUT TYPE="button" NAME="returnvalues" VALUE="SELECT"  <font size='-1'><input type="button" name="returnvalues" value="select"
 onClick="javascript:select_data('$title','$url')">  onClick="javascript:select_data('$title','$url')" />
 </font>  </font>
 END  END
         }          }
Line 3007  END Line 3012  END
         $groupsearch_db{"pre_${fnum}_title"}=$title;          $groupsearch_db{"pre_${fnum}_title"}=$title;
         $output.=<<END;          $output.=<<END;
 <font size='-1'>  <font size='-1'>
 <input type="checkbox" name="returnvalues" value="SELECT"  <input type="checkbox" name="returnvalues" value="select"
 onClick="javascript:queue($checkbox_num,$fnum)" />  onClick="javascript:queue($checkbox_num,$fnum)" />
 </font>  </font>
 END  END
Line 3234  function changeURL(val) { Line 3239  function changeURL(val) {
 SCRIPT  SCRIPT
         }          }
     }      }
       my $inhibit_menu = "&".&Apache::loncommon::inhibit_menu_check();
     $js.=<<SCRIPT if $env{'form.catalogmode'} eq 'import';      $js.=<<SCRIPT if $env{'form.catalogmode'} eq 'import';
 <script type="text/javascript">  <script type="text/javascript">
     function queue(checkbox_num,val) {      function queue(checkbox_num,val) {
Line 3254  SCRIPT Line 3260  SCRIPT
     }      }
     function select_group() {      function select_group() {
  parent.window.location=   parent.window.location=
     "/adm/groupsort?mode=$env{'form.mode'}&catalogmode=import&acts="+      "/adm/groupsort?mode=$env{'form.mode'}&catalogmode=import$inhibit_menu&acts="+
     parent.statusframe.document.forms.statusform.elements.acts.value;      parent.statusframe.document.forms.statusform.elements.acts.value;
     }      }
 </script>  </script>
Line 3377  sub detailed_citation_view { Line 3383  sub detailed_citation_view {
     $jumpurl=~s|^/ext/|http://|;      $jumpurl=~s|^/ext/|http://|;
     $result .= '<b>'.$prefix.      $result .= '<b>'.$prefix.
         '<img src="'.&Apache::loncommon::icon($values{'url'}).'" />'.'&nbsp;'.          '<img src="'.&Apache::loncommon::icon($values{'url'}).'" />'.'&nbsp;'.
         '<a href="'.$jumpurl.'" '.          '<a href="'.$jumpurl.'?inhibitmenu=yes" '.
         'target="preview">'.$values{'title'}."</a></b>\n";          'target="preview">'.$values{'title'}."</a></b>\n";
     $result .= "<p>\n";      $result .= "<p>\n";
     $result .= '<b>'.$values{'author'}.'</b>,'.      $result .= '<b>'.$values{'author'}.'</b>,'.
Line 3444  sub detailed_citation_view { Line 3450  sub detailed_citation_view {
         if (exists($field->{'type'}) && $field->{'type'} eq 'list') {          if (exists($field->{'type'}) && $field->{'type'} eq 'list') {
             $result .= '<b>'.&mt($field->{'translate'}).'</b>';              $result .= '<b>'.&mt($field->{'translate'}).'</b>';
             foreach my $item (split(',',$values{$field->{'name'}})){              foreach my $item (split(',',$values{$field->{'name'}})){
                 $result .=                   $item = &Apache::lonnet::clutter($item);
   &Apache::lonhtmlcommon::crumbs(&Apache::lonnet::clutter($item),                  $result .= &display_url($item,[2,0,1]);
   'preview',  
   '',  
   (($env{'form.catalogmode'} eq 'import')?'parent.statusframe.document.forms.statusform':''),2,0,1);  
             }              }
         } elsif (exists($field->{'format'}) && $field->{'format'} ne ''){          } elsif (exists($field->{'format'}) && $field->{'format'} ne ''){
             $result.= &mt($field->{'translate'},              $result.= &mt($field->{'translate'},
Line 3456  sub detailed_citation_view { Line 3459  sub detailed_citation_view {
                                   $values{$field->{'name'}}))."<br />\n";                                    $values{$field->{'name'}}))."<br />\n";
         } else {          } else {
             if ($field->{'special'} eq 'url link') {              if ($field->{'special'} eq 'url link') {
                if ($jumpurl=~/^http\:\/\//) {                  $result .= &display_url($jumpurl,[3,0,1]);
                  $result.='<tt>'.$jumpurl.'</tt>';  
                } else {  
                  $result .=  
   &Apache::lonhtmlcommon::crumbs($jumpurl,  
   'preview',  
   '',  
   (($env{'form.catalogmode'} eq 'import')?'parent.statusframe.document.forms.statusform':''),3,0,1);  
                }  
             } else {              } else {
                 $result.= &mt($field->{'translate'},                  $result.= &mt($field->{'translate'},
                               $values{$field->{'name'}});                                $values{$field->{'name'}});
Line 3520  sub summary_view { Line 3515  sub summary_view {
         $result .= '&nbsp;'.$tmp.'&nbsp;';          $result .= '&nbsp;'.$tmp.'&nbsp;';
     }      }
     my $jumpurl=$values{'url'};      my $jumpurl=$values{'url'};
     my $link;      $jumpurl=~s|^/ext/|http://|;
     if ($jumpurl=~m|^/ext/|) {      my $link = &display_url($jumpurl,[2,0,1]);
  $jumpurl=~s|^/ext/|http://|;  
  $link='<br /><tt>'.$jumpurl.'</tt>';  
     } else {  
  $link=&Apache::lonhtmlcommon::crumbs($jumpurl,  
   'preview',  
   '',  
   (($env{'form.catalogmode'} eq 'import')?'parent.statusframe.document.forms.statusform':''),2,0,1);  
     }  
     $result.=<<END;      $result.=<<END;
 <a href="$jumpurl"   <a href="$jumpurl?inhibitmenu=yes" 
    target='preview'>$values{'title'}</a>$link     target='preview'>$values{'title'}</a> <br />
   $link <br />
 $values{'author'}, $values{'owner'} -- $values{'lastrevisiondate'}<br />  $values{'author'}, $values{'owner'} -- $values{'lastrevisiondate'}<br />
 $values{'copyrighttag'}<br />  $values{'copyrighttag'}<br />
 $values{'extrashow'}  $values{'extrashow'}
Line 3565  sub summary_preview { Line 3554  sub summary_preview {
 sub compact_view {  sub compact_view {
     my ($prefix,%values) = @_;      my ($prefix,%values) = @_;
     my $jumpurl=$values{'url'};      my $jumpurl=$values{'url'};
     my $link;      $jumpurl=~s|^/ext/|http://|;
     if ($jumpurl=~m|^/ext/|) {  
  $jumpurl=~s|^/ext/|http://|;      my $link = &display_url($jumpurl,[1,1,1]);
  $link='<tt>'.$jumpurl.'</tt>';      
     } else {  
         $link=&Apache::lonhtmlcommon::crumbs($jumpurl,  
   'preview',  
   '',  
   (($env{'form.catalogmode'} eq 'import')?'parent.statusframe.document.forms.statusform':''),1,1,1).' ';  
     }  
     my $result =       my $result = 
         $prefix.'<img src="'.&Apache::loncommon::icon($values{'url'}).'">';          $prefix.'<img src="'.&Apache::loncommon::icon($values{'url'}).'">';
     if (exists($env{'form.sortfield'}) &&       if (exists($env{'form.sortfield'}) && 
Line 3583  sub compact_view { Line 3566  sub compact_view {
         if (! defined($tmp)) { $tmp = 'undefined'; }          if (! defined($tmp)) { $tmp = 'undefined'; }
         $result .= '&nbsp;'.$tmp.'&nbsp;';          $result .= '&nbsp;'.$tmp.'&nbsp;';
     }      }
     $result.='&nbsp;<a href="'.$jumpurl.'" target="preview">'.      $jumpurl = &HTML::Entities::encode($jumpurl,'<>&"');
         $values{'title'}.'</a>'.('&nbsp;'x2).$link.      $result.=' <span class="LC_nobreak">'.
         '<b>'.$values{'author'}.'</b> ('.$values{'domain'}.')<br />';   '<a href="'.$jumpurl.'?inhibitmenu=yes" target="preview">'.
           &HTML::Entities::encode($values{'title'},'<>&"').'</a></span> '.
    $link.' <b>'.$values{'author'}.'</b> ('.$values{'domain'}.')<br />';
     return $result;      return $result;
 }  }
   
   sub display_url {
       my ($url,$crumb_args) = @_;
       my $link;
       if ($url=~m|^/ext/|) {
    $url=~s|^/ext/|http://|;
    $link='<span class="LC_filename">'.$url.'</span>';
       } elsif ($url=~m{^(http://|/uploaded/)}) {
    $link='<span class="LC_filename">'.$url.'</span>';
       } else {
           $link=&Apache::lonhtmlcommon::crumbs($url,
     'preview',
     '',
     (($env{'form.catalogmode'} eq 'import')?'parent.statusframe.document.forms.statusform':''),@{$crumb_args}).' ';
       }
       return $link;
   }
   
 ######################################################################  ######################################################################
 ######################################################################  ######################################################################
Line 3612  sub fielded_format_view { Line 3613  sub fielded_format_view {
 $prefix <img src="$icon" />  $prefix <img src="$icon" />
 <dl>  <dl>
 <dt>URL:</dt>  <dt>URL:</dt>
     <dd><a href="$jumpurl"       <dd><a href="$jumpurl?inhibitmenu=yes" 
          target='preview'>$values{'url'}</a></dd>           target='preview'>$values{'url'}</a></dd>
 END  END
     foreach my $field ('title','author','domain','subject','keywords','notes',      foreach my $field ('title','author','domain','subject','keywords','notes',

Removed from v.1.286  
changed lines
  Added in v.1.289


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>