version 1.132, 2005/03/03 07:53:55
|
version 1.133, 2005/04/07 06:56:23
|
Line 44 package Apache::lonindexer;
|
Line 44 package Apache::lonindexer;
|
|
|
# ------------------------------------------------- modules used by this module |
# ------------------------------------------------- modules used by this module |
use strict; |
use strict; |
use Apache::lonnet(); |
use Apache::lonnet; |
use Apache::loncommon(); |
use Apache::loncommon(); |
use Apache::lonhtmlcommon(); |
use Apache::lonhtmlcommon(); |
use Apache::lonsequence(); |
use Apache::lonsequence(); |
Line 119 sub handler {
|
Line 119 sub handler {
|
|
|
$extrafield=''; |
$extrafield=''; |
my $diropendb = |
my $diropendb = |
"/home/httpd/perl/tmp/$ENV{'user.domain'}_$ENV{'user.name'}_indexer.db"; |
"/home/httpd/perl/tmp/$env{'user.domain'}_$env{'user.name'}_indexer.db"; |
%hash = (); |
%hash = (); |
{ |
{ |
my %dbfile; |
my %dbfile; |
Line 131 sub handler {
|
Line 131 sub handler {
|
} |
} |
} |
} |
{ |
{ |
if ($ENV{'form.launch'} eq '1') { |
if ($env{'form.launch'} eq '1') { |
&start_fresh_session(); |
&start_fresh_session(); |
} |
} |
#Hijack lonindexer to verify a title and be close down. |
#Hijack lonindexer to verify a title and be close down. |
if ($ENV{'form.launch'} eq '2') { |
if ($env{'form.launch'} eq '2') { |
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
my $extra=''; |
my $extra=''; |
if (defined($ENV{'form.titleelement'}) && |
if (defined($env{'form.titleelement'}) && |
$ENV{'form.titleelement'} ne '') { |
$env{'form.titleelement'} ne '') { |
my $verify_title = &Apache::lonnet::gettitle($ENV{'form.acts'}); |
my $verify_title = &Apache::lonnet::gettitle($env{'form.acts'}); |
# &Apache::lonnet::logthis("Hrrm $ENV{'form.acts'} -- $verify_title"); |
# &Apache::lonnet::logthis("Hrrm $env{'form.acts'} -- $verify_title"); |
$verify_title=~s/'/\\'/g; |
$verify_title=~s/'/\\'/g; |
$extra='window.opener.document.forms["'.$ENV{'form.form'}.'"].elements["'.$ENV{'form.titleelement'}.'"].value=\''.$verify_title.'\';'; |
$extra='window.opener.document.forms["'.$env{'form.form'}.'"].elements["'.$env{'form.titleelement'}.'"].value=\''.$verify_title.'\';'; |
} |
} |
my $html=&Apache::lonxml::xmlbegin(); |
my $html=&Apache::lonxml::xmlbegin(); |
$r->print(<<ENDSUBM); |
$r->print(<<ENDSUBM); |
Line 152 sub handler {
|
Line 152 sub handler {
|
<head> |
<head> |
<script type="text/javascript"> |
<script type="text/javascript"> |
function load() { |
function load() { |
window.opener.document.forms["$ENV{'form.form'}"] |
window.opener.document.forms["$env{'form.form'}"] |
.elements["$ENV{'form.element'}"] |
.elements["$env{'form.element'}"] |
.value='$ENV{'form.acts'}'; |
.value='$env{'form.acts'}'; |
$extra |
$extra |
window.close(); |
window.close(); |
} |
} |
Line 168 ENDSUBM
|
Line 168 ENDSUBM
|
} |
} |
|
|
# -------------------- refresh environment with user database values (in %hash) |
# -------------------- refresh environment with user database values (in %hash) |
&setvalues(\%hash,'form.catalogmode',\%ENV,'form.catalogmode' ); |
&setvalues(\%hash,'form.catalogmode',\%env,'form.catalogmode' ); |
|
|
# --------------------- define extra fields and buttons in case of special mode |
# --------------------- define extra fields and buttons in case of special mode |
if ($ENV{'form.catalogmode'} eq 'interactive') { |
if ($env{'form.catalogmode'} eq 'interactive') { |
$extrafield='<td bgcolor="'.$fileclr.'" valign="bottom">'. |
$extrafield='<td bgcolor="'.$fileclr.'" valign="bottom">'. |
'<a name="$anchor"><img src="'.$iconpath.'whitespace1.gif"'. |
'<a name="$anchor"><img src="'.$iconpath.'whitespace1.gif"'. |
' border="0" /></td>'; |
' border="0" /></td>'; |
Line 181 ENDSUBM
|
Line 181 ENDSUBM
|
<input type="button" name="close" value='$cl' onClick="self.close()" /> |
<input type="button" name="close" value='$cl' onClick="self.close()" /> |
END |
END |
} |
} |
elsif ($ENV{'form.catalogmode'} eq 'groupimport') { |
elsif ($env{'form.catalogmode'} eq 'groupimport') { |
$extrafield='<td bgcolor="'.$fileclr.'" valign="bottom">'. |
$extrafield='<td bgcolor="'.$fileclr.'" valign="bottom">'. |
'<a name="$anchor"><img src="'.$iconpath.'whitespace1.gif"'. |
'<a name="$anchor"><img src="'.$iconpath.'whitespace1.gif"'. |
' border="0" /></td>'; |
' border="0" /></td>'; |
Line 205 END
|
Line 205 END
|
# $element is the name of the element in $formname which receives |
# $element is the name of the element in $formname which receives |
# the URL. |
# the URL. |
#&Apache::lonxml::debug('Checking mode, form, element'); |
#&Apache::lonxml::debug('Checking mode, form, element'); |
&setvalues(\%hash,'form.mode' ,\%ENV,'form.mode' ); |
&setvalues(\%hash,'form.mode' ,\%env,'form.mode' ); |
&setvalues(\%hash,'form.form' ,\%ENV,'form.form' ); |
&setvalues(\%hash,'form.form' ,\%env,'form.form' ); |
&setvalues(\%hash,'form.element' ,\%ENV,'form.element'); |
&setvalues(\%hash,'form.element' ,\%env,'form.element'); |
&setvalues(\%hash,'form.titleelement',\%ENV,'form.titleelement'); |
&setvalues(\%hash,'form.titleelement',\%env,'form.titleelement'); |
&setvalues(\%hash,'form.only' ,\%ENV,'form.only' ); |
&setvalues(\%hash,'form.only' ,\%env,'form.only' ); |
&setvalues(\%hash,'form.omit' ,\%ENV,'form.omit' ); |
&setvalues(\%hash,'form.omit' ,\%env,'form.omit' ); |
|
|
# Deal with 'omit' and 'only' |
# Deal with 'omit' and 'only' |
if (exists $ENV{'form.omit'}) { |
if (exists $env{'form.omit'}) { |
@Omit = split(',',$ENV{'form.omit'}); |
@Omit = split(',',$env{'form.omit'}); |
} |
} |
if (exists $ENV{'form.only'}) { |
if (exists $env{'form.only'}) { |
@Only = split(',',$ENV{'form.only'}); |
@Only = split(',',$env{'form.only'}); |
} |
} |
|
|
my $mode = $ENV{'form.mode'}; |
my $mode = $env{'form.mode'}; |
my ($form,$element,$titleelement); |
my ($form,$element,$titleelement); |
if ($mode eq 'edit' || $mode eq 'parmset') { |
if ($mode eq 'edit' || $mode eq 'parmset') { |
$form = $ENV{'form.form'}; |
$form = $env{'form.form'}; |
$element = $ENV{'form.element'}; |
$element = $env{'form.element'}; |
$titleelement = $ENV{'form.titleelement'}; |
$titleelement = $env{'form.titleelement'}; |
} |
} |
#&Apache::lonxml::debug("mode=$mode form=$form element=$element titleelement=$titleelement"); |
#&Apache::lonxml::debug("mode=$mode form=$form element=$element titleelement=$titleelement"); |
# ------ set catalogmodefunctions to have extra needed javascript functionality |
# ------ set catalogmodefunctions to have extra needed javascript functionality |
my $catalogmodefunctions=''; |
my $catalogmodefunctions=''; |
if ($ENV{'form.catalogmode'} eq 'interactive' or |
if ($env{'form.catalogmode'} eq 'interactive' or |
$ENV{'form.catalogmode'} eq 'groupimport') { |
$env{'form.catalogmode'} eq 'groupimport') { |
# The if statement below sets us up to use the old version |
# The if statement below sets us up to use the old version |
# by default (ie. if $mode is undefined). This is the easy |
# by default (ie. if $mode is undefined). This is the easy |
# way out. Hopefully in the future I'll find a way to get |
# way out. Hopefully in the future I'll find a way to get |
Line 329 function rep_dirpath(suffix,val) {
|
Line 329 function rep_dirpath(suffix,val) {
|
eval("document.forms.dirpath"+suffix+".acts.value=val"); |
eval("document.forms.dirpath"+suffix+".acts.value=val"); |
} |
} |
END |
END |
if ($ENV{'form.catalogmode'} eq 'groupimport') { |
if ($env{'form.catalogmode'} eq 'groupimport') { |
$catalogmodefunctions.=<<END; |
$catalogmodefunctions.=<<END; |
function queue(val) { |
function queue(val) { |
if (eval("document.forms."+val+".filelink.checked")) { |
if (eval("document.forms."+val+".filelink.checked")) { |
Line 379 my ($headerdom)=($uri=~/^\/res\/(\w+)\//
|
Line 379 my ($headerdom)=($uri=~/^\/res\/(\w+)\//
|
$r->print(&Apache::loncommon::bodytag('Browse Resources',undef,undef,undef, |
$r->print(&Apache::loncommon::bodytag('Browse Resources',undef,undef,undef, |
$headerdom)); |
$headerdom)); |
# - Evaluate actions from previous page (both cumulatively and chronologically) |
# - Evaluate actions from previous page (both cumulatively and chronologically) |
if ($ENV{'form.catalogmode'} eq 'groupimport') { |
if ($env{'form.catalogmode'} eq 'groupimport') { |
my $acts=$ENV{'form.acts'}; |
my $acts=$env{'form.acts'}; |
my @Acts=split(/b/,$acts); |
my @Acts=split(/b/,$acts); |
my %ahash; |
my %ahash; |
my %achash; |
my %achash; |
Line 421 $r->print(&Apache::loncommon::bodytag('B
|
Line 421 $r->print(&Apache::loncommon::bodytag('B
|
} |
} |
|
|
# ---------------------------------- get state of file attributes to be showing |
# ---------------------------------- get state of file attributes to be showing |
if ($ENV{'form.attrs'}) { |
if ($env{'form.attrs'}) { |
for (my $i=0; $i<=11; $i++) { |
for (my $i=0; $i<=11; $i++) { |
delete $hash{'display_attrs_'.$i}; |
delete $hash{'display_attrs_'.$i}; |
if ($ENV{'form.attr'.$i} == 1) { |
if ($env{'form.attr'.$i} == 1) { |
$attrchk[$i] = 'checked'; |
$attrchk[$i] = 'checked'; |
$hash{'display_attrs_'.$i} = 1; |
$hash{'display_attrs_'.$i} = 1; |
} |
} |
Line 488 END
|
Line 488 END
|
$storeuri=~s/\/+/\//g; |
$storeuri=~s/\/+/\//g; |
# ---------------------------------------------------------------- Bread crumbs |
# ---------------------------------------------------------------- Bread crumbs |
$r->print(&Apache::lonhtmlcommon::crumbs($storeuri,'','', |
$r->print(&Apache::lonhtmlcommon::crumbs($storeuri,'','', |
(($ENV{'form.catalogmode'} eq 'groupimport')? |
(($env{'form.catalogmode'} eq 'groupimport')? |
'document.forms.fileattr':'')). |
'document.forms.fileattr':'')). |
&Apache::lonhtmlcommon::select_recent('residx','resrecent', |
&Apache::lonhtmlcommon::select_recent('residx','resrecent', |
'window.status=this.form.resrecent.options[this.form.resrecent.selectedIndex].value;this.form.action=this.form.resrecent.options[this.form.resrecent.selectedIndex].value;this.form.submit();')); |
'window.status=this.form.resrecent.options[this.form.resrecent.selectedIndex].value;this.form.action=this.form.resrecent.options[this.form.resrecent.selectedIndex].value;this.form.submit();')); |
# -------------------------------------------------------- Resource Home Button |
# -------------------------------------------------------- Resource Home Button |
my $reshome=$ENV{'course.'.$ENV{'request.course.id'}.'.reshome'}; |
my $reshome=$env{'course.'.$env{'request.course.id'}.'.reshome'}; |
if ($reshome) { |
if ($reshome) { |
$r->print("<font size='+2'><a href='"); |
$r->print("<font size='+2'><a href='"); |
if ($ENV{'form.catalogmode'} eq 'groupimport') { |
if ($env{'form.catalogmode'} eq 'groupimport') { |
$r->print('javascript:document.forms.fileattr.action="'.$reshome.'";document.forms.fileattr.submit();'); |
$r->print('javascript:document.forms.fileattr.action="'.$reshome.'";document.forms.fileattr.submit();'); |
} else { |
} else { |
$r->print($reshome); |
$r->print($reshome); |
Line 549 END
|
Line 549 END
|
} |
} |
} |
} |
|
|
if ($ENV{'form.openuri'}) { # take care of review and refresh options |
if ($env{'form.openuri'}) { # take care of review and refresh options |
my $uri=$ENV{'form.openuri'}; |
my $uri=$env{'form.openuri'}; |
if (exists($hash{'diropen_status_'.$uri})) { |
if (exists($hash{'diropen_status_'.$uri})) { |
my $cursta = $hash{'diropen_status_'.$uri}; |
my $cursta = $hash{'diropen_status_'.$uri}; |
$dirs{$uri} = 'open'; |
$dirs{$uri} = 'open'; |
Line 569 END
|
Line 569 END
|
my $indent = 0; |
my $indent = 0; |
$uri = $uri.'/' if $uri !~ /.*\/$/; |
$uri = $uri.'/' if $uri !~ /.*\/$/; |
|
|
if ($ENV{'form.dirPointer'} ne 'on') { |
if ($env{'form.dirPointer'} ne 'on') { |
$hash{'top.level'} = $uri; |
$hash{'top.level'} = $uri; |
$toplevel = $uri; |
$toplevel = $uri; |
} else { |
} else { |
Line 670 sub get_list {
|
Line 670 sub get_list {
|
my ($r,$uri)=@_; |
my ($r,$uri)=@_; |
my @list=(); |
my @list=(); |
(my $luri = $uri) =~ s/\//_/g; |
(my $luri = $uri) =~ s/\//_/g; |
if ($ENV{'form.updatedisplay'}) { |
if ($env{'form.updatedisplay'}) { |
foreach (keys %hash) { |
foreach (keys %hash) { |
delete $hash{$_} if ($_ =~ /^dirlist_files_/); |
delete $hash{$_} if ($_ =~ /^dirlist_files_/); |
delete $hash{$_} if ($_ =~ /^dirlist_timestamp_files_/); |
delete $hash{$_} if ($_ =~ /^dirlist_timestamp_files_/); |
Line 842 sub display_line {
|
Line 842 sub display_line {
|
# display domain |
# display domain |
if ($filecom[1] eq 'domain') { |
if ($filecom[1] eq 'domain') { |
$r->print ('<input type="hidden" name="dirPointer" value="on" />'."\n") |
$r->print ('<input type="hidden" name="dirPointer" value="on" />'."\n") |
if ($ENV{'form.dirPointer'} eq "on"); |
if ($env{'form.dirPointer'} eq "on"); |
$r->print("<tr valign='$valign' bgcolor=$fileclr>$extrafield"); |
$r->print("<tr valign='$valign' bgcolor=$fileclr>$extrafield"); |
$r->print("<td>"); |
$r->print("<td>"); |
&begin_form ($r,$filecom[0]); |
&begin_form ($r,$filecom[0]); |
Line 912 sub display_line {
|
Line 912 sub display_line {
|
my $iconname = &Apache::loncommon::icon($listname); |
my $iconname = &Apache::loncommon::icon($listname); |
$r->print("<tr valign='$valign' bgcolor=$fileclr><td nowrap='nowrap' valign='top'>"); |
$r->print("<tr valign='$valign' bgcolor=$fileclr><td nowrap='nowrap' valign='top'>"); |
|
|
if ($ENV{'form.catalogmode'} eq 'interactive') { |
if ($env{'form.catalogmode'} eq 'interactive') { |
my $quotable_filelink = &Apache::loncommon::escape_single($filelink); |
my $quotable_filelink = &Apache::loncommon::escape_single($filelink); |
$r->print("<a href=\"javascript:select_data(\'", |
$r->print("<a href=\"javascript:select_data(\'", |
$quotable_filelink,"')\">"); |
$quotable_filelink,"')\">"); |
$r->print("<img src='",$iconpath,"select.gif' border='0' /></a>". |
$r->print("<img src='",$iconpath,"select.gif' border='0' /></a>". |
"\n"); |
"\n"); |
$r->print("</td><td nowrap>"); |
$r->print("</td><td nowrap>"); |
} elsif ($ENV{'form.catalogmode'} eq 'groupimport') { |
} elsif ($env{'form.catalogmode'} eq 'groupimport') { |
$r->print("<form name='form$fnum'>\n"); |
$r->print("<form name='form$fnum'>\n"); |
$r->print("<input type='checkbox' name='filelink"."' ". |
$r->print("<input type='checkbox' name='filelink"."' ". |
"value='$filelink' onClick='". |
"value='$filelink' onClick='". |
Line 1067 sub display_line {
|
Line 1067 sub display_line {
|
if ($embstyle eq 'ssi') { |
if ($embstyle eq 'ssi') { |
my $cache=$Apache::lonnet::perlvar{'lonDocRoot'}.$filelink. |
my $cache=$Apache::lonnet::perlvar{'lonDocRoot'}.$filelink. |
'.tmp'; |
'.tmp'; |
if ((!$ENV{'form.updatedisplay'}) && |
if ((!$env{'form.updatedisplay'}) && |
(-e $cache)) { |
(-e $cache)) { |
open(FH,$cache); |
open(FH,$cache); |
$output=join("\n",<FH>); |
$output=join("\n",<FH>); |
Line 1184 sub dynmetaprint {
|
Line 1184 sub dynmetaprint {
|
$r->print("\n<br />".$fieldnames{$item}.': '. |
$r->print("\n<br />".$fieldnames{$item}.': '. |
&Apache::lonmeta::prettyprint($item, |
&Apache::lonmeta::prettyprint($item, |
$dynhash{$filelink}->{$item}, |
$dynhash{$filelink}->{$item}, |
(($ENV{'form.catalogmode'} ne 'groupimport')?'preview':''), |
(($env{'form.catalogmode'} ne 'groupimport')?'preview':''), |
'', |
'', |
(($ENV{'form.catalogmode'} eq 'groupimport')?'document.forms.fileattr':''),1)); |
(($env{'form.catalogmode'} eq 'groupimport')?'document.forms.fileattr':''),1)); |
} |
} |
} |
} |
|
|