Diff for /loncom/interface/lonsearchcat.pm between versions 1.331.4.16.2.2 and 1.358

version 1.331.4.16.2.2, 2023/12/30 03:56:48 version 1.358, 2023/12/22 20:11:55
Line 308  END Line 308  END
     }      }
     #      #
     if ($env{'form.searchmode'} eq 'advanced') {      if ($env{'form.searchmode'} eq 'advanced') {
         my $srchtype = 'Content Library';          my $srchtype = 'Catalog';
         if ($env{'form.area'} eq 'portfolio') {          if ($env{'form.area'} eq 'portfolio') {
             $srchtype = 'Portfolio';              $srchtype = 'Portfolio';
         }          }
Line 442  sub hidden_field { Line 442  sub hidden_field {
 =pod  =pod
   
 =over 4  =over 4
    
 =item &print_basic_search_form()   =item &print_basic_search_form() 
   
 Prints the form for the basic search.  Sorry the name is so cryptic.  Prints the form for the basic search.  Sorry the name is so cryptic.
Line 504  sub setup_basic_search { Line 504  sub setup_basic_search {
     } else {      } else {
        $singledom = $env{'user.domain'};         $singledom = $env{'user.domain'};
        $disabled = ' disabled="disabled"';         $disabled = ' disabled="disabled"';
        $checked = 1;         $checked = 1; 
     }      }
     $onlysearchdomain = '<label>'      $onlysearchdomain = '<label>'
                        .&Apache::lonhtmlcommon::checkbox(                         .&Apache::lonhtmlcommon::checkbox(
Line 599  sub print_advanced_search_form{ Line 599  sub print_advanced_search_form{
 $closebutton  $closebutton
 </p>  </p>
 END  END
     my $srchtype = 'Content Library';      my $srchtype = 'Catalog';
     my $jscript;      my $jscript;
     if ($env{'form.area'} eq 'portfolio') {      if ($env{'form.area'} eq 'portfolio') {
         $srchtype = 'Portfolio';          $srchtype = 'Portfolio';
Line 658  function additional_metadata() { Line 658  function additional_metadata() {
                        'standards','mime') {                         'standards','mime') {
         $scrout .= &Apache::lonhtmlcommon::row_title(&titlefield($fields{$field}))          $scrout .= &Apache::lonhtmlcommon::row_title(&titlefield($fields{$field}))
                   .&Apache::lonmeta::prettyinput($field,                    .&Apache::lonmeta::prettyinput($field,
                                           $env{'form.'.$field},                                            $env{'form.'.$field},'',
                                           $field,                                            $field,
                                           'advsearch',                                            'advsearch',
                                           $related_word_search{$field},                                            $related_word_search{$field},
Line 675  function additional_metadata() { Line 675  function additional_metadata() {
     foreach my $field ('lowestgradelevel','highestgradelevel') {      foreach my $field ('lowestgradelevel','highestgradelevel') {
         $scrout .= &Apache::lonhtmlcommon::row_title(&titlefield($fields{$field}))          $scrout .= &Apache::lonhtmlcommon::row_title(&titlefield($fields{$field}))
                   .&Apache::lonmeta::prettyinput($field,                    .&Apache::lonmeta::prettyinput($field,
                                           $env{'form.'.$field},                                            $env{'form.'.$field},'',
                                           $field,                                            $field,
                                           'advsearch',                                            'advsearch',
                                           0)                                            0)
Line 690  function additional_metadata() { Line 690  function additional_metadata() {
     my $anydomain = 1;      my $anydomain = 1;
     if ($env{'form.area'} ne 'portfolio') {      if ($env{'form.area'} ne 'portfolio') {
         unless (&Apache::lonnet::allowed('bre','/res/')) {          unless (&Apache::lonnet::allowed('bre','/res/')) {
             $anydomain = 0;              $anydomain = 0; 
         }          }
     }      }
   
     $scrout .= &Apache::lonhtmlcommon::row_title(&titlefield(&mt('Domains')));      $scrout .= &Apache::lonhtmlcommon::row_title(&titlefield(&mt('Domains')));
     if ($anydomain) {      if ($anydomain) {
           my $defdom = &Apache::lonnet::default_login_domain();
           my ($trusted,$untrusted) = &Apache::lonnet::trusted_domains('shared',$defdom);
         $scrout .= &Apache::loncommon::domain_select('domains',          $scrout .= &Apache::loncommon::domain_select('domains',
                    $env{'form.domains'},1);                     $env{'form.domains'},1,$trusted,$untrusted);
     } else {      } else {
         $scrout .= &Apache::loncommon::select_dom_form($env{'user.domain'},          $scrout .= &Apache::loncommon::select_dom_form($env{'user.domain'},
                                                        'domains','','','',[$env{'user.domain'}],'',1);                                                         'domains','','','',[$env{'user.domain'}],'',1);
Line 708  function additional_metadata() { Line 710  function additional_metadata() {
     if ($env{'form.area'} ne 'portfolio') {      if ($env{'form.area'} ne 'portfolio') {
         $scrout .= &Apache::lonhtmlcommon::row_title(&titlefield(&mt('Copyright/Distribution')))          $scrout .= &Apache::lonhtmlcommon::row_title(&titlefield(&mt('Copyright/Distribution')))
                   .&Apache::lonmeta::selectbox('copyright',                    .&Apache::lonmeta::selectbox('copyright',
                                              $env{'form.copyright'},                                               $env{'form.copyright'},'',
                                 \&Apache::loncommon::copyrightdescription,                                  \&Apache::loncommon::copyrightdescription,
                                        ( undef,                                         ( undef,
                                         &Apache::loncommon::copyrightids)                                          &Apache::loncommon::copyrightids)
Line 718  function additional_metadata() { Line 720  function additional_metadata() {
   
     $scrout .= &Apache::lonhtmlcommon::row_title(&titlefield(&mt('Language')))      $scrout .= &Apache::lonhtmlcommon::row_title(&titlefield(&mt('Language')))
               .&Apache::lonmeta::selectbox('language',                .&Apache::lonmeta::selectbox('language',
                                     $env{'form.language'},                                      $env{'form.language'},'',
                                     \&Apache::loncommon::languagedescription,                                      \&Apache::loncommon::languagedescription,
                                     ('any',&Apache::loncommon::languageids)                                      ('any',&Apache::loncommon::languageids)
                                     )                                      )
Line 954  sub viewoptions { Line 956  sub viewoptions {
     $scrout .= '<span class="LC_nobreak">'      $scrout .= '<span class="LC_nobreak">'
               .&mt('Type:').' '                .&mt('Type:').' '
               .&Apache::lonmeta::selectbox('viewselect',                .&Apache::lonmeta::selectbox('viewselect',
                    $env{'form.viewselect'},                     $env{'form.viewselect'},'',
                    \&viewoptiontext,                     \&viewoptiontext,
                    sort(keys(%Views)))                     sort(keys(%Views)))
               .'</span>';                .'</span>';
     my $countselect = &Apache::lonmeta::selectbox('show',      my $countselect = &Apache::lonmeta::selectbox('show',
                                                   $env{'form.show'},                                                    $env{'form.show'},'',
                                                   undef,                                                    undef,
                                                   (10,20,50,100,1000,10000));                                                    (10,20,50,100,1000,10000));
     $scrout .= ' <span class="LC_nobreak">'      $scrout .= ' <span class="LC_nobreak">'
Line 2094  sub print_sort_form { Line 2096  sub print_sort_form {
         &Apache::lonnet::logthis(&Apache::lonmysql::get_error());          &Apache::lonnet::logthis(&Apache::lonmysql::get_error());
         return;          return;
     }      }
     my $js =<<END;  
 <script type="text/javascript">  
 // <![CDATA[  
     function change_sort() {  
         var newloc = "/adm/searchcat?phase=results";  
         newloc += "&persistent_db_id=$env{'form.persistent_db_id'}";  
         newloc += "&sortby=";  
         newloc += document.forms.statusform.elements.sortby.value;  
         parent.resultsframe.location= newloc;  
     }  
 // ]]>  
 </script>  
 END  
   
     my $args;      my $args;
     if ($target eq '_parent') {      if ($target eq '_parent') {
         $args = {'links_target' => $target};          $args = {'links_target' => $target};
Line 2437  END Line 2425  END
         %all_library_servers = (%library_servers,%older_library_servers);          %all_library_servers = (%library_servers,%older_library_servers);
         @Servers_to_contact = sort(keys(%all_library_servers));          @Servers_to_contact = sort(keys(%all_library_servers));
         foreach my $server (@Servers_to_contact) {          foreach my $server (@Servers_to_contact) {
             my %possdoms;  
             map { $possdoms{$_}=1;  } &Apache::lonnet::machine_domains($all_library_servers{$server});  
             $domains_by_server{$server} =              $domains_by_server{$server} =
                 join(',',sort(&Apache::lonnet::machine_domains($all_library_servers{$server})));                  join(',',sort(&Apache::lonnet::machine_domains($all_library_servers{$server})));
         }          }
Line 2525  END Line 2511  END
                 &update_status($r,                  &update_status($r,
                        &mt('waiting on [_1]',join(' ',keys(%Server_status))));                         &mt('waiting on [_1]',join(' ',keys(%Server_status))));
             }              }
             sleep(0.1);               sleep(0.1);
         }          }
         #          #
         # Loop through the servers we have contacted but do not          # Loop through the servers we have contacted but do not
Line 2578  END Line 2564  END
   
                     if ($area eq 'portfolio') {                      if ($area eq 'portfolio') {
                         next if (defined($matches{$Fields{'url'}}));                          next if (defined($matches{$Fields{'url'}}));
                         # Skip unless access control set to public or passphrase-protected                          # Skip if inaccessible
                         next unless (($Fields{'scope'} eq 'public') || ($Fields{'scope'} eq 'guest'));                          next if (!&Apache::lonnet::portfolio_access($Fields{'url'}));
                         $matches{$Fields{'url'}} = 1;                           $matches{$Fields{'url'}} = 1; 
                     }                      }
                     #                      #
Line 2712  sub display_results { Line 2698  sub display_results {
       &Apache::loncommon::end_page());        &Apache::loncommon::end_page());
             $r->rflush();              $r->rflush();
             return;              return;
         }          } 
         # untie %groupsearch_db if the connection gets aborted before the end          # untie %groupsearch_db if the connection gets aborted before the end
         $r->register_cleanup(sub {          $r->register_cleanup(sub {
             untie %groupsearch_db if (tied(%groupsearch_db));              untie %groupsearch_db if (tied(%groupsearch_db));
         });           });
     }      }
     ##      ##
     ## Prepare the table for querying      ## Prepare the table for querying
Line 3269  sub print_frames_interface { Line 3255  sub print_frames_interface {
     my $results_link = &results_link();      my $results_link = &results_link();
     my $js = <<JS;      my $js = <<JS;
 <script type="text/javascript">  <script type="text/javascript">
 // <![CDATA[  
 var targetwin = opener;  var targetwin = opener;
 var queue = '';  var queue = '';
   
Line 3292  function done_loading_results() { Line 3277  function done_loading_results() {
         update_results(new_location);          update_results(new_location);
     }      }
 }  }
 // ]]>  
 </script>  </script>
 JS  JS
   
Line 3603  sub display_url { Line 3587  sub display_url {
         # (because the search opens in a new window, it gets          # (because the search opens in a new window, it gets
         # confusing when the links open a tab in the          # confusing when the links open a tab in the
         # parent window; ideally we should not force windows)          # parent window; ideally we should not force windows)
         my $onclick = " onclick=\"window.open(this.href, '_blank', 'toolbar=1,location=1,menubar=0');return false;\"";          my $onclick = " onclick=\"window.open(this.href, '_blank', 'toolbar=1,location=1,menubar=0');return false;\""; 
         $link=&Apache::lonhtmlcommon::crumbs(          $link=&Apache::lonhtmlcommon::crumbs(
                   $url,                    $url,
                   'preview',                    'preview',

Removed from v.1.331.4.16.2.2  
changed lines
  Added in v.1.358


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