version 1.30, 2001/12/13 13:59:22
|
version 1.35, 2002/03/06 20:28:19
|
Line 41
|
Line 41
|
# 8/28,10/15,11/28,11/29 Scott Harrison |
# 8/28,10/15,11/28,11/29 Scott Harrison |
# 11/30 Matthew Hall |
# 11/30 Matthew Hall |
# 12/11,12/13 Scott Harrison |
# 12/11,12/13 Scott Harrison |
|
# YEAR=2002 |
|
# 1/17 Scott Harrison |
# |
# |
### |
### |
|
|
Line 78 my $extrafield; # default extra table ce
|
Line 80 my $extrafield; # default extra table ce
|
my $fnum; # file counter |
my $fnum; # file counter |
my $dnum; # directory counter |
my $dnum; # directory counter |
|
|
# ---------------------------------------------------------------------- BEGIN |
|
sub BEGIN { |
|
} |
|
|
|
# ----------------------------- Handling routine called via Apache and mod_perl |
# ----------------------------- Handling routine called via Apache and mod_perl |
sub handler { |
sub handler { |
my $r = shift; |
my $r = shift; |
Line 108 sub handler {
|
Line 106 sub handler {
|
my $uri=$r->uri; |
my $uri=$r->uri; |
|
|
# -------------------------------------- see if called from an interactive mode |
# -------------------------------------- see if called from an interactive mode |
&get_unprocessed_cgi(); |
# Get the parameters from the query string |
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}); |
|
#------------------------------------------------------------------- |
my $closebutton=''; |
my $closebutton=''; |
my $groupimportbutton=''; |
my $groupimportbutton=''; |
my $colspan=''; |
my $colspan=''; |
Line 156 END
|
Line 155 END
|
onClick="javascript:select_group()"> |
onClick="javascript:select_group()"> |
END |
END |
} |
} |
|
# Additions made by Matthew to make the browser a little easier to deal |
|
# with in the future. |
|
# |
|
# $mode (at this time) indicates if we are in edit mode. |
|
# $form is the name of the form that the URL is placed when the |
|
# selection is made. |
|
# $element is the name of the element in $formname which receives |
|
# the URL. |
|
&Apache::lonxml::debug('Checking mode, form, element'); |
|
&setvalues(\%hash,'form_mode' ,\%ENV,'form.mode' ); |
|
&setvalues(\%hash,'form_form' ,\%ENV,'form.form' ); |
|
&setvalues(\%hash,'form_element',\%ENV,'form.element'); |
|
|
|
my $mode = $ENV{'form.mode'}; |
|
my ($form,$element); |
|
if ($mode eq 'edit') { |
|
$form = $ENV{'form.form'}; |
|
$element = $ENV{'form.element'}; |
|
} |
|
&Apache::lonxml::debug("mode=$mode form=$form element=$element"); |
# ------ 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') { |
$catalogmodefunctions=<<END; |
# The if statement below sets us up to use the old version |
|
# by default (ie. if $mode is undefined). This is the easy |
|
# way out. Hopefully in the future I'll find a way to get |
|
# the calls dealt with in a more comprehensive manner. |
|
if (!defined($mode) || $mode ne 'edit') { |
|
$catalogmodefunctions=<<"END"; |
function select_data(title,url) { |
function select_data(title,url) { |
changeTitle(title); |
changeTitle(title); |
changeURL(url); |
changeURL(url); |
Line 171 function select_group() {
|
Line 194 function select_group() {
|
window.location="/adm/groupsort?catalogmode=groupimport&acts="+document.forms.fileattr.acts.value; |
window.location="/adm/groupsort?catalogmode=groupimport&acts="+document.forms.fileattr.acts.value; |
} |
} |
function changeTitle(val) { |
function changeTitle(val) { |
if (opener.inf.document.forms.resinfo.elements.t) { |
if (opener.inf) { |
opener.inf.document.forms.resinfo.elements.t.value=val; |
if (opener.inf.document.forms.resinfo.elements.t) { |
|
opener.inf.document.forms.resinfo.elements.t.value=val; |
|
} |
} |
} |
} |
} |
function changeURL(val) { |
function changeURL(val) { |
if (opener.inf.document.forms.resinfo.elements.u) { |
if (opener.inf) { |
opener.inf.document.forms.resinfo.elements.u.value=val; |
if (opener.inf.document.forms.resinfo.elements.u) { |
|
opener.inf.document.forms.resinfo.elements.u.value=val; |
|
} |
|
} |
|
} |
|
END |
|
} else { # we are in 'edit' mode |
|
$catalogmodefunctions=<<END; |
|
// mode = $mode |
|
function select_data(title,url) { |
|
changeURL(url); |
|
self.close(); |
|
} |
|
|
|
function select_group() { |
|
window.location="/adm/groupsort?catalogmode=interactive&form=$form&element=$element&mode=edit&acts="+document.forms.fileattr.acts.value; |
|
} |
|
|
|
function changeURL(val) { |
|
if (window.opener.document) { |
|
window.opener.document.forms["$form"].elements["$element"].value=val; |
|
} else { |
|
alert("The file you selected is: "+val); |
} |
} |
} |
} |
|
|
END |
END |
|
} |
} |
} |
if ($ENV{'form.catalogmode'} eq 'groupimport') { |
if ($ENV{'form.catalogmode'} eq 'groupimport') { |
$catalogmodefunctions.=<<END; |
$catalogmodefunctions.=<<END; |
Line 487 sub match_ext {
|
Line 536 sub match_ext {
|
if ($fnptr == 0 and $unpackline[3] ne "") { |
if ($fnptr == 0 and $unpackline[3] ne "") { |
my $embstyle = &Apache::loncommon::fileembstyle($fext); |
my $embstyle = &Apache::loncommon::fileembstyle($fext); |
push @trimlist,$line if (defined($embstyle) && |
push @trimlist,$line if (defined($embstyle) && |
$embstyle ne 'hdn' ); |
($embstyle ne 'hdn' or $fext eq 'meta')); |
} else { |
} else { |
push @trimlist,$line; |
push @trimlist,$line; |
} |
} |
Line 604 sub display_line {
|
Line 653 sub display_line {
|
$title = &Apache::lonnet::metadata($filelink,'title') |
$title = &Apache::lonnet::metadata($filelink,'title') |
if ($metafile == 1); |
if ($metafile == 1); |
$title=$listname unless $title; |
$title=$listname unless $title; |
$r->print("<a href='javascript:select_data(\"", |
my $titleesc=$title; |
$title,'","',$filelink,"\")'>"); |
$titleesc=~s/\'/\\'/; #' (clean up this spare quote |
|
$r->print("<a href=\"javascript:select_data(\'", |
|
$titleesc,"','",$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 valign='bottom' nowrap bgcolor=$fileclr>"); |
$r->print("</td><td valign='bottom' nowrap bgcolor=$fileclr>"); |
Line 747 sub begin_form {
|
Line 798 sub begin_form {
|
$dnum++; |
$dnum++; |
} |
} |
|
|
# ----------- grab unprocessed CGI variables that may have been appended to URL |
|
sub get_unprocessed_cgi { |
|
foreach (split(/&/,$ENV{'QUERY_STRING'})) { |
|
my ($name, $value) = split(/=/,$_); |
|
$value =~ tr/+/ /; |
|
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; |
|
if ($name eq 'catalogmode' or $name eq 'launch' or $name eq 'acts') { |
|
$ENV{'form.'.$name}=$value; |
|
} |
|
} |
|
} |
|
|
|
# --------- settings whenever the user causes the indexer window to be launched |
# --------- settings whenever the user causes the indexer window to be launched |
sub start_fresh_session { |
sub start_fresh_session { |
delete $hash{'mode_catalog'}; |
delete $hash{'mode_catalog'}; |
|
delete $hash{'form_mode'}; |
|
delete $hash{'form_form'}; |
|
delete $hash{'form_element'}; |
foreach (keys %hash) { |
foreach (keys %hash) { |
if ($_ =~ /^pre_/) { |
if ($_ =~ /^pre_/) { |
delete $hash{$_}; |
delete $hash{$_}; |
Line 772 sub start_fresh_session {
|
Line 814 sub start_fresh_session {
|
} |
} |
} |
} |
|
|
|
# ------------------------------------------------------------------- setvalues |
|
sub setvalues { |
|
# setvalues is used in registerurl to synchronize the database |
|
# hash and environment hashes |
|
my ($H1,$h1key,$H2,$h2key) =@_; |
|
# |
|
if (exists $H2->{$h2key}) { |
|
$H1->{$h1key} = $H2->{$h2key}; |
|
} elsif (exists $H1->{$h1key}) { |
|
$H2->{$h2key} = $H1->{$h1key}; |
|
} |
|
} |
|
|
1; |
1; |
|
|
=head1 NAME |
=head1 NAME |
Line 908 begin_form - prints the beginning of a f
|
Line 963 begin_form - prints the beginning of a f
|
|
|
=item * |
=item * |
|
|
get_unprocessed_cgi - grab unprocessed CGI variables that may have been |
|
appended to URL |
|
|
|
=item * |
|
|
|
start_fresh_session - settings whenever the user causes the indexer window |
start_fresh_session - settings whenever the user causes the indexer window |
to be launched |
to be launched |
|
|