version 1.34, 2002/01/17 14:10:44
|
version 1.35, 2002/03/06 20:28:19
|
Line 106 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 154 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 169 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) { |
|
if (opener.inf) { |
|
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) { |
function changeURL(val) { |
if (opener.inf.document.forms.resinfo.elements.u) { |
if (window.opener.document) { |
opener.inf.document.forms.resinfo.elements.u.value=val; |
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 603 sub display_line {
|
Line 654 sub display_line {
|
if ($metafile == 1); |
if ($metafile == 1); |
$title=$listname unless $title; |
$title=$listname unless $title; |
my $titleesc=$title; |
my $titleesc=$title; |
$titleesc=~s/\'/\\'/; |
$titleesc=~s/\'/\\'/; #' (clean up this spare quote |
$r->print("<a href=\"javascript:select_data('", |
$r->print("<a href=\"javascript:select_data(\'", |
$titleesc,"','",$filelink,"')\">"); |
$titleesc,"','",$filelink,"')\">"); |
$r->print("<img src='",$iconpath,"select.gif' border='0' /></a>". |
$r->print("<img src='",$iconpath,"select.gif' border='0' /></a>". |
"\n"); |
"\n"); |
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 |
|
|