version 1.312, 2009/07/31 10:58:57
|
version 1.313, 2009/07/31 16:01:48
|
Line 266 sub handler {
|
Line 266 sub handler {
|
## 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='".&mt('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 .=">\n"; |
$closebutton .=">\n"; |
} elsif ($env{'form.catalogmode'} eq 'import') { |
} elsif ($env{'form.catalogmode'} eq 'import') { |
$closebutton="<input type='button' name='close' value='".&mt('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'); |
my $txt_import = &mt('IMPORT'); |
$importbutton=<<END; |
$importbutton=<<END; |
<input type='button' name='import' value='$txt_import' |
<input type='button' name='import' value='$txt_import' |
onClick='javascript:select_group()'> |
onclick='javascript:select_group()'> |
END |
END |
} else { |
} else { |
$closebutton = ''; |
$closebutton = ''; |
Line 798 sub setup_basic_search {
|
Line 798 sub setup_basic_search {
|
$scrout .= '<input type="hidden" name="area" value="'.$area.'" />'; |
$scrout .= '<input type="hidden" name="area" value="'.$area.'" />'; |
} |
} |
# |
# |
$scrout .= '<center>'.$/; |
$scrout .= '<div align="center">'.$/; |
# if ($env{'request.course.id'}) { |
# if ($env{'request.course.id'}) { |
$scrout .= '<h1>'.$lt{$area}.'</h1>'; |
$scrout .= '<h1>'.$lt{$area}.'</h1>'; |
# } else { |
# } else { |
Line 810 sub setup_basic_search {
|
Line 810 sub setup_basic_search {
|
&Apache::lonhtmlcommon::textbox('basicexp', |
&Apache::lonhtmlcommon::textbox('basicexp', |
$env{'form.basicexp'},50). |
$env{'form.basicexp'},50). |
'<br />'. |
'<br />'. |
'<font size="-1">'.&searchhelp().'</font>'.'</td>'. |
'<span class="LC_fontsize_small">'.&searchhelp().'</span>'.'</td>'. |
'<td><font size="-1">'. |
'<td>'. |
'<span class="LC_nobreak">'.(' 'x3).$adv_search_link.'</span>'.'<br />'. |
'<span class="LC_nobreak">'.(' 'x3).$adv_search_link.'</span>'.'<br />'. |
'<span class="LC_nobreak">'.(' 'x1).$userelatedwords.'</span>'.'<br />'. |
'<span class="LC_nobreak">'.(' 'x1).$userelatedwords.'</span>'.'<br />'. |
'<span class="LC_nobreak">'.(' 'x1).$onlysearchdomain.'</span>'.'<br />'. |
'<span class="LC_nobreak">'.(' 'x1).$onlysearchdomain.'</span>'.'<br />'. |
'<span class="LC_nobreak">'.(' 'x1).$inclext.'</span>'.'<br />'. |
'<span class="LC_nobreak">'.(' 'x1).$inclext.'</span>'.'<br />'. |
'</font></td>'. |
'</td>'. |
'</tr>'.$/; |
'</tr>'. |
|
'</table>'.$/; |
|
# |
|
$scrout .= '<p>' |
|
.&viewoptions() |
|
.'</p>' |
|
.'<p>' |
|
.'<input type="submit" name="basicsubmit" ' |
|
.'value="'.&mt('Search').'" />' |
|
.' ' |
|
.$closebutton |
|
.'</p>'; |
# |
# |
$scrout .= '<tr><td align="center" colspan="2">'. |
$scrout .= '</div>'.'</form>'; |
'<font size="-1">'. |
|
'<input type="submit" name="basicsubmit" '. |
|
'value="'.&mt('Search').'" />'. |
|
(' 'x2).$closebutton.(' 'x2). &viewoptions(). |
|
'</font>'. |
|
'</td></tr>'.$/; |
|
$scrout .= '</table>'.$/.'</center>'.'</form>'; |
|
return $scrout; |
return $scrout; |
} |
} |
|
|
Line 861 END
|
Line 865 END
|
if ($env{'form.area'} eq 'portfolio') { |
if ($env{'form.area'} eq 'portfolio') { |
$srchtype = 'Portfolio'; |
$srchtype = 'Portfolio'; |
$jscript = '<script type="text/javascript"> |
$jscript = '<script type="text/javascript"> |
|
// <![CDATA[ |
function additional_metadata() { |
function additional_metadata() { |
if (document.advsearch.newfield.checked) { |
if (document.advsearch.newfield.checked) { |
document.advsearch.phase.value = "disp_adv"; |
document.advsearch.phase.value = "disp_adv"; |
Line 868 function additional_metadata() {
|
Line 873 function additional_metadata() {
|
document.advsearch.submit(); |
document.advsearch.submit(); |
} |
} |
} |
} |
|
// ]]> |
</script>'; |
</script>'; |
} |
} |
my $scrout= &Apache::loncommon::start_page("Advanced $srchtype Search", |
my $scrout= &Apache::loncommon::start_page("Advanced $srchtype Search", |
Line 1172 Outputs: text for box with view options
|
Line 1178 Outputs: text for box with view options
|
###################################################################### |
###################################################################### |
###################################################################### |
###################################################################### |
sub viewoptions { |
sub viewoptions { |
my $scrout = '<span class="LC_nobreak">'; |
my $scrout; |
if (! defined($env{'form.viewselect'})) { |
if (! defined($env{'form.viewselect'})) { |
$env{'form.viewselect'}='detailed'; |
$env{'form.viewselect'}='detailed'; |
} |
} |
$scrout.=&Apache::lonmeta::selectbox('viewselect', |
$scrout .= '<span class="LC_nobreak">' |
$env{'form.viewselect'}, |
.&mt('Type:').' ' |
\&viewoptiontext, |
.&Apache::lonmeta::selectbox('viewselect', |
sort(keys(%Views))); |
$env{'form.viewselect'}, |
$scrout.= ' '; |
\&viewoptiontext, |
|
sort(keys(%Views))) |
|
.'</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 .= (' 'x2) |
$scrout .= ' <span class="LC_nobreak">' |
.&mt('[_1] Records per Page',$countselect) |
.&mt('Records per Page:').' '.$countselect |
.'</span>'.$/; |
.'</span>'.$/; |
return $scrout; |
return $scrout; |
} |
} |
Line 2167 sub ensure_db_and_table {
|
Line 2175 sub ensure_db_and_table {
|
## Sanity check the table id. |
## Sanity check the table id. |
## |
## |
if (! defined($table) || $table eq '' || $table =~ /\D/ ) { |
if (! defined($table) || $table eq '' || $table =~ /\D/ ) { |
$r->print("Unable to retrieve search results. ". |
$r->print(&Apache::loncommon::start_page(&mt('Error')) |
"Unable to determine the table results were saved in. ". |
. '<p>table: |'.$table.'|</p>' # SB |
&Apache::loncommon::end_page()); |
.'<p class="LC_error">' |
|
.&mt('Unable to retrieve search results. ' |
|
.'Unable to determine the table results were saved in.') |
|
.&Apache::loncommon::end_page() |
|
); |
return undef; |
return undef; |
} |
} |
## |
## |
Line 2251 sub print_sort_form {
|
Line 2263 sub print_sort_form {
|
} |
} |
my $js =<<END; |
my $js =<<END; |
<script type="text/javascript"> |
<script type="text/javascript"> |
|
// <![CDATA[ |
function change_sort() { |
function change_sort() { |
var newloc = "/adm/searchcat?phase=results"; |
var newloc = "/adm/searchcat?phase=results"; |
newloc += "&persistent_db_id=$env{'form.persistent_db_id'}"; |
newloc += "&persistent_db_id=$env{'form.persistent_db_id'}"; |
Line 2258 sub print_sort_form {
|
Line 2271 sub print_sort_form {
|
newloc += document.forms.statusform.elements.sortby.value; |
newloc += document.forms.statusform.elements.sortby.value; |
parent.resultsframe.location= newloc; |
parent.resultsframe.location= newloc; |
} |
} |
|
// ]]> |
</script> |
</script> |
END |
END |
|
|
Line 2400 Returns: Nothing.
|
Line 2414 Returns: Nothing.
|
sub update_count_status { |
sub update_count_status { |
my ($r,$text) = @_; |
my ($r,$text) = @_; |
$text =~ s/\'/\\\'/g; |
$text =~ s/\'/\\\'/g; |
$r->print |
$r->print(<<SCRIPT); |
("<script>document.statusform.count.value = ' $text'</script>\n"); |
<script type="text/javascript"> |
|
// <![CDATA[ |
|
document.statusform.count.value = ' $text' |
|
// ]]> |
|
</script> |
|
SCRIPT |
|
|
$r->rflush(); |
$r->rflush(); |
} |
} |
|
|
sub update_status { |
sub update_status { |
my ($r,$text) = @_; |
my ($r,$text) = @_; |
$text =~ s/\'/\\\'/g; |
$text =~ s/\'/\\\'/g; |
$r->print |
$r->print(<<SCRIPT); |
("<script>document.statusform.status.value = ' $text'</script>\n"); |
<script type="text/javascript"> |
|
// <![CDATA[ |
|
document.statusform.status.value = ' $text' |
|
// ]]> |
|
</script> |
|
SCRIPT |
|
|
$r->rflush(); |
$r->rflush(); |
} |
} |
|
|
Line 2436 sub update_seconds {
|
Line 2462 sub update_seconds {
|
my ($r) = @_; |
my ($r) = @_; |
my $time = &time_left(); |
my $time = &time_left(); |
if (($last_time-$time) > 0) { |
if (($last_time-$time) > 0) { |
$r->print("<script>". |
$r->print(<<SCRIPT); |
"document.statusform.seconds.value = '$time'". |
<script type="text/javascript"> |
"</script>\n"); |
// <![CDATA[ |
|
document.statusform.seconds.value = '$time' |
|
// ]]> |
|
</script> |
|
SCRIPT |
|
|
$r->rflush(); |
$r->rflush(); |
} |
} |
$last_time = $time; |
$last_time = $time; |
Line 2470 sub revise_button {
|
Line 2501 sub revise_button {
|
'&cleargroupsort=1'. |
'&cleargroupsort=1'. |
'&phase='.$revise_phase; |
'&phase='.$revise_phase; |
my $result = qq{<input type="button" value="$revisetext" 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 2691 END
|
Line 2722 END
|
last if ($connection->aborted()); |
last if ($connection->aborted()); |
&update_seconds($r); |
&update_seconds($r); |
} |
} |
&update_status($r,&mt('Search Complete [_1]',$server)); |
&update_status($r,&mt('Search Complete on Server [_1]',$server)); |
&update_seconds($r); |
&update_seconds($r); |
# |
# |
&Apache::lonmysql::disconnect_from_db(); # This is unneccessary |
&Apache::lonmysql::disconnect_from_db(); # This is unneccessary |
Line 2701 END
|
Line 2732 END
|
# loaded from /adm/searchcat |
# loaded from /adm/searchcat |
$r->print(&Apache::loncommon::end_page()); |
$r->print(&Apache::loncommon::end_page()); |
# if ($env{'form.catalogmode'} ne 'import') { |
# if ($env{'form.catalogmode'} ne 'import') { |
$r->print("<script>". |
$r->print(<<SCRIPT); |
"window.location='/adm/searchcat?". |
<script> |
"phase=sort&". |
window.location='/adm/searchcat?phase=sort&persistent_db_id=$env{'form.persistent_db_id'}'; |
"persistent_db_id=$env{'form.persistent_db_id'}';". |
</script> |
"</script>"); |
SCRIPT |
# } |
# } |
return; |
return; |
} |
} |
Line 2728 sub prev_next_buttons {
|
Line 2759 sub prev_next_buttons {
|
return '' if ($show eq 'all'); # No links if you get them all at once. |
return '' if ($show eq 'all'); # No links if you get them all at once. |
# |
# |
# Create buttons |
# Create buttons |
my $buttons = '<input type="submit" name="prev" value="'.&mt('Prev').'" '; |
return '<p class="LC_nobreak">' |
$buttons .= '/>'; |
.'<input type="submit" name="prev" value="<"' |
$buttons .= ' 'x3; |
.' title="'.&mt('Previous').'" />' |
$buttons .= '<input type="submit" name="reload" '. |
.' ' |
'value="'.&mt('Reload').'" />'; |
.'<input type="submit" name="reload" value="'.&mt('Reload').'" />' |
$buttons .= ' 'x3; |
.' ' |
$buttons .= '<input type="submit" name="next" value="'.&mt('Next').'" '; |
.'<input type="submit" name="next" value=">"' |
$buttons .= '/>'; |
.' title="'.&mt('Next').'" />' |
return $buttons; |
.'</p>'; |
} |
} |
|
|
###################################################################### |
###################################################################### |
Line 2905 sub display_results {
|
Line 2936 sub display_results {
|
$env{'form.sortorder'}='asc'; |
$env{'form.sortorder'}='asc'; |
} |
} |
} |
} |
my $sortform = &mt('Sort by [_1] [_2]', |
my $sortform = '<span class="LC_nobreak">' |
&Apache::loncommon::select_form($env{'form.sortfield'}, |
.&mt('Sort by:').' ' |
|
.&Apache::loncommon::select_form($env{'form.sortfield'}, |
'sortfield', |
'sortfield', |
%sort_fields), |
%sort_fields) |
&Apache::loncommon::select_form($env{'form.sortorder'}, |
.' ' |
|
.&Apache::loncommon::select_form($env{'form.sortorder'}, |
'sortorder', |
'sortorder', |
(asc =>&mt('Ascending'), |
(asc =>&mt('Ascending'), |
desc=>&mt('Descending') |
desc=>&mt('Descending') |
)) |
)) |
); |
.'</span>'; |
## |
## |
## Output links (if necessary) for 'prev' and 'next' pages. |
## Display links for 'prev' and 'next' pages (if necessary) and Display Options |
$r->print |
$r->print('<fieldset>'."\n" |
('<table width="100%"><tr><td width="25%" align="right">'. |
.'<legend>'.&mt('Display Options').'</legend>'."\n" |
'<span class="LC_nobreak">'.$sortform.'</span>'. |
.$sortform |
'</td><td width="25%" align="right">'. |
.' ' |
&prev_next_buttons($min,$env{'form.show'},$total_results). |
.&viewoptions() |
'</td><td align="right">'. |
.'</fieldset>' |
&viewoptions().'</td></tr></table>' |
.&prev_next_buttons($min,$env{'form.show'},$total_results) |
); |
); |
|
|
if ($total_results == 0) { |
if ($total_results == 0) { |
$r->print('<meta HTTP-EQUIV="Refresh" CONTENT="2" />'. |
$r->print('<meta HTTP-EQUIV="Refresh" CONTENT="2" />'. |
'<p class="LC_info">'.&mt('There are currently no results').'.</p>'. |
'<p class="LC_info">'.&mt('There are currently no results.').'</p>'. |
"</form>". |
"</form>". |
&Apache::loncommon::end_page()); |
&Apache::loncommon::end_page()); |
return; |
return; |
Line 2995 sub display_results {
|
Line 3029 sub display_results {
|
.&mt('There were no results matching your query.') |
.&mt('There were no results matching your query.') |
.'</p>'); |
.'</p>'); |
} else { |
} else { |
$r->print |
$r->print( |
('<center>'. |
&prev_next_buttons($min,$env{'form.show'},$total_results, |
&prev_next_buttons($min,$env{'form.show'},$total_results, |
|
"table=".$env{'form.table'}. |
"table=".$env{'form.table'}. |
"&phase=results". |
"&phase=results". |
"&persistent_db_id=". |
"&persistent_db_id=". |
$env{'form.persistent_db_id'}) |
$env{'form.persistent_db_id'}) |
."</center>\n" |
); |
); |
|
} |
} |
$r->print("</form>".&Apache::loncommon::end_page()); |
$r->print("</form>".&Apache::loncommon::end_page()); |
$r->rflush(); |
$r->rflush(); |
Line 3033 sub catalogmode_output {
|
Line 3065 sub catalogmode_output {
|
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 3043 END
|
Line 3075 END
|
$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 3212 sub search_results_header {
|
Line 3244 sub search_results_header {
|
if (! exists($env{'form.mode'}) || $env{'form.mode'} ne 'edit') { |
if (! exists($env{'form.mode'}) || $env{'form.mode'} ne 'edit') { |
$js.=<<SCRIPT; |
$js.=<<SCRIPT; |
<script type="text/javascript"> |
<script type="text/javascript"> |
|
// <![CDATA[ |
function select_data(title,url) { |
function select_data(title,url) { |
changeTitle(title); |
changeTitle(title); |
changeURL(url); |
changeURL(url); |
Line 3227 sub search_results_header {
|
Line 3260 sub search_results_header {
|
parent.opener.inf.document.forms.resinfo.elements.u.value=val; |
parent.opener.inf.document.forms.resinfo.elements.u.value=val; |
} |
} |
} |
} |
|
// ]]> |
</script> |
</script> |
SCRIPT |
SCRIPT |
} elsif ($env{'form.mode'} eq 'edit') { |
} elsif ($env{'form.mode'} eq 'edit') { |
Line 3251 END
|
Line 3285 END
|
|
|
$js.=<<SCRIPT; |
$js.=<<SCRIPT; |
<script type="text/javascript"> |
<script type="text/javascript"> |
|
// <![CDATA[ |
function select_data(title,url) { |
function select_data(title,url) { |
changeURL(url); |
changeURL(url); |
changeTitle(title); |
changeTitle(title); |
Line 3265 function changeURL(val) {
|
Line 3300 function changeURL(val) {
|
alert("Unable to transfer data to "+url); |
alert("Unable to transfer data to "+url); |
} |
} |
} |
} |
|
// ]]> |
</script> |
</script> |
SCRIPT |
SCRIPT |
} |
} |
Line 3272 SCRIPT
|
Line 3308 SCRIPT
|
my $inhibit_menu = "&".&Apache::loncommon::inhibit_menu_check(); |
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"> |
|
// <![CDATA[ |
function queue(checkbox_num,val) { |
function queue(checkbox_num,val) { |
if (document.forms.results.returnvalues.length != "undefined" && |
if (document.forms.results.returnvalues.length != "undefined" && |
typeof(document.forms.results.returnvalues.length) == "number") { |
typeof(document.forms.results.returnvalues.length) == "number") { |
Line 3293 SCRIPT
|
Line 3330 SCRIPT
|
"/adm/groupsort?mode=$env{'form.mode'}&catalogmode=import$inhibit_menu&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> |
SCRIPT |
SCRIPT |
|
|
Line 3324 sub print_frames_interface {
|
Line 3362 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 = ''; |
|
// ]]> |
</script> |
</script> |
JS |
JS |
|
|
Line 3875 $start_page
|
Line 3915 $start_page
|
<form method="post" action="/adm/searchcat"> |
<form method="post" action="/adm/searchcat"> |
$hidden_fields |
$hidden_fields |
<input type='button' value='Revise search request' |
<input type='button' value='Revise search request' |
onClick='this.form.submit();' /> |
onclick='this.form.submit();' /> |
$closebutton |
$closebutton |
</form> |
</form> |
<hr /> |
<hr /> |