version 1.287, 2007/06/15 23:29:17
|
version 1.298, 2008/08/08 08:51:39
|
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 |
## |
## |
if ($env{'form.catalogmode'} eq 'interactive') { |
if ($env{'form.catalogmode'} eq 'interactive') { |
$closebutton="<input type='button' name='close' value='CLOSE' "; |
$closebutton="<input type='button' name='close' value='".&mt('CLOSE')."' "; |
if ($env{'form.phase'} =~ /(results|run_search)/) { |
if ($env{'form.phase'} =~ /(results|run_search)/) { |
$closebutton .="onClick='parent.close()'"; |
$closebutton .="onClick='parent.close()'"; |
} else { |
} else { |
Line 270 sub handler {
|
Line 274 sub handler {
|
} |
} |
$closebutton .=">\n"; |
$closebutton .=">\n"; |
} elsif ($env{'form.catalogmode'} eq 'import') { |
} elsif ($env{'form.catalogmode'} eq 'import') { |
$closebutton="<input type='button' name='close' value='CLOSE' "; |
$closebutton="<input type='button' name='close' value='".&mt('CLOSE')."' "; |
if ($env{'form.phase'} =~ /(results|run_search)/) { |
if ($env{'form.phase'} =~ /(results|run_search)/) { |
$closebutton .="onClick='parent.close()'"; |
$closebutton .="onClick='parent.close()'"; |
} else { |
} else { |
$closebutton .="onClick='self.close()'"; |
$closebutton .="onClick='self.close()'"; |
} |
} |
$closebutton .= ">"; |
$closebutton .= ">"; |
|
my $txt_import = &mt('IMPORT'); |
$importbutton=<<END; |
$importbutton=<<END; |
<input type='button' name='import' value='IMPORT' |
<input type='button' name='import' value='$txt_import' |
onClick='javascript:select_group()'> |
onClick='javascript:select_group()'> |
END |
END |
} else { |
} else { |
Line 308 END
|
Line 313 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 753 sub setup_basic_search {
|
Line 760 sub setup_basic_search {
|
$r->dir_config('lonDefDomain')), |
$r->dir_config('lonDefDomain')), |
$r->dir_config('lonDefDomain')). |
$r->dir_config('lonDefDomain')). |
'</label>'; |
'</label>'; |
if ($area eq 'res') { |
|
$inclext= '<label>'.&mt('[_1] include external resources', |
|
&Apache::lonhtmlcommon::checkbox('inclext',$env{'form.inclext'})). |
|
'</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 864 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> </td><td colspan="2"><font size="-1">'. |
$scrout .= '<tr><td> </td><td colspan="2"><font size="-1">'. |
(' 'x2).&searchhelp()."</font></td></tr>\n"; |
(' 'x2).&searchhelp()."</font></td></tr>\n"; |
Line 892 ENDHEADER
|
Line 895 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> '; |
$scrout .= '</td><td> '; |
} |
} |
Line 919 ENDHEADER
|
Line 922 ENDHEADER
|
&Apache::loncommon::domain_select('domains', |
&Apache::loncommon::domain_select('domains', |
$env{'form.domains'},1). |
$env{'form.domains'},1). |
'<br /><label>'; |
'<br /><label>'; |
if ($env{'form.area'} ne 'portfolio') { |
|
$scrout .= &mt('[_1] include external resources', |
|
&Apache::lonhtmlcommon::checkbox |
|
('inclext',$env{'form.inclext'})).'</label>' |
|
} |
|
$scrout .= '</td></tr>'.$/; |
$scrout .= '</td></tr>'.$/; |
# |
# |
# Misc metadata |
# Misc metadata |
Line 1037 ENDHEADER
|
Line 1035 ENDHEADER
|
# Creation/Modification date limits |
# Creation/Modification date limits |
$scrout .= '<h3>'.&mt('Creation and Modification dates').'</h3>'; |
$scrout .= '<h3>'.&mt('Creation and Modification dates').'</h3>'; |
$scrout .= "\n<table>\n"; |
$scrout .= "\n<table>\n"; |
|
$scrout .= "<tr><td> </td><td>".&mt('Month[_1]Day[_2]Year',' 'x14,' 'x6)."</td></tr>\n"; |
my $cafter = |
my $cafter = |
&Apache::lonhtmlcommon::date_setter('advsearch', # formname |
&Apache::lonhtmlcommon::date_setter('advsearch', # formname |
'creationdate1', # fieldname |
'creationdate1', # fieldname |
Line 1055 ENDHEADER
|
Line 1054 ENDHEADER
|
'', # state |
'', # state |
1, # no_hh_mm_ss |
1, # no_hh_mm_ss |
); |
); |
$scrout .= &mt('<tr><td align="right">Created between</td>'. |
$scrout .= '<tr><td align="right">'.&mt('Created between').'</td>' |
'<td>[_1]</td></tr>'. |
.'<td>'.$cafter.'</td></tr>' |
'<tr><td align="right">and </td>'. |
.'<tr><td align="right">'.&mt('and').'</td>' |
'<td>[_2]</td></tr>',$cafter,$cbefore); |
.'<td>'.$cbefore.'</td></tr>'; |
my $lafter = |
my $lafter = |
&Apache::lonhtmlcommon::date_setter('advsearch', |
&Apache::lonhtmlcommon::date_setter('advsearch', |
'revisiondate1', |
'revisiondate1', |
Line 1077 ENDHEADER
|
Line 1076 ENDHEADER
|
'', # state |
'', # state |
1, # no_hh_mm_ss |
1, # no_hh_mm_ss |
); |
); |
$scrout .= &mt('<tr><td align="right">Last modified between </td>'. |
$scrout .= '<tr><td align="right">'.&mt('Last modified between').'</td>' |
'<td>[_1]</td></tr>'. |
.'<td>'.$lafter.'</td></tr>' |
'<tr><td align="right">and</td>'. |
.'<tr><td align="right">'.&mt('and').'</td>' |
'<td>[_2]</td></tr>',$lafter,$lbefore); |
.'<td>'.$lbefore.'</td></tr>'; |
$scrout.="</table>\n"; |
$scrout.="</table>\n"; |
$scrout.=<<ENDDOCUMENT; |
$scrout.=<<ENDDOCUMENT; |
$advanced_buttons |
$advanced_buttons |
Line 2118 sub copyright_check {
|
Line 2117 sub copyright_check {
|
($env{'user.domain'} ne $resdom)) { |
($env{'user.domain'} ne $resdom)) { |
return 0; |
return 0; |
} |
} |
|
# Check for custom rights |
|
if ($Metadata->{'copyright'} eq 'custom') { |
|
return &Apache::lonnet::customaccess('bre',$Metadata->{'url'}); |
|
} |
return 1; |
return 1; |
} |
} |
|
|
Line 2265 END
|
Line 2268 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 2444 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 2500 END
|
Line 2501 END
|
pop(@Lines); |
pop(@Lines); |
} |
} |
if (@Lines > 2) { |
if (@Lines > 2) { |
$pretty_string = join '<br />',(@Lines[0..2],'....<br />'); |
$pretty_string = join '<br />',(@Lines[0..2],'...<br />'); |
} |
} |
$r->print(&mt("Search: [_1]",$pretty_string)); |
$r->print(&mt("Search: [_1]",$pretty_string)); |
$r->rflush(); |
$r->rflush(); |
Line 2555 END
|
Line 2556 END
|
my $server; |
my $server; |
my $status; |
my $status; |
my $revise = &revise_button(); |
my $revise = &revise_button(); |
$r->print(<<END); |
$r->print(&Apache::loncommon::start_data_table()); |
<table> |
$r->print(&Apache::loncommon::start_data_table_header_row() |
<tr><th>Status</th><th>Total Matches</th><th>Time Remaining</th><th></th></tr> |
.'<th>'.&mt('Status').'</th>' |
<tr> |
.'<th>'.&mt('Total Matches').'</th>' |
<td><input type="text" name="status" value="" size="50" /></td> |
.'<th>'.&mt('Time Remaining').'</th>' |
<td><input type="text" name="count" value="" size="10" /></td> |
# .'<th> </th>' |
<td><input type="text" name="seconds" value="" size="8" /></td> |
.&Apache::loncommon::end_data_table_header_row()); |
<td>$revise</td> |
$r->print(&Apache::loncommon::start_data_table_row() |
</tr> |
.'<td><input type="text" name="status" value="" size="50" readonly="readonly" /></td>' |
</table> |
.'<td><input type="text" name="count" value="" size="10" readonly="readonly" /></td>' |
</form> |
.'<td><input type="text" name="seconds" value="" size="8" readonly="readonly" /></td>' |
END |
# ."<td>$revise</td>" |
|
.&Apache::loncommon::end_data_table_row()); |
|
$r->print(&Apache::loncommon::start_data_table()); |
|
$r->print($revise |
|
.'</form>'); |
$r->rflush(); |
$r->rflush(); |
&reset_timing(); |
&reset_timing(); |
&update_seconds($r); |
&update_seconds($r); |
Line 2638 END
|
Line 2643 END
|
my %Fields = &parse_raw_result($result,$server,$tabletype); |
my %Fields = &parse_raw_result($result,$server,$tabletype); |
$Fields{'hostname'} = $server; |
$Fields{'hostname'} = $server; |
# |
# |
# Skip if external and we did not want that |
|
next if ((! $env{'form.inclext'}) && ($Fields{'url'}=~/^\/ext\//)); |
|
# Skip based on copyright |
# Skip based on copyright |
next if (! ©right_check(\%Fields)); |
next if (! ©right_check(\%Fields)); |
|
|
Line 3234 function changeURL(val) {
|
Line 3237 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 3258 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 3381 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'}).'" />'.' '. |
'<img src="'.&Apache::loncommon::icon($values{'url'}).'" />'.' '. |
'<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 3513 sub summary_view {
|
Line 3517 sub summary_view {
|
my $link = &display_url($jumpurl,[2,0,1]); |
my $link = &display_url($jumpurl,[2,0,1]); |
|
|
$result.=<<END; |
$result.=<<END; |
<a href="$jumpurl" |
<a href="$jumpurl?inhibitmenu=yes" |
target='preview'>$values{'title'}</a> <br /> |
target='preview'>$values{'title'}</a> <br /> |
$link <br /> |
$link <br /> |
$values{'author'}, $values{'owner'} -- $values{'lastrevisiondate'}<br /> |
$values{'author'}, $values{'owner'} -- $values{'lastrevisiondate'}<br /> |
Line 3562 sub compact_view {
|
Line 3566 sub compact_view {
|
} |
} |
$jumpurl = &HTML::Entities::encode($jumpurl,'<>&"'); |
$jumpurl = &HTML::Entities::encode($jumpurl,'<>&"'); |
$result.=' <span class="LC_nobreak">'. |
$result.=' <span class="LC_nobreak">'. |
'<a href="'.$jumpurl.'" target="preview">'. |
'<a href="'.$jumpurl.'?inhibitmenu=yes" target="preview">'. |
&HTML::Entities::encode($values{'title'},'<>&"').'</a></span> '. |
&HTML::Entities::encode($values{'title'},'<>&"').'</a></span> '. |
$link.' <b>'.$values{'author'}.'</b> ('.$values{'domain'}.')<br />'; |
$link.' <b>'.$values{'author'}.'</b> ('.$values{'domain'}.')<br />'; |
return $result; |
return $result; |
Line 3607 sub fielded_format_view {
|
Line 3611 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', |