--- loncom/html/res/adm/pages/annotator/admannotations.pm 2000/09/07 20:59:00 1.3 +++ loncom/html/res/adm/pages/annotator/admannotations.pm 2000/09/19 16:55:50 1.6 @@ -15,31 +15,11 @@ use CGI qw(:all); use Apache::Constants qw(:common); use Apache::lonnet; -########################## -# -# The following are fake get and put functions. -# DELETE the following get and put functions and edit the calls -# once the module is working. -# -# -#sub get { -# return "This is a sample annotation/n hopefully it'll look nice on the screen"; -#} -# -#sub put { -# return; -#} -# -# -# DELETE everything within this comment block -# -########################## - # --------------------------------------------------------------Put annotation sub write_annotation { my $url_old=shift; - my $annotation=@_; + my $annotation=shift; Apache::lonnet::put("annotations",($url_old => $annotation)); return; } @@ -57,72 +37,101 @@ sub get_annotation { sub construct_editor { my $url_new=shift; my %annot_hash=@_; - my @delete_this=keys %annot_hash; - return(< Annotations -@delete_this are the keys for the hash
$url_new is the new URL
$annot_hash{$url_new} is the new annotation
-
+
+
- - - - - + + + + +
END_HTML } +# --------------------------------------------Constructs the can't edit window + +sub construct_error { + my $annot_error=shift; + my $button_name=shift; + return(< +Annotations + + + +
+
+ + +
+ +$annot_error + +
+ + + + +
+
+ + +END_HTML2 +} + # ----------------------------------------------------------------Main Handler sub handler { - my $r=shift; - my $url_old; - my $annotation; - $r->content_type('text/html'); - $r->send_http_header; - if ($url_old=param("url_old")) { - $annotation=param("annotation"); - write_annotation($url_old,$annotation); + my $r=shift; + my $url_old; + my $annotation; + my $page; + $r->content_type('text/html'); + $r->send_http_header; + if ($url_old=param("url_old")) { + $annotation=param("annotation"); + write_annotation($url_old,$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); } - if (my $url_new=param("url_new")) { - my %annot_hash; -# $r->print("$url_new \n"); #debug line -# $r->print($url_old); #debug line -# $r->print("<--the url_new
\n"); #debug line -# $r->print($annotation); #debug line -# $r->print("<--first annotation
\n"); #debug line -# Apache::lonnet::put("annotations",($url_new => $annotation)); #debug line -# my %annot_hash=Apache::lonnet::get("annotations",($url_new)); #debug line -# $r->print( keys(%phony_var)); #debug line -# $r->print(" = are the keys
\n"); #debug line -# $r->print("$phony_var{$url_new} = $url_new"); #debug line -# $r->print("<--test put-get
\n"); #debug line -# $r->print($annotation); #debug line -# $r->print("<--annotation
\n"); #debug line - if ($url_old eq $url_new) { - %annot_hash=($url_new => $annotation); - } else { - %annot_hash=get_annotation($url_new); - } -# $r->print($annotation); #debug line -# $r->print("<--annotation again
\n"); #debug line - my $page=construct_editor($url_new,%annot_hash); - $r->print($page); + if (exists($annot_hash{"con_lost"})) { + $page=construct_error("Connection broken with home server. Please contact your system administrator.","try again"); + } else { + $page=construct_editor($url_new,%annot_hash); } - return OK; + $r->print($page); + } else { + $page=construct_error("Cannot annotate current window. Please point your browser to a Lon-CAPA page and then 'continue'.","coninue"); + $r->print($page); + } + return OK; } 1;