--- loncom/html/res/adm/pages/annotator/admannotations.pm 2000/09/19 14:55:12 1.5 +++ loncom/html/res/adm/pages/annotator/admannotations.pm 2000/10/10 20:30:34 1.9 @@ -13,7 +13,7 @@ package Apache::admannotations; use strict; use CGI qw(:all); use Apache::Constants qw(:common); -use Apache::lonnet; +use Apache::lonnet(); # --------------------------------------------------------------Put annotation @@ -27,16 +27,16 @@ sub write_annotation { # --------------------------------------------------------------Get annotation sub get_annotation { - my $url_new=shift; - my %annotation=Apache::lonnet::get("annotations",($url_new)); + my $urlnew=shift; + my %annotation=Apache::lonnet::get("annotations",$urlnew); return %annotation; } # ------------------------------------------------------------Construct editor sub construct_editor { - my $url_new=shift; - my %annot_hash=@_; + my $annotation=shift; + my $urlnew=shift; return(< @@ -44,7 +44,7 @@ sub construct_editor { @@ -52,9 +52,9 @@ function getDomain() { - $annot_hash{$url_new} - - + $annotation + + @@ -64,16 +64,18 @@ function getDomain() { END_HTML } -# --------------------------------------------Constructs the can't edit window +# ----------------------------------------------------Constructs error window -sub construct_nonedit { +sub construct_error { + my $annot_error=shift; + my $button_name=shift; return(< Annotations @@ -81,16 +83,16 @@ function getDomain() { - + - Cannot annotate current window. Please point your browser to a Lon-CAPA page and then 'continue'. +$annot_error - - - + + + @@ -99,33 +101,41 @@ function getDomain() { END_HTML2 } -# ----------------------------------------------------------------Main Handler +# ---------------------------------------------------------------Main Handler sub handler { my $r=shift; - my $url_old; + my $page; + my %annot_hash; + my $urlold; my $annotation; + my $urlnew; $r->content_type('text/html'); $r->send_http_header; - if ($url_old=param("url_old")) { - $annotation=param("annotation"); - write_annotation($url_old,$annotation); + if (exists($ENV{'form.urlold'})) { + $urlold=$ENV{'form.urlold'}; + $annotation=$ENV{'form.annotation'}; + write_annotation($urlold,$annotation); } - if (my $url_new=param("url_new")) { - my %annot_hash; - if ($url_old eq $url_new) { - %annot_hash=($url_new => $annotation); - } else { - %annot_hash=get_annotation($url_new); - } - my $page=construct_editor($url_new,%annot_hash); - $r->print($page); + if (exists($ENV{'form.urlnew'})) { + $urlnew=$ENV{'form.urlnew'}; + if ($urlnew eq '') { + $page=construct_error("Cannot annotate current window. Please point your browser to a Lon-CAPA page and then 'continue'.","continue"); + } else { + if ($urlold eq $urlnew) { + $annot_hash{$urlnew}=$annotation; + } else { + %annot_hash=get_annotation($urlnew); + } + $page=construct_editor($annot_hash{$urlnew},$urlnew); + } } else { - my $page=construct_nonedit(); - $r->print($page); + $page=construct_error("Connection broken with home server. Please contact your system administrator.","try again"); } + $r->print($page); return OK; } 1; __END__ +